Troubleshooting
The things that actually go wrong behind a counter, what causes each one, and what to do about it. Start with the symptom you can see.
The till shows no products at all
What you see: the retail till or the restaurant menu grid is empty. Scanning finds nothing. The catalog page says "Nothing is on <store>'s till yet. Switch to the company catalog to add what this store sells."
Cause: the company owns the products, but each store has its own menu on top, and this store's menu is empty. There is no fall-back to the whole company catalog when a menu is empty — that is deliberate, so a café never ends up offering floor cleaner.
Fix:
- Open Catalog and press Company catalog.
- Press Add to menu on each product this shop sells.
- Press This store to check the list, then reload the till.
If the company catalog is empty too, you have no products yet — create one, or bulk-import them. See Products & menus.
Before anything else, look at the store and register named in the header. A blank till is very often the right till for a store you did not mean to be in.
"kitchen_station not found" when firing an order
What you saw: a restaurant that had just turned the
kitchen module on could not send anything to the kitchen — firing a ticket
failed with kitchen_station not found, in the middle of
service.
Cause: kitchen stations — the grill, the bar, the pass — existed only as demo data, with no way to create one. A real store therefore had no station at all.
This is fixed. The first time you fire an order at a store with no station, one called Kitchen is created automatically and the ticket goes through. Two tills pressing send at the same moment land on the same station rather than making duplicates. Stations can also be created and renamed properly now.
If you still see this message, you are on an old build — update.
Send to Kitchen does nothing
What you see: you press Send to Kitchen (or F8), the ticket seems to accept it, but nothing appears on the kitchen screen.
Work through these in order:
- Look for the toast. A successful fire says "Sent to kitchen · #1042 · 3 items — still on this table". If instead you got "Could not send to kitchen", the till could not reach the server — go to step 2.
- Check the connection pill in the POS status bar. It reads Online or Offline. Offline means the till cannot reach the API: check the counter machine's network, and whether the server address is right.
- Check the kitchen screen is on the same store. The kitchen display shows tickets for one store; a screen pointed at the other branch will never show yours.
- Check you are not in demo mode. A till opened without a real store and register selected runs as a demo: it will happily show a "sent" message that never leaves the machine. Go through the store and register picker properly and try again.
- Check the items were new. Send to Kitchen only sends what has not gone yet. If everything on the ticket has already been fired, the button is guarded and nothing new is sent — which is correct, and stops the kitchen cooking a course twice.
A card payment is refused for being a penny out
What you see: the amount looks right but finalizing is refused with one of two messages.
| Message | What it means | Fix |
|---|---|---|
| "Insufficient tender: paid 24.99 < due 25.00" | The tenders add up to less than the bill. A penny short is still short. | Take the difference, or edit the card amount to the exact figure the message quotes as due. |
| "Overpay requires a cash tender for change" | The tenders add up to more than the bill, and the only way the till can give change is out of the drawer. It will not pretend to give change on a card. | Reduce the card amount to the exact bill, or add a cash tender that the change can come out of. |
Why it happens: the bill is calculated at more decimal places than your currency has coins, then rounded to what can actually be handed over. If a cashier types a card amount from a screen that was showing the unrounded figure, it can land a penny out. The message always quotes the exact figure due — key that.
Adding a penny to the card tender to get past the first message just produces the second one. Match the card tender to the amount the message calls due.
Nobody in the company can sign in
What you see: every user, on every till, gets: "Contact Super Admin to re-enable your account". Passwords, PINs and badges all fail the same way.
Cause: the company itself has been suspended at the platform level. Credentials are still checked — this is not a password problem — but the session is refused after that because the company is not active. Every login method is blocked, so there is no way in through a manager account.
Fix: contact whoever runs your tech-pos platform to reactivate the company. Nobody inside the company can undo it. Suspension is usually a billing matter, so check Billing once you are back in.
Other login messages mean quite different things:
| Message | Meaning |
|---|---|
| "Invalid company id, email, or password." | An ordinary wrong credential — one of the three is wrong. |
| "Invalid store PIN. Check the register and try again." | Wrong PIN at a register sign-in. |
| "Invalid badge barcode. Check the company id and try again." | The badge is not recognised for that company. |
| "Badge scanned too quickly. Wait a moment and try again." | The same badge was scanned twice within moments — a replay guard, not a fault. |
| "Signups are temporarily closed." | New company sign-up is disabled on this platform. |
The scanner types into the wrong box
What you see: a barcode appears in the search field, the customer name box, or a quantity field instead of adding an item — or the digits go nowhere at all.
Cause: a barcode scanner is a keyboard. It types wherever the cursor happens to be. The till keeps the scan box focused and quietly takes focus back whenever nothing else is selected — but it will not steal focus from another field that someone has deliberately clicked into.
Fix:
- Press Esc or click an empty part of the till to leave the field you are in. The scan box takes focus back on its own.
- Scan again.
- Train the habit: finish what you are typing before you pick up the gun. The most common cause is a half-finished search or discount dialog left open.
If the digits appear but nothing happens when the scan finishes, the scanner is not sending Enter. Set its suffix to Enter / CR — see Hardware & card machines, which also has a detect tool that tells you exactly which half is wrong.
There is no Email or SMS button on the receipt
What you see: after a sale the only option is Print. The "Also send digitally?" block is missing altogether.
Cause: the channel has no provider configured, so the button is hidden rather than shown. This is on purpose — a send button that only writes to a log is worse than no button, because the customer walks away believing they have their receipt.
Fix:
- Email missing — the platform has no email provider key. Ask your administrator to configure it.
- SMS missing — either the platform has no SMS carrier configured, or this store has Enable SMS receipt delivery switched off in Settings → Receipt & branding. Both must be true.
You can still check the wording meanwhile: the receipt preview in Settings keeps its Email and SMS tabs and warns "Preview only — no sms provider is connected yet". See Email, SMS & keys.
Other things that look broken but are not
| Symptom | Explanation |
|---|---|
| A cashier cannot type a coupon code at the till | Correct — there is no coupon entry in the POS. The only discount at the register is Disc % on a line. See Promotions. |
| An invited user never got an email | No invitation is sent. The user is created immediately with a temporary password shown once on screen. See Companies, stores & registers. |
| "Plan limit reached for registers (3/3)" | Your package's cap. Upgrade, or remove one you are not using. |
| The Save button on card credentials is greyed out | Credential encryption is not enabled on the server. It refuses rather than storing a secret in the clear. |
| A product will not sell — "out of stock" | The store has Allow selling when out of stock turned off and the item is at zero. Adjust the stock or change the setting. |
| Pay later is refused | "Attach a customer before Pay later", and the store must have deferred payment enabled. |
| Stock is there but cannot be sold | Some of it is reserved by a hold. Availability is on hand minus reserved. See Stock & holds. |
| Two reports disagree about the same day | They exclude different things on purpose. The comparison table on Reports explains which. |
| An .xlsx upload is rejected | Only CSV is accepted: "In Excel: File → Save As → CSV UTF-8, then upload that file." |
| A purchase order cannot be cancelled or edited | Correct — neither exists. Raise a new one and do not receive against the wrong one. |
When you have to call for help
Have these to hand — they turn a twenty-minute conversation into a two-minute one:
- The store and register named in the header.
- The exact message on screen, word for word.
- Whether the connection pill said Online or Offline.
- The sale number, if a sale was involved.
- What you had done immediately before it happened.