HorecaPOSPanduan Pendahuluan Ke kasir
ID

Panduan HorecaPOS

Panduan ini terdiri dari tiga bagian: pertama untuk karyawan (pelayan), lalu untuk manajer, dan terakhir untuk administrator. Setiap bagian melanjutkan bagian sebelumnya: manajer bisa melakukan semua yang bisa dilakukan pelayan, dan administrator bisa melakukan semuanya.

Apa saja yang boleh dilakukan peran Anda diatur oleh administrator di Pengaturan → Hak akses. Jika Anda tidak melihat suatu tombol, berarti peran Anda (belum) punya hak untuk itu.

Panduan ini juga ada di kasir: ketuk tombol © di kanan bawah setiap layar lalu pilih Panduan, atau buka http://<kassa-pc>:3000/handleiding. Lihat juga pendahuluan dan dokumentasi API.

Bagian 1 · Karyawan

Mulai

Masuk. Buka kasir di perangkat kasir, tablet, atau ponsel dan masukkan PIN Anda (4 sampai 8 digit). Setelah itu Anda melihat denah meja.

Masuk dengan PIN

Membuka meja. Ketuk sebuah meja. Meja kosong mendapat pesanan baru; di meja terisi Anda melanjutkan pesanan yang sudah ada. Di bagian atas Anda berpindah antar-ruangan (misalnya Ruang makan dan Teras). Untuk konter gunakan Penjualan cepat, untuk pesanan bawa pulang Bawa pulang.

Denah meja

Memesan. Pilih kategori produk dan ketuk produknya. Produk muncul di struk sebelah kiri. Jika perlu, pilih dulu tahap sajian (1 = langsung, 2 dan 3 menunggu sampai Anda memanggilnya). Ketuk Pesan: tiket dapur dikirim ke dapur dan bar. Selama Anda belum mengetuk Pesan, baris masih bisa dihapus begitu saja.

Pembayaran. Ketuk Bayar, pilih Kartu / Bancontact, Tunai, atau Voucher hadiah, tambahkan tip jika ada, lalu konfirmasi. Untuk pembayaran kartu, transaksi otomatis dimulai di mesin EDC. Struk dicetak; Anda juga bisa mengirimnya via email.

Pembayaran

Keluar. Keluar setelah selesai, supaya tidak ada orang lain yang bekerja atas nama Anda. Setelah 8 jam Anda otomatis dikeluarkan.

Tidak ada internet? Kasir tetap bekerja. Jika di atas tertulis Tidak ada internet · kartu manual, masukkan jumlahnya langsung di mesin EDC lalu pilih Sudah dibayar di terminal di layar pembayaran.

Beberapa grup di satu meja

Satu meja bisa ditempati beberapa grup, masing-masing dengan tagihan dan struk sendiri.

Pisah tagihan saat membayar

Layar pembayaran

Pembayaran berjalan seperti biasa: Semua sekaligus. Di layar pembayaran, tagihan sekarang juga bisa dipisah, dengan tombol di bawah Kembali dan Bayar (jadi keduanya selalu terlihat, tanpa menggeser):

Pembayaran sebagian hanya mencatat pembayarannya; tagihan tetap terbuka dan di layar pesanan tertulis "sudah dibayar … · masih terbuka …". Struk (dengan semua pembayaran) muncul pada pembayaran terakhir, sama seperti pembayaran biasa. Pembayaran kartu lewat integrasi berlaku tepat untuk jumlah sebagian itu. Jika sudah ada pembayaran sebagian, baris tidak bisa lagi dipindah ke grup lain dan diskon tidak bisa ditambahkan; menghapus hanya bisa jika sisa yang terbuka cukup. Setiap pembayaran sebagian tercatat di log.

Penjualan cepat dan bawa pulang (tanpa meja)

Denah meja dengan Penjualan cepat dan Bawa pulang

Di kanan atas layar meja ada Penjualan cepat dan Bawa pulang. Keduanya langsung membuka pesanan tanpa meja. Penjualan cepat adalah penjualan di konter (PPN makan di tempat); Bawa pulang memakai tarif PPN bawa pulang untuk setiap produk. Dengan "Nama pelanggan" Anda menambahkan nama; nama itu muncul di struk ("Bawa pulang – Jansen") dan di bagian atas tiket dapur. Pesanan terbuka tanpa meja ada di bawah tombol ruangan ("Tanpa meja: Bawa pulang #12 – Jansen"), sehingga mudah ditemukan lagi. Jika Anda kembali tanpa menjual apa pun, pesanan kosong itu otomatis hilang.

Kedua tombol bisa diaktifkan atau dimatikan per usaha di Pengaturan → Usaha, tepat di bawah tema terang/gelap (standarnya aktif). Mati = tombol disembunyikan; pesanan tanpa meja yang sudah terbuka tetap terlihat.

Antar dan slot waktu

Pesanan yang Anda terima sendiri di kasir, misalnya lewat telepon atau di konter, dengan aturan yang sama seperti toko online: area antar dan jumlah maksimum pesanan per slot waktu. Aktifkan di Pengaturan → Usaha → Antar dan slot waktu, tepat di bawah tombol Penjualan cepat dan Bawa pulang (standarnya nonaktif).

Tambahan (semuanya standarnya nonaktif; tanpa pengaturan ini semuanya berfungsi persis seperti di atas):

Kode: lib/bezorgen.ts, routes/bezorgen.ts, BezorgDialoog.tsx, BezorgInstellingen.tsx, BezorgKaart.tsx dan lib/kaart.ts (peta, tanpa paket tambahan; kode yang sama ada sebagai public/kaart.js di toko online).

Telepon: kenali pelanggan pada pesanan lewat telepon

Pengaturan → Telepon (standarnya nonaktif; menonaktifkannya tetap menyimpan semuanya). Dua sakelar terpisah:

Pencarian dilakukan di kartu pelanggan, pesanan antar dan bawa pulang di kasir, toko online, Thuisbezorgd, platform pengantaran, dan reservasi. Nomor diseragamkan (+31 6 1234 5678, 0031612345678 dan 06-12345678 sama; juga nomor Belgia).

Cara nomor masuk (beberapa sekaligus bisa; panggilan yang sama dihitung sekali):

SumberUntukPengaturan
Webhook / action URL3CX (integrasi CRM), Aircall, Voys / VoIPGRID, Yeastar seri P, pesawat telepon dengan action URL untuk panggilan masuk (Fanvil, Grandstream, Mitel 6800/6900, Snom, Yealink: bekerja dengan PBX dan penyedia apa pun), layanan integrasi (Zapier, Make, n8n, Power Automate)alamat dari Pengaturan → Telepon (/api/telefonie/oproep?sleutel=...&nummer=...), GET atau POST, JSON, formulir, atau query; juga lewat portal: https://<portaal>/telefonie/<kassa-id>/oproep?sleutel=...
Asterisk (AMI)Asterisk, FreePBX, Issabel, VitalPBX, Grandstream UCMalamat, port (5038; Grandstream UCM 7777), pengguna AMI dan kata sandi (hak call)
FRITZ!BoxFRITZ!Box dengan teleponalamat (fritz.box) dan port 1012; aktifkan callmonitor sekali dengan #96*5*
Modem USB caller IDsaluran tetap analog dengan tampilan nomorport serial (COM3, /dev/ttyACM0), baud, dan perintah inisialisasi (bawaan AT+VCID=1)
Ponsel Androidtelepon bawaan ponsel Android milik usahaaplikasi HorecaPOS di ponsel itu, Pengaturan → Telepon → Pasangkan telepon ini (Android 10+: pilih aplikasi ini sebagai aplikasi identifikasi penelepon)

Respons berisi penelepon, juga sebagai contact (firstname, lastname, phone, email, address) untuk templat CRM 3CX. Panggilan keluar dan internal tidak ditampilkan; Hanya saluran ini membatasi ke saluran atau pesawat telepon tertentu. Panggilan dihapus setelah masa simpan (bawaan 30 hari, GDPR). Panggilan uji mensimulasikan panggilan dari sebuah nomor.

Kode: apps/pos-server/src/lib/telefonie.ts, routes/telefonie.ts, packages/shared/src/telefonie.ts; layar Telefonie.tsx, BezorgDialoog.tsx; Android android-app/native/java/Beller*.java. Log: Telepon.

Kurir sendiri: rit, setoran kas, dan track & trace

Untuk usaha dengan kurir sendiri. Aktifkan di Pengaturan → Usaha → Antar → Kurir sendiri (standar nonaktif). Kurir tidak memerlukan aplikasi: kurir menggunakan halaman di browser ponselnya sendiri (yang mau, bisa memakai aplikasi Optimum Bezorger: lihat Aplikasi kurir di bawah).

Membuat rit. Di kasir ada tombol Rit (dengan jumlah pengantaran yang masih harus berangkat ditambah rit yang sedang dalam perjalanan).

  1. Di Siap diantar, centang pesanan yang ikut. Ini adalah pesanan antar dari kasir, toko online, dan Thuisbezorgd (hanya antar sendiri; yang diantar kurir Thuisbezorgd tidak).
  2. Pilih kurir (seorang staf) dan uang kembalian yang dibawa (standar jumlah dari pengaturan), lalu ketuk Buat rit.
  3. Muncul kode QR. Kurir memindainya dengan ponselnya sendiri dan melihat per alamat nama, alamat dengan tombol Rute (navigasi), Telepon, catatan, waktu yang diinginkan, dan jumlah yang harus ditagih. Ada kalkulator kembalian (pelanggan memberi € 50 → kembalian € 31,50). Tidak perlu login. Bagikan tautan hanya kepada kurir: siapa pun yang memilikinya bisa melihat alamat rit ini. Dengan Kode QR untuk kurir Anda membuat tautan baru; tautan lama tidak berfungsi lagi.
  4. Ketuk Berangkatkan saat kurir berangkat. Uang kembalian keluar dari laci (uang keluar, dengan alasan). Pelanggan mendapat pesan bahwa pesanan sedang dalam perjalanan:
    • untuk pesanan dari kasir lewat SMS dan/atau email, jika Pesan ke pelanggan aktif (lihat Antar dan slot waktu);
    • untuk toko online sesuai pengaturan di toko online (email, SMS, atau notifikasi push);
    • untuk Thuisbezorgd lewat Thuisbezorgd.

Jika rit belum berangkat, rit masih bisa dibatalkan.

  1. Di jalan, kurir mengetuk per alamat Diantar, tunai, Diantar, kartu (mesin kartu sendiri), atau Diantar (sudah dibayar). Kasir langsung melihatnya. Jika kurir tidak bisa melaporkannya, ini juga bisa dilakukan di kasir. Setelah kembali di usaha, kurir mengetuk Aku sudah kembali di usaha.

Setoran kas. Setelah rit, ketuk Bayar (hak Kelola laci kas):

Track & trace (diaktifkan terpisah di pengaturan). Saat dalam perjalanan, pelanggan mendapat tautan ke halaman pelacakan di portal. Tautan itu ada di SMS atau email, dan di toko online di halaman status (Lacak kurirmu). Di halaman pelacakan terlihat:

Halaman ditampilkan dalam bahasa ponsel (semua bahasa portal). Di kasir, pada rit, Anda melihat kapan lokasi terakhir dikirim (dengan tautan ke peta).

Privasi. Portal menyimpan data rit (nama, alamat, nomor telepon, lokasi) hanya selama rit berlangsung. Saat penyelesaian semuanya dihapus, jika tidak setelah 24 jam. Pelanggan hanya melihat pesanannya sendiri. Lokasi kurir hanya terlihat selama rit, dan tidak lagi setelah kurir kembali.

Perencanaan rit (opsional)

Aktifkan di Pengaturan → Usaha → Antar → Perencanaan rit (default nonaktif; berfungsi dengan kurir sendiri). Di jendela Rit lalu muncul tombol Usulkan rit. Kasir menggabungkan pesanan yang masih harus diantar menjadi rit:

Dengan Gunakan rit ini kamu mencentang pesanan tersebut, dalam urutan itu; pilih kurir dan ketuk Buat rit. Pada rit yang belum berangkat, Urutan terbaik menyusun alamat dalam urutan tercepat (juga di ponsel kurir). Setiap rit menampilkan jarak dan waktu tempuh.

Pengaturan: alamat per rit, berapa lama satu rit boleh berlangsung, jendela waktu, kecepatan kurir (sepeda ~15, skuter ~25, mobil ~35 km/j di kota) dan menit per alamat (parkir, membunyikan bel, pembayaran; default 2). Angka-angka ini juga boleh diatur oleh manajer: di jendela Rit dengan tombol Atur perencanaan rit (hak Atur perencanaan rit, secara bawaan aktif untuk manajer; dapat diubah di Pengaturan → Hak akses). Mengaktifkan atau menonaktifkan perencanaan rit dan layanan rute (alamat, kunci API) tetap di tangan administrator.

Jarak dan waktu tempuh, dipilih oleh admin:

Dengan Tes kamu mencoba layanannya. Jika layanan gagal, perencanaan kembali ke perkiraan dan memberitahukannya. Alamat yang lokasinya tidak diketahui (tidak ada kode pos dan nomor rumah yang valid) masuk ke usulan di bawah tanpa lokasi yang diketahui dan tidak dijadwalkan. Ekspor konfigurasi menyertakan pengaturan, tetapi tidak kuncinya.

Kode: lib/ritplanning.ts.

Aplikasi kurir (opsional)

Aktifkan di Pengaturan → Usaha → Antar → Aplikasi kurir (standar nonaktif; bekerja dengan kurir sendiri dan portal manajemen). Setiap kurir lalu memasangkan ponselnya sendiri satu kali, alih-alih memindai kode QR per rit:

  1. Di Ponsel terpasang pilih kurir (seorang staf), bila perlu nama ponselnya, lalu ketuk Pasangkan ponsel.
  2. Muncul sebuah kode QR. Kurir memindainya di aplikasi Optimum Bezorger (tombol Pasangkan), atau dengan kamera ponsel: halaman lalu terbuka di browser. Halaman ini juga berfungsi tanpa aplikasi dan bisa ditaruh di layar utama.
  3. Pemasangan tetap berlaku sampai kamu mencabutnya; ponsel langsung tidak bisa melihat apa pun lagi. Pemasangan baru untuk staf yang sama menggantikan yang lama (misalnya saat ganti ponsel).

Di aplikasi atau di halaman tampil semua rit miliknya (setiap rit yang dibuat kasir untuk kurir ini), dengan tombol yang sama seperti pada rit: Rute, Telepon, tagihan dengan kalkulator kembalian, Diantar dan Aku sudah kembali di usaha. Bisa diaktifkan terpisah:

Aplikasi Android tersedia di Google Play dan di halaman unduhan portal (/download/). Versi iPhone sudah siap, tetapi baru hadir setelah ada akun pengembang Apple; sampai saat itu iPhone memakai halaman web. Pada rit yang diambil sendiri oleh kurir tertulis diambil sendiri di aplikasi.

Kode: lib/bezorgersapp.ts, di portal src/volgen.mjs dan aplikasinya di repo horecapos-bezorger.

Di log tercatat siapa yang membuat rit, memberangkatkan, melaporkan diantar, dan menyelesaikan, beserta jumlahnya. Menonaktifkan: tidak ada tombol Rit; rit dan pengaturan tetap tersimpan.

Di portal: /bezorger/<sleutel> dan /volg/<code>. Kode: lib/bezorgers.ts, routes/bezorgers.ts, Bezorgers.tsx dan di portal src/volgen.mjs.

Notifikasi waktu persiapan terlalu lama

Pesanan bawa pulang atau antar yang siap lebih lambat dari janji: kasir mendeteksinya, memberi notifikasi, dan dapat langsung mengirim permintaan maaf ke pelanggan, opsional dengan voucher. Aktifkan di Pengaturan → Usaha → Antar → Notifikasi waktu persiapan terlalu lama (default nonaktif).

Kode: lib/telaat.ts, routes/telaat.ts, TeLaat.tsx dan packages/shared/src/telaat.ts.

Tombol Pesan: apa fungsinya dan kapan Anda membutuhkannya

Mengetuk produk dan mengetuk Pesan adalah dua langkah yang berbeda:

Mengapa dua langkah? Di meja Anda mencatat seluruh pesanan (minuman, hidangan pembuka, hidangan utama), menyesuaikan sedikit jika tamu berubah pikiran, lalu mengirimnya sekaligus ke dapur, dengan satu tiket per stasiun alih-alih satu tiket per produk. Dengan begitu dapur bisa mulai lebih awal, jauh sebelum pembayaran.

Apa lagi yang terjadi saat Pesan:

Langsung bayar juga bisa. Jika Anda mengetuk Bayar saat masih ada baris baru di tagihan, kasir otomatis memesannya terlebih dahulu, sehingga dapur dan bar selalu menerima tiketnya. Jadi di bar atau untuk bawa pulang Anda tidak perlu mengetuk Pesan dulu: ketuk produk dan langsung Bayar. Jika pemesanan otomatis itu gagal (tidak ada koneksi, baris all-you-can-eat, kotak hitam), layar pembayaran tidak terbuka dan Anda melihat alasannya.

Tidak ingin bar menerima struk saat Anda langsung membayar? Di Pengaturan → Usaha → Pemesanan dan pembayaran, centang Bayar langsung tanpa tiket kerja. Maka hanya yang Anda kirim dengan Pesan yang diteruskan ke dapur dan bar; apa yang langsung Anda bayar tidak mendapat tiket kerja.

Tombol Bayar besar atau kecil

Dengan centang Tombol "Bayar" besar, layar pesanan menampilkan tombol Bayar besar tepat di bawah produk yang dipesan: lebar, tinggi, dan dengan jumlahnya, agar cepat ditekan. Jika sebagian tagihan sudah dibayar, tombol menampilkan sisa yang belum dibayar. Tombol kecil di bawah di samping Pesan lalu hilang.

Dengan tombol besar, tombol di layar pembayaran juga besar: Bayar (pada Kartu, Kartu hadiah, dan metode pembayaran lainnya) dan pada Tunai, Uang pas dan Bayar lebar dan tinggi, mudah ditekan, bahkan dengan jari kotor (misalnya di toko daging). Metode pembayaran sedikit lebih besar dan tombol tip sedikit lebih kecil, agar semuanya tetap terlihat di layar.

Pada instalasi baru centang ini nonaktif: maka tombol kecil di bawah di samping Pesan dan layar pembayaran dengan tombol biasa. Lebih suka besar? Di Pengaturan → Usaha, tepat di bawah tema terang/gelap, aktifkan centang Tombol "Bayar" besar. Kasir yang sudah digunakan tetap memakai pengaturan sebelumnya. Pilihan ini berlaku untuk semua kasir dan tablet di usaha.

Tandai produk sebagai "habis" (terjual habis)

Siapa pun bisa menekan lama sebuah produk di layar pesanan (atau mengklik kanan) dan memilih Habis. Produk itu menjadi abu-abu dan tidak bisa dipesan lagi di semua kasir. Dengan cara yang sama Anda mengembalikannya lewat Tersedia lagi. Setiap perubahan tercatat di log. Administrator tetap bisa mengaturnya di Pengaturan → Produk. Server kasir juga menolak produk yang berstatus "habis" ("Cola" habis), jadi juga dari tablet yang belum menerima perubahan itu atau dari pesanan offline yang tersimpan; tablet itu lalu menampilkan "Gagal mengirim".

Layar dapur (KDS)

Selain (bukan sebagai pengganti) printer tiket dapur, dapur atau bar bisa memakai layar. Buka http://<kassaserver>:3000/keuken di tablet/PC di dapur, masuk dengan PIN, dan pilih stasiun: namanya sama dengan nama printer (dapur, bar, ...), jadi di layar tampil persis apa yang akan tercetak di tiket dapur itu. "Semua" menampilkan semua stasiun.

Layar langsung memperbarui dirinya sendiri. Tiket dapur tetap dicetak seperti biasa; yang tidak memakai layar tidak merasakan perbedaan.

Layar dapur: teruskan, urutan, dan tahap sajian

Pengaturan → Printer → Layar dapur. Setiap bagian dapat diaktifkan terpisah, default nonaktif; menonaktifkan tetap menyimpan semuanya.

Printer dapur mati atau tanpa layar dapur

Kasir selalu tetap bekerja, juga saat printer dapur atau bar mati (atau kertas habis, atau kabel lepas) dan juga tanpa layar dapur:

Hidangan (pembuka, utama ...)

Tombol tahap hanya ditampilkan saat dibutuhkan: begitu ada menu paket (produk gabungan) di pesanan, atau saat sudah ada sesuatu di tahap 2 sampai 4. Dengan produk biasa, seperti cola, Anda tidak melihatnya dan semuanya langsung ke dapur. Tidak ada yang perlu diatur.

Di bawah daftar pesanan ada Tahap 1 2 3 4. Standarnya tahap 1 aktif dan semuanya berjalan seperti biasa: "Pesan" langsung mengirim semuanya ke dapur, tanpa judul tahap di tiket dapur. Jika Anda memilih tahap 2 (atau lebih) sebelum mengetuk produk, maka produk itu:

Tahap 1 selalu langsung jalan. Jika tahap 2 sudah dipanggil, hidangan yang dipesan belakangan di tahap 2 juga langsung jalan.

Alergen per produk

Standarnya mati: alergen tidak terlihat di mana pun. Aktifkan lewat Pengaturan → Usaha → Isi dan tampilkan alergen per produk.

All-you-can-eat

Standarnya mati. Aktifkan lewat Pengaturan → Usaha → All-you-can-eat (hanya admin). Anda membuat satu atau lebih paket, mis. Ikan, Daging, dan Sushi, masing-masing dengan:

Dengan ↑ ↓ Anda mengatur urutannya. Urutan ini berlaku jika satu hidangan termasuk dalam beberapa paket: hidangan itu masuk ke paket teratas yang dipilih grup. Hapus menghapus paket untuk meja baru; meja yang sedang berjalan tetap memakai baris harganya (jumlah orang masih bisa dikurangi, tetapi tidak ditambah).

Di meja:

Voucher hadiah

Dua sakelar di Pengaturan → Usaha → Kartu hadiah:

Saldo isi ulang (opsional)

Untuk klub, kantin olahraga, rumah pemuda, dan acara: kartu hadiah dengan saldo menjadi kartu isi ulang. Aktifkan di Pengaturan → Usaha → Saldo isi ulang, di bawah kartu hadiah (default nonaktif; hanya berfungsi jika Jual kartu hadiah dengan saldo aktif).

Voucher makan

Hanya untuk usaha di Belgia, default nonaktif: Pengaturan → Usaha → Bayar → Voucher makan. Voucher makan adalah tunjangan gaji: pemberi kerja mengisinya ke kartu milik karyawan (Edenred, Monizze atau Pluxee). Tamu membayar dengannya di mesin EDC biasa; tidak perlu koneksi dengan penerbit.

Mata uang asing

Bayar tunai dengan mata uang lain, mis. turis Inggris atau Amerika, atau di daerah perbatasan dengan franc Swiss. Default nonaktif: Pengaturan → Usaha → Bayar → Mata uang asing. Tambahkan mata uang (CHF, CZK, DKK, GBP, HUF, NOK, PLN, SEK, TRY, USD) dengan kurs per mata uang: berapa euro yang Anda hitung untuk 1 unit (mis. 1 GBP = € 1,15).

Tombol tambahan saat memesan dan membayar

Tombol untuk hal yang tidak dibutuhkan setiap usaha. Semua nonaktif secara default; aktifkan per tombol di Pengaturan → Usaha → Pemesanan dan pembayaran (hak Atur usaha, pembayaran, dan printer). Nonaktif = tombol tidak ada di mana pun di kasir dan server kasir menolak tindakan itu. Di Belanda semuanya berjalan tanpa kotak hitam; di Belgia tombol baru berfungsi jika fungsi itu sudah diuji dengan kotak hitam (di tombol tertulis jika belum).

Saat membuka meja:

Saat memesan (layar pesanan, untuk yang Anda ketuk setelahnya):

Saat membayar:

Setelahnya (Struk):

Kode: apps/pos-server/src/lib/kassaopties.ts, routes/kassaopties.ts; layar KassaOpties.tsx. Log: Pengaturan diubah, SPV ditukar, Koreksi struk, Belum dibayar.

Potong uang muka

Uang muka (DP, mis. untuk pesta atau reservasi) dijual sebagai produk biasa dengan Uang muka aktif (Pengaturan → Produk; selalu harga terbuka). Buat satu per tarif PPN jika uang muka harus per tarif (mis. Uang muka makanan dan Uang muka minuman), atau satu produk jika itu bagian dari penawaran. Tamu membayar uang muka lebih dulu dan mendapat struk.

Aktifkan: Pengaturan → Usaha → Pemesanan dan pembayaran → Potong uang muka (default nonaktif). Saat pembayaran akhir, ketuk Potong uang muka di layar pesanan dan isi nomor struk uang muka. Kasir menaruh baris uang muka dari struk itu dengan jumlah negatif di tagihan (produk, harga, dan PPN sama). Yang sudah dipotong tidak bisa dipotong lagi. Jika uang muka lebih besar dari tagihan, tamu mendapat selisihnya kembali (pengembalian uang). Di Belgia baris yang dipotong dikirim sebagai pengembalian uang (REFUND) ke kotak hitam (UC4110, UC4111, UC4113). Log: Uang muka dipotong.

Struk via email

Secara default nonaktif. Aktifkan lewat Pengaturan → Usaha → Struk juga lewat email.

SMTP_HOST=smtp.voorbeeld.nl
SMTP_PORT=587
SMTP_GEBRUIKER=kassa@voorbeeld.nl
SMTP_WACHTWOORD=...
SMTP_AFZENDER=bon@voorbeeld.nl

Mulai ulang kasir setelah mengisinya. Setelah itu di Pembayaran ada kolom Kirim struk juga lewat email (opsional): dibiarkan kosong = hanya dicetak seperti biasa; isi alamat email = struk yang sama (dengan rincian PPN dan baris fiskal) juga dikirim ke tamu lewat email, dengan nama usaha sebagai pengirim.

Reservasi

Aktifkan di Pengaturan → Usaha → Reservasi (standarnya nonaktif). Di sana Anda juga mengatur berapa menit sebelumnya meja yang direservasi muncul di denah (default 60) dan durasi default reservasi (default 120 menit).

Integrasi kasir TheFork: meja terbuka saat tamu tiba, tagihan dikirim balik

Dengan POS-API TheFork, kasir bekerja sama dengan TheFork Manager (standarnya nonaktif), selain mengambil reservasi seperti di atas. Aktifkan di Pengaturan → Platform reservasi → Integrasi kasir TheFork; berjalan melalui portal manajemen.

Dokumentasi TheFork: https://docs.thefork.io/POS-API/introduction

Daftar tunggu untuk tamu tanpa reservasi

Untuk tamu tanpa reservasi yang menunggu meja. Aktifkan di Pengaturan → Usaha → Daftar tunggu (walk-in) (standarnya nonaktif). Hanya terlihat jika SMS lewat CM.com sudah diatur; jika tidak, daftar tunggu tidak muncul di mana pun di kasir (juga tidak di pengaturan). Berjalan terpisah dari reservasi: juga saat reservasi nonaktif. Di sana juga ada teks SMS (kosong = "Hallo {naam}, uw tafel bij {zaak} is klaar. Wilt u zich melden bij de bediening?"; {naam}, {zaak}, dan {personen} diisi otomatis).

Kartu pelanggan / poin

Aktifkan di Pengaturan → Usaha → Kartu pelanggan / poin (standarnya nonaktif, dan saat itu tidak terlihat di mana pun). Di sana Anda juga mengatur: poin per euro (0 = hanya kartu stempel), setelah berapa poin ada hadiah, dan berapa euro diskon nilai hadiah itu.

Profil tamu: VIP, kebutuhan diet, dan preferensi (opsional)

Aktifkan di Pengaturan → Usaha → Profil tamu, di bawah kartu pelanggan (default nonaktif; hanya berfungsi jika kartu pelanggan aktif). Setelah itu:

Favorit / tombol cepat

Secara default nonaktif. Pengaturan → Usaha → Favorit / tombol cepat:

Satu putaran lagi

Di layar pesanan ada tombol ↻ Satu ronde lagi (begitu ada sesuatu di tagihan, meskipun belum dipesan). Satu ketukan menambahkan ronde terakhir (semua yang dikirim sekaligus dengan "Pesan", atau yang baru saja Anda ketuk) sekali lagi sebagai baris baru; lalu tekan Pesan seperti biasa. Harga yang dipakai adalah harga saat ini (termasuk happy hour).

Waktu meja di denah

Setiap meja terisi menampilkan ⏱ 45m · 12m: sudah berapa lama meja terisi dan berapa lama sejak terakhir kali ada yang dimasukkan (tekan lama meja, atau arahkan mouse ke atasnya, untuk waktu persisnya). Jika sudah lama tidak ada pesanan, meja mendapat bingkai oranye: saatnya menghampiri. Jumlah menitnya diatur di Pengaturan → Usaha → Waktu meja (default 20, 0 = tanpa bingkai oranye). Jika belum ada yang dimasukkan, waktu dihitung sejak meja dibuka.

Jika ada beberapa grup (tagihan terpisah) di satu meja, ada satu baris per grup, mis. G1 ⏱ 50m · 12m dan Jansen ⏱ 10m (nama grup, atau nomor grup). Grup yang terlalu lama tidak memesan mendapat label oranye dan mejanya bingkai oranye.

Pindahkan seluruh meja

Di layar pesanan ada Pindahkan meja. Pilih ruangan (mis. Teras) dan meja: semua grup di meja itu ikut pindah, masing-masing dengan tagihannya sendiri. Jika Anda memilih meja yang terisi, meja-meja digabungkan (grupnya ditambahkan). Jika hanya ingin memindahkan sebagian, gunakan seperti biasa Pisah / pindahkan. Jika semuanya harus dalam satu tagihan, gunakan Gabungkan.

Tetap bekerja offline (tablet tanpa Wi-Fi)

Jika koneksi antara tablet dan server kasir terputus (Wi-Fi di teras, server sebentar mati), muncul bilah kuning dan tablet tetap berjalan dengan meja, produk, dan pesanan terbuka yang terakhir disimpan:

Jumlah tamu

Opsional dan default nonaktif: Pengaturan → Usaha → Pemesanan dan pembayaran → Catat jumlah orang. Nonaktif = ketukan sesedikit mungkin: meja kosong terbuka dengan satu ketukan, jumlah orang tidak tampil di mana pun, dan laporan, dasbor, serta ringkasan harian tidak menampilkan tamu dan belanja per tamu.

Aktif: saat Anda mengetuk meja kosong, kasir menanyakan berapa orang (tombol besar 1-8, atau ketik; "Lewati" = 1). Di denah, meja yang terisi menampilkan "3/4 org" (orang/kursi, kuning jika yang duduk lebih banyak dari kursi). Di layar pesanan Anda mengubahnya dengan tombol "3 org" di bilah grup; dengan beberapa grup, meja menjumlahkan semua grup.

Tanpa jumlah orang semuanya tetap berfungsi: Bagi rata saat pembayaran dimulai dari 2, all-you-can-eat menanyakan sendiri jumlah dewasa dan anak-anak, dan reservasi serta daftar tunggu menyimpan jumlah orangnya sendiri (meja lalu dibuka tanpa jumlah orang).

Pencatatan HACCP

Setiap usaha horeca harus memantau dan mencatat keamanan pangan: di Belanda sesuai Hygiënecode voor de Horeca (diawasi oleh NVWA), di Belgia sesuai autokontrol FAVV (panduan G-023). Aktifkan Pencatatan HACCP di Pengaturan → Hukum dan peraturan (default nonaktif).

Sistem tap dan flowmeter

Setiap tuangan yang dilaporkan komputer tap atau flowmeter masuk ke tagihan, sehingga tidak ada yang "bocor". Aktifkan di Pengaturan → Sistem tap (bawaan mati).

Tap terukur dan Kegboard

Dengan tap terukur, keran baru terbuka setelah gelas diinput di kasir, dan hanya untuk jumlah itu. Jadi tidak ada yang dituang tanpa tercatat di nota. Ini hanya berfungsi jika sistem tap aktif, dan kamu mengaktifkannya per keran (bawaan: nonaktif).

Kontrol musik dari kasir

Staf mengontrol musik dari layar sentuh kasir, jadi tidak perlu layar terpisah di bar. Aktifkan di Pengaturan → Usaha → Layar dan pengoperasian → Kontrol musik dari kasir (default nonaktif). Lalu tombol Musik ada di bilah atas: per sumber (mis. Bar dan Teras) Putar, Jeda, Berikutnya, Sebelumnya, Lebih keras, Lebih pelan, dan penggeser volume, beserta yang sedang diputar. Kembali ke kasir menutup panel. Saat dinonaktifkan, sumber tetap tersimpan.

Admin menambahkan sumber dengan + Sumber musik, memilih cara terhubungnya, dan mengujinya dengan Tes:

Kasir berkomunikasi dengan pemutar dari server, jadi pemutar harus berada di jaringan yang sama dengan kasir (Soundtrack lewat internet). Semua yang sudah masuk boleh mengontrol; untuk mengatur diperlukan hak Atur usaha, pembayaran, dan printer. Token dan kata sandi tidak pernah tampil di layar maupun di log; log hanya mencatat pengaturan (aktif/nonaktif, sumber), bukan setiap tombol. Ekspor konfigurasi hanya membawa aktif/nonaktif (sumber milik satu usaha).

Layar kedua di tablet atau ponsel

Musik dan kamera juga bisa dibuka di tablet atau ponsel milik karyawan, sebagai layar kedua di samping kasir. Di jendela Musik atau Kamera ada tombol Di tablet atau ponsel: tombol ini menampilkan kode QR dengan alamatnya, mis. http://192.168.1.20:3000/muziek atau .../camera.

  1. Hubungkan tablet atau ponsel ke jaringan wifi usaha.
  2. Pindai kode QR dengan kamera (atau ketik alamatnya di browser).
  3. Masuk dengan PIN Anda sendiri. Anda hanya melihat yang diizinkan: musik untuk semua orang, kamera hanya dengan hak Lihat gambar kamera.
  4. Selesai: Keluar di kanan atas. Jika sesi sudah kedaluwarsa (mis. tablet tidak dipakai semalaman), layar akan meminta PIN lagi.

Tips: tambahkan halaman ke layar utama tablet (di browser: Tambahkan ke layar utama), maka halaman terbuka seperti aplikasi.

Karena itu kasir mencari alamat IP PC kasir di jaringan (jika PC punya lebih dari satu, mis. wifi dan kabel, Anda memilih jaringannya). Di portal manajemen (kasir jarak jauh) ini adalah alamat portal. Kode QR dibuat oleh kasir sendiri, tanpa internet.

Memasangkan tablet: dengan satu tombol ke tablet (opsional)

Lebih mudah lagi: pasangkan tablet satu kali, lalu kasir mengirim musik atau kamera ke tablet itu dengan satu tombol. Aktifkan di Pengaturan → Usaha → Layar dan pengoperasian → Tablet sebagai layar kedua (standar nonaktif).

  1. Di tablet: buka http://<kassaserver>:3000/tablet (di pengaturan ada Di tablet atau ponsel dengan kode QR), masuk dengan PIN dan beri nama tablet, mis. Tablet Bar. Pasangkan.
  2. Di kasir: di jendela Musik atau Kamera kini ada tombol Ke Tablet Bar (dengan titik hijau jika tablet menyala). Ketuk: tablet membuka layar itu secara otomatis. Untuk musik, sumber yang dipilih ikut terkirim (mis. Teras).
  3. Di tablet: Tutup kembali ke mode menunggu; Putuskan tablet ini menghapus pasangan.

Biarkan halaman di tablet tetap terbuka; jika tablet mati atau tidur, tablet akan membuka layar begitu menyala lagi. Tablet tetap masuk sebagai karyawan yang masuk di sana: mengirim dan melihat kamera hanya bisa dengan hak Lihat gambar kamera. Admin melihat di pengaturan tablet mana yang dipasangkan dan apakah menyala, dan dapat mengganti nama atau menghapusnya. Tablet menyimpan kuncinya sendiri; kasir hanya menyimpan hash-nya. Saat dinonaktifkan, tablet yang dipasangkan tetap tersimpan. Di log tercatat siapa yang memasangkan, mengganti nama, atau menghapus tablet.

Layar panggilan untuk bawa pulang

Layar untuk tamu dengan Sedang disiapkan di kiri dan Siap di kanan, dengan nomor besar, seperti di snack bar atau restoran cepat saji. Aktifkan di Pengaturan → Usaha → Layar dan pengoperasian → Layar panggilan untuk bawa pulang (default nonaktif).

Tidak perlu menghubungkan: buka alamat kasir dengan /oproep di TV dengan browser (smart TV, stick, atau mini PC), tablet, atau monitor kedua, mis. http://192.168.1.20:3000/oproep. Di pengaturan dan di jendela Panggil ada tombol Di layar terpisah dan Di tablet atau ponsel (kode QR dengan alamatnya). Tidak perlu masuk: layar hanya menampilkan nomor. Ketuk layar sekali, maka browser boleh memutar suara.

Yang tampil:

Nomornya: untuk webshop, Thuisbezorgd dan platform pengantaran, nomor pesanan yang sudah dimiliki tamu atau kurir; jika tidak, nomor pengambilan (1 sampai 999). Nomor ini dicetak besar di struk, dengan keterangan bahwa nomor akan muncul di layar saat pesanan siap (dalam bahasa struk).

Opsional (default nonaktif, di pengaturan):

Di kasir ada tombol Panggil (dengan jumlah yang masih disiapkan):

  1. Siap menandai nomor siap secara manual (tanpa layar dapur, atau jika lebih cepat). Untuk pesanan dari toko online atau Thuisbezorgd statusnya ikut berubah, sehingga tamu juga mendapat pemberitahuan.
  2. Kembali mengembalikannya ke Sedang disiapkan.
  3. Sudah diambil menghapusnya dari layar (dengan Urungkan).

Di pengaturan kamu juga memilih apakah nama depan tampil di samping nomor (default tidak, demi privasi) dan apakah layar berbunyi. Menonaktifkan: tidak ada tombol Panggil dan tidak ada nomor ambil di struk; pengaturan tetap tersimpan. Di log tercatat siapa yang secara manual menandai siap, mengembalikan, atau menandai sudah diambil.

Absen masuk dan keluar

Secara default absensi nonaktif: tidak terlihat di mana pun di kasir (tidak ada tombol di bilah atas, tidak di layar masuk, tidak ada tab Jam kerja). Aktifkan lewat Pengaturan → Usaha, di bagian Absen masuk dan keluar karyawan:

Yang tidak memakai kasir (mis. dapur) absen di layar masuk: ketuk Absen masuk / keluar dan masukkan PIN Anda. Ini bergantian antara masuk dan keluar, tanpa masuk ke kasir.

Jika absensi aktif, administrator melihat di Pengaturan → Jam kerja:

Di Belgia setiap absen masuk dan keluar juga dilaporkan ke kotak hitam. Jika kotak hitam tidak bisa dihubungi, absen tidak diproses (sama seperti pembayaran). Apakah ini sepenuhnya memenuhi aturan pencatatan karyawan di Belgia masih harus dikonfirmasi.

Penimbangan dan label (timbangan)

Jika timbangan aktif (Pengaturan → Timbangan), produk bisa punya harga per kilo. Semua produk lain tetap per item.

Uber Eats, Deliveroo, dan HubRise

Selain Thuisbezorgd.nl / Takeaway.com, pesanan dari Uber Eats (Belanda dan Belgia), Deliveroo (hanya Belgia; Deliveroo keluar dari Belanda pada akhir 2022), dan semua yang ada di HubRise (antara lain Uber Eats, Deliveroo, Just Eat/Takeaway.com, dan aplikasi pesan yang lebih kecil) juga masuk ke kasir. Setiap platform diaktifkan terpisah di Pengaturan → Platform pengantaran (standarnya nonaktif, menonaktifkannya tetap menyimpan semuanya). Tab ini menunjukkan per platform di negara mana platform itu beroperasi dan memberi peringatan jika tidak beroperasi di negara usaha.

Pesanan. Pesanan menjadi pesanan biasa (bezorgen atau afhalen, nama grup <platform> <nummer>) dengan harga platform: produk dikenali dari ID (dari menu), kode, atau nomor PLU; tidak dikenal = baris terpisah dengan harga platform (dan pemberitahuan); ongkos kirim, biaya tambahan, dan diskon sebagai baris tersendiri; jika totalnya tetap tidak cocok, ditambahkan baris "Selisih". Tiket dapur langsung ke dapur/bar. Tombol Platform di bilah atas (dengan jumlah pesanan berjalan; oranye jika ada yang perlu diterima): terima atau tolak (dengan alasan), sedang disiapkan, siap, dalam perjalanan, sudah diantar atau sudah diambil, batalkan, dan Selesaikan (dibayar online). Apa yang dikenal platform dikirim balik (Uber Eats: terima, tolak, batalkan; Deliveroo: terima, tolak, sedang disiapkan, siap, sudah diambil; HubRise: semua status). Jika usaha mengantar sendiri (antar sendiri), pesanan juga ada di Rit, dan keberangkatan serta pengantaran otomatis dilaporkan ke platform. Pembatalan dari platform membuat pesanan kedaluwarsa. Jika kasir lebih dari 2 menit tidak terhubung ke portal, portal menolak pesanan baru dari Uber Eats dan memberi tahu Deliveroo (dengan tablet) bahwa pesanan gagal, sehingga usaha melihatnya di tablet.

Kode: apps/pos-server/src/lib/bezorgplatforms.ts, routes/bezorgplatforms.ts; layar Bezorgplatforms.tsx. Sisi portal: horecapos-portaal/src/platforms.mjs. Log: Platform pengantaran (aktif/nonaktif, pengaturan, pesanan). Semuanya ikut dalam cadangan kasir.

Platform yang lebih kecil di Belanda dan Belgia (Homie, Hebtrek, sneleten.nl, Bistroo ...) tidak memiliki integrasi kasir publik; jika ada di HubRise, platform itu bekerja melalui HubRise. Selebihnya: lihat backlog.

Mesin kas otomatis (sistem kas tertutup)

Standar nonaktif: tunai berfungsi seperti biasa. Dengan sistem kas tertutup, staf tidak menyentuh uang tunai: pelanggan atau staf memasukkan uang ke mesin, yang menghitung, memeriksa uang palsu, dan memberikan kembalian.

Tombol ©

Data OptimumPOS

Di kanan bawah setiap layar (PIN, denah, pemesanan, dan dapur) ada tombol kecil ©. Tombol ini membuka data OptimumPOS: logo, alamat, telepon, email, dan situs web. Ikonnya tersimpan lokal di aplikasi, jadi juga berfungsi tanpa internet. Ikon yang sama adalah ikon aplikasi (tab dan layar utama).

Bagian 2 · Manajer

Mulai

Secara default manajer bisa melakukan semua yang bisa dilakukan pelayan, dan juga antara lain memberi diskon, memproses retur, menutup hari, mengelola laci kas, serta melihat log dan stok. Sebagian besar ada di tombol Laporan:

Stok

Secara default nonaktif. Aktifkan lewat Pengaturan → Usaha → Catat stok. Nonaktif = tidak terlihat di mana pun di kasir.

Pesan ke pemasok

Standar nonaktif. Aktifkan di Pengaturan → Stok → Pesan ke pemasok (hanya jika Catat stok aktif). Nonaktif = daftar pesanan berfungsi seperti biasa.

Manajemen ulasan

Baca dan balas ulasan dari Google dan Trustpilot di kasir. Aktifkan di Pengaturan → Poin dan ulasan → Manajemen ulasan (standarnya nonaktif, dan saat itu tidak terlihat di mana pun). Baca dan balas di Laporan → Ulasan (hak Baca dan balas ulasan, secara default juga untuk manajer). Jika dimatikan, koneksi dan ulasan tetap disimpan.

Pemasaran SMS dan email

Pesan untuk pelanggan kartu pelanggan yang memberikan izin untuk itu. Tanpa kartu pelanggan, keduanya tidak bisa diaktifkan.

Tip per karyawan

Di Pengaturan → Usaha → Tip (hanya jika "Tampilkan tombol tip saat pembayaran" aktif) Anda memilih bagaimana tip per karyawan ditampilkan di laporan sementara (X), laporan Z (struk dan email), dan Omzet per periode (juga di CSV):

PilihanPembagian
Nonaktif (default)hanya total tip, seperti biasa
Tip masing-masingtip dari tagihan yang dibayar oleh masing-masing karyawan sendiri
Bagi per jamsemua tip digabung, dibagi menurut jam kerja tercatat dalam periode itu (memerlukan absen masuk/keluar; tidak ada yang absen = bagi rata)
Bagi ratasemua tip digabung, dibagi rata ke semua yang sudah absen masuk (tanpa absen: siapa saja yang memasukkan pesanan atau menerima pembayaran)

Sisa sen diberikan kepada orang yang paling dekat dengan sen berikutnya, sehingga totalnya selalu cocok. Ini hanya ringkasan: kasir tidak membayarkan apa pun (itu bisa dengan "Uang keluar dari laci"). Laporan Z lama tetap seperti semula.

Laporan Z via email

Di Pengaturan → Usaha → Kirim laporan Z ke email, isi sekali alamat email administrator (lebih dari satu alamat: pisahkan dengan koma, maks. 3). Setelah Tutup hari, laporan Z otomatis dikirim ke alamat itu, selain struk yang dicetak. Kosong = tidak dikirim, seperti biasa.

Ringkasan harian (opsional)

Jika ada alamat di Kirim laporan Z ke, di bawahnya ada kotak centang Dengan ringkasan singkat harian di bagian atas email (default nonaktif). Aktif = di bagian atas email laporan Z ada beberapa baris dalam bahasa sederhana, hanya dari data kasir sendiri (tanpa AI, tidak ada yang dikirim ke luar):

Laporan Z itu sendiri (struk dan email) tetap sama persis. Pratinjau hari ini menampilkan ringkasan dari penutupan harian terakhir sampai sekarang. Ringkasan ditulis dalam bahasa Belanda, sama seperti email laporan Z.

Dasbor

Tab Dasbor di Laporan (hak akses Omzet per periode), hanya baca:

Voucher hadiah yang terjual tidak dihitung sebagai omzet, dan diskon serta judul menu tidak masuk 10 teratas (seperti di laporan lain). Satu hari berlangsung dari 00:00 sampai 24:00.

Laporan tambahan

Tiga tab tambahan di Laporan, masing-masing diaktifkan terpisah lewat Pengaturan → Usaha → Manajemen dan laporan → Laporan tambahan (default nonaktif: maka tidak ada tab). Tab ini memerlukan hak yang sama dengan Omzet per periode dan hanya untuk dibaca. Periode: minggu ini, minggu lalu, bulan ini, bulan lalu, 90 hari terakhir, tahun ini, atau pilih sendiri (paling lama sedikit lebih dari setahun).

Diskon

Manajer atau administrator melihat tombol % Diskon di samping total pada layar pesanan:

Diskon muncul sebagai baris tersendiri di struk ("Diskon 10%", dengan alasan di bawahnya) dengan tarif PPN yang sama, sehingga total dan rincian PPN benar. Untuk seluruh struk, diskon dibagi per tarif PPN. Menghapus: ketuk jumlah pada baris diskon. Jika baris yang punya diskon sendiri dibatalkan, diskonnya ikut batal. Jika Anda menghapus produk dari struk dengan diskon persen pada seluruh struk, kasir menghitung ulang diskon itu atas sisanya (di Belgia UC226); jumlah tetap tidak berubah dan dibagi ulang ke baris saat pembayaran. Jika karena diskon 100% tidak ada yang perlu dibayar, selesaikan dengan "Selesai (tidak ada yang dibayar)". Diskon tercatat di log, serta di laporan X/Z dan ringkasan periode sebagai "termasuk diskon". Saat struk dengan diskon diretur, diskonnya ikut dihitung secara proporsional.

Kode diskon (opsional)

Kode dengan diskon untuk seluruh struk, misalnya untuk promo (ZOMER10). Aktifkan di Pengaturan → Usaha → Kode diskon (standarnya nonaktif); kode dibuat di Pengaturan → Kode diskon (hak akses Kelola produk):

Di layar pesanan ada tombol Kode diskon (siapa pun boleh memasukkan kode; kode dibuat lebih dulu oleh usaha). Diskon muncul sebagai baris "Kode diskon KODE" di struk, dibagi ke tarif PPN; satu kode per struk, dan tidak bisa lagi jika sudah dibayar (sebagian). Jika baris itu dihapus atau pesanan dibatalkan, pemakaiannya tidak dihitung lagi. Menghapus kode yang sudah dipakai akan menonaktifkannya (laporan tetap benar). Semuanya tercatat di log (Kode diskon). Kode: lib/kortingscodes.ts, routes/kortingscodes.ts, Kortingscodebeheer.tsx, KortingscodeDialoog.tsx.

Kode ini tidak muncul di daftar Pengaturan → Kode diskon (jumlah per promo muncul di Laporan → Pemasaran) dan tetap dikirim ke toko online selama masih berlaku dan belum dipakai.

Laporan dan tutup hari

Laporan - saldo sementara (X)

Tombol Laporan di bilah atas:

Ekspor ke pembukuan

Laporan → Omzet per periode → Ekspor akuntansi (jurnal) (hak akses Omzet per periode) membuat CSV dengan satu entri jurnal per hari, siap dibaca di e-Boekhouden, Exact, SnelStart, Twinfield dll. (lewat impor CSV/memorial mereka), atau salah satu format di bawah (UBL, XAF dan siap pakai untuk 14 software).

Satu bukti pembukuan per hari (KASSA-JJJJMMDD) yang selalu seimbang (debit = kredit):

SisiApa
Debitpenerimaan per metode pembayaran (tunai, kartu, voucher hadiah, online, lainnya), termasuk tip
Kreditomzet per tarif PPN (tanpa PPN) dan PPN terutang per tarif
Kredittip (harus dibayarkan ke karyawan, bukan omzet)
+/-selisih pembulatan (pembulatan tunai ke 5 sen)
+/-uang masuk/keluar laci (manajemen kas) dengan lawan akun sementara, dan selisih kas dari laporan Z

Retur dan diskon sudah ada di struk dan mengurangi omzet. Kolom: Datum; Boekstuk; Dagboek; Rekening; Omschrijving; Debet; Credit; Btw-code; Btw-% (titik koma, desimal koma). Setelah diunduh, kasir memberi tahu apakah ada hari yang tidak seimbang atau selisihnya lebih besar dari pembulatan.

Di samping tombol Anda memilih format (pilihan diingat di browser). Jurnalnya sama, tetapi diformat agar software bisa langsung membacanya. Daftar hanya menampilkan format untuk negara usaha (Pengaturan → Usaha), pertama standar (CSV, UBL, XAF), lalu software menurut abjad:

FormatFileImpor ke software
Umum (CSV)journaal_…csvsoftware apa pun dengan impor CSV/memorial (cocokkan kolom)
UBL 2.1 / Peppol (XML), NL dan BEjournaal_…_ubl.xml (beberapa hari: .zip)per hari satu faktur "dagontvangsten" (penerimaan harian) kepada Kassaverkopen (sudah lunas) sesuai Peppol BIS Billing 3.0, dengan satu baris per tarif PPN dan akun omzet di AccountingCost; hanya omzet dan PPN (metode pembayaran, tip, pembulatan, laci dan selisih kas tidak termasuk dalam faktur). Untuk diunggah antara lain di Adsolut, Billit, BUNNI, DigiBoox, Expert/M, Moneybird, Popsy, Rompslomp, Storecove dan TriFact365; bukan untuk dikirim lewat jaringan Peppol. Nama, nomor PPN dan alamat diambil dari Pengaturan → Usaha
XML Auditfile Financieel (XAF 4.0), NLjournaal_…_xaf.xafauditfile dari Belastingdienst (XSD XmlAuditfileFinancieel4.0): satu file untuk periode itu, buku besar, kode PPN, periode dan satu transaksi memorial per hari; bisa dibaca antara lain di Caseware, Exact Reeleezee dan Visma Cash
AccountView (XML), NLjournaal_…_accountview.xmlMutasi XML (VFPData, satu transact per baris jurnal dengan dj_code, period, inv_date, inv_nr, acct_nr, trn_desc dan amount: debit positif, kredit negatif), per hari satu bukti di jurnal memorial; dibaca dengan definisi impor (Document → Importeren → Importdefinitie aanmaken, tipe XML), nama kolomnya adalah nama dari AccountView sendiri, jadi cukup satu kali pemetaan 1:1. Minta impor pertama diperiksa
AFAS Profit (XML)journaal_…_afas.xmlXML dari UpdateConnector FiEntries (mutasi keuangan), satu entri per hari dengan tahun, periode, administrasi, dan jurnal; impor ke Profit lewat Impor → XML; isi nomor administrasi (default 1)
Asperion (CSV), NLjournaal_…_asperion.csvformat FMUTA (Extra → Import financiële mutaties), per hari satu baris kepala dan baris pembukuan; definisi impor diatur Asperion lewat helpdesk
Laporan harian (HTML), NL dan BEjournaal_…_dagstaat.htmllaporan harian yang mudah dibaca per hari (omzet per tarif PPN, metode pembayaran, tip, selisih kas) dan total; cetak sebagai PDF atau kirim email, untuk software tanpa impor (Accountable, Dext, Dexxter, Jortt, Kleisteen, MoneyMonk)
e-Boekhouden.nl (CSV)journaal_…_eboekhouden.csvTanggal; No. bukti; Keterangan; Akun buku besar; Jumlah (debit positif, kredit negatif); kode PPN GEEN (PPN sudah ada di akun PPN); Impor → Mutasi, jenis memorial
Exact Online (XML)journaal_…_exact.xmleExact-XML (topik GLTransactions): satu jurnal memorial per hari (tipe 90) di jurnal; Impor/ekspor → Impor XML
InformerOnline (TXT), NLjournaal_…_informer.txtmemorial dipisah tab (Geavanceerd → Memoriaal → uploaden); jurnal harus bernomor 1–99 (jika tidak 90)
KING ERP (XML), NLjournaal_…_king.xmlKING_JOURNAAL: satu rangkaian pembukuan (belum final) dengan satu entri jurnal per hari
KOMAS (CSV), NLjournaal_…_komas.csvformat bebas KOMAS (0401 Importeren journaalposten): Datum; Grootboek; Omschrijving; Bedrag
Odoo (CSV), NL dan BEjournaal_…_odoo.csvAkuntansi → Journal Entries → Import records; jurnal dan akun berdasarkan nama atau kode
Sage BOB 50 (Excel), BEjournaal_…_bob.xlsxImportation de données externes → Opérations diverses (cocokkan kolom satu kali)
SAP Business One (ZIP), NL dan BEjournaal_…_sapb1.zipData Transfer Workbench, Journal Entries: JournalEntries.csv dan JournalEntries_Lines.csv
SnelStart (CSV)journaal_…_snelstart.csvTanggal; No. bukti; Keterangan; Akun buku besar; Debit; Kredit (dd-mm-yyyy, koma desimal, tanpa BOM); impor sebagai memorial, jurnal dipilih saat impor
Twinfield (XML)journaal_…_twinfield.xmltransaksi jurnal sebagai draf (destiny="temporary"), akuntan memfinalkannya; isi kode administrasi (kosong = administrasi tujuan impor)
Winbooks (CSV), BEjournaal_…_winbooks.csvK_DOC.CSV, per hari satu dokumen di jurnal (Winbooks memberi nomor sendiri)
Yuki (XML)journaal_…_yuki.xmlJournal-XML (GeneralJournal), satu jurnal memorial per hari, struktur sama dengan koneksi langsung; ID administrasi opsional

Ringkasan: software akuntansi mana dengan cara apa

Per segmen, menurut abjad. NL/BE = di negara mana software berfungsi: di Pengaturan → Akuntansi → Software akuntansi Anda hanya melihat software untuk negara usaha (software Belanda tidak berfungsi di Belgia dan sebaliknya). Live = kasir membukukan sendiri setiap hari (dipilih di Pengaturan → Akuntansi → Software akuntansi); atas permintaan = ada API, tetapi perlu registrasi mitra atau persetujuan penyedia lebih dulu (beri tahu kami). File = format di Ekspor akuntansi. Jika keduanya bisa, Anda bisa memakai keduanya. Daftar ini ada di packages/shared/src/boekhoudcatalogus.ts dan juga muncul di Pengaturan → Akuntansi.

SoftwareNLBELiveFileCatatan
UKM dan pekerja mandiri
Accountable–✓–Laporan harian (HTML, untuk PDF atau email)
AccountView (Visma)✓–atas permintaanAccountView (XML), Umum (CSV)File: mutasi XML untuk definisi impor (Document → Importeren); CSV umum juga bisa dibaca dengan definisi impor. Live melalui API AccountView.Net setelah mengajukan permintaan ke AccountView.
Acumulus✓–✓–Live sebagai faktur penjualan lunas per hari, dengan satu baris per tarif PPN.
AFAS Profit✓–✓AFAS Profit (XML)
Asperion✓–atas permintaanAsperion (CSV)Live setelah mendaftar sebagai mitra API di Asperion.
Billit–✓atas permintaanUBL 2.1 / Peppol (XML)Unggah UBL lewat Fast input; live setelah disetujui Billit.
BUNNI✓––UBL 2.1 / Peppol (XML)Belum ada dokumentasi API publik.
Dexxter–✓–Laporan harian (HTML, untuk PDF atau email)
DigiBoox (Visma DigiBTW)✓––UBL 2.1 / Peppol (XML)
e-Boekhouden.nl✓––e-Boekhouden.nl (CSV)Juga untuk mantan pelanggan Ficsus.
Exact Online✓✓✓Exact Online (XML)
Exact Reeleezee✓––XML Auditfile Financieel (XAF 4.0)
Horus–✓✓–
InformerOnline✓––InformerOnline (TXT)
Jortt✓––Laporan harian (HTML, untuk PDF atau email)Tanpa impor: bukukan omzet harian sebagai pendapatan dengan laporan harian sebagai lampiran.
KING✓–atas permintaanKING ERP (XML)Live setelah registrasi mitra di KING Software.
Kleisteen✓––Laporan harian (HTML, untuk PDF atau email)
KOMAS (Adfinis)✓––KOMAS (CSV)
Minox✓–atas permintaan–Live setelah koneksi mitra lewat Minox.
Moneybird✓–✓UBL 2.1 / Peppol (XML)
MoneyMonk✓––Laporan harian (HTML, untuk PDF atau email)MoneyMonk akan punya API untuk koneksi pada 2026.
Octopus–✓atas permintaan–Live setelah meminta software house ID di Octopus.
Popsy / Allegro–✓–UBL 2.1 / Peppol (XML)
Rompslomp✓––UBL 2.1 / Peppol (XML)
Sage BOB 50–✓–Sage BOB 50 (Excel)
Silvasoft✓✓✓–Live sebagai entri penjualan per hari, dengan satu baris per tarif PPN; metode pembayaran, tip dan selisih kas tidak ikut.
SnelStart✓–✓SnelStart (CSV)
Twinfield✓–✓Twinfield (XML)
Visma Cash✓–atas permintaanXML Auditfile Financieel (XAF 4.0)API dengan kunci dari CASHWeb; format record untuk pembukuan masih dikonfirmasi.
Visma eAccounting✓–atas permintaan–Live setelah disetujui Visma (registrasi mitra).
Winbooks–✓atas permintaanWinbooks (CSV)
Wolters Kluwer Adsolut–✓atas permintaanUBL 2.1 / Peppol (XML)UBL dengan akun omzet per baris; di Adsolut aktifkan "grootboekrekening verwerken bij verkopen".
Wolters Kluwer Expert/M–✓–UBL 2.1 / Peppol (XML)
Yuki✓✓✓Yuki (XML)
Internasional
QuickBooks Online✓✓✓CSV umumTidak ada edisi Belanda atau Belgia: periksa pengaturan PPN.
Xero✓✓✓CSV umum
Zoho Books✓✓✓CSV umum
Enterprise dan jaringan usaha
Exact Globe+✓✓–Exact Online (XML)XML sama dengan Exact Online; minta impor pertama diperiksa.
Microsoft Dynamics 365 Business Central✓✓✓–
Odoo✓✓✓Odoo (CSV)
Oracle NetSuite✓✓atas permintaanCSV umum
SAP Business One✓✓✓SAP Business One (ZIP)
Unit4 ERPx✓✓–CSV umum
Platform dan agregator
Apicbase✓✓atas permintaan–Penjualan per struk untuk stok dan food cost: integrasi di Pengaturan → Resep (bukan sebagai software akuntansi).
Caseware✓✓–XML Auditfile Financieel (XAF 4.0)
Combidesk✓–atas permintaan–Combidesk membangun dan mengelola koneksinya sendiri (antara lain ke Exact, Moneybird, SnelStart dan Twinfield); atas permintaan sebagai mitra.
Dext✓✓–Laporan harian (HTML, untuk PDF atau email)Kirim laporan harian (PDF) lewat email ke alamat Dext Anda.
Jamix✓✓atas permintaan–Penjualan untuk stok dan food cost lewat antarmuka JAPI dari Jamix; pengembangan khusus atas permintaan ke Jamix.
Omniboost✓✓atas permintaan–Lewat program mitra Omniboost terhubung lebih lanjut ke banyak sistem akuntansi dan hotel.
Storecove (Peppol)✓✓atas permintaanUBL 2.1 / Peppol (XML)
TriFact365✓––UBL 2.1 / Peppol (XML), Laporan harian (HTML, untuk PDF atau email)
Software lain apa pun✓✓–CSV umum, UBL atau XAF (NL)

Minta akuntan memeriksa impor pertama. Formatnya ada di packages/shared/src/journaalexport.ts (dengan tes).

Pengaturan → Pembukuan (hak akses Mengatur usaha, pembayaran, dan printer): kode jurnal (default MEM) dan akun buku besar per bagian. Kosong = akun contoh (NL: 8000/8010/8020 omzet, 1500/1510 PPN, 1000 kas, 1100 kartu; BE: 7000xx omzet, 451000 PPN, 570000 kas). Minta akuntan mengisi akun yang sebenarnya.

Koneksi dengan software akuntansi

Koneksi live dengan Acumulus, AFAS Profit, Microsoft Dynamics 365 Business Central, Exact Online, Horus, Moneybird, Odoo, QuickBooks Online, SAP Business One, Silvasoft, SnelStart, Twinfield, Xero, Yuki dan Zoho Books. Setiap akhir hari kasir membukukan entri yang sama dengan ekspor di atas (omzet dan PPN per tarif, metode pembayaran, tip, pembulatan, laci dan selisih kas) sebagai jurnal memorial di software yang dipilih, dengan jurnal dan akun buku besar dari Pengaturan → Akuntansi. Selalu paling banyak satu software yang aktif.

SoftwareNegaraHubungkan denganYang dibukukan kasir
AcumulusNLkode kontrak, pengguna dan kata sandi pengguna APIper hari satu faktur penjualan lunas dengan satu baris per tarif PPN; kesalahan dikirim Acumulus lewat email ke ACUMULUS_FOUTMAIL
AFAS ProfitNLlingkungan, token, administrasimemorial (FiEntries)
Business CentralNL, BEtenant, lingkungan, perusahaan, client ID dan secret dari aplikasi Microsoft Entra (API.ReadWrite.All)baris di jurnal umum dengan kode dari Jurnal
Exact OnlineNL, BElogin (OAuth, aplikasi sendiri: lihat Exact Online di bawah; Belgia: start.exactonline.be)jurnal memorial di buku jurnal (mis. 90)
HorusBElogin (OAuth, aplikasi di bawah), opsional dosirtransaksi lain-lain
MoneybirdNLtoken API, opsional administrasimemorial (general journal document)
OdooNL, BEalamat, database, pengguna, kunci APIentri jurnal di jurnal dengan kode singkat (mis. MISC)
QuickBooks OnlineNL, BElogin (OAuth, aplikasi di bawah; QUICKBOOKS_OMGEVING)journal entry; akun berdasarkan nomor
SAP Business OneNL, BEalamat Service Layer, database, pengguna, kata sandientri jurnal (JournalEntries)
SilvasoftNL, BEpengguna dan kunci APIentri penjualan pada relasi Kassaverkopen, satu baris per tarif PPN (metode pembayaran, tip dan selisih kas tidak ikut)
SnelStartNLkunci koneksi dan kunci langgananmemorial
TwinfieldNLlogin (OAuth, aplikasi di bawah), opsional kantortransaksi jurnal
XeroNL, BElogin (OAuth, aplikasi di bawah), opsional organisasimanual journal; akun berdasarkan kode
YukiNL, BEkunci API, opsional administrasimemorial (GeneralJournal)
Zoho BooksNL, BElogin (OAuth, aplikasi di bawah; standarnya pusat data Eropa), opsional organisasientri jurnal; akun berdasarkan kode

File audit kasir (XAA)

Untuk usaha di Belanda, di Laporan → Omzet per periode di samping ekspor akuntansi ada tombol File audit kasir (XAA): XML Auditfile Afrekensystemen 3.2 dari Belastingdienst (otoritas pajak Belanda) dan XML Platform (SRA) untuk periode yang dipilih (paling lama sedikit lebih dari satu tahun; hak Omzet per periode). Itulah file yang direkomendasikan Belastingdienst untuk menyerahkan data kasir saat pemeriksaan atau kepada akuntan; aturannya ada di Handreiking voor een betrouwbaar afrekensysteem (Panduan untuk sistem kasir yang andal) (docs/xaa).

Di dalam file (auditfile_kassa_<van>_tm_<tot>.xml, skema docs/xaa/XmlAuditfileAfrekensystemen3.2.xsd):

Jumlah bernilai positif dengan C (penjualan, penerimaan) atau D (retur, pengeluaran); waktu dalam waktu Belanda dengan offset. Semua kunci adalah id dari database tanpa tanda hubung, sehingga dapat ditelusuri di kasir.

Penandatanganan (bab 6 spesifikasi): jika Optimum POS telah memasang sertifikat, file audit dibuat bertanda tangan dalam amplop (XML Signature) dan nama filenya …_ondertekend.xml; jika tidak, itu file audit biasa, dan kasir memberi tahu hal itu saat mengunduh.

Bayar tempo

Pelanggan bisnis (perusahaan yang setiap minggu mengambil makan siang, hotel, perkumpulan) membeli dengan bayar tempo dan membayar nanti, dengan faktur. Aktifkan di Pengaturan → Faktur → Bayar tempo (hanya jika Faktur aktif; standarnya mati).

Bank: bukukan transfer

Di Laporan → Bayar tempo → Bank, kasir mencari faktur bayar tempo untuk setiap dana masuk:

Gambar kamera di kasir

Semua gambar kamera usaha di satu halaman, tanpa layar atau aplikasi terpisah. Aktifkan di Pengaturan → Usaha → Layar dan pengoperasian → Gambar kamera di kasir (standar nonaktif). Lalu tombol Kamera muncul di bilah atas bagi yang punya hak Lihat gambar kamera (standar manajer dan admin; di Pengaturan → Hak akses juga bisa diaktifkan untuk pelayan). Semua kamera tampil berdampingan; ketuk kamera untuk gambar besar. Saat dinonaktifkan, sistem kamera tetap tersimpan.

Juga sebagai layar terpisah: Di layar terpisah membuka http://<kassaserver>:3000/camera (mis. monitor di belakang bar), dan Di tablet atau ponsel menampilkan kode QR: karyawan memindainya dengan tablet atau ponselnya sendiri dan masuk dengan PIN-nya sendiri (di sana juga hanya dengan hak Lihat gambar kamera). Di layar sempit kamera ditampilkan bertumpuk. Lihat Layar kedua di tablet atau ponsel.

Admin menambahkan sistem kamera dengan + Sistem kamera, mengujinya dengan Tes, dan memilih per kamera nama dan apakah tampil di halaman:

Tanpa ffmpeg: fotonya.

Privasi: kasir mengambil gambar dari sistem kamera dan hanya meneruskannya; tidak ada yang disimpan (tanpa rekaman, tanpa cache). Pengguna dan kata sandi tetap di server dan tidak pernah tampil di layar atau di log. Log mencatat siapa yang melihat kamera. Gambarnya sendiri diminta halaman dengan kunci (berlaku 12 jam, selama karyawan masih masuk), karena gambar di browser tidak bisa mengirim token. Ekspor konfigurasi hanya menyertakan aktif/nonaktif.

Log tindakan sensitif

Laporan → Log (manajer atau administrator) menunjukkan siapa melakukan apa dan kapan.

Yang dicatat: pembatalan, diskon (dan penghapusannya), retur, salinan struk, pro forma, pembayaran kartu manual, membuka laci, uang masuk/keluar laci, modal awal, tutup hari, memindahkan item atau meja, menutup pesanan kosong, mengubah harga/nama/PPN produk, produk baru atau dihapus, perubahan staf dan pengaturan, penyesuaian jam kerja, masuk dan keluar, PIN salah, serta clock-in dan clock-out. Dengan pembayaran on account juga: pelanggan, penjualan dan pembayaran on account, impor rekening koran, koneksi bank, dan pengambilan data dari bank. Dengan notifikasi waktu persiapan terlalu lama: pesanan terlambat dan permintaan maaf yang dikirim. Dengan Mailchimp atau Klaviyo: menghubungkan, memilih daftar, memutuskan koneksi, dan pembatalan langganan dari sana. Dengan kontrol musik: aktif/nonaktif serta menambah, mengubah, dan menghapus sumber musik. Dengan gambar kamera: siapa yang melihat kamera (paling banyak sekali per setengah jam per karyawan), aktif/nonaktif, dan sistem kamera. Dengan deteksi: setiap peringatan, penanganannya, serta pengaktifan dan penonaktifan.

Deteksi: penipuan dan anomali

Pengaturan → Deteksi. Dua bagian, masing-masing bisa diaktifkan terpisah dan nonaktif secara default; menonaktifkan tetap menyimpan semua peringatan dan pengaturan. Yang boleh mengatur adalah yang punya hak Atur deteksi (default manajer dan administrator); yang boleh melihat dan menangani peringatan adalah yang boleh melihat log. Kasir memeriksa setiap 5 menit (dan dengan Periksa sekarang); tidak di kasir bayangan.

Deteksi penipuan dan pencurian (per karyawan, per hari kerja mulai 05:00), setiap aturan bisa diaktifkan atau dinonaktifkan sendiri dengan batasnya sendiri:

Notifikasi anomali, dibandingkan dengan hari dan jam yang sama pada minggu-minggu sebelumnya (default 4; hari tanpa omzet tidak dihitung, minimal dua hari pembanding):

Setiap peringatan muncul satu kali (per aturan, karyawan, dan hari; waktu dapur paling banyak sekali per jam) dan dikirim ke:

Setiap saluran punya tombol Pesan uji. Token dan kunci tetap di kasir (layar hanya melihat apakah sudah terisi). Peringatan bukan bukti: periksa tagihan dan log, lalu bicarakan dengan karyawan.

Struk: salinan dan retur (nota kredit)

Struk

Tombol Struk di bilah atas:

Laci kas dengan sensor dan laci per staf

Standar nonaktif. Atur di Pengaturan → Pembayaran → Laci kas.

Bagian 3 · Administrator

Mulai

Instalasi. HorecaPOS dipasang dengan program instalasi untuk sistem Anda, tersedia di halaman unduhan OptimumPOS: Android (aplikasi), Windows (program instalasi), macOS (installer untuk Mac dengan Apple Silicon dan Intel), Linux (installer grafis, atau paket .deb atau .rpm), Raspberry Pi (installer grafis atau .deb untuk Raspberry Pi 3, 4, atau 5 dengan Raspberry Pi OS 64-bit), dan Chromebook (aplikasi Android dari Google Play). Pilih untuk semua pengguna untuk server kasir yang dihubungkan dengan tablet dan layar dapur, atau hanya untuk saya untuk satu kasir saja di perangkat itu. Installer memasang semua yang diperlukan, termasuk database, dan membuat cadangan setiap malam. Untuk memperbarui, pasang versi baru: data Anda tetap ada. Program instalasi dimulai dalam bahasa komputer Anda (jika tidak, bahasa Inggris); di Windows dan Linux Anda bisa memilih bahasa lain di layar pertama. Setelah itu kasir langsung berjalan dalam bahasa tersebut. Paket .deb dan .rpm serta aplikasi Android mengikuti bahasa sistem, dan jika tidak tersedia, bahasa Belanda.

Administrator mengatur kasir lewat Pengaturan. Di sana ada tab seperti Usaha, Karyawan, Hak akses, Jam kerja, Produk, Happy hour, Stok, Denah, Pembayaran, Printer, Pembukuan, Cadangan, Impor/ekspor, dan Database. Tab mana yang juga dilihat manajer tergantung pada hak aksesnya.

Database. Di Pengaturan → Database (hanya administrator) Anda memilih antara MySQL / MariaDB, database bawaan, dan PostgreSQL; saat beralih, semua data ikut dipindahkan (lihat Database). Jika Optimum POS sudah mengatur alamat tetap saat instalasi, alamat itulah yang berlaku dan tidak ada kolom isian. Jika tidak, Anda mengisi sendiri Server, Port, Database, Pengguna, dan Kata sandi. Kasir menyimpannya sendiri, lalu menampilkannya kembali dalam keadaan terisi, dan Anda selalu dapat mengubahnya dengan Ubah data MySQL/MariaDB atau Ubah data PostgreSQL. Mengosongkan kata sandi berarti: kata sandi yang tersimpan tetap dipakai (untuk pengguna yang sama). Installer dan pembaruan tidak mengubah DATABASE_URL maupun database yang dipilih.

Pengaturan: produk

Akuntansi

Semua untuk pembukuan ada di Pengaturan → Akuntansi. Isi jurnal dan akun buku besar bersama pemegang buku Anda. Ingin kasir membukukan omzet harian sendiri setiap hari? Pilih software Anda di bagian atas pada Software akuntansi, termasuk Exact Online: Anda hanya melihat software yang berfungsi di negara usaha Anda. Langsung di bawahnya Anda mengisi data software tersebut lalu menghubungkannya. Untuk software yang memerlukan login (seperti Exact Online, Twinfield atau Xero), isi dulu aplikasinya: client ID dan client secret. Jika Optimum POS sudah menetapkan software atau suatu data saat instalasi, pilihan atau kolom itu tidak terlihat. Di sana juga ada ringkasan semua software: mana yang bisa terhubung live dan mana yang mendapat file. File dibuat di Laporan → Omzet per periode → Ekspor akuntansi: pilih format software Anda, atau UBL (Peppol), XAF atau laporan harian. Selalu minta pemegang buku memeriksa pembukuan atau impor pertama.

Untuk usaha di Belanda, di sana juga ada File audit kasir (XAA): XML Auditfile Afrekensystemen dari Belastingdienst dengan semua struk, baris, pembayaran, dan peristiwa kasir untuk periode yang dipilih. File itu Anda berikan kepada akuntan Anda atau, saat pemeriksaan, kepada Belastingdienst.

Gaji dan penjadwalan

Jika karyawan Anda menggunakan absen masuk dan keluar, di bagian bawah Pengaturan → Jam kerja ada Gaji dan penjadwalan, dalam dua blok. Di Administrasi gaji Anda memilih paket penggajian atau (di Belgia) sekretariat sosial Anda, dan mengisi nomor karyawan setiap staf di paket tersebut. Setelah itu Anda membuat file untuk suatu periode berisi jam kerja dan omzet per staf, lalu mengimpornya ke paket penggajian Anda. Di Penjadwalan karyawan Anda memilih sistem penjadwalan: untuk Deputy, Dyflexis, dan Shiftbase omzet dikirim otomatis setiap jam, untuk yang lain Anda membuat file omzet. Dengan begitu di penjadwalan Anda melihat biaya gaji di samping omzet. Jika Anda bekerja tanpa absen masuk dan keluar, Anda tetap dapat mengirim omzet ke penjadwalan Anda: fitur itu ada di bagian bawah Pengaturan → Akuntansi, di Omzet ke penjadwalan Anda. Jika Optimum POS menetapkan sesuatu secara tetap saat instalasi, pilihan atau kolom itu tidak Anda lihat.

Backup

Kasir membuat cadangan otomatis setiap malam, dan selalu sebelum pembaruan. Di Pengaturan → Cadangan Anda melihat semua cadangan (kapan, oleh siapa atau otomatis, ukuran) dan bisa membuatnya sendiri dengan Buat cadangan. Jika cadangan terakhir sudah lebih dari dua hari, muncul peringatan merah: hubungi Optimum POS.

Pengaturan: cadangan

Memulihkan dilakukan dengan tombol Pulihkan di samping cadangan. Semua yang terjadi setelah cadangan itu akan hilang. Anda harus mencentang kotak dan memasukkan PIN Anda sendiri lagi. Kasir terlebih dulu membuat cadangan pengaman dari kondisi saat ini, lalu mengeluarkan semua pengguna. Di Belgia hal ini tidak bisa dilakukan dari kasir (penghitung kotak hitam terus berjalan); di sana Optimum POS yang melakukannya.

Database

Di Pengaturan → Database (hanya administrator) Anda melihat di mana kasir menyimpan datanya. Di bagian atas ada database saat ini beserta program, versi, tabel, baris, dan alamat atau folder. Bagi staf dan tablet, kasir bekerja sama saja dengan database mana pun. Di Windows, macOS, Linux, dan Raspberry Pi Anda memilih dari tiga database:

Kapan MySQL atau MariaDB? Jika usaha Anda sudah punya server MySQL atau MariaDB, jika administrator TI Anda memakainya, atau jika Anda ingin membaca data di laporan, Excel, atau program BI Anda sendiri. Ragu? Pilih bawaan: langsung berfungsi.

Apa yang diperlukan untuk MySQL atau MariaDB?

CREATE DATABASE horecapos CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
CREATE USER 'horecapos'@'localhost' IDENTIFIED BY 'wachtwoord';
GRANT ALL PRIVILEGES ON horecapos.* TO 'horecapos'@'localhost';

Jika MySQL atau MariaDB berjalan di komputer lain, isikan di dua baris terakhir alamat IP server kasir sebagai ganti localhost.

Migrasi ke MySQL / MariaDB:

  1. Di Alamat MySQL/MariaDB, isi kolomnya: Server (bawaan localhost), Port (bawaan 3306), Database (bawaan horecapos), Pengguna, dan Kata sandi; sama untuk MariaDB. Jika alamat sudah diatur, kolom sudah terisi; jika kata sandi dibiarkan kosong, kata sandi yang tersimpan tetap dipakai (untuk pengguna yang sama). Kasir menyimpan alamatnya sendiri; jika Optimum POS sudah mengatur alamat tetap, alamat itulah yang berlaku dan tidak ada kolom. Jika kasir sudah berjalan dengan MySQL/MariaDB, ubah datanya nanti dengan Ubah data MySQL/MariaDB. Koneksi terenkripsi diatur oleh Optimum POS untuk Anda.
  2. Ketuk Tes koneksi: Anda melihat program dan versinya, atau alasan koneksi gagal.
  3. Ketuk Migrasikan ke MySQL/MariaDB, centang bahwa Anda mengerti, lalu masukkan PIN Anda sendiri.

Migrasi bisa ke segala arah di antara ketiga database, dan semua data ikut pindah:

  1. Kasir sebentar tidak menerima permintaan (biasanya kurang dari satu menit); setelah itu tablet lanjut sendiri.
  2. Pertama kasir membuat cadangan kondisi saat ini (di Pengaturan → Cadangan).
  3. Semuanya dipindahkan ke database baru dan kasir menghitung per tabel apakah semuanya ada dengan tepat.
  4. Baru jika semuanya cocok, kasir lanjut dengan database baru. Staf yang sudah masuk tetap masuk.

Jika ada yang gagal, tidak ada yang berubah dan kasir tetap bekerja dengan database lama. Database lama tetap ada, jadi Anda selalu bisa kembali. Data kasir yang sudah ada di database MySQL/MariaDB atau PostgreSQL yang baru akan diganti. Di Belgia juga bisa: penghitung kotak hitam ikut pindah dengan tepat.

Cadangan dan pemulihan bekerja sama di ketiga database (Pengaturan → Cadangan). Cadangan dari satu database bisa dipulihkan di database lain mana pun, termasuk cadangan PostgreSQL di MySQL atau MariaDB.

Apa isi MySQL atau MariaDB? Setiap tabel kasir, dengan nama dan kolom yang sama (waktu dalam UTC). Setiap tabel mendapat tambahan kolom kunci _hp_sleutel, dan di tabel bantu _horecapos_stand, _horecapos_kolom, _horecapos_reeks, dan _horecapos_wijziging (log perubahan, disimpan 14 hari) kasir mencatat kondisi, jenis kolom, penghitung, dan perubahan. Program lain membaca data; hanya kasir-kasir yang menulis.

Cara kerjanya: kasir menghitung di salinan kerja yang cepat di server kasir dan menulis setiap perubahan ke MySQL/MariaDB dalam langkah yang sama. Jika gagal, perubahan tidak dijalankan dan kasir menampilkan kesalahan; jadi pastikan MySQL/MariaDB selalu bisa dijangkau. Saat mulai, kasir membaca semuanya dari MySQL/MariaDB.

Beberapa kasir dalam satu database. Sama seperti PostgreSQL, beberapa kasir bisa memakai database MySQL/MariaDB yang sama, misalnya setiap cabang dalam jaringan usaha dengan server kasirnya sendiri. Perubahan dilakukan bergantian dan setiap kasir lebih dulu mengambil apa yang dilakukan kasir lain, sehingga tidak ada yang hilang saat diubah bersamaan. Jika satu kasir memulihkan cadangan atau kasir dengan versi lebih baru memperbarui database, kasir lain otomatis membaca ulang semuanya; karena itu perbarui semua kasir bersamaan. Kasir yang mati lebih dari 14 hari membaca ulang semuanya saat dinyalakan.

Saat instalasi Anda juga memilih database: MySQL / MariaDB, bawaan (disarankan), atau PostgreSQL beserta alamatnya. Jika tidak bisa dijangkau, kasir terpasang dengan database bawaan; migrasi bisa dilakukan di sini setelahnya. Saat pembaruan, pilihan tetap sama.

Hubungkan tablet dan layar

Layar pelanggan

Layar di kasir yang menghadap ke pelanggan. Pelanggan melihat kira-kira apa yang dipesan dan dengan sangat jelas jumlahnya serta cara pembayarannya. Layar ini tidak punya kontrol: layar hanya mengikuti apa yang dilakukan kasir. Default nonaktif; aktifkan lewat Pengaturan → Usaha → Layar pelanggan. Di PC kasir dengan dua layar, kasir mengaktifkannya otomatis pada kali pertama; jika setelah itu dinonaktifkan, layar tetap nonaktif. Tanpa layar pelanggan (nonaktif, atau tidak terpasang) semuanya berjalan persis seperti biasa: kasir mengirim tampilan di latar belakang dan karyawan tidak pernah terganggu oleh error atau layar yang tidak ada.

Yang dilihat pelanggan:

Menghubungkan, dengan dua cara (keduanya diatur di perangkat itu sendiri):

Layar pelanggan tidak meminta PIN (tidak ada yang bisa dioperasikan) dan hanya menampilkan tampilan kasir yang dipasangkan dengannya. Tampilan hanya disimpan di memori server kasir; setelah restart, layar kosong sampai ada perubahan berikutnya. Pengaturannya (aktif/nonaktif dan teks sambutan) ikut tersimpan di cadangan dan di Impor/ekspor (Pengaturan lainnya).

Struk digital lewat QR (opsional)

Default nonaktif. Aktifkan lewat Pengaturan → Usaha → Dapur dan layar pelanggan → Struk digital (pilihan ini muncul jika layar pelanggan tersimpan dalam keadaan aktif). Setelah pembayaran, muncul kode QR pada Terima kasih; kode itu lalu tetap tampil 45 detik, bukan hanya beberapa detik. Tamu memindainya dengan ponselnya sendiri dan melihat struk persis seperti struk kertas (teks yang sama, pada kasir Belgia juga dengan blok FDM). Di ponsel, tamu bisa mencetak struk, menyimpannya sebagai PDF, atau mengunduhnya sebagai file teks.

Layar pelanggan saat tidak dipakai: tayangan slide (opsional)

Default nonaktif. Aktifkan lewat Pengaturan → Usaha → Dapur dan layar pelanggan → Layar pelanggan saat tidak dipakai. Jika tidak ada tagihan di layar pelanggan, slide tampil bergantian (default setiap 8 detik, bisa diatur dari 4 sampai 60):

Tanpa slide, layar pelanggan menampilkan layar sambutan seperti biasa.

Happy hour

Default nonaktif. Aktifkan lewat Pengaturan → Usaha → Gunakan happy hour; setelah itu muncul tab Pengaturan → Happy hour.

Waktu menu dan musim

Default nonaktif. Aktifkan lewat Pengaturan → Usaha → Waktu menu dan jenis pesanan → Produk per waktu menu dan musim; setelah itu muncul tab Pengaturan → Waktu menu. Jika dinonaktifkan, semua produk kembali selalu dijual dan waktu menu tetap tersimpan.

Produk dan harga per jenis pesanan

Default nonaktif. Aktifkan lewat Pengaturan → Usaha → Waktu menu dan jenis pesanan → Produk dan harga per jenis pesanan. Jika dinonaktifkan, harga biasa kembali berlaku di mana pun dan semuanya dijual di mana pun; harga yang sudah diisi tetap tersimpan.

Default nonaktif. Aktifkan lewat Pengaturan → Usaha → Gunakan menu.

Resep dan harga pokok (Apicbase)

Integrasi dengan Apicbase (resep, harga pokok, stok, dan pembelian) melalui Generic POS API dari Apicbase (standarnya nonaktif, setiap bagian bisa diaktifkan atau dinonaktifkan terpisah). Diatur di Pengaturan → Resep (hak Atur usaha, pembayaran, dan printer). Kasir berkomunikasi sendiri dengan Apicbase (hanya lalu lintas keluar, portal tidak diperlukan).

  1. Hubungkan (semua diisi oleh admin), dengan salah satu dari tiga cara:
    • Tempel token: di Apicbase Library Settings → API Settings → New token → Service Account Token (scope accounts, library, sales); tempel access token dan refresh token;
    • Masuk dengan API-app milik usaha sendiri (client-id dan rahasia dari API Settings): Masuk ke Apicbase, lalu tempel kode yang ditampilkan Apicbase setelahnya;
    • Token yang kedaluwarsa (setelah 7 hari) diperbarui otomatis oleh kasir dengan refresh token.
  2. Outlet: Ambil outlet dan pilih outlet usaha ini. Kasir mengatur POS di sana ke Generic POS API dengan location-id sendiri (bisa diisi; default HORECAPOS-…, unik per kasir).
  3. Aktif, dengan centang:
    • Produk, grup, dan opsi pilihan ke Apicbase: grup produk, produk (PLU = nomor PLU produk, jika tidak ada kode, jika tidak ada id), opsi pilihan sebagai modifier, dengan harga dan PPN. Otomatis setelah setiap perubahan (setelah satu menit) dan setiap hari. Setelah itu di Apicbase kamu menautkan setiap produk kasir ke sebuah resep;
    • Setiap struk yang dibayar ke Apicbase: yang terlama dulu, paling banyak 100 sekali kirim, dalam seperempat jam setelah pembayaran (dan setiap 5 menit). Diskon dibagi ke baris-baris; nominal bebas, biaya kemasan sekali pakai, dan deposit menjadi produk tersendiri di Apicbase; produk timbang sebagai 1 buah dengan total harga. Jika gagal, kasir berhenti (Apicbase memerlukan struk berurutan) dan mencoba lagi nanti: pembayaran tidak terpengaruh. Saat mengaktifkan, kamu memilih mulai hari apa (default mulai sekarang);
    • Ambil harga pokok per porsi (setiap 6 jam): per resep tertaut food cost (bahan dan susut), dengan biaya karyawan, harga jual, dan margin menurut Apicbase. Dihitung dengan pemasok termurah, harga pesanan terakhir, atau nilai stok rata-rata;
    • Ambil harga jual dari Apicbase (default nonaktif): mengatur harga jual produk tertaut di kasir (tercatat di log).
  4. Di bawah: Harga pokok per produk dengan harga pokok, harga pokok dengan karyawan, harga di kasir, harga pokok %, dan margin. Tombol Kirim katalog sekarang, Kirim struk sekarang, dan Ambil harga pokok sekarang.

Kode: apps/pos-server/src/lib/apicbase.ts, routes/apicbase.ts; layar Apicbase.tsx. Log: Apicbase. Syarat: modul API Apicbase. Untuk aplikasi Pin Voordeel bagi semua pelanggan: kemitraan dan sertifikasi di Apicbase (lihat backlog). Dokumentasi: https://developers.apicbase.com/docs/generic-pos-api-guide

Software hotel: tagih ke kamar

Untuk restoran atau bar di hotel: menagihkan tagihan ke kamar tamu. Default nonaktif: Pengaturan → Hotel (hak Atur usaha, pembayaran, dan printer).

Sirvoy hanya mengirim sesuatu jika pemesanan berubah: pemesanan dari sebelum penghubungan baru dikenal kasir setelah ada perubahan di Sirvoy. Pesan bisa datang tidak berurutan; pesan yang lebih lama (generatedAt) daripada yang sudah dimiliki kasir dilewati. Di hotel = tidak dibatalkan dan belum check-out, sudah check-in atau kedatangan hari ini atau lebih awal, dan keberangkatan hari ini atau nanti. Tes koneksi menunjukkan berapa pemesanan yang masuk.

Semua perangkat lunak hotel dijual di Belanda dan/atau Belgia. Tes koneksi memeriksa datanya. Kode per koneksi: apps/pos-server/src/lib/pms/<naam>.ts.

Kode: apps/pos-server/src/lib/hotel.ts, routes/hotel.ts, koneksi di lib/pms/, katalog packages/shared/src/hotelcatalogus.ts; layar Hotel.tsx. Log: Hotel. Rahasia (token) hanya disimpan di database, tidak pernah di layar.

Manajemen wine dengan Vinify

Pengaturan → Manajemen wine (standarnya nonaktif; menonaktifkannya tetap menyimpan semuanya). Vinify mencatat gudang wine, daftar wine, dan stok, serta menjadi sumber utama data wine. Sesuai persyaratan POS dari Vinify, kasir menyediakan API yang memungkinkan Vinify:

Masuk, ketiga cara yang dikenal Vinify (admin memilih mana yang aktif):

  1. API-id dan kunci API (X-Api-Id dan X-Api-Key, atau Authorization: Bearer <id>:<sleutel>);
  2. Kunci API dan API-secret dengan tanda tangan: X-Api-Key, X-Timestamp dan X-Signature = hex HMAC-SHA256(secret, <timestamp>\n<METHODE>\n<pad met query>\n<sha256 van de body>), paling lama 5 menit.

Kunci dan secret dibuat oleh kasir (ditampilkan sekali); layar hanya melihat apakah sudah terisi. Dapat diakses lewat portal di https://<portaal>/vinify/<kassa-id>/... (tidak ada port terbuka di lokasi usaha; alamatnya ada di Pengaturan → Manajemen wine). Produk mana yang wine: yang dibuat Vinify, ditambah grup yang Anda centang. Jika Vinify memberikan alamat untuk mengirim penjualan, kasir juga mengirimnya sendiri (push, dengan token): setelah setiap struk yang dibayar dan setiap 5 menit yang belum berhasil. Vinify mengaktifkan koneksi dengan HorecaPOS (hello@vinify.no). Semua tercatat di log. Jangan tertukar dengan Vinify.nl, toko wine online: itu ada di daftar pemasok (Pesan ke pemasok).

Isi alamat cepat dengan kode pos dan nomor rumah

Aktifkan di Pengaturan → Usaha → Isi alamat cepat (standarnya nonaktif; hanya untuk usaha di Belanda). Ketik kode pos dan nomor rumah (juga dengan huruf atau tambahan, mis. 12A atau 12-1) lalu ketuk Cari alamat: jalan, nomor rumah, kode pos dan kota akan terisi. Jika ada beberapa alamat pada nomor itu (12, 12A, 12B), pilih yang benar. Setelah itu Anda masih bisa mengubah semuanya sendiri.

Notifikasi versi baru

Aktifkan di Pengaturan → Usaha → Notifikasi pembaruan (standarnya nonaktif).

Platform reservasi

Reservasi dari TheFork, Formitable, Zenchef, Resengo (hanya Belgia), OpenTable (hanya Belanda), PlanPanther, RestoManager, dan Aqqo (hanya Belanda) otomatis masuk ke kasir dan denah meja. Aktifkan di Pengaturan → Platform reservasi (default mati). Hanya jika Reservasi aktif.

Program loyalitas dan ulasan

Dua sakelar terpisah di Pengaturan → Poin dan ulasan (keduanya standarnya nonaktif, dan saat itu tidak terlihat di mana pun). Jika Anda mematikannya, pengaturan dan apa yang sudah terjadi tetap tersimpan.

Program loyalitas dari platform lain: tamu mengumpulkan poin di Joyn (Belgia) dan/atau Piggy (Leat; Belanda dan Belgia). Ini terpisah dari kartu pelanggan milik kasir sendiri; keduanya bisa aktif bersamaan.

Minta ulasan: setelah kunjungan satu email dengan tombol ke Google dan/atau Trustpilot.

Koneksi dengan Mailchimp dan Klaviyo

Pelanggan kartu pelanggan Anda di program email Anda sendiri: di Pengaturan → Usaha → Mailchimp dan Klaviyo (di bawah pemasaran SMS dan email). Tidak ada sakelar: tanpa koneksi dengan daftar yang dipilih, tidak terjadi apa-apa.

Kode: lib/mailinglijst.ts, routes/mailinglijst.ts, dan MailingKoppelingen.tsx.

BI dan ekspor data

Data penjualan ke Power BI, Looker Studio, Excel, Google Sheets, Tableau, Qlik Sense, Metabase, layanan BI (misalnya YourBI, BI4Horeca atau Moore DRV) atau data warehouse Anda sendiri. Aktifkan di Pengaturan → BI dan ekspor data (standarnya nonaktif). Hanya baca: melalui koneksi tidak ada yang bisa diubah di kasir. Tanpa data tamu.

Gaji dan penjadwalan

Dengan Absen masuk dan keluar aktif (Pengaturan → Usaha), di bagian bawah Pengaturan → Jam kerja ada Gaji dan penjadwalan (hak Kelola pengaturan), dalam dua blok terpisah. Jika absen dimatikan, tidak ada jam kerja: maka hanya blok Penjadwalan karyawan (omzet, live atau sebagai file omzet) yang ada di bagian bawah Pengaturan → Akuntansi, di bawah judul Omzet ke penjadwalan Anda:

SoftwareNLBELiveFileCatatan
Perangkat lunak penggajian dan biro penggajian
ADP✓✓atas permintaanDaftar jam per staf dan per hari (CSV)Koneksi melalui ADP (atas permintaan); sampai saat itu daftar jam per staf dan per hari.
AFAS Payroll✓–atas permintaanDaftar jam per staf dan per hari (CSV)Administrasi gaji di AFAS Profit (lingkungan yang sama dengan akuntansi di AFAS); koneksi atas permintaan, sampai saat itu daftar jam.
BCS HR✓–atas permintaanDaftar jam per staf dan per hari (CSV)Koneksi melalui BCS (atas permintaan); sampai saat itu daftar jam.
Buddee✓–atas permintaanDaftar jam per staf dan per hari (CSV)Perangkat lunak HR dan penggajian; koneksi atas permintaan, sampai saat itu daftar jam per staf dan per hari.
Employes✓–atas permintaanDaftar jam per staf dan per hari (CSV)Employes memiliki API untuk jam kerja (token dari pelanggan); koneksi menyusul setelah koordinasi dengan Employes. Sampai saat itu daftar jam.
Exact Online Loon✓–atas permintaanDaftar jam per staf dan per hari (CSV)Administrasi gaji di Exact Online (lingkungan yang sama dengan akuntansi di Exact); koneksi atas permintaan, sampai saat itu daftar jam.
Humanwave✓–atas permintaanDaftar jam per staf dan per hari (CSV)Koneksi melalui Humanwave (atas permintaan); sampai saat itu daftar jam.
Loket.nl✓–atas permintaanLoket.nl Variabele gegevens (CSV), Daftar jam per staf dan per hari (CSV)File untuk Werkgever → Collectieve mutaties → Importeren → Variabele gegevens (jam per staf selama periode). Live melalui API Loket setelah mendaftar di Loket.
Nmbrs✓–atas permintaanDaftar jam per staf dan per hari (CSV)Daftar jam per staf dan per hari, untuk dimasukkan ke Nmbrs. Live melalui API Nmbrs setelah mendaftarkan aplikasi di Nmbrs.
Salar (Van Winckel)✓––Daftar jam per staf dan per hari (CSV)Daftar jam per staf dan per hari untuk kantor administrasi; format impor Salar tidak publik.
Sekretariat sosial
Acerta–✓atas permintaanDaftar jam per staf dan per hari (CSV)Sekretariat sosial: format file prestasi Anda dapatkan dari Acerta; sampai saat itu daftar jam.
Group S–✓atas permintaanDaftar jam per staf dan per hari (CSV)Sekretariat sosial: format file prestasi Anda dapatkan dari Group S; sampai saat itu daftar jam.
Liantis–✓atas permintaanDaftar jam per staf dan per hari (CSV)Sekretariat sosial dengan API yang dibuka Liantis per perusahaan; sampai saat itu daftar jam.
Partena Professional–✓atas permintaanDaftar jam per staf dan per hari (CSV)Sekretariat sosial: format file prestasi Anda dapatkan dari Partena; sampai saat itu daftar jam.
SD Worx✓✓–SD Worx Tijdsregistratie (TXT), Daftar jam per staf dan per hari (CSV)Belgia: file Tijdsregistratie (posisi tetap, per staf per hari) untuk "Tijdsregistratie importeren". Belanda: daftar jam.
Securex–✓atas permintaanDaftar jam per staf dan per hari (CSV)Sekretariat sosial: koneksi berjalan melalui mitra; sampai saat itu daftar jam.
Penjadwalan dan pencatatan jam kerja
Book'u–✓atas permintaanOmzet per hari dan jam (CSV)Book'u mengurus pelaporan Dimona; koneksi kasir tersedia atas permintaan. Sampai saat itu daftar omzet.
Deputy✓✓✓Omzet per hari dan jam (CSV)Live: omzet per jam dikirim setiap jam ke Deputy (Sales). Token permanen Anda buat di Deputy pada integrasi API.
Dyflexis✓–✓Omzet per hari dan jam (CSV)Live: omzet per jam dikirim setiap jam ke Dyflexis (information streams). Token API Anda dapatkan melalui Dyflexis.
Eitje✓–atas permintaanOmzet per hari dan jam (CSV)Eitje terhubung melalui program mitranya; sampai saat itu daftar omzet per hari dan jam.
Exact Horeko✓–atas permintaanOmzet per hari dan jam (CSV)Koneksi melalui Horeko (atas permintaan); sampai saat itu daftar omzet.
Fooks✓–atas permintaanOmzet per hari dan jam (CSV)Fooks membangun koneksi kasir sendiri; sampai saat itu daftar omzet per hari dan jam.
L1NDA✓–atas permintaanOmzet per hari dan jam (CSV)L1NDA membangun koneksi kasir bersama mitra; sampai saat itu daftar omzet per hari dan jam.
Mr. Einstein✓–atas permintaanOmzet per hari dan jam (CSV)HR, jadwal, dan biaya gaji untuk horeka; Mr. Einstein membangun koneksi kasir bersama penyedia kasir (ajukan melalui mreinstein.nl/contact). Sampai saat itu daftar omzet per hari dan jam.
Nostradamus✓✓atas permintaanOmzet per hari dan jam (CSV)Nostradamus menerima omzet melalui antarmuka kasirnya (token API dan domain usaha, setelah mengajukan permintaan ke Nostradamus); sampai saat itu, daftar omzet per hari dan jam.
Plan-Me–✓atas permintaanOmzet per hari dan jam (CSV)Plan-Me mengurus pelaporan Dimona; koneksi kasir tersedia atas permintaan. Sampai saat itu daftar omzet.
Planday✓✓atas permintaanOmzet per hari dan jam (CSV)Planday memiliki API terbuka untuk sistem kasir; koneksi menyusul setelah koordinasi. Sampai saat itu daftar omzet.
Shiftbase✓–✓Omzet per hari dan jam (CSV)Live: omzet per hari dikirim setiap jam ke buku harian departemen di Shiftbase. Kunci API Anda buat di Shiftbase pada App center.
Shyfter–✓atas permintaanOmzet per hari dan jam (CSV)Shyfter mengurus pelaporan Dimona dan menerima omzet per hari melalui API-nya; koneksi menyusul setelah koordinasi dengan Shyfter. Sampai saat itu daftar omzet.
Strobbo✓✓–Impor omzet Strobbo (Excel), Omzet per hari dan jam (CSV)File Excel untuk Planning → € → Importeer omzet (omzet per hari per tempat kerja).
Tamigo✓✓atas permintaanOmzet per hari dan jam (CSV)Koneksi melalui Tamigo (atas permintaan); sampai saat itu daftar omzet.
Werktijden.nl✓––Omzet per hari dan jam (CSV), Daftar jam per staf dan per hari (CSV)Werktijden.nl mencatat jam sendiri dan (belum) menerima omzet melalui API-nya; daftar-daftar tersedia untuk perbandingan.
XPS Logic✓–atas permintaanOmzet per hari dan jam (CSV)XPS Logic berfokus pada tenaga kerja fleksibel dan tenaga alih daya; koneksi tersedia atas permintaan. Sampai saat itu daftar omzet.

Persyaratan hukum di Belgia dan Belanda

Apa yang diwajibkan hukum dan apa yang dilakukan HorecaPOS untuk itu (minta pemegang buku Anda mengonfirmasi apa yang berlaku untuk usaha Anda):

NegaraPersyaratanHorecaPOS
BelgiaSistem kasir terdaftar (GKS 2.0) dengan kotak hitam untuk usaha horeka yang wajib memenuhinya (antara lain bila omzet dari makanan lebih dari € 25.000 per tahun, belum termasuk PPN)koneksi dengan kotak hitam (FDM), data wajib di struk dan penghitung pada laporan Z (negara Belgia di Pengaturan → Usaha, FDM_API_KEY dan FDM_TERMINAL_ID); di bagian atas Pengaturan → Usaha Anda memilih apakah usaha wajib GKS: Ya = pembayaran hanya dengan kotak hitam yang berfungsi, Tidak = tanpa, dengan pernyataan admin (diperbarui setiap tahun); selama belum dipilih, pembayaran tidak bisa dilakukan. Kasir menghitung omzet makanan dan memberi peringatan di atas € 25.000
BelgiaE-faktur lewat Peppol: sejak 1 Januari 2026 faktur antar perusahaan Belgia yang wajib PPN harus elektronik terstruktur (UBL, Peppol BIS 3); struk kasir untuk konsumen tidak termasukekspor omzet harian sebagai UBL sesuai Peppol BIS Billing 3.0 untuk paket akuntansi (Ekspor akuntansi); dan faktur dari struk untuk pelanggan bisnis (Pengaturan → Faktur): UBL sesuai Peppol BIS Billing 3.0 ditambah faktur untuk dicetak, kirim lewat email, melalui Billit ke jaringan Peppol, ke alamat sendiri, atau unduh (lihat Faktur untuk pelanggan bisnis)
BelgiaPPN horeca sejak 1 Maret 2026: makanan bawa pulang dan minuman non-alkohol 12% (makan di tempat maupun bawa pulang), alkohol 21%, makanan yang masih dimasak sendiri oleh pelanggan (fondue, gourmet) 6%Asisten PPN (Pengaturan → Hukum dan peraturan): jenis per produk, tarif yang tepat langsung atau mulai tanggal tertentu; deskripsi tarif A/B/C sudah diperbarui
BelandaAlcoholwet: tidak ada alkohol untuk anak muda di bawah 18, juga tidak pada penjualan online dan pengantaran (usia diperiksa saat penyerahan)Pemeriksaan usia: produk beralkohol; di toko online pelanggan sendiri menyatakan 18+ (kotak tidak dicentang sebelumnya) dengan pemberitahuan bahwa usia diperiksa saat penyerahan; "18+" pada tiket dapur, struk pengantaran, dan struk kasir
BelandaGelas dan wadah sekali pakai (SUP): sejak 2024 harga terpisah yang terlihat untuk kemasan plastik sekali pakai saat bawa pulang dan antarBiaya kemasan sekali pakai per produk, sebagai baris terpisah pada struk (PPN produk) dan terpisah dalam omzet
BelandaDeposit untuk kaleng dan botol plastikDeposit per produk (€ 0,15 / € 0,25), baris terpisah tanpa PPN saat bawa pulang dan antar, terpisah dalam omzet
BelandaPembayaran tunai: sejak 1 Januari 2026 tidak boleh € 3.000 atau lebih tunai untuk barangPeringatan saat bawa pulang dan antar (juga di mesin uang tunai); konfirmasi dimungkinkan, dicatat di log
Belanda dan BelgiaPerubahan PPN: tarif atau produk mendapat persentase PPN lain mulai tanggal tertentuMenjadwalkan perubahan PPN: kasir menjalankannya pada hari itu juga (di Belgia per produk, huruf A/B/C/D sudah tetap)
BelandaPenginapan (menginap) 21% sejak 1 Januari 2026tarif PPN dapat diatur per produk
UEDirektif Omnibus: harga "dari" yang dicoret hanya boleh harga terendah dalam 30 hari terakhirtoko online hanya mencoret terhadap harga terendah dalam 30 hari (kasir menyimpan riwayat harga; happy hour yang berulang setiap minggu ikut dihitung)
UEEuropean Accessibility Act (sejak 28 Juni 2025): toko online dapat diakses (WCAG 2.1 AA)toko online berfungsi dengan keyboard dan pembaca layar (tautan "Ke konten", fokus terlihat, label) dan memiliki pernyataan aksesibilitas (tautan di bawah)
BelandaXML Auditfile Financieel (XAF): standar Belastingdienst (otoritas pajak Belanda) untuk menyerahkan (sebagian) administrasi; XAF 4.0 wajib mulai 2027ekspor sebagai XAF 4.0 (Ekspor akuntansi)
BelandaSistem kasir yang andal: menyimpan data kasir (semua struk, koreksi, dan peristiwa) dan dapat menyerahkannya secara digital saat pemeriksaan; untuk itu Belastingdienst merekomendasikan XML Auditfile Afrekensystemen (XAA)ekspor sebagai XAA 3.2 (Laporan → Omzet per periode → File audit kasir), bila diinginkan ditandatangani dengan sertifikat pemasok
BelgiaPencatatan kehadiran pada sistem kasir terdaftar: mencatat awal dan akhir waktu kerja pekerja di sistem kasirAbsen masuk dan keluar (Pengaturan → Usaha; Wajib = absen masuk terlebih dahulu) dicatat di kotak hitam
BelgiaDimona: setiap hubungan kerja (termasuk flexi-job dan pelajar) dilaporkan ke RSZ sebelum mulaiitu dilakukan oleh sekretariat sosial atau alat penjadwalan Anda (mis. Shyfter, Book'u, Plan-Me); HorecaPOS menyediakan jam kerja dan omzet (Pengaturan → Jam kerja → Gaji dan penjadwalan)
BelandaPencatatan waktu kerja dan waktu istirahat (Arbeidstijdenwet, Undang-Undang Waktu Kerja Belanda)Absen masuk dan keluar dengan jam kerja per staf, dapat diubah oleh pengelola (dengan log), dan daftar jam untuk paket penggajian
Belanda dan BelgiaHACCP / keamanan pangan: mencatat suhu (pendingin, freezer, penghangat, pemanasan, pendinginan kembali, penerimaan) dan kebersihan; NL Hygiënecode voor de Horeca (NVWA), BE autokontrol FAVV (panduan G-023)Pencatatan HACCP di kasir (Pengaturan → Hukum dan peraturan, tombol HACCP di atas): titik ukur dengan batas, tugas kebersihan dan pemeriksaan, tindakan korektif wajib saat ada penyimpangan, tidak dapat diubah, ikhtisar dengan catatan yang terlewat sebagai CSV atau cetak (lihat Pencatatan HACCP)
Belanda dan BelgiaKewajiban penyimpanan (NL 7 tahun, BE 10 tahun)struk, laporan Z dan log tersimpan di database dan di cadangan; log tidak bisa diubah atau dihapus dari kasir

Hukum dan peraturan

Pengaturan → Hukum dan peraturan (admin; asisten PPN juga dengan hak Kelola produk). Semuanya nonaktif secara bawaan; tanpa pengaturan ini kasir bekerja seperti biasa.

Faktur (di Belgia wajib antarperusahaan) ada di Faktur untuk pelanggan bisnis. Masih harus dilakukan: GKS 2.0, tanyakan status sertifikasinya (lihat docs/backlog-concurrenten.md).

Faktur untuk pelanggan bisnis

Pengaturan → Faktur (admin; standarnya mati): aktifkan Faktur untuk pelanggan bisnis (UBL / Peppol). Jika aktif, di bawahnya ada Bayar tempo, Data pada faktur, Layanan Peppol, Koneksi bank (dengan bayar tempo), dan daftar semua faktur. Di Belgia e-faktur antarperusahaan wajib sejak 1-1-2026.

Kios swalayan

Tamu memesan sendiri di tiang atau tablet, seperti di restoran cepat saji, dan membayar di kasir atau dengan kartu di kios. Layar pemesanan adalah bagian dari kasir itu sendiri, jadi menu, harga, opsi, paket, happy hour, waktu dalam sehari, foto, alergen, bahasa, dan struk berasal dari kasir dan tidak perlu diatur di tempat lain. Di kios berjalan aplikasi PinPortal Kiosk 2 (Android, termasuk Sunmi, serta Windows, Linux, dan macOS), yang menampilkan halaman dan mencetak struk. Nonaktif secara default.

Mengaktifkan dan mengatur (administrator): Pengaturan → Usaha → Layar dan pengoperasian → Kios swalayan.

Pemindainya sendiri diatur di kios: di aplikasi PinPortal Kiosk 2 pada manajemen → Pemindai barcode (sebagai keyboard, pemindai bawaan, atau port COM), dengan tes pemindai. Pemindai yang bekerja sebagai keyboard juga berfungsi tanpa aplikasi.

Menambah dan menghubungkan kios

  1. Di Kios, isi nama (mis. Kios pintu masuk) lalu pilih Tambah kios. Anda mendapat kode penghubung 6 digit (berlaku 30 menit).
  2. Pilih di kios cara tamu membayar: default di kasir. Jika kios punya mesin EDC, pilih dengan kartu atau tamu memilih, lalu pilih mesin EDC kios ini (dari Pengaturan → Pembayaran).
  3. Buka halaman kios di kios:
    • di tempat usaha: di aplikasi pada pengelolaan → Vast adres, alamat yang tertera di pengaturan, mis. http://192.168.1.20:3000/kiosk;
    • atau lewat portal pengelolaan (https, juga jika kios tidak di jaringan yang sama): hubungkan alamat kios yang tertera di pengaturan ke kode kios aplikasi, sama seperti dengan kios lama.
  4. Masukkan kode penghubung di kios. Selesai: kios mengingat kuncinya sendiri. Hubungkan lagi memberi kode baru; Hapus memutuskannya.

Setiap kios menunjukkan apakah sedang online.

Cara tamu memesan

  1. Layar awal dengan teks sambutan; tamu memilih bahasa (semua bahasa kasir) lalu mengetuk untuk memesan.
  2. Makan di sini atau bawa pulang.
  3. Menu per grup produk, dengan foto, harga (dengan happy hour), alergen dan yang sudah habis. Produk dengan pilihan atau paket membuka jendela pilihan.
  4. Keranjang: ubah jumlah dan bila perlu Ada tambahan lagi?.
  5. Pesan (bayar di kasir): tamu melihat nomor pengambilan-nya besar di layar beserta jumlahnya, mendapat lembarnya, dan membayar di kasir. Di kasir pesanan terbuka sebagai Kios Pintu masuk · 42 (nomor yang disebutkan tamu); selesaikan pembayaran seperti biasa. Setelah itu tampil sebagai lunas di layar panggilan dan masuk ke dapur jika memang baru setelah dibayar.
  6. Bayar dengan kartu: kasir mengirim jumlahnya ke mesin EDC kios ini (koneksi pembayaran yang sama seperti di kasir). Jika gagal, tamu bisa mencoba lagi atau membatalkan (atau, jika boleh memilih, tetap membayar di kasir). Hanya setelah pembayaran berhasil, pesanan masuk ke dapur dan diselesaikan. Tamu melihat nomor pengambilan-nya besar di layar dan mendapat struk.
  7. Setelah beberapa detik, kios kembali ke awal.

Saat gangguan: notifikasi dan mode darurat (di aplikasi kios, pengelolaan → Bij storing; default nonaktif). Jika kios tidak dapat menjangkau kasir, kios menampilkan Even gesloten. Dua tambahan:

Di kasir, pesanan kios adalah pesanan biasa (bawa pulang atau makan di tempat, bernama Kios Pintu masuk) atas nama karyawan Kiosk. Kasir membuatnya sendiri; tidak ada yang bisa masuk dengannya. Jangan jadikan nonaktif, kalau tidak kios tidak bisa memesan. Pesanan kios ada di laporan, di Struk, dan di layar panggilan. Pesanan yang tidak diselesaikan di kios (belum dipesan atau belum dibayar dengan kartu) kedaluwarsa sendiri setelah 30 menit.

Pembayaran kartu dalam mode uji (Pengaturan → Pembayaran)? Maka kios tidak benar-benar menagih; berguna untuk mencoba. Tanpa internet tidak bisa membayar dengan kartu; kios lalu memberi tahu bahwa bisa memesan di konter.

Gangguan: jika kasir tidak dapat dijangkau, aplikasi kios menampilkan "Tutup sementara" dan melanjutkan sendiri. Jika kios berjalan melalui portal manajemen dan internet putus, aplikasi dapat beralih ke kasir di jaringan lokal (di aplikasi: pengelolaan → Ekstensi → Saat gangguan, beralih ke jaringan lokal); kios meneruskan alamat itu sendiri.

Menonaktifkan: kios menunjukkan bahwa sedang tutup sebentar. Kios dan pengaturan tetap tersimpan. Di log tercatat aktif/nonaktif, pengaturan, kios yang ditambah dan dihapus, penghubungan dan pesanan yang dibatalkan.

Papan menu digital

Menu dengan harga di TV (atau monitor lain dengan browser), langsung dari kasir. Default nonaktif; aktifkan lewat Pengaturan → Usaha → Layar dan pengoperasian → Papan menu digital. Lalu buka di TV http://<kassaserver>:3000/menubord (atau gunakan tombol Di layar terpisah / Di tablet atau ponsel dengan kode QR). Tanpa login dan tanpa pemasangan.

Karyawan dan PIN

Pengaturan → Karyawan (hanya administrator): tambah karyawan, ubah nama, peran, dan PIN, serta nonaktifkan.

Masuk dengan kartu (opsional)

Default nonaktif. Untuk mengaktifkan: Pengaturan → Karyawan, centang Masuk dengan kartu (NFC, RFID atau iButton). Diperlukan: pembaca kartu USB yang bekerja sebagai keyboard (untuk kartu NFC atau RFID, gantungan kunci, gelang atau kunci iButton). Pembaca seperti itu "mengetik" nomor kartu dan menekan Enter; tidak perlu driver atau koneksi.

Hak akses per peran

Pengaturan → Hak akses (hanya administrator): centang per peran apa yang boleh dilakukan pelayan dan manajer. Secara default semuanya persis seperti di atas (seperti kasir selama ini); kotak yang berbeda diberi warna.

Hak aksesPelayanManajer
Hapus baris setelah dipesan (storno)yaya
Beri diskon / hapus diskontidakya
Tandai produk sebagai "habis"yaya
Cetak salinan strukyaya
Retur (struk kredit)tidakya
Bayar dengan tempo dan terima pembayaran tempo (hanya jika bayar tempo aktif)tidakya
Saldo sementara (laporan X)yaya
Tutup hari (laporan Z)tidakya
Omzet per periodetidakya
Kelola laci kastidakya
Kelola voucher hadiah (hanya dengan voucher hadiah bersaldo)tidakya
Baca dan balas ulasan (hanya jika manajemen ulasan aktif)tidakya
Kelola kartu pelanggan (hanya jika kartu pelanggan aktif)tidakya
Lihat logtidakya
Lihat gambar kamera (hanya jika gambar kamera aktif)tidakya
Kelola stok (hanya jika stok aktif)tidakya
Kelola produktidaktidak
Kelola denahtidaktidak
Atur usaha, pembayaran, dan printertidaktidak
Lihat dan ubah jam kerjatidaktidak

Data usaha

Pengaturan - Usaha

Pengaturan → Usaha (hanya admin): nama, alamat, kode pos, kota, telepon, dan nomor PPN/BTW cabang. Data ini tercetak di bagian atas setiap struk kasir dan pro forma. Teks di bagian bawah struk juga bisa diatur di sini (boleh beberapa baris; kosong = tanpa teks; standar "Bedankt en tot ziens!"), dan di bawahnya bahasa struk kasir (standar Belanda; lihat Bahasa). Contoh struk ikut berubah secara langsung. Setelah disimpan, struk berikutnya langsung memakai data baru. Negara dan data fiskal (GKS) sengaja tidak bisa diubah di sini. Di Belgia nomor PPN/BTW wajib. Dengan centang Bulatkan pembayaran tunai ke 5 sen (standarnya nonaktif), total pembayaran tunai akan dibulatkan (€ 6,62 → € 6,60, € 6,63 → € 6,65); selisihnya tercetak sebagai "Pembulatan" di struk. Pembayaran kartu (PIN) selalu tepat sampai sen.

Kelola produk

Pengaturan - Produk

Masuk sebagai admin dan pilih Pengaturan → Produk.

Foto produk

Setiap produk bisa diberi foto.

Pemindai barcode

Dengan pemindai barcode di kasir Anda memindai produk, kode diskon, kartu pelanggan, dan kartu hadiah. Aktifkan di Pengaturan → Pemindai (tab di samping printer dan timbangan; default nonaktif). Centang apa yang dilakukan pemindaian di layar pesanan:

Kasir mencari dulu di produk, lalu di kartu pelanggan, kartu hadiah, dan kode diskon. Pemindaian berfungsi di layar pesanan, jika Anda tidak berada di kolom input. Di kolom input, kode masuk begitu saja ke kolom itu.

Tes pemindai: di Pengaturan → Pemindai Anda melihat kode setiap pemindaian dan bagaimana kasir membacanya, juga saat pemindai masih nonaktif. Jika tidak berfungsi:

Di kios pemindai diatur terpisah (Pengaturan → Usaha → Kios); lihat Kios swalayan.

Cetak label

Label produk dengan nama, harga, dan barcode, di printer label (Brother, Dymo, Zebra ...) yang terpasang di komputer atau tablet. Aktifkan di Pengaturan → Usaha → Cetak label (default nonaktif). Di sana Anda juga memilih format label (38 × 25, 57 × 32, 62 × 29, atau 100 × 50 mm) dan apakah harga serta barcode ikut dicetak. Cetak contoh mencetak satu label uji.

Atur timbangan (A&D, Aclas, Adam Equipment, Avery Berkel, Avery Weigh-Tronix, Balanzas Marques, Baxtran, Bizerba, Brecknell, CAS, Datalogic, Dibal, DIGI, Dini Argeo, Excell Precision, Gram, Ishida, Kern & Sohn, Mettler Toledo, Minebea Intec, Ohaus, Precia Molen, Precisa, Rice Lake, Rongta, Sartorius, Star Micronics, T-Scale, UWE, Wedderburn, Wintec, Zebra)

Tab tersendiri Pengaturan → Timbangan (hak Atur usaha, pembayaran, dan printer, standarnya hanya admin; tab ini selalu ada, juga saat timbangan masih nonaktif). Standarnya nonaktif: kasir bekerja persis seperti sebelumnya. Tidak melihat tab ini?

Cari otomatis. Jika belum ada yang diatur, kasir otomatis mencari saat bagian ini dibuka (tombol Cari mengulanginya):

Ditemukan = dimasukkan ke formulir dengan tombol Aktifkan dan gunakan: sekali ketuk dan langsung jalan. (Pencarian mengirim W ke setiap port COM yang bebas; port yang sedang dipakai, mis. oleh mesin EDC, dilewati.)

Semua timbangan Aclas. Untuk setiap timbangan Anda memilih model; kasir lalu tahu cara menghubungkannya. Ada dua jenis:

Satu daftar, dua centang. Semua timbangan ada dalam satu daftar. Untuk setiap timbangan Anda aktifkan fungsinya: Timbang di kasir (kasir meminta berat saat memesan) dan/atau Pindai label (timbangan mencetak label dengan barcode yang dipindai kasir, dan menerima PLU dari kasir). Timbangan PC atau AI seperti TS6X bisa keduanya; timbangan label LS hanya label. Label hanya bisa berasal dari satu timbangan per usaha.

ModelJenisKoneksiDi kasir
OS6XTimbangan POSRS232, USB, Bluetoothterhubung, beberapa sekaligus
OS2XTimbangan POSRS232, USBterhubung, beberapa sekaligus
CS6X, CS3XTimbangan kasirRS232, USB, Ethernet, Wi-Fiterhubung, beberapa sekaligus
TS6X, TS3X, TS5EX, TS5NX, TS5GXTimbangan PC (Windows, Android, Linux)RS232, USB, Ethernet, Wi-Fidi perangkat ini (1x), juga sebagai timbangan label
iS6X, iS2X, iR6X, Ti6X, iL8XTimbangan AI dengan pengenalan produk (Windows, Android, Linux)RS232, USB, Ethernet, Wi-Fidi perangkat ini (1x), juga sebagai timbangan label
iS5X, OiT2XTimbangan AI (hanya Linux)RS232, USB, Ethernetterhubung atau sebagai timbangan label
LS2S, LS2RX, LS2CX, LS2NX, LS5SX, LS5RX, LS5CX, LS5NX, LS6CX, LS6RX, LS6NXTimbangan labelRS232, Ethernet, Wi-Fipindai label dan PLU
PS1CX, PS1DX, PS6CX, PS6DXTimbangan hargaRS232terhubung, beberapa sekaligus
PS1BXTimbangan harga tanpa koneksitidak adaberat dimasukkan manual
LH15XTimbangan gantung dengan printer labelRS232, Ethernet, Wi-Fiterhubung atau sebagai timbangan label

A&D, Adam Equipment, Avery Berkel, Avery Weigh-Tronix, Balanzas Marques, Baxtran, Bizerba, Brecknell, CAS, Datalogic, Dibal, DIGI, Dini Argeo, Excell Precision, Gram, Ishida, Kern & Sohn, Mettler Toledo, Minebea Intec, Ohaus, Precia Molen, Precisa, Rice Lake, Rongta, Sartorius, Star Micronics, T-Scale, UWE, Wedderburn, Wintec, dan Zebra. Dari merek-merek ini tersedia model yang umum dipakai yang sudah pasti cara kasir berkomunikasi dengannya (perlu diuji = protokolnya tidak tertulis secara harfiah di sumber mana pun; kasir memilih yang paling mungkin). Semuanya terhubung (beberapa sekaligus), atau sebagai timbangan label yang labelnya dipindai kasir:

MerekModelJenisKoneksiProtokol (bawaan pabrik)Di kasir
A&DEK-i (antara lain EK-610i), HV-WPTimbangan kasir (hanya berat)RS232, EK-i juga USBKontinu (mode stream), 2400 baud, 7E1terhubung, beberapa sekaligus
Adam EquipmentSwiftTimbangan hargaRS232, USB (opsi)Kontinu (kontinu ke PC), 9600 8N1 (perlu diuji)terhubung, beberapa sekaligus
Avery BerkelFX110, FX120, FX131 (versi tanam dengan pemindai)Timbangan kasirRS232, FX131 juga USBMettler Toledo 82/7 = Toledo 8217 (kasir mengirim W), 9600 baud, 7E1terhubung, beberapa sekaligus
Avery BerkelFX125Timbangan hargaRS232Checkout-Dialog 06 (9600, 7O1)terhubung, beberapa sekaligus
Avery BerkelXs, XTs, XTiTimbangan labelEthernet, Wi-Fi, USBPLU sendiri di timbanganpindai label
Avery Weigh-Tronix7820, 7829, ZP900Timbangan kasirRS232, 7820 juga USB, ZP900 juga USB dan EthernetNCI (kasir mengirim W), 9600 baud, 7E1terhubung, beberapa sekaligus
Balanzas MarquesBM1000P TOPTimbangan kasir (hanya berat)RS232METTLER (kasir mengirim W, Toledo), 9600 baud, 7E1terhubung, beberapa sekaligus
Balanzas MarquesBM5 Junior Tower Label, BM500 ETQTimbangan labelEthernet, USB, RS232, BM500 ETQ juga Wi-FiPLU sendiri di timbanganpindai label
BaxtranTW, VW, XTA, XTA-PTimbangan hargaRS232Toledo (kasir mengirim W), 9600 baud, 7E1terhubung, beberapa sekaligus
BizerbaCS 300 (juga versi tanam)Timbangan kasirRS232Checkout-Dialog 06 (9600, 7O1)terhubung, beberapa sekaligus
BizerbaK-Class Flex, KH IITimbangan labelEthernetPLU sendiri di timbanganpindai label
Brecknell6702U, 6710U, 6720UTimbangan kasirRS232, USB (port COM virtual)NCI (kasir mengirim W), 9600 baud, 7E1terhubung, beberapa sekaligus
CASPD-II, PDN, PDI, PDS-BTimbangan kasirRS232, PDN juga USB dan Bluetooth, PDI juga USBECR type 2 = Toledo (kasir mengirim W), 9600 baud, 7E1terhubung, beberapa sekaligus
CASCL3000, CL5500, CL7200Timbangan labelEthernet, USB, RS232, CL5500 dan CL7200 juga Wi-FiPLU sendiri di timbanganpindai label
DatalogicMagellan 9300i, 9400i, 9800i (pemindai dengan timbangan)Timbangan kasirRS232 (port timbang terpisah), USBMettler Toledo 8217 (kasir mengirim W), 9600 baud, 7E1terhubung, beberapa sekaligus
DibalKS-400, D-POS 400Timbangan kasirRS232, D-POS 400 juga USBCheckout-Dialog 06 (9600, 7O1)terhubung, beberapa sekaligus
DibalG-325, PI-100Timbangan hargaRS232Checkout-Dialog 06 (9600, 7O1)terhubung, beberapa sekaligus
DibalM-500 (Mistral), D-900, CS-2200Timbangan labelEthernet, Wi-Fi, USBPLU sendiri di timbanganpindai label
DIGIDS-781Timbangan hargaRS232DIGI Type B (kasir mengirim ENQ), 9600 8N1terhubung, beberapa sekaligus
DIGISM-120, SM-6000Timbangan labelEthernet, Wi-FiPLU sendiri di timbanganpindai label
Dini ArgeoDFW, DGT, 3590ETimbangan kasir (hanya berat)RS232, USB, Ethernet, DFW dan 3590E juga Wi-FiKontinu (ST,GS, 0.512,kg), 9600 8N1terhubung, beberapa sekaligus
Excell PrecisionTPE, AM4, FD4-P, FDP4-P, GE4, GEP4Timbangan hargaRS232Kontinu (ST,GS,+0.876kg), 9600 8N1 (kecuali TPE, perlu diuji)terhubung, beberapa sekaligus
GramXFOC RS, XFOC+ RS, ZFOC RSTimbangan hargaRS232, USB (kabel dari Gram)Gram (kasir mengirim ENQ, lalu DC1), 9600 8N1 (XFOC perlu diuji)terhubung, beberapa sekaligus
IshidaUni-3, Uni-5, Uni-7, Uni-9Timbangan labelEthernet, Wi-Fi, USBPLU sendiri di timbanganpindai label
Kern & SohnRPB, RFCTimbangan hargaRS232, USBCheckout-Dialog 06 (Prot = DLG-06, 9600, 7O1)terhubung, beberapa sekaligus
Kern & SohnRFE (harga), IFB, EOCTimbangan harga/kasirRS232Kontinu, 9600 8N1terhubung, beberapa sekaligus
Mettler ToledoAriva-STimbangan kasirRS232, USB (port COM virtual)Toledo 8217 (kasir mengirim W), 9600 baud, 7E1terhubung, beberapa sekaligus
Mettler ToledoVivaTimbangan kasirRS232Toledo 8217, 9600 baud, 7E1terhubung, beberapa sekaligus
Mettler ToledobPlus, UC EvoTimbangan labelEthernet, Wi-FiPLU sendiri di timbanganpindai label
Minebea IntecSignum, Combics, Midrics, PuroTimbangan kasir (hanya berat)RS232, USB, Signum dan Combics juga EthernetKontinu (SBI, cetak otomatis), 9600 8N1terhubung, beberapa sekaligus
OhausAviator 7000Timbangan hargaRS232 atau USBCheckout-Dialog 06 (9600, 7O1)terhubung, beberapa sekaligus
OhausValor 7000, Ranger 3000, Ranger 4000, Ranger 7000, Defender 3000Timbangan kasir (hanya berat)RS232, USB, EthernetKontinu (Auto Print Continuous), 9600 8N1terhubung, beberapa sekaligus
Precia MolenDP400Timbangan kasirRS232, USBCheckout-Dialog 06 (9600, 7O1)terhubung, beberapa sekaligus
Precia MolenDPOS CR, C 210 B, C 210 CTimbangan hargaRS232Checkout-Dialog 06 (9600, 7O1; C 210 perlu diuji)terhubung, beberapa sekaligus
Precia MolenCorail 500Timbangan labelEthernet, Wi-FiPLU sendiri di timbanganpindai label
PrecisaXB, XT, LS, LX (timbangan presisi)Timbangan kasir (hanya berat)RS232, LS dan LX juga USBKontinu (mode cetak CONTINUOUS), 9600 8N1terhubung, beberapa sekaligus
Rice LakeBenchPro BP-S, BenchPro BP-RTimbangan kasirRS232BP-S Toledo 8213, BP-R NCI (keduanya: kasir mengirim W), 9600 baud, 7E1 (perlu diuji)terhubung, beberapa sekaligus
RongtaRLS1000, RLS1100Timbangan labelEthernet, RS232, Wi-FiPLU sendiri di timbanganpindai label
SartoriusEntris, QuintixTimbangan kasir (hanya berat)RS232, USBKontinu (SBI, cetak otomatis), 9600 8N1terhubung, beberapa sekaligus
Star MicronicsmG-T12, mG-T30, mG-T60, mG-S8200Timbangan kasir (hanya berat)RS232, USB (port COM virtual)Kontinu, 9600 8N1 (perlu diuji)terhubung, beberapa sekaligus
T-ScalePA10, PA15, PEA10Timbangan labelEthernetPLU sendiri di timbanganpindai label
UWEASEPTimbangan hargaRS232Kontinu, 9600 8N1 (perlu diuji)terhubung, beberapa sekaligus
WedderburnTSDS983Timbangan kasirRS232DIGI Type B (kasir mengirim ENQ), 9600 8N1 (perlu diuji)terhubung, beberapa sekaligus
WedderburnTSDS781T, TSDS782TTimbangan hargaRS232DIGI Type B, 9600 8N1 (perlu diuji)terhubung, beberapa sekaligus
WedderburnTSSM120Timbangan labelEthernet, RS232PLU sendiri di timbanganpindai label
WintecScalePOS ACS-S60E (kasir dengan timbangan bawaan)Timbangan kasirCOM6 internal (Windows) atau COM4 (Android)Kontinu, 9600 8N1 (perlu diuji)terhubung
ZebraMP7000, MP72 (pemindai dengan timbangan)Timbangan kasirRS232 (port AUX)SASI = Toledo (kasir mengirim W), 9600 baud, 7E1 (perlu diuji)terhubung, beberapa sekaligus

Daftar yang sama ada di kasir di Pengaturan → Timbangan → Semua timbangan (ACLAS_MODELLEN di packages/shared/src/weegschaal.ts, dengan merek per model).

Isi sesedikit mungkin: jika Anda memilih model, kasir sudah menyiapkan sisanya sesuai pengaturan pabrik merek tersebut: koneksi Port COM / USB pada port bebas pertama, 9600 baud (A&D: 2400) dan protokol merek itu (Toledo: Aclas dengan 8N1, dan dengan 7E1 Avery Berkel FX, Avery Weigh-Tronix, Balanzas Marques, Baxtran, Brecknell, CAS, Datalogic, Mettler Toledo, Rice Lake, dan Zebra; Dialog 06: Avery Berkel FX125, Bizerba, Dibal, Kern & Sohn RPB/RFC, Ohaus Aviator, dan Precia Molen; DIGI Type B: DIGI dan Wedderburn; Gram: Gram; Kontinu: A&D, Adam Equipment, Dini Argeo, Excell Precision, Kern & Sohn lainnya, Minebea Intec, Ohaus lainnya, Precisa, Sartorius, Star Micronics, UWE, dan Wintec), serta sebuah nama (mis. OS6X, OS6X 2). Timbangan PC atau AI menjadi Di perangkat ini (mis. TS6X (bawaan); di Linux pada port internal /dev/ttyS0). Jika ada yang tidak cocok, Cari menemukan port, kecepatan, dan protokol yang benar.

Di perangkat ini (Aclas Scale Module): timbangan menampilkan berat yang sudah ditera; kasir mengirim harga per kilo dan tara (sebagai pra-tara) dan mengambil jumlah yang dihitung timbangan, sama seperti pada Dialog 06.

Perangkat lunak Aclas disertakan dengan kasir: Scale Module untuk Windows (aclas-module), AclasScaleDriver untuk Android (aclas-android) dan Aclas Sync SDK untuk Windows dan Linux (aclas-sdk). Aclas mengizinkan kami menyertakannya. Penginstal Windows dan Linux sudah memuatnya; tidak ada yang perlu diunduh atau dipasang terpisah.

Bluetooth (mis. OS6X): pasangkan timbangan terlebih dahulu. Windows membuat port COM untuknya (Pengaturan Bluetooth → Opsi Bluetooth lainnya → Port COM), Linux /dev/rfcomm0: isi port itu. Di aplikasi Android Anda mengisi alamat Bluetooth (00:11:22:AA:BB:CC); aplikasi meminta izin sekali untuk Perangkat di sekitar dan terhubung lewat Bluetooth SPP.

Timbangan AI (pengenalan produk): kamera mengenali produk di software Aclas pada timbangan. Penimbangan lewat Scale Module (di perangkat ini) atau port RS232; timbangan label AI mencetak label dengan barcode setelah mengenali produk, lalu dipindai kasir (seperti pada TS6X).

Aclas AI Recognition Plugin (timbangan AI yang menjalankan kasir, mis. iS6X dengan Windows): plugin dari Aclas mengenali produk dan mengetikkan barcode-nya ke kasir, sama seperti scanner (diikuti Enter); layar pesanan memasukkan produk beserta beratnya ke pesanan. Cara mengaturnya:

Aclas OS6X (timbangan POS di kasir, RS232/USB; timbangan terhubung lainnya juga bekerja seperti ini):

Pindai label (centang pada timbangan: Aclas TS6X, timbangan PC atau AI lain, seri LS, atau LH15X; timbangan + printer label, satu per usaha):

Portal manajemen: laporan ke portal memuat fungsi Timbangan (A&D, Aclas, Adam Equipment, Avery Berkel, Avery Weigh-Tronix, Balanzas Marques, Baxtran, Bizerba, Brecknell, CAS, Datalogic, Dibal, DIGI, Dini Argeo, Excell Precision, Gram, Ishida, Kern & Sohn, Mettler Toledo, Minebea Intec, Ohaus, Precia Molen, Precisa, Rice Lake, Rongta, Sartorius, Star Micronics, T-Scale, UWE, Wedderburn, Wintec, Zebra) dengan aktif/nonaktif dan timbangan apa saja per model (mis. TS6X (op dit apparaat), 2x OS6X, PS1CX, Ariva-S, DS-781, LS6RX, 5 producten per kilo); tanpa alamat IP, port COM, atau alamat Bluetooth.

Undang-undang metrologi: timbangan yang dipakai untuk berjualan harus ditera (kelas III, seperti OS6X). Dengan Toledo/kontinu, kasir menghitung dengan berat yang diberikan timbangan; dengan Dialog 06, timbangan yang ditera menghitung harganya sendiri.

Kode: packages/shared/src/weegschaal.ts (protokol, label, file PLU), apps/pos-server/src/lib/weegschaal.ts dan routes/weegschaal.ts; layar WeegschaalInstellingen.tsx dan WeegDialoog.tsx.

Thuisbezorgd.nl / Takeaway.com

Pesanan dari Thuisbezorgd.nl masuk langsung ke kasir, tanpa perantara (tanpa Deliverect, HubRise, dsb.): Just Eat Takeaway JET Connect berkomunikasi dengan portal manajemen Pin Voordeel, dan kasir mengambil pesannya dari sana.

Di Belgia platform ini bernama Takeaway.com: perusahaan yang sama (Just Eat Takeaway) dan koneksi yang sama. Untuk usaha di Belgia, di layar, notifikasi, tiket kerja, dan portal manajemen di mana-mana tertulis Takeaway.com, bukan Thuisbezorgd.nl. Di bawah ini Thuisbezorgd berarti keduanya.

Mengapa lewat portal? Kasir hanya memerlukan PORTAAL_URL dan PORTAAL_SLEUTEL (lihat Portal manajemen) dan hanya melakukan permintaan keluar.

Pengaturan (Pengaturan → Platform pengantaran → Thuisbezorgd.nl / Takeaway.com, hak Atur usaha, pembayaran, dan printer; sebelumnya ini ada di Pengaturan → Usaha):

  1. Aktifkan Gunakan Thuisbezorgd (langsung berlaku, terpisah dari Simpan).
  2. Daftar di Thuisbezorgd. Setelah itu usaha memilih OptimumPOS / Pin Voordeel sebagai kasir di Thuisbezorgd (Partner Hub atau account manager). JET lalu memulai sesi onboarding; portal mencari kasir yang terdaftar (berdasarkan kode pos dan nama, jika tidak Pin Voordeel menghubungkan sesi secara manual di portal), mengirim konfigurasi, dan meminta menu dari kasir. Setelah itu koneksi aktif.
  3. Centang produk yang bisa dipesan lewat Thuisbezorgd (per grup atau satu per satu), dengan deskripsi untuk Thuisbezorgd jika perlu. Menu (harga, opsi pilihan sebagai modifier, alergen, PPN) ikut otomatis; PLU = id produk/opsi. Setelah ada perubahan di katalog, kasir memperbarui menu dalam 30 detik; hanya "habis"/"tersedia lagi" yang lewat API ketersediaan.
  4. Jam buka Thuisbezorgd: terpisah untuk antar dan bawa pulang (mis. 16:00-22:00, beberapa blok dipisahkan koma). Jam ini disimpan dengan tombol Simpan jam buka di bawahnya dan dikirim ke Thuisbezorgd sebagai service times begitu integrasi siap.
  5. Tutup sementara / Buka lagi (di NL/BE paling lambat buka lagi besok pagi pukul 07:00).

Pesanan. Pesanan menjadi pesanan biasa tanpa meja (bezorgen atau afhalen, nama grup TB <ordernummer>) dengan harga yang dibayar pelanggan, ditambah ongkos antar/biaya layanan sebagai baris tersendiri dan diskon dari Thuisbezorgd sebagai baris diskon; jika totalnya tetap tidak cocok, ada baris "Selisih Thuisbezorgd". Tiket kerja langsung dikirim ke dapur/bar (bisa dinonaktifkan). Kasir mengonfirmasi dalam hitungan detik ke portal, yang meneruskannya ke JET; jika itu gagal dalam 3 menit atau kasir offline, JET menerima "gagal" dan usaha kembali memakai Orderpad.

Tombol Thuisbezorgd di bilah atas (dengan jumlah pesanan yang berjalan): daftar, pelanggan dan alamat, waktu siap/antar, dan linimasa (track & trace): diterima, kurir menuju usaha, kurir di usaha, menuju pelanggan, terkirim (dari JET), ditambah langkah sendiri (sedang disiapkan, siap, dalam perjalanan/terkirim saat antar sendiri, sudah diambil). Peta langsung dengan posisi kurir tidak disediakan JET Connect untuk kasir; pelanggan melihatnya di aplikasi Thuisbezorgd. Pesanan baru, pembatalan, dan "kurir di usaha" memunculkan bilah oranye dan suara. Selesaikan (dibayar online) membayar dengan metode pembayaran online; jika pelanggan membayar di pintu, cukup bayar seperti biasa. Pembatalan dari Thuisbezorgd membatalkan pesanan dan mencetak tiket kerja "DIBATALKAN".

Kode: apps/pos-server/src/lib/thuisbezorgd.ts, routes/thuisbezorgd.ts; layar ThuisbezorgdInstellingen.tsx dan Thuisbezorgd.tsx. Sisi portal: horecapos-portaal/src/thuisbezorgd.mjs (lihat README portal).

Hitungan di portal manajemen. Jumlah pesanan Thuisbezorgd per hari ikut dalam laporan ke portal manajemen (verkoopTelling di lib/portaal.ts): yang masuk dan tidak dibatalkan, pada hari masuknya. Pesanan Thuisbezorgd yang dibayar di kasir (juga Selesaikan (dibayar online)) tidak dihitung lagi di bawa pulang/antar. Data Thuisbezorgd tersimpan di database kasir dan karena itu ikut masuk cadangan kasir.

Toko online dan pemesanan online

Setiap usaha bisa mendapatkan toko online sendiri: situs pemesanan (dan aplikasi) dengan identitas merek sendiri untuk bawa pulang, antar, pesan di meja dengan kode QR, dan reservasi, dengan pembayaran online (MultiSafepay atau Buckaroo) atau bayar saat ambil/antar. Toko online adalah proyek terpisah, horecapos-webshop (Node.js, lihat README di sana), dan berjalan di server yang sama dengan portal manajemen.

Mengaktifkan dan mengatur dilakukan di pengelolaan toko online: tombol Kelola toko online di portal pelanggan (pemilik) atau pada instalasi di portal manajemen (Pin Voordeel). Di sana ada aktif/nonaktif, alamat web (<zaak>.<webshopdomein> atau domain sendiri), identitas merek (warna, logo, foto header, huruf), jam buka dan slot waktu untuk bawa pulang dan antar, area antar (kode pos, radius, atau area di peta, dengan biaya dan minimum), pembayaran, kode diskon, teks, bahasa, kode QR untuk meja, reservasi, dan aplikasi (bisa dipasang sebagai PWA; aplikasi Android lewat Trusted Web Activity). Selain itu, notifikasi push (opsional, default nonaktif): tamu mengaktifkan notifikasi di halaman pesanannya dan menerima notifikasi push saat pesanan siap atau dalam perjalanan; yang mau juga sesekali menerima penawaran yang dikirim usaha dari pengelolaan toko online (tab Notifikasi push). Berfungsi di Android dan komputer (Chrome, Edge, Firefox, Samsung Internet), di aplikasi Android, serta di iPhone dan iPad (iOS 16.4 atau lebih baru) jika tamu menambahkan toko online ke layar utama. Tidak ada SMS atau email yang dikirim dan tidak ada nama atau nomor yang disimpan. Detail ada di README toko online.

Menu. Kasir mengirim menu secara otomatis: semua produk aktif (bukan per kilo), per grup produk, dengan harga, pilihan, alergen, habis, dan foto produk, ditambah meja dan data usaha, serta kanal pemasaran mana yang aktif (untuk kotak centang "terima penawaran" saat pembayaran, lihat Pemasaran SMS dan email). Ini terjadi saat mulai, segera setelah toko online diaktifkan, dalam 30 detik setelah perubahan katalog, dan dalam beberapa detik setelah perubahan di Pengaturan → Usaha, seperti pemasaran atau kartu pelanggan (atau dengan Kirim menu sekarang). Produk bisa disembunyikan dari toko online di pengelolaan toko online (sembunyikan), atau di database dengan artikel.webshop = false.

Pesanan. Bawa pulang dan antar menjadi pesanan biasa tanpa meja (nama grup WEB <bestelnummer>) dengan harga yang dilihat tamu, ditambah ongkos kirim dan biaya transaksi sebagai baris tersendiri dan kode diskon sebagai baris diskon; jika total tetap tidak cocok, ditambahkan baris "Verschil webshop". Tip dari tamu tidak dihitung sebagai omzet: tip masuk saat Selesaikan (dibayar online) sebagai tip dalam pembayaran. Pesan di meja (kode QR) masuk ke tagihan terbuka meja itu (dibayar online: sebagai grup tersendiri di meja itu). Tiket kerja langsung ke dapur/bar (bisa dinonaktifkan di jendela Toko online). Kasir mengonfirmasi dalam hitungan detik dengan nomor struk; tamu lalu mendapat "diterima" dan email. Jika kasir offline, toko online tidak menerima pesanan (tamu langsung melihatnya) dan mengirim email ke usaha jika pesanan terlalu lama tertahan. Reservasi dari toko online masuk ke Reservasi (hanya jika reservasi di kasir aktif). Jika ada maksimum per slot waktu (Antar dan slot waktu), pesanan toko online yang memiliki waktu di slot itu ikut dihitung.

Belgia (kotak hitam). Pesanan toko online langsung dikirim sebagai pesanan (signOrder) ke kotak hitam, sebelum tiket dapur, sama seperti Pesan di kasir. Jika gagal, pesanan tidak masuk ke kasir dan toko online mengirimnya ulang nanti. Fitur yang belum diuji dengan kotak hitam dinonaktifkan di menu toko online (voucher hadiah, kode diskon, bayar dengan tagihan, tagih ke kamar, menu paket, pilihan dengan biaya tambahan, happy hour dan tip) dan ditolak jika toko online lama tetap mengirimnya. Selesaikan memeriksa tip, bayar dengan tagihan, dan tagih ke kamar seperti kasir.

Tagih ke kamar (koneksi hotel, Pengaturan → Hotel → Swalayan → Di toko online): menu mendapat kamer: { maxBedrag }; toko online mengirim betaling.wijze = "kamer" dengan kamer dan achternaam. Kasir memeriksa tamu di perangkat lunak hotel (tidak di meja, tidak dengan voucher hadiah) dan menyimpannya bersama pesanan; Selesaikan (tagih ke kamar) menyelesaikan pembayaran ke kamar dan membukukan struk ke tagihan hotel. Faktur gabungan untuk bayar dengan tagihan: struk kemudian tercatat sebagai pos terbuka.

Tombol Toko online di bilah atas (dengan jumlah pesanan berjalan): daftar, pelanggan dan alamat, waktu yang diinginkan atau "secepatnya", cara bayar, dan linimasa. Tahap Sedang disiapkan, Siap, dan Dalam perjalanan dilihat tamu secara langsung di toko online (dan lewat email, jika usaha menginginkannya). Dibayar di kasir = Selesai; Batal hanya membatalkan baris pesanan toko online itu, mencetak tiket kerja "GEANNULEERD", dan pesanan yang dibayar online dikembalikan dananya oleh toko online. Status tiba, tidak datang, atau batal pada reservasi juga dikirim kembali ke toko online. Pesanan atau reservasi baru memunculkan bilah oranye dan suara.

Kode: apps/pos-server/src/lib/webshop.ts, routes/webshop.ts; layar Webshop.tsx. Sisi portal: horecapos-portaal/src/webshop.mjs.

Kasir dan toko online sama (setiap bagian bisa diaktifkan terpisah, standarnya nonaktif; toko online versi lama mengabaikan kolom baru). Apa yang aktif di kasir juga berfungsi di toko online:

Untuk itu menu toko online memakai versie: 2 dengan kolom menuArtikelen, allergenenAan, happyhours, menus, klantenkaart, cadeaubon, kortingscodes, pauze, drukteMin, volgt, bezetting, reserveren.online, ayce, opRekening, wachtlijst dan upsell. Konfirmasi ke portal juga berisi cadeaubonnen (kode), klant (poin) dan plek (daftar tunggu).

Hitungan di portal manajemen. Bawa pulang dan antar lewat toko online dihitung terpisah (webshop, webshopGeannuleerd di verkoopTelling), pada hari pesanan masuk, dan tidak dihitung lagi di bawa pulang/antar. Pesan di meja dihitung biasa di meja.

Pembayaran kartu dan mesin EDC

Pengaturan → Pembayaran (hanya admin):

Jika ada minimal satu terminal dengan kunci API (atau mode uji aktif), Bayar → Pin / Bancontact otomatis memulai pembayaran di terminal, sebesar jumlah yang dihitung server.

Selama koneksi aktif, server hanya menerima "pin" dengan pembayaran terminal yang berhasil untuk pesanan dan jumlah itu persis. Permintaan dikirim sebagai formulir biasa seperti di PHP-SDK resmi, dengan API cadangan (api-backup.pinvandaag.com) jika API utama tidak merespons. Setiap jawaban API tampil dengan [pin] di jendela server, berguna saat ada gangguan. Pembayaran berhasil yang belum diproses (mis. tablet mati) ditemukan kembali saat pesanan itu dibayar berikutnya.

Tip (kartu, tunai, dan voucher hadiah)

Di layar pembayaran, pada setiap metode pembayaran ada deretan tombol tip: Tidak ada, 5%, 10%, 15% (dibulatkan ke atas ke 10 sen), Bulatkan (ke euro bulat berikutnya), dan Jumlah lain. Dengan kartu, pelanggan membayar jumlah + tip sekaligus di terminal; dengan tunai, tip ikut dihitung dalam kembalian dan di laci kas. Di struk tertulis jumlah yang dibayar dengan kartu dengan "termasuk tip" di bawahnya; TOTAL dan PPN tetap sama, karena tip bukan omzet. Di laporan X/Z tip ditampilkan per metode pembayaran dan sebagai "Total tip".

Admin mengatur tombol tip di Pengaturan → Usaha → Tip: aktif/nonaktif, persentase mana (maksimal 4, mis. "5, 10, 15"), apakah tombol "Bulatkan" ada, dan untuk metode pembayaran mana (kartu, tunai, voucher hadiah) tip bisa diberikan. "Tidak ada" dan "Jumlah lain" selalu tersedia.

"Jadikan saja …" selalu tersedia, di setiap metode pembayaran, juga saat tombol tip nonaktif (tanpa pengaturan): pelanggan membulatkan tagihan ke atas sendiri dan selisihnya menjadi tip. Ada tombol dengan euro bulat berikutnya dan jumlah bulat berikutnya (mis. € 28,00 → 29, 30, 40; € 44,00 → 45, 50, 60) dan Total lain untuk mengetik total sendiri. Ketuk lagi tombol yang dipilih = tidak dibulatkan. Tip maksimal € 500 (batas yang sama dengan server kasir).

Tidak ada internet

Kasir bekerja di jaringan lokal dan tidak memerlukan internet; hanya pembayaran kartu lewat koneksi yang memerlukannya. Jika usaha tidak ada internet, di bilah atas tertulis Tidak ada internet · kartu manual (diperiksa setiap menit). Di layar pembayaran, dan juga setelah gagal memulai di terminal, muncul tombol Sudah dibayar dengan kartu di terminal: proses jumlahnya di terminal itu sendiri dan catat dengan tombol ini.

Denah dan meja

Editor denah

Pengaturan → Denah (hanya admin):

Salin konfigurasi ke usaha kedua

Pengaturan - Impor/ekspor

Pengaturan → Impor/ekspor (hanya admin). Jika satu usaha sudah diatur lengkap, ekspor konfigurasinya ke file .json dan impor ke kasir usaha kedua. Bisa dipilih per bagian:

Tidak pernah ikut: nama, alamat, kode pos, kota, telepon, email, nomor PPN/BTW, dan baris penutup struk usaha, alamat email untuk laporan Z, terminal kartu dan kuncinya, personel dan PIN, serta semua omzet, struk, pelanggan, dan jumlah stok.

Impor sangat diamankan: peringatan merah besar, centang "Saya mengerti...", sekali lagi PIN admin sendiri, tidak ada pesanan terbuka, negara yang sama (tarif PPN), dan cadangan otomatis sebelumnya. Impor dilakukan dalam satu transaksi: jika ada yang salah, tidak ada yang berubah. Produk, grup, bahan, dan meja yang ada tidak dihapus permanen tetapi dikeluarkan dari kasir (seperti saat Hapus), sehingga struk dan laporan lama tetap benar.

Impor dari kasir lain

Pindah tanpa mengetik ulang semuanya. Selalu tersedia (tanpa sakelar): di Pengaturan → Impor/ekspor (hanya admin) ada bagian Impor dari kasir lain.

Bahasa (42, a.l. Turki, Arab, Darija, Berber, Polandia, Bulgaria, Hongaria, Rusia, Serbia, Albania, Persia, Tigrinya, Amhar, Somali, Papiamento, Sranantongo, Hindi, Urdu, Indonesia, Vietnam, Aram Suriah, Mandarin, dan Ukraina)

Di samping tombol © di kanan bawah, setiap layar punya tombol bahasa (mis. NL dan benderanya). Ketuk untuk membuka menu pilihan: bahasa diurutkan menurut abjad, dengan nama dalam bahasanya sendiri di depan bendera: Bahasa Indonesia (Indonesia), Čeština (Ceko), Darija (Arab Maroko dalam huruf Latin), Deutsch, English, Español, Français, Hrvatski (Kroasia), Italiano, Kurdî (Kurmancî), Latviešu (Latvia), Lietuvių (Lituania), Magyar (Hongaria), Nederlands, Papiamentu (Papiamento), Polski, Português, Română, Shqip (Albania), Slovenčina (Slowakia), Soomaali (Somalia), Sranantongo, Srpski (Serbia, dalam huruf Latin), Tarifit (Berber Rif), Tiếng Việt (Vietnam), Türkçe, lalu dalam huruf Kiril Български (Bulgaria), Русский (Rusia) dan Українська (Ukraina), kemudian bahasa dalam huruf Arab: اردو (Urdu), الدارجة (Darija), العربية (Arab), دری (Dari), فارسی (Persia, Farsi), پښتو (Pashto) dan کوردی (سۆرانی) (Kurdi Soranî), lalu dalam huruf Suryani ܣܘܪܝܝܐ (Aram Suryani, Suryoyo), dalam Dewanagari हिन्दी (Hindi), dalam huruf Ge'ez ትግርኛ (Tigrinya) dan አማርኛ (Amharik), dalam Tifinagh ⵜⴰⵎⴰⵣⵉⵖⵜ (Tamazight, Berber), dan terakhir 中文(简体)(Mandarin, aksara sederhana). Semua layar, tombol, notifikasi, dan pesan galat dari server kasir diterjemahkan.

Untuk pengembang: setiap teks yang terlihat ada di kode sebagai vt('Nederlandse tekst') (apps/pos-web/lib/i18n.ts); teks Belanda adalah kuncinya. Terjemahan ada di apps/pos-web/lib/vertalingen/<taal>.ts. Jika terjemahan tidak ada, kasir menampilkan bahasa Belanda; tes i18n (pos-web) memeriksa bahwa setiap teks diterjemahkan dalam setiap bahasa dan bahwa tempat {0} sesuai. Pesan dari server kasir tetap dalam bahasa Belanda dan diterjemahkan di browser (juga dengan {0}, mis. nama produk dalam pesan).

Atur printer

Kasir baru tidak punya printer. Masuk sebagai admin (demo: 1111) dan pilih Pengaturan di bilah atas.

Produk yang sama digabung saat dicetak: dua kali 1x Cola menjadi 2x Cola, di tiket kerja dan di struk kasir. Hanya produk dengan opsi dan catatan yang sama yang digabung.

Installer Linux memasukkan pengguna kasir ke grup lp dan dialout, agar kasir boleh memakai printer USB dan serial.

Butuh bantuan?

Optimum POS · 085 560 00 60 · support@optimumpos.nl · Sen–Jum 9:00–20:00, Sab–Min 14:00–20:00