Plenty of shops don't only sell online. There's a stall at the Saturday market, a counter at the front of a studio, a table at a convention, and a website as well. That usually means two systems: a till app with its own stock count and its own list of sales, and the online store. And somebody has to make the two agree at the end of the week. I wanted one stock and one set of orders for all of it. KahunaCart Point of Sale is available today.
A till on your own site
POS runs at /pos on your own site, behind your site's own sign-in. Open it on a tablet, add it to the home screen, and it opens full screen like an app. It works on a laptop too, and on a phone in a pinch.
Every sale it rings up is an ordinary KahunaCart order. It takes stock from the same count as your website, uses your prices, sales, coupons and customer groups, and turns up in your reports next to everything else you sell. Tax is worked out at the address of the place you're selling from.
Scan a barcode, or tap a product on the favourites grid. Give a staff discount with a reason when a box is dented. Attach a customer if they want their store credit or an emailed receipt. Park a sale while someone runs back to the car for their wallet.
Cash, cards, or some of each
The Pay screen shows what's owed in big type and a button for each way to pay. Cash shows the change large. Cards go to a card reader: a Stripe WisePOS E or Reader S700, a Square Terminal or a SumUp Solo, each through that provider's add-on and your own account with it. The till sends the amount, the customer taps, and the payment lands on the order.
You can split a sale any way you like: put fifty on the card and take the rest in cash. There's also store credit, gift cards, and a pay link drawn as a QR code for the customer to pay from their own phone.
I care a lot about the money being right, so the till never guesses. A double tap or a dropped connection records one payment, not two. And if a reader goes quiet halfway through, the till shows the payment as checking and keeps asking the provider until it knows.
No reader yet? The test provider has simulated readers, so you can rehearse a whole day of sales before you buy any hardware.
Returns at the counter
Every till receipt carries its order number as a barcode. Scan it, pick what's coming back, and the till shows exactly what it will refund and to what before you press the button. Refund to the card, in cash from the drawer, or as store credit. Anything damaged is refunded without going back into stock. And a customer who bought from your website can bring it back to the shop too.
One tablet, a few people
Most counters have one tablet and a few people behind it. So the tablet stays signed in, and whoever is serving taps their name and types a PIN. Everything they do is recorded under their name and checked against their own permissions. Someone who can't give refunds can't refund, even on the manager's tablet. When it's needed, the manager types their PIN right there to approve that one return or that one big discount, and the approval is written on the order.
Closing time
Open a shift with a float. Record cash going out for the bank or coming in from it. At closing, count the drawer by notes and coins. The till asks for your count first and only then shows what should be there, so nobody counts towards a number. Then it freezes the Z report: sales, payments by type, refunds, discounts, takings per person, and the drawer sums. If the drawer is out by more than your limit, you get a message.
All of it lives in a new Point of sale section in your KahunaCart admin, with every register, every shift and its report, and sales reports by register, staff, location or way of paying.
Bookings and balances
If you run Bookings, a booking that still owes money now has a Take payment button on the front desk. It opens the till with that order ready to pay. When it's paid, Book next visit takes you straight back to the desk to book the customer's next appointment. The till's menu can take what any order still owes, such as an order placed online and paid in the shop.
What it doesn't do yet
I'd rather you hear this from me than find out at the market.
- No offline mode. The till needs a connection to your shop. When the connection drops it says so and sells nothing it can't record. Put the tablet on mobile data if the stall's wifi is shaky.
- No cash drawer kick or customer display. Receipts print through the browser's own print dialog, to any printer the device can use, laid out for 80 mm paper. The till doesn't send commands to a printer, a drawer or a second screen.
- Not every reader. Bluetooth and USB readers and Tap to Pay on a phone aren't supported yet.
The hardware page has the full list.
Get started
POS needs KahunaCart 1.5.7 or later, the Login and API plugins, and a pickup location for each place you sell. It's a one-time purchase for your site, and updates are covered by your site's single renewal. Card readers come from your payment provider, and so do the card fees. The add-on doesn't add one.
Add it to your licence in the store, install it through Grav's plugin manager, and follow the getting started guide. The add-on page has screenshots of every screen.
If you sell anywhere besides your website, I'd love to hear how the till works for you. Come and tell us on Discord.
Andy