How to Connect Bill&Go POS to BasilBook

Bill&Go is our own POS. One key and four fields, and every paid order reaches your books within a minute — with the order prefix that keeps several shops apart, and what is coming soon.

October 24, 20268 min read

Bill&Go, our own POS

Bill&Go — Orders flow. Business grows.

Bill&Go is the point of sale we built ourselves, in Phnom Penh, for the cafés, noodle shops and restaurants around us — where a bill is priced in riel, paid in dollars, and the change comes back in both.

It takes the order at the counter, at the table or by phone; sends the kitchen ticket to the kitchen, the bill to the counter and the cup sticker to the label printer; works out change in whole dollars and riel at your shop's rate; and closes each shift with a count of the drawer in both moneys. Every branch has its own menu, staff, tables and stock, managed from one dashboard.

It runs in any web browser, has a Free plan for a small shop, and is made by the same team as BasilBook. See it at billandgo.app.

Why a POS that pushes

The other POS connections in BasilBook go and fetch: every hour, or every six, they read the last three days and import what is new. Bill&Go turns that around.

Because we make both sides, the till does not wait to be asked. Every minute, Bill&Go sends BasilBook what was paid since the last minute. By the time you sit down at the end of the day, the day's takings are already journal entries — revenue, the right cash account, stock and cost of sales — without an import, a schedule or a spreadsheet.

Each request is signed with a secret only your shop and your workspace hold, and BasilBook refuses one more than five minutes old. Nothing is lost on a bad connection: an order that cannot be sent waits in Bill&Go's queue and goes again.

Step-by-step setup

You need to be an owner or manager in BasilBook, on Professional, and the owner of the shop in Bill&Go, on Starter or above. It takes about five minutes.

  1. Make a POS key in BasilBook

    Settings, Integrations, POS push API, New key. Name it after the shop, and set Record sales as to Bill&Go. BasilBook shows the key ID (it starts bbk_) and the signing secret once. Copy both before you close the window.

  2. Paste them into the shop in Bill&Go

    In the Bill&Go dashboard: Stores, the store, BasilBook. The address is https://basilbook.com. Paste the key ID and the secret. Bill&Go seals the secret and never shows it again — if you lose it, make a new key.

  3. Give the shop an order prefix

    Every shop's order numbers start again at 0001 each day. A prefix such as TK makes them TK-20261020-0001 in BasilBook. With one shop it is optional; with more than one, it is what keeps them apart.

  4. Switch it on

    Bill&Go refuses to switch on until the address, the key ID and the secret are all there. From that moment, every paid order is sent within a minute.

Only orders taken after the first switch-on are sent. Earlier days are not backfilled, so a shop that has been trading on Bill&Go for a while starts its BasilBook history on the day it connected.

Several shops, one rule

BasilBook keeps books per location: one workspace is one shop. Bill&Go agrees, so each store has its own BasilBook settings.

For three branches, create three BasilBook workspaces, make a key in each, and paste each key into its own store in Bill&Go. Each branch then has its own takings, stock and profit and loss — which is what you need to know which branch is earning.

The prefix is the one thing to get right. Every shop numbers its orders from 0001 each day, and BasilBook skips a number it already has, so two shops sending into one workspace without prefixes would file the second shop's sales as duplicates of the first. Bill&Go refuses to switch a shop on when another shop already sends with the same key and the same prefix.

Amounts are sent in the order's own money — whole riel, or dollars and cents — and booked in the workspace's primary currency. A shop that prices in riel needs a workspace whose primary currency is KHR.

What each order becomes

Bill&Go's orders go through the same importer as every POS BasilBook reads, so the rules are the ones you already rely on.

In Bill&GoIn BasilBook
A paid orderA sale under its order number, on the day it was paid, with a balanced journal entry
Dishes, options and packsSale items under their categories, created the first time they are sold
Cash, card or QR CodeCash on Hand for cash and QR, the bank for card
Who rang it upA staff record, so takings can be read by cashier
Discount, delivery fee and VATDiscounts shared across the lines in whole cents; the fee and VAT as lines of their own

The lines of a sale always come to exactly what the customer paid. That is what lets a QR Code payment captured from your bank match the sale it paid for, and it is why Bill&Go holds back an order whose lines do not add up instead of sending it wrong.

Refunds

Rule one of the books: a posted sale is never deleted. A refund reverses it.

When an order is refunded in Bill&Go after it reached BasilBook, Bill&Go sends a void with the refund's reason. BasilBook reverses the sale's journal entry and posts stock movements that put back what the sale used, so the original stays in the history beside its reversal.

BasilBook refuses the void while a bank receipt is matched to the sale, because the match states the old amount. Unmatch it under Bank Receipts, then send the failed void again from Bill&Go.

Coming soon

The till and the dashboard already run in any web browser. Three things are on their way.

  • Bill&Go POS app — The till as an app for tablets and phones, with the same menu, tables and shifts. New orders and cash payments keep going when the internet drops, and reach the kitchen, the shift and then BasilBook once it is back. Coming to the App Store and Google Play.
  • Bill&Go Console app — Your shop on your phone, for owners and managers: sales, orders, the menu, staff and printers, with a notification when an order or a printer needs you. Coming to the App Store and Google Play.
  • Bill&Go Printing Core — A small box, or a Raspberry Pi, that prints for the shop with no computer: to printers on the shop network or plugged in by USB. Ask the Bill&Go team if you want one.

None of this changes the connection. Whichever device takes the order, it is the same shop and the same queue, so every paid order still reaches BasilBook within a minute.

Troubleshooting

When sending stops, Bill&Go says why in words on the shop's BasilBook settings. The usual causes:

  • Key or signature refused — The key was revoked in BasilBook, or the secret was mistyped. Make a new key and paste both again. A clock more than five minutes off is refused the same way.
  • Professional required — The BasilBook workspace is no longer on Professional. Orders wait in Bill&Go rather than being dropped, and go across once the plan is back.
  • An order marked failed — BasilBook refused that one order, or it was retried for a day without success. The shop's BasilBook settings list the newest failures with their reasons; fix the cause and press Send them again.
  • A day looks short — Check the order was paid, not cancelled, and taken after the connection was first switched on. Then check the prefix: without one, a second shop sending into the same workspace has its sales skipped as duplicates.

Everything the connection does, on one page: Bill&Go and BasilBook.

Connect Bill&Go to your books

One key per shop, and every paid order keeps its own books within a minute.