Point of sale
Stores, registers, shifts, checkout, offline selling & the kiosk
Point of sale
- Set up a Store and at least one Register under it.
- A cashier opens a shift with the opening float before selling, and closes it at the end of the day by entering the cash counted — the difference from what's expected (over or short) is shown and, with automatic bookkeeping on, posted to the ledger.
- Cash in / out — money added to or taken out of the drawer during a shift (more change, a safe drop, fuel for the generator) is recorded from the Cash in / out button on the sell screen, so the closing count still balances.
- Use Sell / checkout for walk-in sales — pick items, take payment, done.
- Barcode scanners (USB or Bluetooth) work out of the box: give each item a barcode, then scan. The search box keeps the cursor for you, and an unknown code shows "not found" with a beep.
- Hold parks the current cart (e.g. a customer who steps away) — recall it from Held orders to finish the sale.
- A cash sale records a receipt; a non-cash sale deposits into the store's linked bank account.
- A built-in calculator and a customer display for a second screen are one click away.
- Printing receipts at checkout — after each sale a Sale complete panel shows the change due with Print 58mm / 80mm / A4 buttons, or set Print automatically after each sale. Reprint on the sell screen reprints any of today's sales. Receipts can still be printed from the receipt page and Sales history too. In the print dialog pick your receipt printer, set the paper size to match the roll, margins to None and untick Headers and footers. On a Mac, install your printer's own driver: with a generic driver a thermal printer prints gibberish. Tip: starting Chrome with
--kiosk-printingprints without the dialog. - Cash drawer — click Drawer on the sell screen, connect the receipt printer the drawer is plugged into (once per device), then Open drawer — or tick Open on every cash sale. Works in Chrome or Edge on a computer. If your printer can't be connected this way, turn on "open cash drawer when printing" in the printer's driver settings instead.
- Selling by the carton — items with extra units (see Items) show a unit picker on each cart line, and scanning a carton's barcode adds a carton.
- Working offline — if the internet drops, keep selling: each sale is saved on that device with a printable offline receipt, and a banner shows how many are waiting. They upload by themselves when the connection is back (or tap Upload now), with their original time and shift. If one is refused (e.g. a customer no longer has enough loyalty points), it stays on that device under Review to retry or discard. The checkout must have been opened once while online. Hold, new customers, cash in/out and opening a shift need a connection.
- Review past sales under Sales, and void one if it was made in error.
Self-order kiosk
- Let customers build their own order on a tablet or screen in the store — they pick items (with pictures), place the order, and pay at the counter.
- Switch it on in Point of sale → Stores → (your store) → Self-order kiosk → Turn on kiosk mode, then open the link it gives you on the kiosk device. No one signs in on the kiosk, and it has no way back into your account.
- If someone is signed in on that browser, the kiosk signs them out first.
- Each order appears on the checkout screen under Held orders as "Kiosk #12 — Name". The cashier recalls it and takes payment as usual.
- An unfinished order clears itself after 90 seconds, ready for the next customer.
- If the link gets out, Create new link — the old one stops working at once. Also lock the device to the browser: Guided Access on iPad, screen pinning on Android, or Chrome's kiosk mode on a computer.
- Want to see what customers see? Point of sale → Kiosk opens a preview while you're signed in.
- Payments at the kiosk — on the store's kiosk settings tick Let customers pay at the kiosk. Customers then pay by card, transfer or USSD through your own Paystack or Flutterwave account (set it up first under Admin console → Payment links). You can keep Pay at the counter as an option, or turn it off so every kiosk order is paid up front.
- Customers can't change what they pay: the amount comes from your prices, and an order only counts as paid once the payment gateway confirms it.
- Paid orders appear on the checkout screen under Paid at the kiosk — hand over with the order number and a 4-digit pickup code that the customer sees on their screen. Check both, hand the order over and tap Handed over — it can only be collected once. Every paid order is already a completed sale: stock, receipt and books are updated.
Sync with Shopify & WooCommerce
Already selling on a Shopify or WooCommerce store? Connect it, and your shop counter, online store and books stay in step: items, inventory, orders, customers and pricing sync automatically. Owners and admins set it up from Point of sale → Shopify & WooCommerce (also linked from Online store → Store settings).
Connect a Shopify store
- In Shopify admin, open Settings → Apps → Develop apps and create an app, or use an app from the Shopify Dev Dashboard installed on your store.
- Give it Admin API access to products, inventory, orders, customers and locations, with both read and write, then install it.
- Paste your store address (
my-shop.myshopify.com) and the Admin API access token, or the app's client ID and secret. Add the API secret key too, and new orders arrive the moment they're placed.
Connect a WooCommerce store
- In WordPress, open WooCommerce → Settings → Advanced → REST API → Add key, choose a shop manager or administrator, and set permissions to Read/Write.
- Paste your store address (it must use
https://) with the consumer key and secret.
What syncs, and which way
| What | How it syncs |
|---|---|
| Items | Every product (each variant of a variable product) becomes an item, matched first by barcode/SKU and then by exact name, so nothing is duplicated. A new item comes in with the store's stock as its opening stock. Turn on Add my items to the store to send your own items out too. |
| Pricing | You choose where names and prices come from. Pick the store, and edits there update here. Pick us, and prices you set here go to the store. |
| Inventory | Kept in continuous two-way sync. A sale, purchase or stock count here goes to the store within a minute or two, and a stock change made in the store (a recount or restock) comes back as a stock adjustment. Store orders are counted once, never twice. With both Shopify and WooCommerce connected, all three stay at the same level. |
| Orders | Each store order arrives as an invoice. Stock comes off, the customer is matched or added, shipping, discount and tax carry over, and a paid order is marked paid. An order cancelled before payment removes its invoice and returns the stock. A paid order that's later cancelled is left for you to refund. |
| Customers | Customers sync both ways, matched by email. |
- Choose Import orders placed from when connecting. Leave it as today if earlier sales are already in your books.
- A full sync also runs every 15 minutes, and Sync now runs one straight away. Recent syncs shows what each run changed, or why it failed.
- Orders and prices only sync when the store uses your base currency. Items, customers and stock sync either way.
- Keys are stored encrypted. Disconnecting stops syncing; everything already synced stays in your books.
Printing price & barcode labels
Print price and barcode labels for your items from Point of sale → Print labels.
- 1. Paper size: choose a label-printer roll (50 × 30, 40 × 30, 38 × 25 or 58 × 40 mm) or an A4 sticker sheet (65, 24 or 21 labels per sheet, in the common Avery layouts). On a part-used sheet, set Start at label number to skip the labels already peeled off.
- 2. Show on each label: tick any of Product name, SKU, Price, Barcode and Shelf location. The page remembers your choice for next time.
- 3. Items: search or filter by category, tick items and set how many labels each. Labels = stock prints one per unit in stock.
- Click Print. The labels open in a new tab with the print dialog. Set margins to None and scale to 100%.
SKU and shelf location are set on each item (Items → edit). An item with no barcode can be given one on the spot with Create barcodes for them: an in-store EAN-13 starting with 20 that scans at checkout straight away. Barcodes print as EAN-13 when the item already has a valid 13-digit EAN, and as Code 128 otherwise. Any barcode scanner reads both.