Counter Billing & Tenders
Build a bill, take cash or UPI, record a manual card payment, split cash and UPI, and manage customer udhaar.
Use the counter to build one bill and record how the customer paid. Check the bill and any money already received before choosing another payment method.
Screen: Open /pos directly in either admin skin. Sign in with your PIN. Use More for header actions (see Use the More menu) and open
Bill to review the bill details. In Big buttons mode, use View bill, then
Next and Previous to inspect all bill rows across pages. The pair is drawn only when there is more than one page.
Long store names on a phone. On a phone, a long store name in the counter header wraps onto two lines (in slightly smaller text) instead of being cut off after the first, and the header does not grow taller. If the sync status beside it is long, the name still has two lines to use. Nothing needs to be set; this is automatic.
Use the More menu
Screen: Open /pos. The left rail starts with Home, has More after its page buttons, and keeps Lock at the bottom. More opens a panel beside the rail on every screen size.
Open More
Select More on the rail. On a screen 768 px wide or wider the page beside the rail dims; select the dimmed area (or More again, or press Escape) to close the panel without touching the page underneath.
Pick a destination in the first group
The top group holds the places you go. It starts with Return, then the destinations the current screen does not already offer itself: Add items, Udhaar and Pickups. Each of those three appears once only: when the counter's own list (below) already carries one, the shared copy is left out, so you never see two Add items, Udhaar or Pickups rows. The counter adds the entries that apply to this store and screen, for example Online N, Pickups N (or Pickup history N), Add discount, Tables, Service packages, Today’s appointments, New walk-in, Today, Choose customer. Selecting any entry opens it and closes the panel.
Change counter settings below the divider
A thin divider separates the destinations from the settings. First comes the Language row, which reads the current language (for example Language: English); tap anywhere on the row to open the language list. Under it are the counter preferences that apply: the order-sound toggle (Turn on order sound / Turn off order sound), This counter’s stock location, and Big buttons. When the panel is taller than the screen it scrolls inside itself.
Leave for Admin from the bottom
The last entry is Exit to Admin, pinned at the bottom of the panel under its own divider: when the panel is taller than the screen, the entries above scroll and Exit to Admin stays in view (a soft fade over it shows there are more entries below). It locks the counter and takes you to Admin; it does not close the register, and the bill you are ringing up stays saved on this device. A box titled Leave the counter? appears first only when the bill has items or bills are waiting to be sent; Stay at the counter cancels, Lock and go to Admin leaves. Full steps and troubleshooting: Leave a signed-in counter for Admin.
Why does the menu show only one Add items, Udhaar or Pickups row? The shared rows hide when the counter screen you are on already lists the same destination in its own group, so each appears exactly once. If you cannot find one, look in the counter's own group of entries before assuming it is missing.
Leave Add items with Home. When you opened the catalogue with More → Add items, select Home on the rail to leave it. You land on the counter and the bill you were building is still there.
Build and check the bill
Choose the customer when needed
Select Choose customer, find the customer's card, then select Add to bill. Follow Attach a customer to the current bill below to search, check eligibility or recover from a refused attachment. To create a customer, select New customer, enter Name and Mobile number (required), then Save and attach to bill. Cancel leaves customer creation without adding a customer. A named customer is required for udhaar; you can otherwise continue a counter sale without one.
Add products or variants
Tap an item tile or use Search or scan on the ordinary counter. On the standard tile grid the
small code under an item is the product's short code when the catalogue has one; otherwise it is the
first letters of the first two words of the item's name (for example BS for Blue Shirt). It is never
the product SKU. Choose the correct variant if the
product offers more than one. Product names, prices and stock come from your shared catalogue;
see Products, Inventory & Categories.
Search or scan matches what you type against the product's POS name, its name and its SKU, and against each variant's SKU, barcode and option values (for example a size or colour). Letter case does not matter. The results keep the order of the counter's catalogue.
- A variant matched (you typed a variant SKU, barcode or an option value): the result row
shows the product name followed by that variant's options, for example
Shirt · M / Blue, with the variant's own SKU and price. Tapping it adds that exact variant to the bill without opening the variant chooser. Measured or by-weight items open the quantity entry for that variant instead. - Only the product matched (you typed its name or product SKU): tapping the result opens the variant chooser so you pick the variant yourself.
- A variant is out of stock: its result row is disabled and cannot be added, unless the product is set to keep selling when out of stock (see Sell past zero stock below).
Search looks only at the catalogue loaded on this counter. It is switched off, and tapping a result does nothing, while the counter is locked, the add-on has lapsed, a payment is being recovered, a bill is saving, or a chooser or quantity entry is already open. Finish or close that first.
Review quantities and totals
Use the quantity buttons to add or remove units. Open an item to use Quantity, Remove, Cancel or Done. The ordinary item editor accepts whole quantities of at least one; measured quantities are not supported through a connected scale control. Price is editable only for a free-text item when your counter allows it; catalogue prices remain controlled by the catalogue. Review Subtotal, Discount, GST, Round off and Total before payment.
Correct or hold a bill
Use Undo last item for the last addition, or Hold when the customer needs more time. When the basket holds a weighed item, POS re-totals the bill with the weighed charge after you tap an item. Undo last item stays available through that re-total: tap an item and it still reverses that addition (the line, or the extra units if it merged into an existing line). It becomes unavailable only when the last addition can no longer be matched on the updated bill.
On a phone (599 px wide or less). The bill opens as a sheet above the payment bar. The totals and the action row stay pinned just above the payment bar, with Undo last item beside the Hold and Discount buttons, so they are never hidden behind it. The item lines are the part that shrinks: on a short screen (about 700 px tall) the list is only a few rows high and scrolls inside the sheet, with a soft fade at the bottom edge. Scroll the list to reach the earlier items; you do not need to scroll the page to find Undo last item.
To resume, open See kept bills or Kept aside, then select the bill under Held in Orders and choose Resume bill. See the steps below for a bill you have already saved.
The counter on a phone
These changes apply on a phone-width screen (480 px wide or narrower). A wider screen keeps the layout described in the rest of this page. Big buttons mode keeps its own payment bar; its one difference on a phone is the Gift cards tile described below.
Catalogue: search first, shortcuts in a strip. When the counter shows the catalogue of items to add, the search and scan bar is one row: the search box fills the row, with the camera button (Scan with camera, an icon inside the right end of the box) and two icon-only buttons, Beep on scan (a speaker) and Close (an X). All three targets are 44 px square. The speaker is a switch: it is tinted when the scan beep is on and drawn with a cross when it is off. Neither icon shows a word on the row; hover for the tooltip, and a screen reader hears Beep on scan and Close. Close leaves the catalogue search exactly as the text button does on a wider screen. The shortcut cards (such as Open item, whose hint reads Any amount) follow as a single row you swipe sideways, so the first products are on the first screen instead of far below. Each card keeps its full name; only its small hint line is hidden. The search box's hint, Search or scan, is shown whole at phone width; a longer translated hint ends in an ellipsis instead of a cut letter. On very narrow screens (340 px wide or less) the hint reads just Search, so it is not cut off; the full phrase stays as the field's accessible name.
The note above the tiles goes once the bill has an item. The one-line New items first note above the product tiles is for a fresh, empty bill. As soon as the bill holds one item it is hidden on a phone so the tiles get that line. It returns when the bill is empty again. Wider screens are unchanged.
Open item has one home. On the ordinary tile counter, Open item is a shortcut card and Discount is on the bill, so the separate Open item and Discount button pair that used to sit under the product grid is gone. The pair still shows on the Big buttons counter and on the scan-first counter, which do not have those cards. At 440 px wide or narrower the shortcut cards are compact chips in that one sideways row; each chip keeps its full name and none of the words wraps.
An empty bill shows no helper chips. The helper buttons under the bill list (such as item details, voice entry and the card-machine entry) act on the current bill, so none of them is drawn until the bill has at least one item; the note about adding items before using the card machine is gone with them. Greyed-out buttons in the bill panel and on the counter's action tiles are a solid muted fill; the payment bar (Cash, UPI, Card and the rest) still draws a greyed-out button with a dashed outline. The main Charge · amount button is solid muted when it is greyed out too (for example on an empty bill), never dashed, and a greyed-out helper chip keeps a solid border. If you cannot see a helper chip, add an item to the bill first.
Helper chips scroll in one row on a phone. On a phone-width screen (480 px wide or narrower) in standard mode, the helper chips under the bill list (such as Item details, voice entry and the others that appear once the bill has an item) are one 44 px row that you swipe sideways, instead of stacked buttons that used up the catalogue's height. Each chip keeps its full name on one line. Big buttons mode keeps its own layout. If a chip seems missing on a phone, swipe the row sideways.
Phone catalogue: two columns, down to 320 px. On a phone-width screen (480 px wide or narrower) in standard mode, the product tiles are always two columns, so about four tiles show per page even on a 320 px screen, instead of one tall column of two tiles. Big buttons mode, the sideways strip and the list layout keep their own columns. A product with no picture does not reserve space for an icon: its full name runs across the whole tile over up to two lines (a tile already on the bill keeps its count badge). At 480 px or narrower the grey placeholder icon is dropped as well; a real product photo stays. The category chips scroll sideways, and their right edge fades out to show that more are off screen; swipe the row to reach the last chip.
Previous and Next only when there is something to page. The pager under a list of tiles or bill rows now reads Previous and Next (it used to read Back a page and More details ↓) and is drawn only when the list has more than one page. A product grid that is on its first page with nothing to go back to shows no pager. If you cannot find a pager, the list fits on one page.
Desktop catalogue tiles fill the area. On a screen 1024 px wide or wider (standard mode, not Big buttons), the paged product grid fits as many whole rows as the space allows and stretches those rows to share it, so leftover height makes the tiles taller instead of leaving a gap above the pager. A tile never gets shorter than 168 px (it was 184 px), so a window about 354 px tall for tiles, such as a 1536 by 864 screen, now fits two rows instead of one very tall row, and a shorter window shows fewer rows per page and more pages. Phones and tablets keep fixed-height rows.
Pay on a phone: Cash first, everything else in a sheet. At the payment bar, Cash is the one filled button, showing the amount, with its More cash options arrow beside it. The other methods are behind Other ways to pay. The three sit side by side in one short row (each at least 44 px tall) rather than stacked, so a bill with items still leaves room for two rows of product tiles; the small icon on Cash is dropped on a phone and its label and amount stay. Selecting Other ways to pay opens a sheet with the same title:
Open the sheet
Select Other ways to pay. A sheet opens listing UPI, Card, Split payment and Udhaar. If gift cards are switched on for the store, Redeem gift card, Sell gift card and Check gift balance are listed in the same sheet, under a divider.
Pick the method
Select the method. The sheet closes first, then that method's own screen opens, so only one payment screen is open at a time. Each button keeps the rules it has on a wider screen (for example Redeem gift card still needs an item on the bill; see the sections below for each method).
Leave without paying
Select Close. Nothing is recorded and the bill is unchanged.
On a screen wider than 480 px, UPI, Card, Split payment and Udhaar stay in the payment bar and the gift buttons stay beside it, as described below. In Big buttons mode UPI, Card and Udhaar stay in the payment bar but Split payment is not on it (open View bill for the split action), and on a phone the separate gift buttons are replaced by one Gift cards tile: select it to open a sheet titled Gift cards with Redeem gift card (it still needs an item on the bill) and the Sell gift card and Check gift balance actions. If the store does not use gift cards the tile is not shown, and standard mode keeps the gift buttons in the Other ways to pay sheet. Selecting Redeem gift card closes the sheet before the redeem screen opens. Esc closes the open gift dialog (sell or check) first and returns focus to its Sell gift card or Check gift balance button; a second Esc closes the sheet itself and, in standard mode, returns focus to Other ways to pay. This applies in both modes. If the Other ways to pay button is greyed out while the bill cannot be charged, resolve the reason shown for Cash first (an unfinished payment, a locked counter or lapsed access).
Sell past zero stock, or not
The counter follows the product's own setting. A stock-tracked item can be sold past the stock count shown on the counter only when the product is set to Keep selling when out of stock. If that switch is off, the counter refuses the add and nothing reaches the bill.
Turn it on for a product (owner or manager)
Open the product
In Admin, open Products, then select Edit on the product's card (or Add product for a new one), and go to the Pricing & stock card. This switch is on the new admin's product editor; the classic admin's product dialogs and detail page do not have it. The full setup is in Inventory & Stock.
Set Track stock and Keep selling when out of stock
Track stock decides whether the product has a stock count at all. Keep selling when out of stock decides whether a tracked product can be sold at or past zero. Turn Keep selling when out of stock on to allow it; leave it off to refuse it. The switch is off by default.
Save product
Select Save product. The counter picks the change up the next time its catalogue loads, so a counter that is already open may need to refresh its catalogue before it stops or starts refusing.
A variant follows its product's switch. The admin product page has one Keep selling when out of stock switch, shown on the product.
What the cashier sees
The same rule applies on every way of adding to the bill: tapping an item tile, a Search or scan result, the variant chooser, a barcode scan, the quantity buttons on a bill line, and weighed or length-based items. The counter checks the whole bill, so two lines of the same item count together.
| You do this | Product not set to keep selling | Product set to keep selling |
|---|---|---|
| Tap a tile or search result for an item at zero stock | The bill shows <item name> is out of stock. followed by This product isn't set to sell when out of stock. for a few seconds; nothing is added | Added as normal |
| Add or raise a quantity past what is left, with some stock remaining | The bill shows Only <number left> of <item name> in stock. followed by This product isn't set to sell past its stock count. for a few seconds; the quantity does not change | Quantity goes up |
| Pick a variant at zero stock in the variant chooser | See The variant chooser below: the refusal names the variant, for example Mug · Blue is out of stock. This product isn't set to sell when out of stock. A variant result in Search or scan is disabled | The variant is added |
| Scan a barcode of an item at zero stock | The refusal names the item, for example Basmati 5 kg is out of stock. This product isn't set to sell when out of stock., or Only 2 of Basmati 5 kg in stock. This product isn't set to sell past its stock count. when some is left. Nothing is added | Added as normal |
| Enter a weighed or length-based quantity above what is left | The same refusal lines (zero stock, or only some left); the item is not added | Added as normal |
The bill you were building is kept. Only the refused add or increase is dropped, so remove nothing and carry on with the other items.
Items tracked by lot are refused on the same tap. When the item is tracked by lot and the add
would go past the usable lot stock, the counter refuses it straight away, on a tile tap, a Search or
scan result, a barcode scan and the bill on a phone, rather than waiting for Charge. The
refusal uses the lot wording, not the Only <number left> of <item name> in stock. wording:
Not enough usable stock in batches. Check batch stock. when none is usable, or Only N usable in
stock batches. Check batch stock. when some is. Other items keep the wording in the table above.
The refusal is shown once. On the scan-first counter, a refused scan is worded under the Barcode box (see The scan box) and nowhere else. A refusal from a tile, the variant chooser, a quantity stepper or a weighed entry appears in the bill column. It clears itself after about six seconds, or as soon as the cashier starts typing in Search or scan.
The variant chooser
The chooser opens when you tap a product that has variants. It has two layouts:
- One option (for example Size only), or any number of options other than two: a row of chips. Each chip shows the variant's own name (its
options, for example
M; a variant saved without options shows its SKU), its price, and its stock count when one is known. When the variant has a SKU that differs from the name, the SKU appears in smaller text under the name, so two similar variants can be told apart. - Two options (for example Size and Colour): a grid. The first option runs down the left as row
headings and the second runs across the top as column headings, so the variant's name is the heading
pair (for example
MandBlue). Each cell holds one chip with only its price and stock, with no name of its own.
In both layouts a variant at zero stock gets a Not in stock tag, and its price (and its name, in the one-option row) is muted and struck through. That is only styling: the chip is still tappable on the tile-opened and scan-first chooser, so tapping it gives the named refusal below. What a tap does depends on where the chooser was opened:
- Opened from a tile on the ordinary counter (there is no Add button): tapping a chip adds
that variant straight away and closes the chooser. A zero-stock chip is struck through but not
disabled, so you can still tap it. The counter then refuses the add and the bill column shows the refusal with the product and
variant joined by a dot,
Mug · Blue is out of stock. This product isn't set to sell when out of stock.Nothing reaches the bill. - Opened on the scan-first counter (the Scan an item layout): tapping a chip only selects it; the Add button for that variant (labelled with the variant's name) then adds it. A zero-stock variant can still be selected and added, and the same named refusal appears.
- Opened from the catalogue screen titled Add items: a zero-stock variant whose product is not set to keep selling is disabled (dimmed and not tappable), and the Add button stays disabled until you pick a variant that can be sold.
A variant that is set to keep selling (or inherits that from its product) is added in every case.
The scan box (scan-first counter)
On the scan-first counter the Scan an item panel has a Barcode box and a Find item button.
When a scanned or typed code is for an item the counter must refuse, the panel shows the named refusal
right under the box, in place of the "added" line, and the box is emptied ready for the next scan. The
bill column does not repeat it. A variant barcode names the variant the same way
(Mug · Blue).
An item that does not track stock is never refused, and neither is an item whose stock count is not known to the counter. Bills sold while the counter was offline are not refused when they sync: those sales already happened at the counter (see Bill during an internet outage). While offline, the check uses the stock counts last loaded on the counter.
Mark a counter bill as takeaway
Screen: /pos counter, on the bill you are building. The Takeaway button appears in the notice area at the top of the bill whenever the store has the restaurant add-on active. The test is the store, not the counter: it shows on every counter of that store, including a counter you mainly use as a plain retail till, and it is not hidden for any counter type. A store without the restaurant add-on sees no such button and nothing about its counter sales changes.
Start the bill as usual
Add items for the customer. Takeaway is off on every new bill, so an ordinary counter sale on a restaurant store is unchanged unless you choose it.
Press Takeaway before the first save
Select Takeaway. The button stays pressed, and the line beside it reads Mark this bill as a takeaway order. It prints with the takeaway tag and goes to the kitchen on settle. Select it again to switch it off while the bill is still unsaved.
Charge or keep the bill aside
Take payment or Hold as usual. The first save sends the takeaway choice with the bill, and the bill is a takeaway order from then on.
Check that it is locked
Once the bill is saved, the button is greyed out and the line reads Takeaway is fixed once the bill is saved. A takeaway bill you recall from Kept aside opens with Takeaway already pressed and locked.
Check the receipt
A takeaway bill's receipt carries a Takeaway line. On the paid screen's Receipt panel it sits directly under the store name; on the printed copy (thermal print) it sits under the receipt title. The word is shown in the language of the receipt: the Receipt panel uses your cashier language, and the printed copy uses the language chosen in Print options (see Receipt Languages). A dine-in or retail bill has no such line.
| Question | Answer |
|---|---|
| Why is there no Takeaway button? | The store does not have the restaurant add-on active (the counter's type does not matter, so a retail counter in a restaurant-active store does show it), or the counter has not finished loading the store's capabilities. Reload the counter; if it is still missing, ask the owner to check the restaurant switch (see POS Settings). |
| Why is Takeaway greyed out? | The bill is already saved (held, or payment started), or the screen is busy saving or collecting a payment. The mode cannot be changed after the first save. |
| Why doesn't my receipt say Takeaway? | The bill was not marked Takeaway before it was charged. The line is printed only on a bill that was a takeaway when it was first saved, and a saved bill cannot be switched (see the row below). A bill paid while the counter was offline may not show the line until it has been sent to the server and the receipt reloads. |
| I saved the bill without Takeaway | You cannot switch a saved bill to takeaway. Cancel the kept bill from Held (see Cancel a held bill) and start a new one. Table bills are created from the restaurant screen, not from this button. |
When the kitchen ticket does not reach the kitchen
A takeaway bill creates its first kitchen ticket at the moment you take payment, not before. If that ticket cannot be delivered, for example because no kitchen printer or station is set up for the store, the payment still goes through. The bill is settled and the customer is not kept waiting at the counter. The undelivered ticket stays flagged as an unresolved kitchen delivery, and an order with an unresolved kitchen delivery cannot be marked Ready for pickup or Handed over until someone confirms it (see Confirm a kitchen ticket was received and Pickup collection).
Because the ticket did not print, tell the kitchen about the order by hand. Do not assume it was sent.
When Charge says the kitchen has not confirmed the order
A bill that already had a kitchen ticket before you took payment (and a dine-in bill) keeps the older check: payment is refused while a kitchen ticket is open. When the counter refuses a payment for this reason, a notice appears with the sentence The kitchen has not confirmed this order yet. Confirm the kitchen receipt, then take payment again. and a Confirm kitchen receipt button under it. It replaces the generic error.
Select Confirm kitchen receipt
The Kitchen ticket dialog opens, with the line Show this ticket to the kitchen. Confirm only after the kitchen has received it; this does not confirm printing. Each unresolved ticket is listed with its station, table label and revision, the time, and its items.
Check with the kitchen, then confirm each ticket
Show the kitchen the ticket and, only once they have it, select Kitchen has received this ticket on that ticket. When the last ticket is confirmed the dialog closes by itself and the notice disappears. Close leaves the dialog without confirming anything.
Take payment again
Select the charge button again. The bill is paid as normal once no kitchen ticket is open.
If a confirmation does not complete you see The result is unknown. Retry the same action before making another change. and the button reads Retry same action; use it rather than starting a different action.
| Question | Answer |
|---|---|
| Why did the kitchen not get the takeaway order? | The first kitchen ticket of a takeaway is created when the bill is paid, and a payment is not held back if that ticket fails. Without a kitchen printer or station set up (the owner can check Kitchen stations in POS Settings), nothing prints. Pass the order to the kitchen by hand, then confirm the ticket as above. |
| Why does the Confirm kitchen receipt notice not go away? | It clears when the last open ticket in the Kitchen ticket dialog is confirmed, or when you change the bill. If the dialog shows That action could not complete. Reload the bill and check its current state before trying again., do that before confirming again. |
Restaurant table bills
A table bill follows the same rule as the counter, with the same product switch: a stock-tracked item is refused at zero or past its count unless Keep selling when out of stock is on for it. The restaurant screen checks an add or a quantity increase before it writes anything, and the server checks it again as a backstop.
When an item is refused, an alert above the table bill reads <item name> is out of stock. This product isn't set to sell when out of stock. (or Only <number left> of <item name> in stock. This product isn't set to sell past its stock count. when some is left). If the server refuses without
naming the item, the alert reads Out of stock. This product isn't set to sell when out of stock.
The table bill and the kitchen order draft are kept exactly as they were; nothing is half-added and
nothing is sent to the kitchen. The alert stays until the next change you make to the bill. Remove the
item from the draft, lower the quantity, or ask the owner to turn on Keep selling when out of
stock for it. A guest ordering by QR is held to the same product setting.
Out-of-stock tiles. On the restaurant menu tiles, a stock-tracked item that is at zero shows 0 left on its tile. The tile is not greyed out: tapping it gives the refusal above, or adds the item when it is set to keep selling when out of stock.
The on-screen check adds the quantity you are adding to everything of that item already on the table's bill (every line of it, not only the unsent ones) and compares the total with what is left.
Settle and Send KOT name the item too. The same alert appears when the server refuses a Send KOT
or a Settle because an item ran out after you added it. Settle first sets aside the counter's own
unsaved draft; if that draft holds an item the shop has since run out of, the alert names the item (several
items are listed separated by commas). With one item and some stock left it reads Only <number left> of <item name> in stock. This product isn't set to sell past its stock count. The table bill is left as it
was and nothing is sent or paid. Remove or lower the item, then try again. If the server does not say
which item, you see the plain Out of stock. This product isn't set to sell when out of stock.
Sending a table bill to the kitchen
On the restaurant counter the send button reads Send KOT · N items (Send KOT · 1 item for one). N is the quantity on the table's bill that has not been sent to the kitchen yet, so it counts the unsent lines on a table where nothing has been sent as well as the new lines added after an earlier send.
Send KOT and settle. While the table has unsent lines, the bill's payment button reads Send KOT and settle instead of Settle. One tap sends the kitchen ticket, re-reads the bill, and opens payment only when nothing unsent or undelivered remains; the separate Send KOT button is still there when you want to send without settling. If the send fails, or the bill still shows unsent lines or an unresolved kitchen delivery afterwards, payment does not open: fix the kitchen problem, then tap again. What you see depends on the blocker. When the kitchen printer failed (or its result is unknown), only the one kitchen alert shows (the Printing failed notice with Check kitchen receipt, or the kitchen card on the order pane, see below); the generic error is not stacked on top of it. When lines are still unsent, or the blocker is something else (for example a ticket still queued or awaiting confirmation), you see Could not update this table or kitchen ticket. The button is disabled while the counter is offline or its access has lapsed, when the signed-in role cannot take sales or send to the kitchen, and when the shop's stock setting defers stock handling. Once every line is sent, the button reads Settle again.
Reading the table bill footer. The totals sit in the footer of the table bill, in the same block as the buttons, so no bill row can end up underneath them. The Split and Discount buttons are in that same footer, in a row just above the totals and Payable; look there, not above the footer or in the order lines, when you need to split the bill or add a discount. On a desktop counter (900 px wide or wider) the footer is pinned to the bottom of the bill column, so the amount and the buttons stay in view while the order lines scroll. Only Payable is always showing, in large type. Subtotal, Discount (only when the bill has one), GST included (only when it has tax) and Round off are folded under a Bill details row; tap Bill details to open them and tap it again to fold them away. On a desktop counter (900 px wide or wider) the Payable label sits above the Bill details row on the left with the amount at the right, so the whole block stays short and the order lines keep their height.
Exactly one of the two payment buttons is filled in as the main action. When the settle path can run, that is Send KOT and settle (or Settle once every line has been sent), and Send KOT stays a plain button beside it. Send KOT takes the fill only when it can run and settling cannot. A disabled button never takes the fill, so a greyed button never looks like the main action; if both are disabled, neither is filled, but the button that would be the main action carries a muted teal tint and a teal edge while it is greyed out, so the screen still shows which step comes next. On a phone, the bottom bar's Bill button is the filled teal one and Items is outlined. If you expect a filled button and see none, read the reason in Why did Send KOT and settle not open payment?.
One kitchen alert only. The amber alert card appears only while a kitchen delivery is unresolved; when every ticket is resolved the pane shows no kitchen bar at all, never an empty one. When a sent ticket is unresolved, the order pane shows one tinted, bordered alert card: a title row with each station and its state (Printed at kitchen, Sent to kitchen, Queued for kitchen or Kitchen delivery failed) and Confirm kitchen receipt on the same row, then a single sentence: Confirm once the kitchen has the ticket, and do not send another ticket meanwhile. The card is compact: the sentence shows as one line (cut off with an ellipsis) beside a More button. Select More to read the whole sentence, and Less to fold it back; a screen reader reads the full sentence either way. On a desktop counter the title and both buttons share one row; below 900 px the title takes its own line and the two buttons sit side by side beneath it. The card now carries Check kitchen receipt too whenever the separate Printing failed banner is hidden. That banner is hidden while the card is on screen: on a desktop counter (900 px wide or wider) and on a phone's Bill panel. On a phone's Items panel, where the card is out of sight, the banner shows instead and carries Check kitchen receipt. So you never see two kitchen alerts at once. What to do when kitchen delivery fails: do not send another ticket; ask the kitchen whether the ticket arrived, then select Confirm kitchen receipt (or Check kitchen receipt to re-read the bill) and, once it is resolved, settle. The kitchen area of the order lists one row per bill line, with the item name and its kitchen state (Not sent to kitchen until it has been sent).
The bill's More sheet. Next to the payment buttons in the table bill footer, More opens More order actions, with a dimmed scrim behind it. Tap anywhere outside the sheet (the scrim included), select More again, or press Esc (focus goes back to More) to close it. When it opens, focus moves to its first available entry, and the up and down arrow keys, Home and End move between entries. The six entries are Save and print bill (the one filled entry), Save and send on WhatsApp, KOT and print bill, Save, no KOT, Move to another table and Item modifiers. Save and send on WhatsApp and Save, no KOT are greyed out; Move to another table is greyed out unless the counter can move tables. Save and print bill, KOT and print bill and Item modifiers are the entries that open their own dialog; Esc closes that dialog first.
The restaurant table and bill screens no longer show controls that never worked on this counter: Delivery on the table view, QR orders, Move or merge, Add table, Move KOT or items, Merge tables, and on a restaurant bill Undo last item and Offer. The POS customer card also no longer shows Remind or Edit. If you do not see one of them, that is expected; only the actions the screen offers are available. Moving a counter table bill from the bill's More menu is unchanged (see QR Table Ordering).
The restaurant bill's own button row still has Keep aside. It is active only while the table's bill is open, and it just leaves the bill and returns to the table list; the bill stays on the table. Beside it, Guest, Charge & tip and Tax settings are greyed out, with the note Guest, charge, tip and tax changes are unavailable. The original bill is retained.
The restaurant order view. When you open a table's order at /pos/restaurant, it no longer has an
order-type bar (the Dine in, Delivery and Pick up tabs) or a Return button; those
were disabled placeholders and are gone. A table order is a dine-in order, and returns are done
from the paid bill (see Returns & Exchanges). The row
of bill adjustments shows Discount, and Split only when it can be used. The row sits inside the table bill's footer, directly above the totals and Payable, so it travels with the pinned footer instead of floating under the Payable block (see Reading the table bill footer below). Both are drawn as
boxed buttons of equal width (not bare words), so they are easy to hit on a phone or tablet. Split appears only when it can be used: the store's
split-bill entitlement is on, the bill is an editable sale bill, it is not itself a share created by
an earlier split, and it is not frozen. When any of those fails, Split is not shown at all
(it is not greyed out). For the steps, see
Move a counter table bill or divide it equally.
On a phone. On a narrow screen (600 px wide or less) the table's menu is a single column: the categories become a horizontal strip above the menu that you swipe sideways, the item search and the short-code field share a row while both fit and wrap onto two rows when they do not, and the menu tiles fill the width (each at least 112 px wide). If you cannot see the next category, swipe the strip.
Table cards and menu prices on a phone. On a phone or other narrow window (899 px wide or narrower)
the floor view's table cards are never narrower than 150 px, so the grid drops to one or two columns
instead of squeezing three across. Each card keeps its table name, status, amount, guest count and timer
readable. When a card is too narrow for the label and the timer on one line, the timer drops under the
label at the card's right edge, and the amount and guest count stack. A measured item's price keeps its
rate and unit together on the menu tile: ₹120/kg is never split inside the /kg, and on a very narrow tile
the unit moves to the next line as a whole. There is no setting for this.
Long table names. A table name is kept whole on the floor view's table card and in the order
header (Table C42B-T1). It wraps only between words, never inside one, so a name such as
C42B-T1 is not split after its hyphen. A single word wider than its box is cut short with an
ellipsis (…) instead of spilling over; the full name is still the table's name, and it is read in full by
a screen reader.
If the shop has no kitchen set up, the send is refused and the Before sending to the kitchen panel shows The kitchen is not set up for this store yet, so this ticket cannot be sent. with Ask the owner to set up kitchen printing or the kitchen screen. Your bill stays here. under it. The bill is not changed; the owner has to set the kitchen up before this table can send tickets.
Kitchen delivery status and its actions are at the top of the order. When a sent ticket is still unresolved, the notices and buttons for it sit at the top of the order's list, above the first item group, so you do not scroll past a long bill to find them. On a window 900 px wide or wider (a desktop counter) the whole block sits above the order lines, outside their scrolling box, with a height limit of its own (28 percent of the window height) and its own scroll, so the lines keep their space; narrower than 900 px it sits at the top of the scrolling order list instead. They read, in this order: one line per station with its state (Printed at kitchen, Sent to kitchen, Queued for kitchen or Kitchen delivery failed) with Confirm kitchen receipt beside it, then the one sentence Confirm once the kitchen has the ticket, and do not send another ticket meanwhile. (and Check kitchen receipt when the Printing failed banner is hidden). The older separate notice Kitchen delivery is unresolved. Check the kitchen before collecting payment. and its Do not send another ticket while receipt is unresolved. line are no longer shown. The ticket revision line (Kitchen ticket · revision N), the per-item kitchen states and Cancel a prepared dish stay in the kitchen area below the items. There is no Retry same kitchen ticket button: it was a button that was always greyed out, so it was removed. Check kitchen receipt is offered exactly once: when the Printing failed notice is showing it carries the button, and the bill's own Check kitchen receipt under the unresolved-delivery text is hidden so the two never appear together. When there is no Printing failed notice, the bill's own button is the one you use. On a phone (899 px wide or narrower), while a kitchen delivery is unresolved the whole bill column scrolls as one, with the Split and Discount row pinned at the bottom, so the delivery notice and its buttons are never cut off or covered; scroll the bill to reach them. If a ticket may not have arrived, check with the kitchen and use Confirm kitchen receipt or Check kitchen receipt; never send a second ticket.
Confirm kitchen receipt opens the Kitchen ticket dialog, which lists each ticket by station with its lines and the note Show this ticket to the kitchen. Confirm only after the kitchen has received it; this does not confirm printing. Press Kitchen has received this ticket once the kitchen has it. When the last ticket is confirmed the dialog closes by itself; Close leaves it earlier.
Cancel a prepared dish
When a dish has already gone to the kitchen and then has to be taken off, the bill's kitchen area (below the items) shows Cancel a prepared dish. The panel records the dish as cooked waste: the ingredients do not return to saleable stock.
Open the table's order
At /pos/restaurant, open the table. Cancel a prepared dish appears only when the bill has at least
one item line whose sent quantity is above its already-cancelled quantity and whose kitchen state is
Sent to kitchen or Printed at kitchen. A table with nothing sent, or where every sent dish is
already cancelled, does not show it. The button is greyed out while the counter is offline, locked or busy, while an earlier send or edit on
the table has an unknown result, when the bill is no longer open, and when your role may not cancel an
unpaid bill's dishes; ask the owner if it stays grey.
Pick the dish and quantity
Select Cancel a prepared dish. The panel of the same name opens with the table and bill number at the
top, the note Mark as cooked waste. Ingredients will not return to saleable stock., and three fields.
Dish is a list of the sent dishes that can still be cancelled; Quantity starts at 1 and must be a
number above zero, with at most three decimals, and no more than the quantity sent and not yet cancelled;
Reason is required (a blank reason keeps the button greyed out).
Review, then confirm
Select Review cooked waste. The fields lock and the panel reads Cancel N of Dish as cooked waste. (with your quantity and dish). Select Confirm cooked waste to record it, or Back to bill to leave without cancelling. When it succeeds the panel shows Prepared dish cancelled. Stock disposition is recorded by the server. Tell the kitchen as well; the bill records the cancellation so the table is not charged for the dish.
If you cannot see Cancel a prepared dish, nothing on the bill has been sent to the kitchen yet (remove an unsent line with the line's own remove control), or every sent dish is already cancelled.
If the panel shows The result is unknown. Keep this bill and check the same request., the connection dropped or the server errored while the cancellation was being sent. The fields stay locked and the confirm button now reads Check the same request; select it to re-send the same request rather than building a new one. If the panel shows Could not complete this action. Refresh the bill and review before retrying., the server refused the request or the bill could not be re-read afterwards: the panel re-reads the bill and returns to the fields so you can review again, and Refresh and review appears when the re-read itself failed.
Online orders are waiting for stock
When you send a table to the kitchen (or use Send KOT and settle) and the stock is set aside for
online orders that are waiting, POS opens the dialog Before sending to the kitchen instead of showing
the generic error Could not update this table or kitchen ticket. The dialog shows the table and bill
number, the notice Some stock is set aside for other orders. Check with the kitchen before continuing.,
and one line per ingredient: Available N · set aside N · waiting followed by the waiting orders as
one sentence, for example #1042 Ravi, and #1043 Meena (joined with "and" in the POS language, never an
ampersand).
- Back to bill closes the dialog without sending; the bill stays as it was, so you can let the online orders take the stock first.
- I checked · continue sends the ticket anyway, after you have checked with the kitchen.
The same dialog title appears for other send refusals, with different wording and a different second button: The kitchen is not set up for this store yet, so this ticket cannot be sent. (ask the owner to set up kitchen printing or the kitchen screen), Preparation is not ready. Check recipe setup or ingredient availability. with Refresh and review, and, when the result of the send is unknown (no connection or a server error), Check the same request. If you do not see the dialog, no online order is waiting for that stock; check the kitchen area of the bill instead.
Why did Send KOT and settle not open payment?
| What you see | Why, and what to do |
|---|---|
| A notice reading just Printing failed with a Check kitchen receipt button, and no other error | The kitchen ticket was sent but its delivery failed or is unknown. The kitchen alert is a single card on the order pane (the banner is hidden while the card is on screen, except on a phone's Items panel): it names the station and its state, carries Confirm kitchen receipt, and says Confirm once the kitchen has the ticket, and do not send another ticket meanwhile. Payment will not open until the kitchen delivery is resolved. Tap Check kitchen receipt to re-read the bill, then check with the kitchen. Once the kitchen has the ticket, use Confirm kitchen receipt on that card at the top of the order's list (it is greyed out when the bill is frozen or your role cannot resolve deliveries). Do not send a second ticket. When nothing is unresolved, tap Settle. |
| Could not update this table or kitchen ticket. | Either some lines are still unsent, or the blocker is not a failed print (for example a ticket still queued or awaiting confirmation). Tap Send KOT or Send KOT and settle again, and check the kitchen area of the bill. |
| The button is disabled | The counter is offline, access has lapsed, the signed-in role cannot take sales or send to the kitchen, or the shop's stock setting defers stock handling. |
Why can't the cashier sell this item?
| Question | Answer |
|---|---|
| Why can't the cashier sell an item that shows zero? | The product is stock-tracked and Keep selling when out of stock is off. Turn it on in Products → Edit → Pricing & stock and Save product, or receive stock first. |
| The switch is on but the counter still refuses | The counter may still hold the catalogue it loaded before the change; the refusal is decided from the stock and switch values the counter has loaded. Check you saved the right product, not another with a similar name. |
| Why did an item that showed stock get refused when the bill was charged? | The bill is checked again when it is saved or settled, against the stock of the counter's location at that moment. Another counter or an online order may have taken the last units since the tile last loaded. The bill is kept and no payment is recorded for it; reduce the quantity or remove the item, then charge again. |
I tapped to pay and the screen says Out of stock: <item names>. Not set to sell when out of stock. | The server refused the payment because an item on the bill is tracked, has run out, and its product is not set to keep selling. The message lists the bill's items it refused, as the bill shows them (a variant reads Mug · Blue). If the server does not say which, you see the plain Out of stock. This product isn't set to sell when out of stock. On the desktop bill column the alert sits just above Charge; on the phone and big-button layouts it shows as an alert elsewhere on the counter. On the UPI or split-payment collection sheet the same sentence is shown with no "The bill changed" notice and no retry button; use Back to bill. The bill is kept and no payment is recorded on it. If the customer has already paid by UPI or card outside the POS, do not charge them again. Close the sheet, fix the bill (lower the quantity or remove the item, or ask the owner to turn on Keep selling when out of stock for that product in Products → Edit → Pricing & stock and Save product), then record the payment already received for the corrected total with Take manual UPI or Record a card payment taken elsewhere. If the corrected total is lower than what the customer paid, refund the difference the store's usual way. |
| The scan shows a refusal under the Barcode box but the shelf has the item | The counter decides from the stock it has loaded. Check the count in Products, receive stock if the shelf is right, or turn on Keep selling when out of stock for the product. It clears itself after about six seconds. |
| The variant chooser let me tap a variant that is out of stock | On the ordinary tile counter and the scan-first counter the chip is struck through and tagged Not in stock but not disabled, so it can be tapped; the counter then refuses the add and names the variant. Only the Add items catalogue screen disables it. See The variant chooser. |
| A table add is refused even though the shop still has some of the item | The check totals every line of that item already on the table's bill with the quantity you are adding, and compares that total with what is left. Lower the quantity, receive stock, or turn on Keep selling when out of stock. |
| Redeem gift card is greyed out on the counter and its hint reads Add an item first | On a bill with no items the gift card action is disabled. Add an item and the hint changes to Sell or check and the action opens. It is also greyed out while the bill is still updating, while a payment is waiting on this device (see the banner row below), and while new sales are paused: the counter add-on has ended (Counter add-on has ended. You can still see bills and undo.) or offline selling is blocked (for example Offline access has ended. or Offline limit reached.). If the action is missing altogether, you are signed in as an order taker or the store does not have Gift cards and store credit on; see Gift cards and store credit. |
| A gift card was refused at the counter | When the shop has Accepting gift cards off, the gift sheet reads Gift redemption is paused for this shop, so a gift cannot pay for a bill right now. Take another payment method. Nothing is deducted from the card and no payment is recorded. Take another payment method, or have the owner turn Accepting gift cards back on under Availability at /settings/pos/gift-cards (see Gift cards and store credit). If the counter cannot read the program it shows the general This gift cannot pay for this bill. instead, which also covers a card or bill that is not eligible for another reason. |
| The screen says Not enough usable stock in batches. Check batch stock. or Only N usable in stock batches. Check batch stock. | The item is tracked by lot, and no lot that can be sold has enough left. This is a hard limit: Keep selling when out of stock does not change it. Lower the quantity to the number shown, or remove the item, and ask the owner to check the lots. See Why does the counter say the batch is out of stock?. The counter now shows this as soon as the item is added, not only at Charge. |
| A kept (held) bill is refused as out of stock when I try to pay it | The stock check runs when the bill is paid, against the stock at that moment. If another bill took the last units since it was kept aside, the payment is refused with the named message (Out of stock: <item names>. Not set to sell when out of stock.) and no payment is recorded. Whoever pays first gets the item. Lower the quantity or remove the item on the resumed bill, then charge again. |
| Why does the same item sell on one product and not on another? | The setting is per product. A product without the switch refuses even if a similar product sells freely. |
| Why was a sale accepted that took stock below zero? | Either the product is set to keep selling, it does not track stock, or the sale was made offline and synced afterwards. Check the product's Track stock and Keep selling when out of stock switches. |
Attach a customer to the current bill
Screen: At the counter (/pos), select Choose customer to open the customer picker at
/pos/customer. The Customers workspace navigation also opens this page. Your current cart
is kept while you find or change the customer; Current bill retained confirms this in the picker.
Find the right customer in this store
On Find customer, enter Phone number, then select Check recent customers. The button is greyed out until you type at least one digit, and the untouched form shows no error. This checks only eight recent POS udhaar customers; a phone not found here does not mean the customer is absent from your store. Select Search by name to open the directory and type in Name or phone. Choose the customer's directory row to open their card. For a recent phone match, select Choose. If Possible matching customers appears, check the names and phones and select Choose for the right profile; this does not merge profiles.
Check eligibility before attaching
Read the name and phone on the card. Same-store inactive, locked or merged-away customers cannot be attached, whether the counter is online or offline. In the directory, these rows are disabled and display the reason below the identity. Recent phone matches and possible matching customers also have a disabled Choose button and a reason when ineligible. An ineligible card cannot use Add to bill. Use the messages and recovery actions below instead.
Attach and return to the bill
For an eligible profile, select Add to bill on the card. When you came from the counter's Customers button, the counter returns to the bill straight away with the customer attached: there is nothing more to tap. When you opened the customer page another way, the card confirms This customer is on the current bill. and you select Return to bill to continue billing. Alternatively, Add to bill in the page footer attaches the customer and returns directly to the counter. Back to bill returns to the counter without attaching a newly viewed candidate. Opening a card or choosing a search result alone does not attach that customer.
Read a customer's visits on their card
The customer card (open from Search by name or a recent match) shows a row of summary tiles above the visits. The Loyalty tile shows a dash and Not enabled: loyalty points are not shown on the counter customer card, so do not read it as a zero balance. The spend tile reads Lifetime total unavailable when the counter cannot read that figure.
The card lists Recent visits · newest first. Select Full bill history for every visit, newest first, and Load older visits to go further back. Each row shows the bill or appointment, its date, where it happened (Counter, Online, Appointment, Udhaar or another channel) and the amount. What you can do on a row depends on the record:
| Row | Action or message |
|---|---|
| A paid or part-refunded counter bill | Receipt opens the original paid bill; Return at counter opens returns on that bill. On the receipt, Back to customer returns to the customer card. On the returns screen the ‹ arrow in the header closes returns and, when you came from the customer card, goes back to it. The Back button at the bottom goes to the Find bill step instead. |
| A booking bill, or an appointment that has a bill | Appointment opens that booking's bill. |
| An online order | Online orders are returned from the order page, not at the counter. |
| A fully refunded counter bill | This bill is already fully refunded. |
| An unpaid counter bill | This bill is not paid, so it has no receipt or return. |
| An appointment with no bill yet | No bill yet. Find this visit under Today's appointments. |
| An udhaar collection | No action. |
If the counter has Appointments, the card also has Walk in now. It opens the walk-in form (see Create a walk-in appointment) with this customer already filled in. It is disabled while the counter is offline or when the customer has no phone number or cannot be attached. One small note sits under it, and only one shows at a time. When the customer can be used for a walk-in it reads Future visits are booked by the owner from this customer's activity page in Admin. (this note also shows while the counter is offline). When the customer has no phone number or cannot be attached it reads Walk-in needs an active customer with a phone number. instead. The owner sees Open in admin, which signs in to the admin panel at the customer's activity page. There, Book next visit (shown when Appointments is active) opens Appointments → New appointment with that customer chosen. If the admin cannot confirm the customer belongs to this store, it shows We could not confirm that customer in this store. Search for them below. and you pick the customer by hand.
Read the attachment refusal
The same English reason is shown for a disabled customer and when an attachment is refused while working on the bill. Being online does not make an ineligible customer attachable.
| Customer status | Exact message | What to do |
|---|---|---|
| Inactive | This customer is inactive. Choose another customer or continue as walk-in. | Choose an eligible customer or continue without a customer. |
| Locked | This customer is locked. Ask the store owner, choose another customer or continue as walk-in. | Ask the store owner about the lock, choose another customer or continue without one. |
| Merged away | This profile was merged. Use the current profile when offered, choose another customer or continue as walk-in. | Switch to the surviving profile when offered, or use one of the other recovery actions. |
Recover while keeping the cart
When the refusal notice appears, choose the appropriate action:
- Use the current profile appears only when the merged-customer refusal supplies a surviving profile. It loads that profile and tries to attach it; the old merged-away profile is not attached. On the customer page, check the resulting card and This customer is on the current bill., then select Return to bill. This action is disabled while offline, while the counter is locked or its session has lapsed, or while the action is busy.
- Continue as walk-in removes the customer from the current bill. Continue the counter sale without a customer; udhaar still requires a named customer. This action is disabled while the counter is locked, its session has lapsed, or the recovery action is busy.
- Choose another customer opens the customer directory from the customer page, or the customer picker from the counter. Find an eligible profile and select Add to bill.
These recovery choices keep the cart; you do not need to rebuild the bill. Switching to the surviving profile is an explicit choice, not an automatic replacement. If that lookup or attachment fails, the notice says Could not load the current profile. Try again or choose another customer. Retry Use the current profile when available, or choose another customer.
Hold an unchanged saved bill
Screen: Stay on /pos for Hold. To find a saved bill, open See kept bills or
Kept aside to reach Orders → Held. Header actions live under More.
Resume and review the saved bill
Select the bill in Held, check its items and totals, then choose Resume bill.
In the bill preview a line for a variant shows the product name followed by the variant, for
example Shirt · M / Blue (or the variant's SKU when it has no options), so you can tell which
variant was kept.
The variant label shown under a line (its options, or its SKU when it has none) appears once. On the
bill, the paid-screen receipt and the pickup collection lines, it is left out when the line's own name
already contains it, so a line named Ceramic Tea Mug · C20-MUG-RED does not repeat C20-MUG-RED beneath itself.
Review quantities and any line or bill discounts, including the saved quantity for measured items.
Keep the bill aside again
Select Hold even if you have made no changes. You do not need to add an item, change a quantity or change a discount just to park the bill again. This also applies to unchanged saved bills with measured-quantity lines. When it succeeds, Bill kept aside confirms the action and the current draft clears so you can serve the next customer.
Return to the same saved bill
Open See kept bills or Kept aside, select the saved bill in Held, then choose Resume bill when the customer is ready. Review its current totals before taking payment.
A held bill has no Delete, but it can be cancelled. The preview of a held bill offers Resume bill (the main button), Resume to charge and Cancel bill. There is no Delete button. To deal with a held bill, resume it and take payment or select Hold to save it again, or cancel it (see Cancel a held bill). While the counter is offline the screen says Offline. Today and Pickups need a connection. Reconnect before resuming a held bill.
The Held list reads again from the server every time you open it (from See kept bills, Kept aside or the Orders sheet), so a bill cancelled or changed on another device does not linger there. After an edit to a held bill from the counter (for example removing a measured line), its row in the list follows the edit instead of showing the old item count until the next reload.
Cancel a held bill
Screen: /pos counter, Orders sheet (open See kept bills or Kept aside), Held tab.
Use this for a bill that will never be sold (the customer left, the cart was started by mistake).
Select the held bill
Select the bill under Held so its preview opens. Cancel bill is the red button beside Resume bill and Resume to charge. It is greyed out while the counter is offline or busy.
Give a reason
Select Cancel bill. A form titled Cancel this held bill? opens with the line The bill leaves Held and cannot be resumed. No payment was taken on it. Type a Reason (marked Required, up to 255 characters, for example e.g. Customer left). While the box is empty the line Add a reason to continue shows and Yes, cancel bill stays disabled.
Confirm or keep
Select Yes, cancel bill to cancel; the bill leaves Held and the list reloads. Select Keep bill to close the form and leave the bill untouched.
If the cancel is refused, the form stays open and shows the reason:
| Message | Meaning and what to do |
|---|---|
| You don't have permission to cancel bills. Ask the owner or a manager. | The signed-in role cannot cancel bills. Ask the owner or a manager. |
| This bill changed. Reload Held and check it before cancelling. | Another device changed the bill. Close and reopen Held, check the bill, then cancel again if it is still unwanted. |
| The kitchen already has this order, so it can't be cancelled here. Void it from the kitchen screen. | A restaurant bill whose kitchen ticket was sent cannot be cancelled from Held. |
| A payment on this bill is in progress or already taken. Finish or cancel that payment first. | Resolve the payment attempt before cancelling. |
| The bill could not be cancelled. Reload Held and try again. | Any other failure; nothing was cancelled. |
Cancelling a bill that is already cancelled is safe to retry. If the cancelled bill was the one open on the counter, the draft is cleared.
If saving fails, keep the current bill open and read the error; a failed save does not clear your draft. The error appears in a banner in the bill column with a Close button (an X) at its right. Select the X to dismiss it. The banner also clears by itself when you empty the bill or start a new bill, because a refusal belongs to the bill it was raised on. On a short screen the banner shows at most two lines; select Details to read the rest. Reconnect before saving if the counter is offline. If you see This bill changed on another counter, review the current saved bill before continuing with your edits.
The Orders sheet (tabs Held, Today and Pickups) opens over the counter. The whole screen behind it, including the top bar (its Lock button) and the left rail (Home), is dimmed with a light scrim, so those controls look inactive: they cannot be used until the sheet is closed. Tap anywhere on the dimmed area to close the sheet and return to the counter; this is the same as the sheet's Back to counter button, which the sheet shows on an empty list and under a bill selected on the Today or Pickups tab. Taps inside the sheet itself do not close it. To resume a bill, select it and use Resume bill (or Resume to charge) in the sheet.
Review a paid sale in Orders: Today
Screen: Stay on /pos. Select See kept bills or Kept aside to open Orders, then
select the Today tab. A number badge on the tab shows how many paid sales it lists. Today needs a
connection: offline it says A connection is needed for this list with a Held button that
takes you back to the kept bills. If the list cannot load you see Could not load orders with
Retry.
Open Today and pick a sale
Select Today. The list shows paid sales, each row with the customer (a walk-in label when none is attached), the bill number, the item count, the time and the total. The first sale is selected for you, and the preview on the right loads it. To find another, type in Search bill no, customer or phone and select its row.
Read the preview
The preview shows the customer, bill number and time, the item lines, and then these figures in order: Subtotal; Discount (the line discounts, any coupon and the bill discount added together, shown with a minus sign; the row is hidden when the sale had no discount); a small Round off line with a plus or minus amount when rounding moved the total (hidden when it did not); Payable; and Change given (hidden when no change was handed back). A paid sale also lists its Payments, one line per tender, the same lines as on the receipt (see Read the Payments section on a receipt).
Open the customer receipt
Select View receipt under the preview. It opens the sale's receipt, where you can view it and use the print, share and WhatsApp buttons. View receipt shows only for a paid sale on the Today tab.
Go back to Today
Select the back button at the bottom of the receipt (it reads Back to orders on this screen). You land on Orders with Today still selected, so you can check the next sale. The first sale is selected again when the list reloads.
Orders opens on Today when no bill is kept aside, and on Held when at least one is. The Held, Today and Pickups tabs are the whole list: there is no Returns tab in Orders. To start a return, see Returns & Exchanges. Tapping the tab you are already on keeps the bill you have open. Only the back button from a receipt you opened with View receipt or Print returns to Today.
To print a sale again without opening it, use the quiet Print button on its row in Today: it opens the receipt and goes straight to the print dialog, the same as Print on the received screen. The same Print button is on each bill in a customer's history. Anything printed again is a reprint, and a reprint always prints Duplicate of original document: there is no Original document choice.
| Question | Answer |
|---|---|
| What does the Voided chip on a Today row mean? | The whole sale was voided (see Void an entire paid bill). The row stays in Today under its sale date with a Voided chip next to the customer and its amount greyed and struck through; the same chip shows beside the name in the preview. A voided bill is not offered for return: it is missing from the return picker, and looking it up by number says it was voided. |
| Why is there no View receipt on a kept bill? | Kept bills have not been paid. The button is only on the Today tab, for a paid sale. Use Resume bill on a kept bill instead. |
| The preview shows no Discount, Round off or Change given row | Those rows appear only when the sale had a discount, was rounded, or gave change. A cash sale paid exactly shows none of them. |
| Today is empty or the preview is blank | The list needs a connection and lists paid sales. Reconnect and select Retry if you see Could not load orders. |
Print a paid bill from history: Document copy
Open the paid bill
On /pos, select See kept bills or Kept aside to open Orders, choose the Today tab and select the
paid bill. In its preview, View receipt opens the saved receipt, titled Original receipt. (From the read-only
paid bill reached via Back to paid bill, the dock button Receipt returns to the same page.)
Choose the document copy
Beside Print is the Document copy list. It is greyed out and offers only Duplicate of original document: a reprint from history is always a duplicate, and it prints with a Duplicate of original document line above the receipt. There is no Original document option here.
Select Print (greyed out until the receipt has loaded). To go back, select Back to paid bill, the read-only paid bill; the Document copy list and Print are not shown there. Back to orders returns to the list.
The quick Print button on a bill's row in Today skips these steps and opens the print dialog on the Duplicate straight away, exactly as View receipt does; neither can print an Original.
Why does reprint say Duplicate? Because the bill has already been printed, and every reprint of a printed bill is a Duplicate of original document by rule. The original is the copy printed when the sale was first completed. If you need to give the customer another copy, the Duplicate is that copy.
If Print stays greyed out, or you see The original receipt cannot be verified. Try again or return to orders., the saved receipt could not be loaded or verified: select Retry, or go back to the list and check the counter's connection.
Add a permitted free-text item
When your counter shows Enter amount, use the amount keypad for a permitted free-text line. An unknown scanned barcode opens the catalogue product form described below. Enter a positive amount; the keypad accepts one decimal point and at most two decimal places. Delete last digit removes the last entered character. Description is optional and limited to eighty characters; leaving it blank uses the counter's product term. Select the correct GST rate before Add. The last-used rate may already be selected; check it rather than assuming it is correct. Add stays disabled without a positive amount and a selected rate. The resulting line has quantity one and does not create a permanent catalogue product. If your store does not permit free-text items, use a catalogue item. Press Escape to close the keypad without adding anything, or tap outside it.
Save an unknown barcode as a catalogue product
Screen: At the ordinary counter, use Search or scan or scan a barcode with your scanner. An unknown barcode opens Add scanned product inline; a failed search request is an error to retry, not proof that the product is new.
Check the scanned code and enter the product
Scanned barcode is filled in and read-only. Enter Product name (up to 255 characters), Price (₹) and, optionally, GST % (optional). Price accepts zero or a positive rupee amount with up to two decimal places, up to ₹99,999,999.99. GST accepts 0–100 with up to two decimals.
Save and check the bill line
Select Save product and add to bill. The counter refreshes the catalogue and adds the saved product at its current catalogue price. Products without variants are supported. If another cashier already created that barcode, POS reuses the existing product without overwriting its name, price or stock tracking. A measured product opens quantity entry instead of adding one piece.
Recover without duplicating the product
Cancel closes the form. Once submitted, the fields stay fixed so Retry sends the same request. To change the details, cancel and scan again. If saving, refreshing the catalogue or adding the line fails, reconnect and use Retry: the product may already have been saved. Check the catalogue before creating another product manually.
New products saved here are available for counter sales, have no opening stock count and remain hidden online until published. This is separate from a one-off free-text bill line. The form is unavailable offline, on a locked counter or while sale controls are blocked. If the bill, device or cashier changes during saving, the result is not added to the changed bill; reopen the product under the current session.
Apply a line or bill discount
Choose what to discount
Open an item and select Discount for that line, or select Add discount on the bill for Whole bill. In Big buttons mode, open More and select Add discount to open the bill discount. These actions appear only when the store enables discounts and your role permits the task.
Once a bill discount has a reason, the bill's Discount button reads Discount · (reason), for example Discount · Regular customer. On a phone (599 px wide or less) that label is limited to two lines in smaller text, with the button's icon hidden to make room, so a long reason is shortened with an ellipsis (…). Hover over the button to read the full reason in its tooltip. The button's tap target size does not change.
Set the value and reason
In Discount, choose % or ₹ Amount. Enter Discount (%) or Discount amount, or use a 5%, 10%, ₹10 or ₹50 shortcut. The value must be positive, use at most two decimals and not exceed 100% of the applicable line or bill amount. Under Reason · required, open the dropdown (it starts on Choose a reason) and pick one of the store's reason buttons, or Other, which is always last. The buttons are the ones the owner saved in POS settings, in saved order; a store with none saved shows Regular customer, Bulk purchase, Damaged item, Festival offer and Staff. Picking Other opens a text box labelled Other reason · required right below the dropdown; type the reason there. The typed text (trimmed of spaces at both ends) becomes the bill's reason, and while the box is empty Apply discount stays disabled. Every other choice applies the reason's name as it appears in the dropdown, with no text box.
The sheet remembers your last choice for the rest of the session: the next discount opens on the same reason (and the same Other reason · required text when it was Other), so you only change it when the reason differs. A line that already carries a discount keeps its own reason instead. The memory is not saved anywhere: signing out or reloading clears it, and with nothing remembered a reason is still required before Apply discount enables.
Respect the approval or counter limit
A red notice reading N% is over the M% counter limit means the discount you typed exceeds the permitted cap: N is the percentage you entered (for an amount discount, the amount turned into a percentage of the base, rounded to one decimal) and M is the counter cap. Where a lower no-approval band also applies, the notice continues Up to P% needs no owner approval. The Value box gets a red border while that notice is showing, and the border clears as soon as the value is back within the limit. When the sheet is open for a cashier, it offers Reduce discount to N%, where N is the highest percentage the cashier can apply without owner approval (the lower of the approval threshold and the counter cap). Selecting it switches the sheet to % with N filled in. It becomes the main button, in place of Apply discount, when the request is over the counter cap, or when it needs approval and no owner or manager can approve on this device; otherwise it is a smaller button beside the others. It is not offered once the value is already at or below N. For Needs owner approval. Ask the owner., choose Approved by, let that eligible owner or manager enter their PIN, and select Approve. The approver you chose last time is preselected when they are still listed; otherwise the first listed approver is selected, so check the name before the PIN. The PIN pad submits by itself on the last digit (see PIN pads submit on the last digit); Continue or Enter still submits a shorter PIN. The owner's PIN is asked for every time: only the reason and the approver name are remembered, never the approval. Approved by… confirms the grant without switching the signed-in cashier. If No owner can approve on this device appears, reduce the discount or ask the owner; do not use someone else's PIN. A lock countdown must finish before another approval attempt.
Review and apply
Check Customer pays and the discount amount, then Apply discount. If an owner confirmation is requested, select Yes, apply… · customer pays… before applying. Changing the value or type clears the previous confirmation and approval. Apply discount remains disabled without a valid value, reason, permission and required approval. Remove discount removes an existing discount; Cancel closes the sheet without applying your edit. Review the bill totals again before payment.
Why does the discount sheet show a red border and "over the counter limit"? The value in the Value box is higher than the percentage a cashier may give at this counter. Nothing was applied. Lower the value, or select Reduce discount to N% to jump to the highest value you can apply without approval. The notice and the red border appear only for a value that is a valid number within 100%; an empty or malformed value is not flagged this way.
A bill discount belongs to the items on the bill. When you remove the last item (set its quantity to zero, or Undo last item on the only line), the bill is empty and its bill discount is dropped with it: the next item you add starts a fresh bill with no discount, and the discount is cleared from a saved bill the next time it is saved. Apply the bill discount again once the new items are on the bill.
An item added to a saved bill cannot carry a discount yet. If a bill that is already saved (for example one you resumed from Held) gets a new item with a line discount and you select Hold, the counter refuses with: An item added to a saved bill can't carry a discount yet. Remove its discount, hold the bill, then apply the discount again after you recall it. Open the new item and select Remove discount, then Hold; after you resume the bill from Held, apply the discount to that item again. The bill and your draft are kept while the message is showing.
Shared Add items selection is not yet available
The appointment and dining Add items task does not apply selected products, variants or scanned items to a bill yet. It shows Item quantities are unavailable. Return to the bill. Return to the original bill; do not assume a selection changed stock or the amount to collect.
Take cash
While connected, Cash refreshes the saved bill before recording exact cash. The Exact and note shortcuts in Pay by cash use the refreshed total too. If an owner changed the price since you added the item, check that current total before handing back change. A failed refresh leaves the bill unpaid; retry after resolving the error. Offline cash uses the prepared copy's price. Use exact cash only after receiving the amount the current bill requires. For a larger note, select More cash options beside Cash, or hold Cash to open Pay by cash. In Big buttons mode, the hold gesture replaces the separate cash-options button.
Enter what the customer handed you
Pay by cash opens with Cash received already filled with the exact amount due, so a customer who pays the exact bill needs one tap: Paid with the bill amount. For a larger note, tap a note shortcut, or start typing or use the keypad: the first key you press replaces the pre-filled amount (the field also selects its contents when you tap it). Backspace trims the untouched pre-fill, and C empties the field. The amount must cover the total and have no more than two decimal places; while it is below the due, the Paid button stays disabled. The same cash sheet is used for appointment, pickup and package bills.
Return change and record the sale
Check Change, give that amount back, then select Paid with the bill amount. Back returns to the bill before confirmation. After payment, check the received screen and receipt before New bill (see After payment: the received screen). A paid sale with no GST invoice number, such as one from a store on Composition or No GSTIN, shows Bill (no GST invoice) in place of an invoice number on the final receipt.
Complete a bill with nothing to pay
Screen: /pos counter, the payment buttons under the bill. When a prepaid service package
covers every line, the bill total is zero, so there is no cash to take. In place of the usual
payment buttons the counter shows one button, Complete bill, with the zero amount beside it. In
the newer counter layout the main charge button is relabelled Complete bill with the amount.
Check that the package covers the whole bill
Add the booked or walk-in service and redeem the prepaid visit as described in Service Packages. Confirm the bill total reads zero. If anything is still payable, the normal payment buttons stay and Complete bill does not appear.
Select Complete bill
Select Complete bill. The counter re-reads the saved bill first, then finishes it with no tender: no cash, UPI or card is recorded, and no cash line reaches Day close. You then see the paid result and receipt as usual.
If the bill changed since you looked at it, for example another counter or a refreshed price made something payable, the counter shows The bill changed. Review the refreshed bill and confirm again. and records nothing. Review the refreshed total and take the normal payment instead. Complete bill is disabled while the counter is busy or locked, while its session or offline access has lapsed, while a payment is already in progress, and while you are completing an exchange return.
Why do I see Complete bill and not Cash? Because nothing is due. Cash, UPI and card are offered only when an amount is payable; a zero cash tender is not accepted, so the counter completes the bill without one.
Why does the Charge button show a dash instead of an amount?
Screen: /pos counter, newer layout, the main button under the bill. After you add a line,
the counter works out the bill total with the server. Until that total is confirmed (this was seen
with a length-sold line such as 1.5 m), the button reads Charge · — and is disabled. Wait a
moment: once the total arrives the button shows the real amount, for example Charge · ₹125, and
becomes selectable. The dash is not a zero bill, and the counter no longer shows a misleading
Charge · ₹0 while it waits.
A bill that really totals zero is different: the button reads Complete bill · ₹0 (see the section above). An empty bill reads Charge · ₹0 and stays disabled until you add a line. If the dash does not clear, do not take payment against an amount you cannot see; ask the owner to check the connection.
Take manual UPI
Open the manual payment
Select UPI and continue in Manual UPI fallback. If Use manual UPI fallback is offered, select it. Check the store name and exact bill amount, then ask the customer to scan the QR. The QR asks the customer to pay; it does not automatically verify receipt of money.
Check your bank and record receipt
Check your bank app for the exact amount before selecting Received. Reference · optional last 4 digits accepts up to four numeric digits. This reference is a note, not automatic bank verification. If QR generation fails, select Try again on the manual screen.
Keep an unchecked payment visible
When offered, Confirm later records the payment for a later bank check. The result says
Payment recorded — bank check pending. A store administrator reviews UPI to check in the
authenticated admin report at /reports/pos-counter, as described in
Reports & Day Close. Do not represent it as a verified
bank payment.
UPI setup may need the owner
If no UPI ID is available, the manual screen asks the owner to set up UPI and has no Received action. The owner sets the UPI ID in Counter settings (Settings tab on Counter devices). Ask the owner to resolve the store's payment setup, then return to the bill.
Split cash and manual UPI
Split payment divides a bill into a cash part and a UPI remainder. For example, on a ₹500 bill, enter ₹200 cash and take ₹300 by manual UPI.
Record the cash already in your hand
Select Split payment. Enter Cash part and check I have taken this cash only after receiving it. The cash part must be positive, smaller than the bill total and use at most two decimal places. Check Remaining.
Collect only the remainder
Select Take… by UPI with the remaining amount. On the manual UPI screen, check the store and amount, confirm the exact payment in your bank app, then select Received. The completed bill records both the cash and UPI parts together. Back to bill exits the collection view; exiting does not return the cash already taken.
Return held cash if you abandon the manual split
If the manual split is still unfinished and POS shows cash is still with you, check whether the UPI remainder arrived before abandoning it. Return the held cash to the customer, check I have returned the cash to the customer, then Record cash returned. This clears the local manual split record; it does not reverse a UPI payment or record a refund of a completed bill. Ask the owner if any payment remains uncertain.
The tender bar hides Split payment in Big buttons mode. Open View bill for the split action, or switch off Big buttons to use the ordinary tender bar. Review the existing bill when you resume an unfinished split; do not receive the cash part twice.
Automatic payment checks and server recovery are not yet available
Automatic gateway QR collection and its Check payment, New QR, Cancel this payment and retry actions are not connected yet. Server recovery and owner Finish with cash actions are also not available as completed flows. If an earlier attempt or saved recovery blocks the counter, check the bank and contact the owner before collecting again. Do not clear an uncertain payment by treating an unavailable action as successful. Manual UPI and manual cash-plus-UPI split remain the supported collection paths when no unresolved payment blocks them.
Record a card payment taken elsewhere
Select Card to open Manual card payment. The sheet shows Check the card-machine receipt before recording this payment. Check the external card-machine receipt for the bill amount. Enter the optional Last 4 digits or approval code, then select the one button Approved on card machine · Record with the bill amount. Selecting it is the confirmation that the card machine approved the payment: there is no separate checkbox to tick first. This records an already-received payment; it does not start a payment terminal transaction. Back returns to the bill before recording.
Cancel a UPI QR and take another tender. While a UPI QR attempt is live the counter is frozen behind it and the Cash and Card tenders are greyed out. Select Cancel this payment on the collection sheet. When no money was received, the sheet stays open and reads Payment cancelled. Check any money already taken., and the Cash and Card tenders on the counter come back at once, so you can re-tender without closing the sheet first. In Split payment, a cancelled attempt left on the bill no longer hides the cash amount box; a UPI attempt that is still live does take over the Split sheet, so a second payment cannot be started on top of it.
If a UPI QR was started on this bill and then cancelled (or expired) with no money received, that finished attempt no longer blocks Card: record the card payment as usual. Card is still blocked while a UPI attempt on the bill is not finished closing, has money received against it or is under review, and while a card-machine attempt is unresolved. In those cases check the bank, wait for the earlier attempt to settle, and ask the owner before collecting again.
After payment: the received screen
Screen: /pos counter, standard layout. When the last payment lands, the bill pane on the counter
turns into a two-column received screen. Nothing opens over the counter, so there is no pop-up to
dismiss and no Close button: the screen stays until you select New bill.
While you take payment: the Charge screen
Screen: /pos counter, standard layout (not Big buttons, not a phone-sized screen). Select
Cash, UPI, Card or Split payment under the bill; the payment screen opens with the
heading Charge and a summary of the bill on one side.
The close button (an X, named Close) sits at the right end of the Charge heading row, level with the heading, for Cash, UPI and Card alike; there is no separate empty header strip above the sheet. It is greyed out while a payment request is being sent, so wait for that to finish first. On a phone-sized window (700 px wide or narrower) the X stays in a header strip across the top of the sheet instead. Selecting the X closes the Charge screen.
Check the bill number and Payable
The summary shows the bill number, the customer's name (or Choose customer when none is attached), the bill totals and, at the foot, Payable with the amount still to take. Payable replaced the older Total label here.
Read Payments on this bill
Under the bill number, Payments on this bill lists each payment recorded against this bill so far, one row each: the method (UPI, Card or Cash), a status and the amount. Before anything is recorded it reads No payments recorded yet.
Read each status before taking more money
A completed row reads Received. A UPI or card attempt still waiting reads Pending remainder. A declined card attempt reads Card declined · no confirmed capture. An attempt that ended another way shows the payment message, for example This QR has expired. Check payment before starting again. or Payment cancelled. Check any money already taken. Check that message before starting another payment, so the customer is not charged twice.
In a split, the cash part appears as a Cash row marked Received once you have recorded it with I have taken this cash. Only UPI and card attempts started for this bill, and the cash part of a split, appear in this list; the full record of what was taken is the Payments section of the receipt after payment.
Read the received screen
The left column is the result and what to do next; the right column is the receipt, already on screen.
The bill beside the result (counter). After a sale at the /pos counter the paid screen also carries the bill in a column of its own, beside the result. (The paid screens of an appointment bill or a pickup collection have no such column; their Receipt panel lists the item lines itself.) Its heading reads Paid (it no longer reads Charge), with the bill number, for example Bill 1042, on the same line beside it. Under them each sold line shows its name, amount and quantity once, followed by Payments on this bill. The Receipt panel next to it then shows the receipt's totals and Payments without repeating the item lines, so you see each item once on the screen. Why don't I see the item rows in the Receipt panel? On the counter they are listed once, in the bill column, not twice. Why is the heading not Charge? Charge is the heading of the payment screen you used before paying (see While you take payment: the Charge screen); once the bill is settled the same bill shows under Paid.
Read the result
The title reads Paid. If a manual UPI payment still needs the owner's bank check it reads Payment recorded — bank check pending, with a Received amount, a Pending remainder amount and Manual UPI · Owner bank check still needed. For a pickup handed over at the counter it reads Handed over. Under the title is the bill line, for example Bill 1042, followed by the customer's name and phone when a customer is attached.
Give change, then check the amounts
When change is due, Change to give shows the amount in large type, with Bill total under it. With no change due, the large figure reads Paid with the bill total. A round-off line appears when the bill was rounded. After a cash payment, Cash received shows what the customer handed over.
Undo within the short window
For a cash or manual payment, Undo is shown with a countdown such as 10s. Select it once to reverse the sale while the countdown runs. When the countdown ends the sale is final and Undo goes away. If you try after the server's window has closed the screen says Too late to undo. Use Returns; use Return / refund.
Print or send the receipt
Complete sale and print bill (it reads Print while a manual UPI payment still needs the owner's bank check) sits in the footer pinned to the bottom of the paid screen, next to the next-sale button (see Where the finish buttons sit). It goes straight to the browser print dialog: there is no preview screen to confirm first. Choose the installed printer in the dialog and print. If the receipt is still loading, the dialog opens as soon as it has loaded. Paper width is remembered on this device. For a different paper width, language or copy, open the quiet Print options button first: it holds 58 mm and 80 mm (remembered on this device), Language (remembered on this device; it starts as the cashier's language) and Document copy (Original document or Duplicate of original document). Document copy opens on Original document and offers both choices until this device prints the bill; after that print the list is greyed out and locked to Duplicate of original document, so a second print of the same bill is always a duplicate. See Scanners, Printers & Scales for how the browser dialog and printed-bill memory behave. Send bill on WhatsApp (in the left column with the result) opens the send view with the heading Send receipt; Back to paid bill returns to the result.
Start the next bill
Select Complete without receipt in the footer when you are not printing, or New bill once the bill is handed over or a manual UPI payment is still waiting for the bank check. Return / refund and the whole-bill void (see Void an entire paid bill) stay on the left column under the actions.
The right column is headed Receipt and shows the receipt document with the Payments section. Below it, View receipt opens the full receipt view in the same panel. Share is listed even when it is disabled: it is disabled when the device cannot share, with Sharing is unavailable on this device. You can view the receipt., or when no link exists yet, with A shareable receipt link is not ready yet. While the final invoice number is not ready the panel says Receipt ready. Invoice number to follow. and Not a GST invoice.
How the Payments section orders its rows on this screen: oldest first; tenders recorded together list Cash, then UPI, then Card; a tender from an offline or older record with no time saved comes last in that same order. A split bill therefore always reads cash first. Udhaar (credit) is not listed (see Read the Payments section on a receipt).
Edge cases:
- Split tenders. The result shows Paid for the whole bill and the receipt lists one Payments row per tender, for example Cash · ₹200.00 then UPI · ₹300.00.
- UPI or card machine payments. Undo is not offered after a payment taken through the payment gateway or a card machine, because the money has moved. Use Return / refund if the customer wants the money back.
- Voided bill. After a void the counter marks the bill cancelled (see Void an entire paid bill). If a voided bill's paid screen is open, it says This bill was voided. There is no receipt to print. and does not show the The receipt could not load. Try again. error, because a cancelled bill has no receipt to prepare.
Where the finish buttons sit
The two finish actions share one footer, pinned to the bottom of the paid screen at every window width. It holds Complete sale and print bill (shown on the paid and receipt views; it reads Print while a manual UPI payment still needs the owner's bank check) and the next-sale button: Complete without receipt, or New bill once the bill is handed over or a manual UPI payment is still waiting for the bank check. The receipt scrolls behind the footer, so both buttons stay on screen however long the bill is, and a long translated label makes the footer taller instead of overlapping the receipt. Both are greyed out while a void, a send or another action on the bill is in progress. When the void form opens inline in the page (windows too narrow for the void pop-up), the print button leaves the footer until the void is finished or closed. Send bill on WhatsApp, Back to paid bill, Undo and Return / refund stay in the left column with the result, not in the footer.
The paid screen on a phone. On a phone-sized window (700 px wide or narrower) the bill column sits above the result and its item lines are plain page content, not a small scrolling box of their own: the whole paid screen scrolls as one. On 599 px or narrower the result hero (the tick, total and change) is compact. The footer stays pinned at the bottom, so you can reach the buttons without scrolling past a long bill. To read a long bill, scroll the page.
Troubleshooting the received screen
| Problem | What to check |
|---|---|
| A payment screen did not close or I cannot find a Close button | The counter has no pop-up after payment. The received screen is part of the counter; select New bill when you are done. |
| I cannot find how to leave the Charge screen, or its X is greyed out | The X is on the Charge heading row, at the right edge of the bill summary column (at the top of the sheet on a phone-sized window). It is greyed out while a payment request is in flight; wait for the result, then select it. In Big buttons mode the X on a payment sheet stays a square 48 px button, not a tall slab. |
| I cannot see every item of a long bill on a phone | The item lines are part of the page, not a separate box. Scroll the whole received screen to read them; the footer with Complete sale and print bill and Complete without receipt stays pinned at the bottom. |
| Undo is missing | The countdown ended, or the payment was taken by a gateway or card machine. Use Return / refund. |
| Complete sale and print bill or Complete without receipt is not in the left column | They sit in the footer pinned to the bottom of the paid screen, below the receipt. Send bill on WhatsApp stays in the left column with the result; select Back to paid bill to return there from the send view. |
| The print button is missing from the footer, leaving only the next-sale button | The footer shows the print button only on the paid and receipt views, and not while the void form is open inline in the page (narrower windows). Select Back to paid bill, or finish or close the void form. |
| Print opened the dialog but the copy says Duplicate | Expected: this device has already printed the bill, so Document copy is greyed out on Duplicate of original document and Original document is not offered. The first print of the sale is the original. |
| Share is greyed out | The device cannot share, or the receipt link is not ready. Read the message under it; View receipt still works. |
| Payments is missing or looks short | Udhaar and refunded payments are never listed. A payment that did not complete is not shown. Read Read the Payments section on a receipt. |
| The title says Payment recorded — bank check pending | A manual UPI payment has not been confirmed in the owner's bank yet. Do not treat the Pending remainder as received until it is. |
| Payments on this bill does not list a payment I took | The list shows UPI and card attempts started for this bill and the cash part of a split. Check the receipt's Payments section after payment. |
Read the Payments section on a receipt
Every POS receipt ends with a Payments section listing the money taken on that bill, one line per tender. This is how you check, after the sale, how a customer paid. The heading and the Cash, UPI and Card labels are translated, so they read in your own language. Amounts and UPI references are not translated. See Receipt Languages for choosing the language; the section is available in all 8 POS languages (English, Hindi, Tamil, Telugu, Kannada, Marathi, Bengali and Gujarati).
Where it appears and which language it uses:
| Where you see it | Language |
|---|---|
| The paid result and View receipt on the counter | The cashier language chosen with Language on this device. |
| Original receipt, opened with Receipt on a paid sale in Orders (see Managing Orders) | The cashier language. |
| View saved document on Original receipt, and Print on the paid result | The Language list on that document; Payments re-reads in the language you pick there. |
| The server-built receipt preview, the shared receipt link and the WhatsApp receipt | The language requested for the receipt: the cashier language on the counter, or the viewer's browser language on a shared link. Anything unsupported falls back to English. |
| The temporary receipt kept on this device for an offline sale | The cashier language. |
Set the language you want to read
Choose your cashier language with the Language row in More (it reads, for example, Language: English) (open More on the rail first). The receipt is fetched again in that language; wait for Loading receipt… to finish. Changing the language also clears a payment error that is on screen at the time, so it never stays in the old language. The bill itself is untouched. If you are unsure whether a payment went through, check the bill before taking it again; any new refusal is worded in the language you chose.
Open the receipt after payment
On the paid result select View receipt, or later open Orders → Today, select the sale and choose View receipt (see Review a paid sale in Orders: Today).
Scroll to Payments at the bottom
Below the items and totals, the Payments heading lists each completed tender, oldest first. Tenders recorded at the same moment, such as a split settled in one step, list Cash, then UPI, then Card. Each line shows the method name, a dot, then the amount, for example Cash · ₹500.00.
Check the UPI reference on UPI lines
A UPI line carries a second line, UPI reference: followed by the reference saved when you recorded the manual UPI payment. If no reference was saved, the UPI line shows the amount only. Card lines never show a reference on the receipt; the card reference you entered stays on the payment record.
Compare with the payment summary
The short summary line on the paid result (for example a gift payment plus a cash balance, with tags such as Manually recorded) is unchanged. Payments adds one line per tender beneath it; it does not replace the summary. On the paid screen's receipt panel, Received counts gift or store credit paid on the bill together with cash, UPI, card and gateway payments.
How the section reads for each way of paying:
| Sale | What Payments shows |
|---|---|
| Cash only | One Cash line with the amount recorded. |
| Card only (manual card payment) | One Card line with the amount recorded. |
| Manual UPI only | One UPI line with the amount and its UPI reference when one was saved. |
| Split cash and manual UPI | A Cash line and a UPI line, each with its own amount, oldest first (Cash before UPI when both were recorded together). The UPI line carries the reference. |
| Gift card or store credit plus cash | On the counter and Original receipt screens, a line for the gift card or store credit and a Cash line. The server-built receipt, shared link and WhatsApp receipt list only cash, UPI and card lines. |
Edge cases:
- Udhaar (credit given on the bill) and refunded payments are never listed in Payments. A bill with none of the listed payments has no Payments section at all, for example a nothing-to-pay bill or an udhaar-only bill.
- On the server-built receipt, the shared link and WhatsApp, only completed cash, UPI and card payments are listed. A payment that did not complete is not shown.
- If you switch the cashier language while a receipt is open, the receipt reloads in the new language. Wait for Loading receipt… to finish before reading the section.
- The section is added whenever the receipt is shown, so it reflects the payments recorded at that moment. The invoice figures above it are the saved invoice and do not change.
- A provisional receipt (Receipt (invoice to follow)) shows the same section as the final one. The temporary receipt kept on this device for an offline sale lists its cash lines.
- Older receipts showed only a bare list of UPI references, with no amounts and nothing for cash-only or card-only sales. Open the receipt again to see the current layout.
Give udhaar on the bill
Open the credit task
Select Udhaar from the bill and choose the customer. Change customer returns to the customer choices; Open ledger opens that customer's account. Back to payment returns to the bill's payment choices. Review Outstanding, This bill, Credit limit and New outstanding. Enter Amount on udhaar; it must be positive and no larger than this bill.
Collect any remainder
For part credit, choose Cash, UPI or Card under Collect remaining… by. Receive the remainder and check its confirmation statement. For UPI, the statement includes checking that the money arrived. Select Give udhaar to record the bill and its payment parts.
Respect the customer's limit
Select Give udhaar. If the server refuses an above-limit sale, the same page shows Owner PIN approval and the customer's returned credit figures. Choose Linked owner and ask that owner to enter Owner’s 6-digit PIN privately. Only unlocked linked owners are listed; managers and other staff cannot approve through this list. Select Approve and give credit. The cashier stays signed in. The approval applies once to this customer, bill and credit amount; a recalled held bill completes that original bill.
Owner: approve above-limit credit
When the signed-in person is the owner, the screen says As owner, review and confirm this above-limit credit sale. Select Give udhaar (or Review above-limit credit if the screen was already refused) to open Confirm above-limit credit. It shows the limit, the existing outstanding balance and the requested credit, and asks whether to approve the sale as the owner. Select Approve and give credit to record the bill, or Cancel approval to go back without recording anything.
If the server reports a newer credit limit or balance than the screen had, the owner sees the returned figures and can use Review above-limit credit to confirm against them. A failed request keeps the bill so it can be retried. A wrong PIN clears the PIN field and displays the error. If the approval expires, is refused or belongs to a changed sale, review the current bill and ask again; it cannot be reused for another bill. Back to payment declines without completing the sale. If the customer, amount, bill or counter session changes while approval is pending, the old approval cannot automatically complete the changed sale.
If no owner is listed, ask the owner to check their PIN access and select Reload owners. If approval is unavailable, use Back to payment and choose another payment or contact the owner. Locked or lapsed counters cannot complete a new credit sale.
Collect an existing balance and set a limit
Screen: Open More on the left rail and select Udhaar, or open /pos/khata. This is the customer
ledger; it is separate from giving credit on the current bill.
Find the account
Use Find by name → Search → Open. Use Next and Previous to inspect the customer list, ledger entries or collection allocations across pages. Back to customers leaves the account; Back to ledger leaves the collection view; Back to counter returns to billing. The initial list contains up to eight recent POS udhaar customers, and name search returns up to twenty matches. An empty recent list does not prove that your store has no other balances. Inspect the customer's bills, payments and credit notes.
Receive and record payment
Select Collect, enter Amount received, choose the payment method shown, then select Received with the amount. The amount must be positive and no greater than Outstanding; Use with the balance fills the full amount. Review the result and the remaining outstanding balance.
Let the owner maintain the credit limit
The Set limit in owner workspace link is shown only for an owner or manager PIN role.
A cashier can ask that person to open it. The linked owner page opens /settings/pos/khata-limit
with the current customer and store context; use this link rather than typing an incomplete address.
An authenticated store administrator enters Credit limit (leave blank for no limit) and selects
Save limit. A limit must be non-negative with at most two decimal places; blank removes the limit.
Disabled states and troubleshooting
| What happens | Next action |
|---|---|
| Payment buttons are disabled or absent | Add at least one item. Check that sales are active, handover is complete, and no payment recovery is blocking the bill. An order taker has no tender bar. |
| Only… in stock | The product is not set to sell past its stock count. Lower the quantity, receive stock, or turn on Keep selling when out of stock for it. See Sell past zero stock, or not. Another counter or online order may be using the same stock. |
| …is out of stock. This product isn't set to sell when out of stock. | The item is at zero stock and its product is not set to keep selling. See Sell past zero stock, or not. |
| Payment status is unclear or an earlier QR expired | Check the bank and contact the owner. Automatic payment-check/recovery actions are not connected; do not collect again while the earlier payment is uncertain. |
| Manual UPI QR could not be generated | Select Try again on the manual UPI screen. |
| Customer list or ledger could not load | Select Try again; the name search is retained. |
| Why can't I attach this customer? | Inactive, locked and merged-away customers cannot be attached, online or offline. Read the reason beside the disabled row or in the refusal notice. Use Use the current profile for a merged customer when offered, Choose another customer, or Continue as walk-in. Your cart is kept. See attachment refusals above. |
| A notice at the top of the counter reads Counter closed, Your next sale starts a new register session. and a View day summary button | This counter's register session has been closed for the business day (see Close the current counter). The notice also shows after you reload the page. There is no Open register button: the next sale you take opens a new register session by itself, and the notice disappears. Select View day summary to open Today and review the closed day. On a phone-width counter and on the big-button and task home screens, the notice sits above the tender bar instead of inside the bill panel. The notice does not show while a register is open, while it is still loading, or before the first sale of a day that has no closed register yet. |
| This bill was started online, so it can only be paid when the connection is back. Wait for the internet, or start a new bill. | You selected Charge on a bill that had already been started online, and the counter then went offline. A bill the server already holds cannot be sold through the offline path. Wait for the connection and charge the same bill, or start a new bill and sell that offline. See Bill during an internet outage. |
| The offline banner shows Provisional receipt #N and I cannot find the final invoice | #N is the bill's short number on this device. The line stays until the sale has been sent and the server has issued its receipt; then it is replaced by Final receipt with the invoice number. If it never clears, check for bills waiting over 15 minutes and the internet connection, and keep this browser and its saved data. |
| The bill changed | Return to the bill, review the amount, and continue with its current payment context. |
| On my phone the catalogue search shows only icons, or I cannot find Beep on scan or Close as words | On a phone-width screen (480 px wide or narrower) the catalogue's search row shows a speaker and an X instead of words so the search box and tiles keep their room. The speaker is Beep on scan (tinted = on, crossed = off) and the X is Close; hover to see the name; a screen reader announces it. |
| The New items first note disappeared on my phone | It hides on a phone once the bill has an item, so the tiles get the space. It shows again on an empty bill. |
| Why does my phone catalogue show two tiles per row, and some names over two lines? | On a phone-width screen (480 px wide or narrower) the standard tile grid is always two columns. A product with no picture shows its full name over up to two lines. Swipe the category chips sideways; their right edge fades where more are off screen. |
| Where did the UPI, Card, Split or Udhaar button go on my phone? | On a phone-width screen (480 px wide or narrower) they moved into the sheet opened by Other ways to pay, beside the filled Cash button. The gift buttons moved there too. On a wider screen they are back in the payment bar. See The counter on a phone. |
| The Previous and Next buttons are missing | The pager is drawn only when the list has more than one page. A single page shows neither. |
| Where did the Open item and Discount buttons under the products go? | On the ordinary tile counter, Open item is a shortcut card above the products and Discount is on the bill, so the duplicate pair was removed. The pair still shows on the Big buttons and scan-first counters. |
| On the table bill, where are Subtotal, GST included and Round off? | Folded under Bill details in the footer; select it to open them. Payable is always showing. |
| Where is the Delete button for a held bill? | There is none. Select the bill in Held and use Cancel bill (a reason is required), or resume it and take payment or Hold again. See Cancel a held bill. |
| Can I hold a saved bill without editing it? | Yes. Select Hold with its existing items, measured quantities and discounts. Wait for Bill kept aside, then find it again in Orders → Held. If saving fails, keep the draft open and resolve the displayed error. |
| The receipt has no Payments section | The bill has no completed cash, UPI or card payment recorded (for example a nothing-to-pay bill or an udhaar-only bill), or the payment has not completed. Check the paid result and the Orders history before collecting again. |
| A UPI line on the receipt shows no UPI reference | No reference was saved with that manual UPI payment. The amount is still correct; the reference is not shown for cash or card lines. |
| Payments reads in English (or the wrong language) | The section follows the cashier Language on this counter. Change it with the Language row in More and wait for Loading receipt…; on View saved document, use the Language list on the document. A shared receipt link follows the viewer's browser language and falls back to English when it is not one of the 8. |
| The receipt could not load. Try again. | The receipt request failed. The counter already retries a failed receipt read twice on its own, so wait a moment, select Back to paid bill, then View receipt again. If the failure happened while the counter was offline or the request dropped, the receipt on the paid screen reloads by itself when the connection returns; you do not need to select anything. The one exception is The receipt is being prepared. Try again shortly., which stays a manual retry. The paid bill is not affected. |
| An item I added is still in the cart after the bill went through | You rang it up after pressing Charge while the counter could not reach the server, so it was not on the bill that synced. The notice above the bill names it. Charge it as a new sale (or add it to the saved bill with Charge). See What happens to items I rang up after pressing Charge?. |
| My discount disappeared | A discount on an item rung up after the first Charge cannot join a saved bill. The notice ends Their discount was removed; apply it again. Apply the discount to the item again, then select Charge. |
| An item added to a saved bill can't carry a discount yet… appears when I select Hold | A new item on a saved bill was given a line discount, and a saved bill cannot take a new discounted line. Select the X on the banner, open the new item and Remove discount, select Hold, then resume the bill from Held and apply the discount to that item again. |
| The bill discount is gone after I removed every item | Removing the last item empties the bill and drops its bill discount, so the next item starts with none. Add the items, then apply the bill discount again. |
| Reduce discount to N% instead of Apply discount | The discount you typed is over what a cashier may give. N is the most you can apply without owner approval; select it to fill N in, or ask an owner or manager to approve the larger discount. |
| The error banner in the bill column will not go away | Select the X at its right. It also clears when you empty the bill or start a new one. On a short screen only two lines show; select Details for the rest. |
| The "payment in progress" message won't go away | Another payment is still in progress or being checked. Finish or check it first. waits for the earlier bill to sync. Look at the sync chip in the header: while it shows Syncing or Offline with a bill waiting, keep the counter open and the connection on; the message clears by itself once the chip reads ✓ Synced (the counter retries a waiting bill every few seconds once it is 30 seconds old, so allow up to about a minute after the connection returns). If the chip never reaches Synced, see Read the Waiting bills chip. Do not enter the sale again. |
| The counter jumped to Count the cash before you start when I collected udhaar | The register is waiting for a handover count. The collection was refused and nothing was recorded, so the pending collection is cleared; do not look for Retry same collection. Complete the count, then collect again. See Why was I sent to the handover count? |
| A payment is still waiting. Check it before collecting again. with every payment tile disabled after I signed in or reloaded | Look for another person's uncounted cash. When the drawer holds it (for example after the owner took over), the counter now opens Count the cash before you start instead of staying on this banner. Enter Cash received in drawer · required, select Start counter, then Open Today and return to the counter. A payment you already cancelled no longer shows as waiting once the count is recorded. If the banner remains and there was no handover screen and you are a cashier or the owner, use Check payment on the original bill; do not take the payment again. An order taker does not see the banner for a payment another person left on the device (see the next row). See Why was I sent to the handover count? |
| A cashier left a payment unfinished on this device, and as an order taker I do not see A payment is still waiting. Check it before collecting again. | By design for a payment a cashier left unfinished on the device. Order takers cannot collect or check payments, so that saved payment no longer shows the banner or Check payment to them, and the tiles, search and Open item stay usable so you can keep building orders. The unfinished payment stays saved on the device and waits for a cashier or the owner: when one signs in on this device they see the banner and use Check payment on the original bill before collecting again. Ask a cashier or the owner to do that; do not try to take the payment again. The same banner text can still appear for any role, order takers included, when the device holds an unfinished loyalty redemption or cannot read its saved payment records; that is a different cause, so ask the owner to review it. |
| A UPI payment line reads Simulated payment · no real money instead of a merchant name | That payment attempt is in test mode: no real money moves. The counter shows this notice in the store's language wherever the attempt's payee is listed (the payment review, the collection sheet and an appointment bill's payment line) instead of the wording the server sent. Do not treat it as a collected payment. Test payments cannot settle live bills. |
| Collection not confirmed in udhaar | Check whether money arrived, then use Retry same collection. This retains the original collection key instead of creating a second collection. |
| The balance changed | Reload ledger before entering a new amount. |
| Payment was saved but the ledger could not load | Use Reload ledger. A refresh error does not mean the saved payment failed. |
For an online pickup, follow Pickup Collection. For a checked-in booking, follow Appointment Bills. Both keep the original order identity instead of creating a separate counter sale.
Bill during an internet outage
Screen: stay in /pos on the prepared counter. Before losing connection, the owner must
prepare and activate offline access
on this browser. Use a current, unlocked cashier session. Order takers cannot take payment.
Check that offline billing is ready
Use cached catalogue products with whole positive quantities. Weighed and length-based items can also be billed offline on a prepared counter with valid offline access; see weighed and length-based items offline. Services, free-text lines, existing server bills, exchanges and loyalty work do not use this offline sale path. Resolve any earlier online payment before attempting another payment.
A restaurant counter bill marked Takeaway (see Mark a counter bill as takeaway) can still be sold offline: the offline sale keeps the takeaway choice and is sent to the server as a takeaway order when the counter reconnects. A bill left on the default (no Takeaway) carries no dining choice. A bill that already exists on the server, such as a held bill or a table bill, is not sold on this offline path.
You pressed Charge online and then lost the connection. Once a bill has been started online the server already holds it, so it cannot be re-sent as an offline sale. Charging it offline shows This bill was started online, so it can only be paid when the connection is back. Wait for the internet, or start a new bill. Either wait until the counter is back online and charge the same bill, or start a new bill from the items and sell that one offline.
Collect only an allowed tender
Offline selling takes Cash only. UPI (including the manual UPI fallback), Card and Split are refused while the counter is offline: selecting one shows UPI and card need a connection. Take cash, or wait until you’re back online. and no payment sheet opens, so no payment is queued that the server has never seen. The message clears by itself when the connection returns, and UPI, card and split work again. The one other tender that still works offline is udhaar, limited to repeat customers approved by the owner, within the saved credit limit. On the customer card the owner can choose Allow this repeat customer for offline credit, then renew offline access while connected to check eligibility. Remove offline approval; renew access to apply also needs renewal. New owner approval needs internet.
Keep the provisional receipt
A saved sale shows Provisional receipt #N — Not a GST invoice in the offline banner, where #N is the bill's short number on this device (for example #7), not the long internal reference. Write it on the customer's copy so you can find the bill later. Select Open receipt to view it; on this counter the local view can show the saved items and amount before upload. On another device the link waits for the shop to reconnect. It is a receipt link, not a payment request. The Provisional receipt line only covers the newest offline sale, and it goes away once that bill has its server receipt (see the last step below). Prices, taxes and tender details are kept with the sale; the final invoice number comes from the server after reconnecting.
Undo only when offered
An active, unexpired, unlocked cashier session other than an order taker can see Undo unsent sale for the newest waiting sale within 30 seconds, on the Provisional receipt card. Offline Undo exists only for a sale with no cash in it. Because offline selling is cash-first, a sale paid with Cash (the usual offline sale, including a cash part of any mix) never shows Undo unsent sale. Only a sale paid wholly on udhaar (see the tender step above) can be undone this way. Check the amount and the change before you hand the bill over, because a cash sale cannot be taken back from this screen. Select it once when offered. Undo requested — waiting to send. The sale remains saved until the server confirms. means reversal is pending, not complete. If the action fails, keep the bill and reconnect for help or use the return flow when appropriate.
Reconnect and confirm the final result
Keep this browser and its saved data. Queued sales are sent automatically as connectivity recovers; a wait over 15 minutes prompts you to check internet. Open receipt becomes available for the final receipt when the server maps it back to the provisional reference. The banner then replaces the Provisional receipt #N line with Final receipt followed by the invoice number and provisional receipt #N (and a Final receipts (N) count in the summary). Do not enter the sale again.
Sell for cash when the server cannot be reached
Screen: /pos, the prepared counter. This is the same offline billing as above; this section covers
what changes when the shop's Wi-Fi is fine but BillionBiz itself cannot be reached (the server is
down or unreachable from your network).
When the counter switches to offline. The counter watches for requests that fail because the server did not answer. After two such failures in a row, or after one failure that an immediate check of the server confirms, the counter treats itself as offline, exactly as if the Wi-Fi had dropped: the header status reads Offline · N bills waiting and the offline notice above the bill shows (for example Working without internet. Stock counts are last known.). A single failed request, a short blip, or the server refusing a request on its own terms (for example a wrong PIN or a missing permission) does not switch the counter.
Confirm the counter is offline and ready
Look for Offline · N bills waiting in the header and the offline notice above the bill. Offline selling only works on a counter whose owner has already prepared an offline copy (see Prepare this counter for offline use). If the counter has no offline copy on this browser, you instead see You are offline. Reconnect before saving or taking payment. and cannot charge; if the offline access has run out, the notice reads Offline access has ended.
Ring up the bill and take an allowed tender
Add cached catalogue items as usual, then collect Cash, or give an approved repeat customer's udhaar, as described in Bill during an internet outage. UPI (manual UPI included), card and split are refused with UPI and card need a connection. Take cash, or wait until you’re back online. while the server cannot be reached, because they need a live connection to confirm.
Hand over the provisional receipt
The sale is saved on this device with a Provisional receipt reference and the line Not a GST invoice. Give the customer that receipt. The final invoice number is issued by the server after the sale is sent.
Leave the counter open until it syncs
You do not need to resend anything. While the counter considers the server down it checks it again at intervals of at least 10 seconds. Once a check succeeds it goes back online by itself, sends the saved bills automatically and the header changes from Syncing · N bills waiting to ✓ Synced. A later successful request on its own does not bring the counter back online; the server check does.
Taking another bill while an earlier one is unconfirmed. If a payment was in flight when the server stopped answering, the earlier bill may show Bill not confirmed yet. with the line This bill is still being saved. Check its status before taking another payment on it. New bills can still be saved while it is checked. Do not take a second payment on that same bill. A different, new bill can still be rung up and saved for cash; the unconfirmed bill stays flagged and is reconciled when the server is reachable. The same bill is never charged twice: each saved sale carries its own reference and the server rejects a repeat of the same one.
Troubleshooting
| What you see | Why, and what to do |
|---|---|
| Charge is disabled and the counter says You are offline. Reconnect before saving or taking payment. | The counter has no offline copy on this browser (it was never prepared here). Ask the owner to prepare one while connected. See Prepare this counter for offline use. |
| The Wi-Fi is working but the header says Offline | The counter could not reach BillionBiz (repeated failed requests, or a failed server check). Keep selling for cash if offline access is ready. It returns by itself shortly after the server answers again; you do not need to reload. |
| UPI and card need a connection. Take cash, or wait until you’re back online. | You selected UPI, card or split while the counter is offline. Offline selling is cash only (manual UPI is not available offline either). Take cash, or wait until the header leaves Offline; the message clears and UPI, card and split work again. |
| Offline limit reached. | See Why does the counter say the offline limit is reached? |
Read the Waiting bills chip
Screen: the notice area above the bill on /pos. Once a bill saved on this device has been
waiting for about 30 seconds, a Waiting bills: N chip appears, where N is how many saved bills
have not yet reached the server. A very brief connection blip stays quiet: nothing is shown until a
saved bill has waited that long.
Open the list
Select Waiting bills: N. Each waiting bill is listed with Saved — will send, the line Bill (reference) is saved on this device. Final receipt number is waiting. and its amount. Select the chip again to collapse the list.
Leave the bills alone while they send
Keep this browser and stay on the counter. The bills are sent automatically as the connection recovers, and the chip count drops as they are accepted. Do not enter the sale again.
Act if the chip changes after 15 minutes
If a bill has waited more than 15 minutes the chip text changes to N bills waiting over 15 minutes — check internet. Check the shop's internet or Wi-Fi. The bills stay saved on the device until they are sent; do not clear browser storage.
Why is a bill I just paid not counted in Waiting bills? The chip counts only bills the server has not received. A bill the server has already accepted, whose final receipt is not ready yet, is shown as a separate line, 1 bill sent, receipt pending. (N bills sent, receipts pending. for several), and is not in the chip count. On the paid screen of that bill you see the same sent, receipt pending wording instead of Saved — will send. Waiting for the final receipt number. Nothing needs resending; the final receipt appears under Final receipts (N) when it is ready.
Read the sync status in the counter header
Screen: the status area at the right of the counter header on /pos, beside the date and time.
It always shows one status line, and the wording changes with the connection and with the bills saved
on this device. The count follows the number: 1 bill waiting for one, N bills waiting for
more.
| What the header shows | What it means | What to do |
|---|---|---|
| Connecting… | The counter has no bills waiting but its live data has not finished loading. | Wait a few seconds; if it stays, check the internet. |
| ✓ Synced (time) | Online, the counter data is loaded and no bill is waiting. | Nothing. |
| Offline · 1 bill waiting / Offline · N bills waiting | The counter has no connection. N counts the bills saved on this device that the server has not received yet (it can be 0 bills when nothing is saved). | Keep taking sales if offline access is ready. Keep this browser and do not clear its storage; bills are sent when the connection returns. |
| Syncing · 1 bill waiting / Syncing · N bills waiting | The connection is back, or you are online with saved bills still to send. | Leave the counter open. The count drops as the server accepts each bill, then the line changes to Synced. Do not enter the sale again. |
| Needs attention · 1 bill waiting / Needs attention · N bills waiting (shown in red) | Either a saved bill needs owner review, or offline storage on this device is unavailable. This status wins over the other lines. | Read the notice above the bill: These saved bills need owner review (references) or Offline storage is unavailable. Reconnect before taking a new payment. Saved obligations are retained. Keep the device and the browser data, reconnect, and ask the owner to review. |
The same status on a phone. On a screen 700 px wide or narrower the long line would not fit, so the header shows a short form instead: the state word and a number pill, with the cloud-with-a-slash icon in front when the counter is offline.
| Long line (wide screens) | Short form (700 px and narrower) |
|---|---|
| Connecting… | Connecting… |
| ✓ Synced (time) | Synced |
| Offline · N bills waiting | slashed-cloud icon, Offline, pill with N |
| Syncing · N bills waiting | Syncing, pill with N |
| Needs attention · N bills waiting | Not sent, pill with N (red) |
The pill shows only for the offline, syncing and not-sent states. It is outlined while N is 0 and turns amber while bills are waiting. The short form never shows the time. With a mouse, hover over the chip to read the full sentence as a tooltip; a screen reader reads the full sentence too. Only one form is on screen at a time; the meaning and the action to take are the same as in the table above.
When the only problem is that the browser may clear its saved data when space is low, the counter shows a one-line strip with a short phrase, Saved data may be removed. and a small chevron at its right that says it unfolds. Tap the strip to read the full sentence (This browser may remove saved data when space is low. Keep this device and reconnect regularly.); tap it again to fold it back. It is a reminder, not an error: keep the device, do not clear browser data, and reconnect regularly so waiting bills are sent. In Big buttons mode the notice shows as the same single collapsed line with the chevron and the X, on any screen width, instead of a tall card.
The strip has a × button at its right end (its name for a screen reader is Hide this notice). Select it to hide the strip for good on this browser: the choice is saved in the browser itself, so it stays hidden after you reload or sign in again, and it is per device and per browser, not per store. Clearing the browser's data brings the strip back. If the browser cannot save the choice (for example in a private window), the strip stays hidden for that visit only. The × is offered only when the storage reminder is the sole message. When any other offline notice is showing (waiting bills, Needs attention or a restriction), the strip is not shown this way and cannot be hidden.
The header count includes every bill the server has not finished with, including a bill the server has accepted whose final receipt is still being prepared. The Waiting bills: N chip described above leaves those out and lists them as sent, receipt pending instead, so the two numbers can differ by that amount. For the same reason a bill saved a few seconds ago counts in the header straight away, while the chip stays quiet for about 30 seconds.
Weighed and length-based items offline
At /pos, choose the measured item and enter Weight (kg) or Quantity (m) on Add by weight.
Wait for Line amount, then select Add with the quantity. Using the last saved measurement
price. The server checks it when this bill is sent. means this sale uses the activated copy's
measurement settings and price, including when the owner has since changed the online price.
Finish with an allowed offline tender and keep the temporary receipt until the sent bill is accepted.
Why does this item ask me to connect? If Connect to refresh this item’s saved measurement settings. Your bill is kept. appears, the saved settings or offline access cannot safely price that item. Keep the bill, reconnect and ask the owner to refresh the prepared copy; do not clear storage. Add is disabled until a valid line amount is ready. See measured offline billing for setup and restrictions.
Offline billing on a per-location stock store
Offline billing is not available on a store that keeps stock per location. The counter itself works online as normal: it is bound to one active location and shows that location's stock on tiles, chips and scans (see Stock at the counter's own location). Only Prepare offline copy is refused, with a message such as Offline billing is not yet available for stores using per-location stock. Keep billing online during an outage on these stores; reconnecting does not enable offline billing. The messages and the owner's next step are in Why does offline preparation say it is not available for per-location stock?
Why does a second Charge say another payment is in progress?
If you select the charge button while an earlier payment on this counter is still in progress or being checked, the counter refuses it with Another payment is still in progress or being checked. Finish or check it first. The same sentence is shown when you pressed Charge while the counter could not reach the server, then changed the bill (for example rang up another item) and pressed Charge again before the first bill reached the server. Nothing new is charged: the first bill is still saved on this device and is sent as it was, so do not re-enter the sale.
What to do:
- Look at the sync chip in the header (see Read the sync status in the counter header). While it reads Syncing · 1 bill waiting or Offline · 1 bill waiting, the earlier bill has not reached the server yet.
- Leave the counter open. When the earlier bill syncs and the chip changes to ✓ Synced, the message clears by itself. The counter retries a waiting bill every few seconds once the bill is 30 seconds old, so it can take up to about a minute after the connection returns; you do not need to press anything.
- Read the notice that appears with it, described in What happens to items I rang up after pressing Charge?.
- If the message is about a payment that is open for another reason, finish the open payment or check its status (for example with Check same gift payment on a gift sale), then charge again.
The message is shown in the language selected on the counter.
What happens to items I rang up after pressing Charge?
When Charge could not reach the server, the bill is saved on the device and the counter keeps the cart on screen. Anything you ring up after that is not part of the saved bill. When the earlier bill finally syncs, the counter keeps those extra items in the cart instead of dropping them, and a yellow notice above the bill names them. Nothing is charged twice: only what the saved bill did not already contain stays in the cart. The notice depends on how the earlier bill ended up.
| Notice | When it appears | What is in the cart now | What to do |
|---|---|---|---|
| Your earlier bill was completed. Still in the cart: (items). or Bill (number) was completed. Still in the cart: (items). (the second form when the bill has a number) | The earlier bill was a full-credit (udhaar) sale, or a sale charged with a credit-limit confirmation or an owner credit approval, and it reached the server already paid. Cash, card and UPI charges sync as a saved bill instead (next row). | A fresh cart holding only the items rung up afterwards. The earlier bill is not in the cart. | Charge the new cart as a normal sale. |
| Your earlier bill was saved. Still in the cart: (items). | The earlier bill synced as a saved (unpaid) bill. | The saved bill, with the later items added to it. | Select Charge again; it adds only the later items to the saved bill and does not bill the earlier ones again. |
| Your earlier bill was saved. Still in the cart: (items). Their discount was removed; apply it again. | As above, and one of the later items had a line discount. | As above, but that item is in the cart without its discount. | Open the item and apply the discount again, then select Charge. A discount cannot be added to a saved bill together with a new item, so the counter removes it. |
If you added more of an item that was already on the earlier bill (for example a second Assam tea after the first was charged), only the extra quantity stays in the cart as its own row; the quantity already on the saved bill is not repeated. An item sold by weight, length, area or volume counts as one reading: if the saved bill contains it, it is treated as billed and is not carried again.
Select × at the right of the notice to dismiss it. Dismissing only hides the message; the items stay in the cart.
Why does Couldn't reach the server disappear on its own?
A payment refused with Couldn't reach the server. Try again. describes the moment of the failure, not the bill. When the counter had bills waiting to send and they have all synced (the header goes from Syncing · N bills waiting to ✓ Synced), the message is cleared. A message shown with no bills waiting stays until you act or change the language.
Why does the counter say the offline limit is reached?
The access budget is cumulative: up to 300 bills or ₹2 lakh. Sending bills does not replenish it. The payment message is Offline limit reached. Keep this bill, reconnect to the internet and renew offline access before taking payment. Sending earlier bills does not reset the limit. Keep the current bill, reconnect and have the owner renew access before collecting again. Expired access, unavailable storage or a mismatched prepared copy can also block new offline sales.
Why do several offline notices all show at once on a small screen?
Screen: the notice area above the bill on /pos. The offline notice, the readiness or working
notice, the Waiting bills: N chip and a payment error can be on screen together. Each notice
now keeps its full height, with its link, dismiss and saved-chip buttons usable, and the stack no
longer scrolls inside a small box of its own. When the stack is taller than a phone or small tablet
screen, scroll the counter itself to reach the lower notices and the bill beneath them. The bill area
keeps a minimum working height while a notice is showing. The wording of the notices is unchanged.
If a notice seems missing on a small screen, scroll the counter down rather than looking for a hidden panel inside the notice area.
Why does the offline limit notice sit under the left rail?
The Offline limit reached. notice (with its text showing how many bills or how much has been used) now appears in the content area, beside the side rail rather than under it, so it is never hidden at any window width. It appears when you try to take payment past the limit and the bill is kept.
PIN pads submit on the last digit
Every PIN pad on the counter (the lock screen, cashier sign-in, the discount approver and owner approval) submits by itself on the sixth digit, from the keyboard or the on-screen keys, so you do not press Continue. Continue or Enter still submits a shorter PIN. A locked-out or disabled pad never submits. After a wrong PIN the dots clear and the next full entry submits again; the wrong-attempt limits still apply.
Why did the counter lock after the owner signed me out?
If the owner ends your cashier session from the admin, the counter shows Counter locked with Enter your PIN to continue and keeps the bill and the approved device. Enter your PIN, or use Switch cashier. Only This device was removed by the owner. removes the counter binding; then the owner must approve the browser again. A session that ended is not a removed device, so do not reset or rebind it.
Why did Prepare again not replace my offline copy?
Replacing the offline copy first reconciles the old one. When every sale from the old copy has reached the server, Use this copy succeeds and the old copy is retired. If sales are still waiting, the screen says The server requires reconciliation of the current offline copy before a replacement can be activated. Your current copy and saved bills are retained. Reconnect, let the waiting bills send, and try again. See prepare this counter for offline use.
What does "Bill not confirmed yet" mean?
When a bill has been sent but the server has not confirmed it yet (for example the connection dropped
while saving), the offline banner reads Bill not confirmed yet. with the line <bill reference>
followed by is still being saved. Do not take another payment on it until its status is clear.
Where there is no reference to show, the plain version reads This bill is still being saved. Check
its status before starting another payment. The wording covers any bill, not only a finished sale.
Wait for the banner to clear, or check the bill's status, before charging again so the customer is not
charged twice.
Why can't my order taker undo a sale?
Order takers cannot use Undo unsent sale, and the action is hidden for them. Unlock a permitted cashier session and check the waiting sale's short undo window and tender: offline Undo is offered only for a sale with no cash in it (for example an udhaar-only sale), so a cash sale never shows it for anyone. A pending request remains saved until the server confirms; after the window, use the appropriate return process online.
Why is my device asking for owner review?
Owner review required means the device can no longer start bills. If access was revoked with pending sales, POS keeps its credentials and saved bills for review. Do not reset, rebind or clear this browser to bypass it. Ask the owner to reconnect and inspect Prepare for offline → Review held bills. A held bill is not automatically replayed or discarded by opening that list.
Can I unlock after restarting without internet?
A previously saved cashier session can resume locked, preserving the same cashier. Enter that cashier's saved PIN to unlock only while its saved session and offline access remain valid. Wrong-PIN attempt limits still apply. You cannot switch to an uncached cashier or create fresh authority offline; reconnect if the saved verification or access is unavailable.
Why does the lock screen say bills are waiting to be sent?
If you restarted the counter while offline and it has since reconnected, the lock screen shows 1 bill is waiting. Enter your PIN to send it. (or N bills are waiting. Enter your PIN to send them.) above the PIN pad. The saved sign-in lets you bill offline, but waiting bills are only sent after an online PIN sign-in. Enter your PIN once while connected: the counter unlocks and begins sending the waiting bills immediately, without waiting for the next retry. The message appears only when the counter is online and has bills waiting; it does not appear while still offline. Do not clear browser storage; the bills stay safe on the device until they are sent.
The lock screen counts two different things, so the numbers do not overlap:
| Lock-screen line | What it means | What to do |
|---|---|---|
| N bills are waiting. Enter your PIN to send them. | These bills have not reached the server yet. | Enter your PIN while online; sending starts straight away. |
| N bills sent, receipt pending. (1 bill sent, receipt pending. for one) | The server has accepted these bills, but their final receipt is not ready yet. They are not waiting to be sent, and your PIN does not send them again. | Nothing to resend. Unlock and keep working; the final receipt appears under Final receipts (below) once it is ready. |
A bill that has been sent is counted only under the second line, never under both. The receipt-pending line, like the waiting line, appears only after a restart that resumed offline and only while the counter is online.
Why is there a Final receipts (N) button above the bill?
When a bill you took offline is accepted and its final receipt is issued, the counter adds a Final receipts (N) button among the counter notices, where N is how many final receipts are available. The receipts are collapsed so a long history cannot push the bill off the screen. Select Final receipts (N) to open the list. Each entry says Final receipt (number) replaces provisional receipt (reference). and has an Open receipt link that opens the final receipt in a new tab. Select the button again to collapse the list.
The notice area has its own small scroll area (about a quarter of the screen height), so a long list scrolls inside the notices and never covers the bill, its totals or the payment buttons. If the button is absent, no offline bill has had its final receipt issued yet; check the lock-screen receipt pending line or reconnect and wait.
Read the rate on measured items
Screen: /pos catalogue. An item sold by weight or length shows its rate with the unit, such as
₹120/kg, on its tile, on its variant chips and in search results. A rate defined per 100 g shows the
basis with a space before the unit, for example ₹30/100 g. An ordinary item shows just its price, and a measured item with no usable
rate shows an em dash. The rate shown on the tile is the same one the bill is priced with when you
enter the weight or length on Add by weight.
Area-sold items. An item sold by area, such as square metres (shown as sqm), opens the same
Add by weight sheet as an item sold by length. Its field is labelled with the unit, for example
Quantity (sqm); a unit the screen has no short form for appears as its code. Enter the area,
wait for Line amount, then select Add as for any measured item. Length, volume and area
units are all handled this way; kilograms and grams label the field Weight (kg) or Weight (g).
In the item's details on the bill, the quantity is shown with its unit (for example 2.5 sqm)
followed by the price, not as a bare number of pieces.
Whole-number items refuse fractions. Only items sold by length, area, weight or volume (for example metres or square metres) accept a decimal quantity, and only when the item's measurement settings allow it. An item counted in pieces, cartons or other count units takes whole numbers only: a fractional quantity such as 1.5 cartons is refused on the counter, on a held or recalled bill, on returns and when an offline bill is replayed. If a decimal quantity is refused, change it to a whole number, or ask the owner to check whether the item should be sold by measure (Units & Measurement Pricing). An older bill line saved without its measurement facts also accepts whole quantities only.
Why does an area-sold item not open the sheet? The sheet opens only for an item with valid measurement settings that allow fractional quantities and match its selling unit. If the item adds as a plain piece, ask the owner to check its measurement settings (Units & Measurement Pricing).
If The measured rate exceeds MRP. Ask the owner to correct the price or MRP before billing. appears, the counter has refused the line before adding it, online or offline. The owner fixes the price or MRP on the product or variant (a measured rate above MRP is also refused when the product is saved), then you add the item again.
Why does the counter stay quiet when a feature is off?
The counter checks optional extras (gift cards, payment rails, stored value) only for roles that can use them and only once the store has them set up. A cashier on a store without them, or an order taker, no longer sees repeated errors from those background checks, and their absence does not block billing. If a rail you expect is missing, ask the owner to check the setup and your role.
Retry a split bill with udhaar
If a split includes udhaar and exceeds the customer's limit, keep the retained bill while the owner reviews the credit approval. Complete the approval on that same bill and retry the original payment; do not create another sale or take the cash/UPI part twice. A refused approval keeps the bill. A changed customer, amount or session requires a fresh approval for the current action.
Recover payment after changing a device binding
Before rebinding, resolve any uncertain payment on the original bill. Saved payment recovery is kept with its original store, register and device credentials; a different binding must not replay it as a new sale. Returning to the exact original binding can restore its recovery work. POS checks whether the original bill is already paid before retrying a lost request. If payment remains unknown, use Check payment on the original request and ask the owner to review Payment recovery. Never collect again merely because a new binding has no active recovery banner.
Read loyalty balance and consent before redeeming
Screen: at /pos, add items, use Choose customer, then select Use points on this bill.
The button requires a selected customer and bill items; it stays disabled when sale controls are
blocked. Loyalty must be available for the store; a saved draft programme alone does not enable it.
- Read Available points and either Loyalty consent granted or Loyalty consent required. This is the selected customer's current account, not consent created by the cashier opening the panel.
- Enter a positive whole number in Points to use, then Review reward discount. Review Quoted points, Quoted discount and Valid until. The shop validates eligibility and consent; seeing a balance does not guarantee that the requested points can be spent.
- Use Apply quoted discount when the quote permits it, check Reward discount applied. Bill total:, then finish payment normally. Close leaves the panel. A locked, lapsed or busy counter, unresolved payment, refused quote or expired/changed quote can prevent application.
Why are balance and consent unavailable? Account balance and consent details are unavailable. The shop will validate this request. means the account read failed, not that the balance is zero or consent is granted. Reconnect and check the selected customer and cashier sign-in. An uncertain reward result requires Try again on the same request before changing the bill. Cashier account reads do not grant access to owner programme settings.