Point of sale
The Point of Sale add-on turns a tablet, a laptop or a phone into a till. Staff scan or tap products, take cash or a card, split a payment, print or email the receipt, take things back, and count the drawer at the end of the day. It runs on your own site at /pos.
Every sale is an ordinary KahunaCart order. It uses the same products, prices, stock, tax, coupons, customers and gift cards as your online shop, so stock is shared between the counter and the website. Your reports count counter sales and online sales together, and you can split them by channel.
It's an add-on, not part of KahunaCart itself. Install the kahunacart-point-of-sale plugin beside the base plugin. Until you add a register, nothing in your store changes.
Who does what
KahunaCart itself owns the money and the order. It builds the counter cart, works out tax at your shop's address, takes cash with change, takes cards on a reader, refunds, and lays out the receipt. That work is KahunaCart's own, so a counter sale and an online sale add up the same way.
The add-on owns the till. That means the app at /pos, your registers, the tablets paired to them, who is serving and their PINs, shifts and cash counts, and the X and Z reports.
How a day at the till goes
- A manager pairs the tablet to a register, once.
- Whoever opens the shop picks their name, types their PIN and opens a shift with a float.
- Staff sell. The till prices every basket live as items are scanned, with your sales, coupons and customer prices applied.
- Customers pay with cash, a card on the register's reader, store credit, a gift card or a pay link, or a mix. Someone who owes the rest of a booking or an order placed online can pay it here too.
- A customer who comes back with something gets a return at the counter, refunded the way it was paid or in cash or store credit.
- At closing time someone counts the drawer. The till works out what should be in it, shows the difference and freezes a Z report.
Before you begin
- KahunaCart 1.5.7 or later, on a store that can already take an order.
- The
kahunacart-point-of-saleplugin installed and enabled, thenbin/plugin kahunacart migraterun once. - At least one pickup location. A register sells at one, and the sale is taxed at its address.
- For cards, a payment provider that takes them on a reader: Stripe Terminal, Square Terminal or SumUp Solo, each with its provider's add-on, or the test provider's simulated readers. See Hardware today.
- The Login plugin and the API plugin. The Login plugin signs the tablet in, and the till talks to the store through the API.
- The job worker running (
bin/plugin kahunacart work, or the scheduler) so emailed receipts go out and the till can tidy up after itself once an hour. See CLI. - A tablet, laptop or phone with a current browser.
What it adds
| Where | What appears |
|---|---|
| KahunaCart → Point of sale | A section with six tabs: Registers, Staff, Favourites, Shifts, Reports and Settings. |
/pos |
The till. Full screen, built for a landscape tablet and usable on a laptop or a phone. |
| An order | A Counter sale panel beside the order with the register, the location, who served and a link to the shift. |
| The Orders list | A Counter sales link that shows only the orders sold at a till. |
| The Bookings desk | With the Bookings add-on, a Take payment button on a booking that still owes money, which opens the till with that order ready to pay. |
| Notifications | A message to you when a drawer closes over or short by more than you set, and a customer row for the emailed till receipt. |
| Permissions | Three: sell, refund, and manage. |
The plugin serves /pos itself. You don't create a page for it.
The pages in this chapter
| Page | What it covers |
|---|---|
| Getting started | From an installed add-on to your first sale. |
| Registers and devices | Adding registers, pairing a tablet and revoking a lost one. |
| Staff and PINs | Who may sell, PINs, the lock screen and manager overrides. |
| Selling | Search and scan, favourites, discounts, coupons, customers, park and void. |
| Taking payment | Cash, cards on the reader, split payments, store credit, gift cards, pay links, payments on earlier orders and receipts. |
| Returns | Taking things back and refunding them. |
| Shifts and cash | Floats, cash in and out, the X report, closing with a count and the Z report. |
| Reports | Sales by register, staff, location or tender, with a CSV. |
| Hardware today | Printers, scanners and card readers. |
| No offline mode | What the till does when it can't reach the shop. |
| Settings reference | Every setting with its default. |
| FAQ | Quick answers. |
| Developers | Permissions, routes, MCP tools, events, tables and export sets. |
The three permissions
| Permission | What it allows |
|---|---|
kahunacart.pos.use |
Selling, taking payments, opening and closing a shift, cash in and out, and printing or emailing receipts. |
kahunacart.pos.refund |
Taking returns and refunds at the till. |
kahunacart.pos.manage |
Registers, devices, staff PINs, favourites, settings, and every shift and report. It includes the other two. |
Each account that signs in at the till also needs Grav's own API access (api.access). The till checks the permissions of the person serving, not just the account the tablet is signed in as. See Staff and PINs.
What it does not do
- Work offline. The till needs the shop. When the connection drops it says so and sells nothing it can't record. See No offline mode.
- Drive hardware. A receipt printer is any printer the browser can print to, and a barcode scanner is one that types like a keyboard. There is no cash drawer kick or customer display yet. See Hardware today.
- Move money of its own. Cash, store credit, gift cards and card readers are KahunaCart's tenders and its payment providers' readers.
- Drive every card reader. Stripe Terminal, Square Terminal and SumUp Solo work. Bluetooth and USB readers and Tap to Pay don't yet.
Related
- Getting started
- Pickup locations, where a register sells
- Orders and the admin
- Store credit, gift cards and credit notes