Canteen POS Guide: Register, Products, Stock, and Shifts in Aerish
Set up the canteen POS in Aerish: create a Cashier role, bind a machine, add products and stock, open a shift, then take cash or RFID card payments.
7 min readUpdated
On this page

This guide helps admins set up the canteen or cooperative POS and helps cashiers handle daily sales. The admin side (products, stock, devices, vouchers, reports) and the cashier side (Cashier Desk) are covered separately.
Before you start
- The POS menu only appears when the Kantin (canteen) add-on is in your school's subscription.
- The admin side is for Superadmin and Admin, and each page also follows Access Control permissions (such as Lihat Produk POS or Lihat Analytics POS). Cashier Desk appears for the Kasir (or Cashier) role; Register, My Receipts, and Orders are also visible to Superadmin.
- The Cashier role does not exist by default. You need to create it (steps below).
- Card payments use the student's RFID card and wallet balance, so cards and balances should already be set up.
- Many cashier screens show Indonesian labels in any language; this guide quotes them as shown.
Set up the Cashier role and POS machine
A cashier who is not bound to a machine sees Mesin POS Belum Terhubung (POS machine not connected) and cannot use the cashier menus until an admin assigns one.
- Open Users & Access → Access Control (
/admin/access-control) and add a role whose Role Name is exactly Kasir (or Cashier). Tick the POS permissions it needs: Buat Transaksi POS (or Kelola Transaksi POS) for the Register and shifts, Lihat Riwayat Transaksi POS for Orders, and Lihat Produk POS and Lihat Inventory POS if the cashier needs the Catalog and Cashier Stock. Then save. - Open Users & Access → Accounts, edit the cashier's account, and choose Kasir under Select Group.
- Make sure the cashier machine is registered under System → Master Data → Devices, is active and online, and works as a payment machine for the POS cashier: Device Type Pembayaran POS, Non-POS & Tiket, or on a Full machine, Tipe/Fungsi Mesin set to POS (click Ubah fungsi, then wait for the machine to apply the change). Changing a machine's function needs the Ubah Mesin permission.
- Open POS → Operations → POS Devices (
/admin/pos/device-cashier) and click Assign Cashier. - Choose the Cashier and Machine ID, then click Assign. The Machine ID list only shows machines that are active, online, set up for POS payments, and running their latest configuration.
Each cashier is bound to one machine, but one machine can be shared by several cashiers. The Cashier List tab lists cashiers and their machines, and the Machine Monitor tab shows each machine's status. If a cashier forgot to close the shift or log out and the machine stays locked, use Force Release Lock; the active session on that machine is ended. This page only manages cashier bindings; the machine's function is still set in Devices.
Admin side
Products

- Open POS → Catalog & Stock → Products (
/admin/pos/products) and click Add Product. - Fill in Product Name, the category, and Selling Price (required). SKU, Barcode, Discount, and Cost (COGS) are optional.
- Turn on Track inventory to count stock, then set Initial Stock and Reorder Level (the stock level that triggers a restock warning).
- Keep Product active (visible in POS) on so cashiers can sell it, then save.
To add many products at once, click Import CSV, download the template with Download template CSV, fill it in, and upload it. Template columns: sku, barcode, name, description, category, price, discount, cost, stock_qty, reorder_level, plus the optional track_inventory and is_active. You can fix cells in the preview before importing, and choose Timpa produk yang sudah ada (cocokkan berdasarkan SKU) to overwrite existing products matched by SKU.
Canteen Inventory
POS → Catalog & Stock → Canteen Inventory (/admin/pos/inventory) has four buttons, and every change is logged in Stock Movement History:
- Restock: record incoming goods (Incoming Quantity, optional Reference No.).
- Stock Opname: enter the Actual Physical Stock you counted. If there is a difference, a note is required.
- Manual Adjustment: increase or decrease one product's stock with a reason (damaged, expired, lost, bonus/sampling, other correction).
- Batch Adjust: adjust several products in one save.
Vouchers, Member Points, and POS Settings
All three are under POS → Programs & Settings.
- Vouchers: click Add Voucher and fill in Voucher Code, Discount Type (Fixed Amount or Percentage), the discount value, Minimum Purchase, Usage Limit, Valid From, and Valid Until.
- Member Points: the Konfigurasi Poin tab turns the points feature on or off and sets how points are earned and their exchange value. The Daftar Poin Member tab lists point balances and offers Adjust Poin with a reason.
- POS Settings: set Tax & Service Fees (tax label and rate, service fee, and Tax Inclusive when product prices already include tax) and Currency & Receipt (header, footer, Printer Paper Size 58 mm or 80 mm). Check the receipt preview, then click Save Settings.
- Canteens: for schools with the multi-canteen feature turned on, this page adds canteens, assigns cashiers, and manages the Aerish POS tablets for each canteen. If the feature is off, the page says multi-canteen is not enabled.
Reports and oversight
- Overview & Sales → POS Dashboard: revenue, transactions, items sold, a revenue forecast, restock warnings, and recent sales.
- Overview & Sales → Sales: every transaction, with Refund, Void, and Change Payment available to admins.
- Overview & Sales → POS Analytics: sales trend, payment methods, cashier performance, and top products for a date range.
- Operations → Shifts: shift history for all cashiers. Use Force Close Shift when a cashier left a shift open; enter the current actual cash and a note.
- Operations → Activity Logs: an audit trail of POS activity, such as product changes, restocks, shift opening and closing, voids, refunds, and machine bindings, with the time and the person who did it.
Cashier side (Cashier Desk)
Open a shift

- Open Cashier Desk → Shift (
/admin/pos/cashier/shifts). - In the Buka shift baru (open a new shift) form, count the cash in the drawer and pick the Modal kas awal (starting cash) amount, or Nominal lain to type your own. Add a Catatan (opsional) note if needed, then click Buka shift.
Until a shift is open, the Register is locked and shows Shift belum dibuka (shift not open) with a Buka shift button.
Take a sale in the Register

- Open Cashier Desk → Register (
/admin/pos/cashier/register). - Add products by typing a name or SKU, scanning a barcode, or tapping a product in the catalog.
- Leave the buyer as Pembeli Umum (walk-in) or search by name, RFID, or member number.
- For a voucher, click + Pakai Voucher, enter the Kode Voucher, then Terapkan Voucher.
- Choose the payment method:
- Tunai (cash): enter the amount received; change is calculated for you.
- RFID Aerish: click Aktifkan RFID, then the student taps their card on the Aerish machine once the machine shows the prompt. The balance is checked automatically. If it fails, the cashier can choose Bayar Tunai Sebagai Gantinya (pay cash instead).
- After Pembayaran Berhasil, click Cetak Struk to print the receipt, or Transaksi Baru for the next sale.
My Receipts
Cashier Desk → My Receipts (/admin/pos/cashier/receipts) lists the receipts of the signed-in cashier. Search by receipt number, filter by Status pembayaran (payment status), open the details, and reprint when a buyer asks.
Orders: refund, void, and change payment
In Cashier Desk → Orders, open a sale to see its details and click Cetak ulang struk to reprint. Sales marked Sukses (successful) offer Ganti Bayar (change the payment method), Refund, and Void. A sale still Menunggu pembayaran (awaiting payment) can only be cancelled with Void. Each action asks for a reason and needs an open shift; without one, the page shows Tidak ada shift aktif (no active shift). A void cannot be undone.
Close the shift
- In Cashier Desk → Shift, click Tutup Shift.
- Count the cash in the drawer and enter it as Kas Aktual (hitung uang di laci). The system shows the difference from the expected cash.
- If there is a difference, a note is required. Click Tutup Shift to save.
Cashiers also have Catalog & Stock → Catalog (price check, barcode scan, low stock), Catalog & Stock → Cashier Stock (stock check and quick correction during an open shift), and Cashier Desk → Analytics.
Troubleshooting
- Cashier Desk does not appear: the role name is not exactly Kasir or Cashier, or the account is not in that group.
- The machine is missing from the Machine ID list: the machine is inactive or offline, its function is not POS payment, or it has not applied its latest configuration. Check it in System → Master Data → Devices.
- The Register shows Mesin Sedang Offline, Mode Mesin Bukan Pembayaran, or Menunggu ACK Konfigurasi Mesin: the bound machine is not ready. Turn it on and make sure it is online, switch its function to POS payment if needed, then wait for it to apply the configuration.
- RFID payment fails: the student's balance is too low or the card has a problem. Take cash instead.
- Refund or void is not available: no shift is open, or the sale is not marked successful.
Next steps
Related guides
Getting Started
Getting Started with Aerish for School Administrators
Your first steps as a school admin in Aerish: register your school, sign in, learn the dashboard and sidebar, then set up core data in the right order.
5 min readRead guide
Getting Started
User Accounts and Access Control (RBAC) in Aerish
Manage user accounts, import students from CSV, set roles and permissions in Access Control, create a Cashier role, and review profile change requests.
6 min readRead guide
Finance
Student Wallet, Cards, and Savings Guide in Aerish
Manage RFID cards and machines, student balance top-ups and withdrawals, the cash desk, balance history, transaction limits, and term savings in Aerish.
4 min readRead guide