Troubleshooting & support
What the messages the app shows you actually mean, what to do about each one, and how to reach a human.
7 min readCashierManager
At the till
Each branch here matches a message the till actually shows you. Start at the top and work down.
Read this diagram as text
- Place Order does nothing, or is refused → Any items in the cart?
- Any items in the cart? → Add an item (no)
- Any items in the cart? → Does the total still say Calculating…? (yes)
- Does the total still say Calculating…? → Wait a moment, then place again (yes)
- Does the total still say Calculating…? → Any split-payment lines entered? (no)
- Any split-payment lines entered? → Make them cover the total exactly (yes)
- Any split-payment lines entered? → A discount code applied? (no)
- A discount code applied? → Check the code's dates, days, hours, minimum and usage limit (yes)
- A discount code applied? → Is the offline banner showing? (no)
- Is the offline banner showing? → Take it on paper; ring it up on reconnect (yes)
- Is the offline banner showing? → Note the message, order number, branch and time, then contact support (no)
| Message | What to do |
|---|---|
| Cannot place order, add items to cart | The cart is empty. Add at least one item. |
| Wait for the final total to finish calculating | The server is still pricing the basket. Give it a second and place again. |
| Split payments do not cover the order total | Your tender lines add up to less than the total. Adjust or add a line until Remaining to pay is zero. |
| Split-payment total cannot exceed the order total | You have entered more than the bill. Reduce a line — overpayment is not recorded as change. |
| Discount code "X" is not valid now | It has expired, is outside its day or time window, has hit its usage limit, or the basket is below its minimum. Check the discount in Dashboard → Discounts. |
| Not enough loyalty points to redeem | The balance changed — often spent on another terminal. Re-check the customer's points and redeem fewer. |
| Inventory item is missing a selling price | The item has no price on its record. Set one in Dashboard → Inventory. |
| Variant does not belong to this catalog item | The chosen size is attached to a different product. Re-pick the item and its variant. |
Orders and refunds
| Message | What to do |
|---|---|
| Payment must be received before this order can be completed | Record the payment first — including all split-payment lines — then set the status. |
| This order is closed and its status can no longer change | It is already refunded or cancelled. Raise a new order rather than reopening it. |
| Only paid orders can be refunded | There is no money to return. Cancel the order instead. |
| This order has already been refunded | The reversal has already happened. Check the order's history before refunding again. |
| You do not have permission to refund orders | Ask an owner, admin or branch manager — or have them grant you the Refund orders permission. |
M-Pesa
The rule that keeps you safe: goods leave only after the order itself shows as paid.
Read this diagram as text
- Customer says the money left their phone → What does the order say?
- What does the order say? → Paid — release the goods (paid)
- What does the order say? → Pending: confirmation has not arrived (pending)
- Pending: confirmation has not arrived → Failed: declined or timed out
- Failed: declined or timed out → Open the order's transactions
- Open the order's transactions → Hold the goods and take another tender, or retry the push
| Symptom | Likely cause and fix |
|---|---|
| Order saved, but M-Pesa was not started | The branch has no configured, enabled M-Pesa provider, or the credentials were rejected. Check Organization → Branch → Settings → Payments and run a test payment. |
| No prompt on the customer's phone | The captured number is wrong, or the handset has no network. Confirm the number and retry. |
| Customer says they paid but the order is still pending | Confirmation has not reached Wezo. Open the order and check its transactions before releasing goods. |
| Payment status shows failed | The push was declined or timed out. Take another tender; do not hand over goods. |
Shifts and reconciliation
| Message | What to do |
|---|---|
| You already have an open shift. Clock out first. | You are still clocked in — possibly on another terminal. Clock out, then clock in again. |
| No open shift to clock out from | Your shift was already closed, sometimes by a reconciliation. Check the shift list. |
| Shift not found | The shift belongs to another branch. Switch to the right branch and try again. |
| Expected figures look wrong | They are computed from that shift's own payments. Check that cashiers were clocked in and that custom tenders are mapped to the right bucket. |
Connectivity and sessions
- Offline banner: the terminal has lost its connection. Screens keep loading from cache, but orders cannot be saved until it returns. Take the sale on paper and enter it when you reconnect.
- Signed out unexpectedly: the session timeout has elapsed. Sign back in, and raise the timeout in Dashboard → Settings if the till locks too aggressively.
- Kitchen board looks frozen: check the Live indicator, then press Refresh. If the tab has been open for days, reload it.
- Prices or stock look stale: reload the page. The catalog is read fresh from the server on load.
Before you contact support
Note the exact message on screen and the order number involved.
Note the branch, the terminal and the time it happened.
Check the audit log for what was recorded around that moment.
Say what you expected to happen and what happened instead.
Contact us
- Email: info@cada.ke
- Phone: +254 701-007-079
Never share your password
Support will never ask for your password, an M-Pesa PIN, or an authentication code. If someone does, it is not us.