Returns & Exchanges
Return selected items using a current refund quote, void a whole paid bill with approval, and pay out unused exchange credit.
Find the original bill, select the items and review the current refund quote before confirming. Item-by-item returns, whole paid-bill voids and unused exchange-credit payouts are separate tasks; check the original bill and payment status for the task you need.
Screen: Open /pos in either admin skin and open More on the left rail and select Return, or select Return /
refund on the paid bill. The Orders screen has no Returns tab: Held, Today and Pickups
are its only tabs, so start from Return (or from Open on a bill, below). Return is a task inside the
counter; you do not need a separate returns address.
Return selected items
Find the original bill
On Find bill, enter the original number in Invoice or order number, then select Find bill, or use Scan receipt. You can also use Open beside a row in Today’s bills or Online orders. Check the invoice or order number and customer before choosing items. Paid online · Gateway payment identifies an online payment; it does not mean a refund has been sent. Use Next and Previous to inspect additional bill rows. A sale that was voided in full is not listed in Today’s bills, and looking its number up says This bill was voided instead of opening it. Cancel leaves without recording a return.
Choose the returned quantities
Select Return 1 for each item, or use its plus control, then adjust Return quantity. Each line reads N sold, N returned · N can be returned, so you can see how many were sold, already returned and still returnable. If the line instead reads Return quantity unavailable. Reload bill., the screen did not receive a valid returned quantity and treats the line as not returnable; select Reload bill (above the bill's lines) to fetch the current figures. Reload bill is disabled while the counter is offline, while a request is in progress or after the return is recorded. Set the quantity to zero to remove that item from this return. Already returned is disabled when no quantity remains. For a measured item, use the quantity and unit shown; do not assume one piece. If the bill says Returned in full or its return window has closed, review the original record with the owner rather than making another sale or return.
Choose stock handling and a reason
For each selected item, choose Back to shelf for goods that can be sold again or Damaged for goods that must not return to saleable stock. The Back to shelf switch offers the same stock choice where shown. Selecting it does not change stock before the return is recorded. Choose Return reason (required): Customer changed mind, Item damaged or Wrong item. Picking Item damaged sets every item you have not touched to Damaged; picking either other reason sets them to Back to shelf. An item whose Back to shelf or Damaged choice you changed yourself keeps your choice when you change the reason, so check each item before you confirm. Items you select after choosing Item damaged also start as Damaged. Use Note for an optional explanation. Back returns to the original bill or bill search without recording a new return.
Choose where the return value goes
Use Return for a refund or balance reduction, or Exchange for credit toward a replacement bill. Under Refund to, select the offered destination: Same as paid (the method and amount the customer paid with appear as a smaller line under the label), Cash or Cash fallback where shown, or Reduce udhaar when available. The choices depend on the original payment, outstanding udhaar and current gateway-refund setup. On a bill with no udhaar outstanding whose payment was not cash (including UPI or card), Cash is offered as a choice (shown as Cash or Cash fallback), and a cash refund on a digital payment needs owner approval. When gateway refunds are not available (not configured or could not be checked) for a bill paid through the payment gateway (UPI collected through the gateway) or on a card terminal, the same-as-paid choice is not offered and Return selects Cash for you, so the refund can be quoted straight away instead of waiting on a method that cannot be used. A manually recorded UPI or card payment is not affected by this fallback. You can still switch to Exchange or, where offered, Reduce udhaar. Cash fallback does not reverse the original UPI or card payment. Do not send a second refund through that original method after giving cash.
How the Refund to choices are decided, for a refund (not an exchange):
- A bill with udhaar still outstanding offers Reduce udhaar in place of Same as paid.
- Otherwise Same as paid (with the original payment named) is offered when the bill was not paid through the payment gateway or a card terminal, or when the counter has confirmed that gateway refunds are Ready for the shop.
- On a bill with no udhaar outstanding whose first payment was not cash, Cash is also offered.
- For a bill paid through the payment gateway (UPI collected through the gateway) or on a card terminal, the counter asks the server whether gateway refunds are ready as soon as the bill opens. While that check runs, and whenever the answer is not Ready, Same as paid is hidden and the note Original gateway refunds are not configured or could not be verified. Choose cash with owner approval, exchange, or reduce udhaar where available. appears under the choices. When the answer is Ready, Same as paid appears and the note disappears, so the refund can go back to the customer's original UPI or card payment.
Payment methods are always named in plain words, never as raw system codes: Cash, UPI, Card, UPI auto-confirm, Card machine, Udhaar, Exchange credit, Online payment, Recorded by admin or Gift card (code) / Store credit (customer). A method the counter cannot name reads Payment method unavailable; check the original bill rather than guessing.
Watch the live refund preview
As soon as you select items, Live refund preview appears and says Calculating refund…. About a quarter of a second after your last change (item, quantity, Back to shelf or Damaged, or the Refund to choice) it shows Refund: ₹amount, Udhaar reduction and, for an exchange, Exchange credit. Each selected line adds a tax line such as Taxable ₹140.11 · CGST ₹11.22 · SGST ₹11.23 · IGST ₹0 · Round-off -₹0.04. Keep changing the selection and the preview recalculates; only the latest answer is shown.
If the refund will need the owner and you are signed in as a cashier, the preview says Owner PIN will be needed with the reason: This refund needs owner approval, Cash refund for a digital payment, Refund is above the cashier limit or Refund method differs from the original payment. If it cannot calculate you see Could not preview refund (code). Change the selection to try again. The preview ends with Preview only. The final refund is confirmed when the return is recorded. It never records a return or moves money; the binding quote below still decides the final amount. When the owner is signed in on the counter (including an owner PIN sign-in linked to the owner's account), the Owner PIN will be needed notice and its reasons are not shown, because the owner can quote and complete the return without a separate approval.
Wait for and review the current quote
A bill that was just paid may not have its final invoice ready yet. When that happens POS does not fail: the preview and the quote show Preparing the original invoice. We will retry automatically. and check again by themselves for roughly 45 to 50 seconds. Stay on the screen. When the invoice is ready the preview or quote appears on its own. If the invoice is still not ready after the retries, you see The original invoice is still being prepared. Wait a moment, then retry. No return has been recorded. with a Retry invoice check button. Wait a moment and select it; nothing was recorded, so nothing needs undoing. The button is disabled while the counter is offline, locked or busy.
Wait while Getting the refund quote… is shown. Review the returned quantity and amount for each selected line, Return total, Refund amount and each payment method's allocated amount. Review Khata reduction and Exchange balance separately; neither is cash handed back. Credit note appears when applicable to the original GST invoice. A plain bill uses a return acknowledgment and does not become a GST invoice.
A payment allocation marked Refund pending still awaits refund completion. Other allocations use the label Refund destination. These are quote details before confirmation, not proof that a return or payment has completed. You cannot edit the quoted amount; change the selected return details if they are wrong, then review the replacement quote.
Confirm once and inspect the result
Select Refund followed by the quoted refund amount, or Exchange for an exchange return. Use an account allowed to return the bill. An owner confirms through the existing owner authority. A cashier's refund always needs the owner's approval: the cashier refund limit is ₹0, so any refund above zero goes to the owner, and a cash refund on a digital payment needs approval as well. A configurable cashier limit is not available yet.
When the current quote already names that approval, the Owner approval required screen opens on your first press of the refund button, before anything is submitted. It names the action as Owner approval for refund (over the limit) or Cash refund on a digital payment, with the bill and amount. Nothing is sent to the server and no return is recorded until the owner approves. Choose an eligible Owner, then either the owner enters Owner PIN and you select Continue, or you select Ask owner remotely when it is available (Use owner PIN instead switches back). Once the owner approves, the refund is submitted for you with that approval; you do not press the refund button a second time. Select Dismiss to close the screen without approving: nothing is submitted, the refund button becomes available again, and pressing it asks for owner approval again. While the approval screen is open the refund button and the Refund to method buttons are disabled.
If the quote did not name the approval, the refund is submitted first; when the server then says it needs owner approval, the same Owner approval required screen appears, and after the owner approves, the refund is resubmitted automatically with that approval.
An owner signed in on the counter refunds without this prompt. The approval applies to this unchanged return. Changing the return or quote requires reviewing the new request.
Wait for the recorded result. Return recorded or Cash refund recorded confirms the return record; inspect the actual refund status as well. A completed cash refund, including Original payment method when the original tenders were all cash, says Cash refunded. A still-pending electronic refund says Refund pending; the copy follows the recorded refund method and status, not just the first payment method on a mixed bill. Refund pending does not mean money reached the customer, and a failed refund needs review. Reduce udhaar reduces the customer's balance without paying cash. If exchange credit is created, the counter opens the replacement flow below.
Read the Refund limits block
Screen: the Refund limits block on the return screen. It is not shown once the return is recorded. It shows how much can still go back, and where, so you can check it before confirming.
- When a quote is loaded (after the quote appears for your chosen items), the block shows the quote's own figures: one row per payment method with its allocated amount (for example Cash with an amount), then Refund amount for a refund or Exchange balance for an exchange. These match the Refund amount or Exchange balance in the quote above, so the two can no longer disagree.
- Before a quote is loaded (for example, no items chosen yet), the block can show Back to (method), up to rows with each method's remaining amount, and Still refundable for the bill. These are a starting guide from the original bill; once a quote loads, it replaces them.
- If neither is available it says Open the original bill to check how much can be refunded. and the quote status below explains why. Reload the bill or retry the quote. When the refund amount cannot be quoted at all, the block shows a short summary line and a collapsed Why is it unavailable? disclosure. Select it to read the full reason (refunds and exchange cash payouts are unavailable until the server can confirm the exact amount, so do not hand out cash).
If a limit looks lower than expected, earlier returns and pending refunds have already used part of the paid amount. Method names follow the plain wording above.
Return an item saved by scanning an unknown barcode
An item you added through Add scanned product (see Counter Billing & Tenders) is returned like any other line. Find the original bill, select Return 1 or set Return quantity, choose a reason and confirm. Because these products do not track stock, nothing is put back on a shelf count; the return is still limited to the quantity sold. Once that quantity has been returned, a second return of the same line is refused and Already returned stays disabled. If a stale screen lets you try again, use Reload bill and check the remaining quantities.
Returned quantities follow the same unit rule as the sale: a line sold in pieces or cartons is returned in whole numbers, and only a line sold by a measured unit that allows decimals (metres, square metres, weight or volume) can be returned in part of a unit. A fractional return of a whole-number line is refused; return whole units instead.
Offline. While the counter is offline, Return and refund and Void bill are disabled and one hint, Returns need internet. Connect to return this item. Your bill selection is retained., explains why beside them; the Void bill button points to that same hint, so a screen reader reads it once. The live refund preview is hidden while offline. Reconnect and the buttons enable again.
Quote expiry and changed details
The server issues a quote valid for five minutes. Check Quote expires at and its displayed time. Changing an item, quantity, stock handling, refund method, reason or note clears the held quote and requests another one. Confirmation waits for the replacement quote; an earlier amount cannot be used for the changed return.
When a quote expires or the bill's financial state changes, review the replacement before confirming again. Review the new quote explains that the quote changed or expired. If its amounts or allocations change, Amount changed. Review the new quote before confirming. highlights the difference. Loading a replacement quote does not confirm the return for you.
Keep an uncertain return open
If the connection drops while confirming, keep this return open and choose Retry the same return. It sends the saved original request, including its amount, quote and approval, rather than making a second return. An accepted request can replay after its original quote expires. Return edits are locked while the result is unknown. Do not start another return or pay again to resolve an uncertain result; check the original refund when needed.
Void an entire paid bill
Screen: Open the paid receipt or find the historical bill through Return, on its original counter, then select Void entire paid bill. This cancels all remaining items and is separate from short-window Undo. In the day's totals a whole void counts once: the original sale stays in gross sales and the refund is deducted once under returns, so net sales fall by the refunded amount and are not reduced twice. Undo leaves no refund, so an undone sale is left out of both gross sales and returns. See Today's totals.
Where the form opens. On a screen 1024 px wide or wider, Void entire paid bill opens the form as a centred dialog over the receipt, so Reason and the confirm button are on screen without scrolling. Close it with Cancel, the Esc key, or a tap on the dimmed backdrop; all three do the same thing as Cancel, and they work only while Cancel is available (not while a void is being submitted, waiting for approval, or already recorded). While focus is in the dialog, Tab stays inside it. On a narrower screen the same form opens inline below the receipt actions. On those screens, once the bill has been read and Reason is ready, the page scrolls the form into view (without animation if your device asks for reduced motion) and puts the cursor in Reason, unless an error message is already showing. Only Cancel closes the inline form; Esc and a tap outside it belong to the 1024 px dialog. On every screen narrower than 1024 px (phone or tablet) the receipt actions above the form, such as print and WhatsApp, and Return and refund are hidden while the form is open, so the form is the only thing on screen; they come back when you select Cancel. Whichever way the form was closed (Cancel, Esc, the backdrop, or Cancel while waiting for a receipt), focus returns to Void entire paid bill, so a keyboard user does not lose their place. If some lines were returned earlier, the form still shows Already returned: N line (or N lines), because the void covers only what is left.
A fully returned bill cannot be voided. When every line on the bill has already been returned in full, Void entire paid bill is greyed out and the line Every item on this bill has already been returned, so there is nothing left to void. shows beside it; the server refuses the void too. If the form was already open when the last return was recorded, the same line shows in it and the confirm button stays greyed out. A bill that is only partly returned (at least one line still outstanding) can still be voided for what is left. This follows the return straight away: when you record the last return, Void entire paid bill turns grey at once, on the Return / refund screen where you made the return and on the bill's paid screen when you go back to it, without reopening the bill. The same holds for a bill you returned from a pickup order's paid screen.
Load the original paid bill
The counter reloads the bill and its current version. Check the customer and original bill. Use the original approved device and register. The store must allow paid-bill voids; a visible button does not bypass that permission.
For a discounted bill, the refund uses the original discounted item values and the bill's round off. Voiding the whole paid bill before any returns refunds exactly the amount paid, rather than the items' prices before discounts. If you already returned some items, the void covers only the remaining items and remaining round off; earlier refunds plus the void still add up to the net amount paid. Partial returns also use each item's original discounted value. Do not add a discount or round-off difference to the refund yourself.
What the invoice and credit note show. On POS invoices issued from this update onward, a whole-bill discount (a manual bill discount, a coupon or a loyalty reward) is spread across the bill's taxable lines. Each line's taxable value, GST and line total on the invoice is therefore on the discounted basis, with the bill's round-off shared across the lines. A credit note issued for such a bill reverses the same per-line amounts, so a full void takes every line back to zero and partial returns use each returned line's own discounted share. Invoices issued before this update are not changed or re-issued; they keep the amounts they were issued with. This does not change what the customer paid or the refund total.
Set the reason, stock handling and refund destination
Reason is required: the label carries a Required marker and the box shows the example text e.g. Wrong item rung. While it is empty the line Add a reason to continue shows under it and the confirm button stays greyed out (a solid pale red tint with no dashed outline, not clickable). Once Reason has text the line disappears and the confirm button turns solid red. Cancel is always the outlined button beside it. Enter a nonblank Reason (up to 255 printable characters), choose Back to shelf or Damaged under Stock handling, then choose Refund destination. Original payment is offered only when refund setup reports ready. Otherwise choose owner-approved Cash, or Reduce udhaar when applicable. The server checks whether that destination can settle the original payment.
Confirm and obtain owner authority
Select the single confirm button, which names the destination. On a phone (480 px wide or narrower) it reads the shorter Void and refund; the destination is still the one chosen under Refund destination, and a screen reader still announces the full name. On a phone the confirm button and Cancel also stack full width, confirm first, so the label never wraps. After an unknown result the button reads Retry same void instead. On wider screens it reads Void bill and refund to Cash, Void bill and refund to Reduce udhaar or Void bill and refund to Original payment. There is no separate confirmation checkbox on the normal path: that one tap is the confirmation of the cancellation and the refund destination. The only tick box in this panel appears after the bill changed meanwhile (see If the bill changed while you were voiding it). A cashier can choose an eligible Owner, let the owner enter Owner PIN, then Continue, or use Ask owner remotely when available. Refunding cash on a digital payment needs its separate cash-refund approval as well as approval to void the bill. Approval alone is not a completed void: check the final result. An owner using a matching admin sign-in explicitly confirms through the owner path; an owner name on a PIN session alone is insufficient. Cancel leaves before submission; dismissing approval does not complete the bill.
Read the recorded result
Check Bill void recorded and the refund status. A GST credit note appears only when issued for the original GST invoice; a paid plain bill uses a return acknowledgment and does not become a GST invoice. The result also shows the stored tip and round-off refund amounts. Refund pending is not confirmation that money was sent; a failed refund needs review of the original refund.
A just-paid bill. If you void a bill moments after it was paid, its final receipt may not be ready yet. Void bill and refund to… then waits instead of failing: the panel shows The receipt is being prepared. We will retry the cancellation automatically. and the counter retries by itself for a short while (about the same 45 to 50 seconds as the invoice check). Stay on the screen. When the receipt is ready the void goes ahead on its own. Cancel stops the waiting and closes the panel; nothing was voided. If the receipt is still not ready when the retries run out you see The receipt is still being prepared. Try cancelling this bill again shortly. Wait a moment and select Void bill and refund to… again.
What a recorded void does to the paid screen. Once the counter shows Bill void recorded, it marks that bill as cancelled straight away, without waiting for you to reload it:
- The Undo button goes. The Undo button with its seconds countdown on the paid screen disappears, because the bill is cancelled and the short Undo window is over. A void cannot be followed by an Undo; the sale is not returned to the counter as a new draft bill.
- The counter never asks to finalize it. A paid bill is normally finalized (its invoice number assigned) from the counter when the Undo window runs out, when you start the next bill, or when you correct a GSTIN. For a voided bill the counter skips that request in every case, so starting the next bill after a void does not send the cancelled bill for finalizing.
- Done on the Returns screen starts a fresh sale. If you voided the bill from the Returns screen and select Done, the counter opens a new empty sale. It does not bring back the cancelled bill's old paid screen with its sale actions.
- The cancelled state is for the bill you voided. Voiding applies to the bill currently on the paid screen; it does not change any other bill.
If the response was lost, use Retry same void instead of issuing another refund. Its saved original request can be retried after reopening this bill on the same device. When secure retry storage is unavailable, a new void cannot be sent. Offline, locked or unresolved-return states also block submission.
When a void closes the form, and when the bill changed on another device
After Void bill and refund to… succeeds, the void form closes itself and the paid screen shows Bill void recorded; start the next sale from there. If another device changed the bill first, the form locks and shows This bill was changed on another device. Reload the bill to continue. with a Reload bill button. Select Reload bill to read the current bill, then start the void again from the refreshed bill. This is separate from the tick-box stale case below.
If Void says this sign-in cannot void, or asks for a drawer count
Screen: the Void paid bill panel, after you select Void bill and refund to…. A refusal shows a red message under the form, with its recovery button (for example Count the drawer) kept directly under it. On a short screen the counter scrolls the message and button into view and moves keyboard focus to the message, so you do not have to scroll down to find them. Nothing has been voided or refunded when you see one.
| Message | Why it appears | What to do |
|---|---|---|
| This sign-in cannot void paid bills on this counter. Sign in as the store owner, or ask the owner to approve the void, then try again. | The server refused the void with a permission-denied answer: this sign-in does not have permission to void paid bills on this counter (a cashier or another role, rather than the store owner's own PIN). | Sign in at the counter with the owner's PIN and void again, or select Void bill and refund to… again and let the owner approve (the owner enters Owner PIN, or use Ask owner remotely). |
| Count the cash and take over the drawer first, then void this bill. with a Count the drawer button | The register is waiting for a handover count, and a void cannot be recorded until the drawer is taken over. | Select Count the drawer, count the cash and record the handover (see Count at cashier handover), then open the bill and start the void again. |
If Void says prepared dishes cannot go back on the shelf
Screen: the Void paid bill panel, after you select Void bill and refund to… with Stock handling set to Back to shelf.
Stock handling offers Back to shelf and Damaged, and it starts on Back to shelf for every bill. On a restaurant bill that contains prepared (cooked) dishes, that choice is refused with a red message under the form: Prepared dishes can't go back on the shelf. Choose Damaged and try again. Nothing has been voided or refunded when you see it.
Why. A dish that was cooked has already used up the ingredients in its recipe, so the dish itself cannot be put back into stock as a finished item.
What to do.
- Change Stock handling to Damaged. Leave Reason and Refund destination as they are.
- Select Void bill and refund to… again. The counter may ask for owner approval, as for any paid-bill void: the owner enters Owner PIN, or you use Ask owner remotely.
When the owner's own PIN sign-in needs no separate approval
If the person at the counter signed in with the store owner's own PIN (the counter's owner cashier entry, linked to the store's current owner account, and neither disabled nor locked), the counter treats that sign-in as the owner's own confirmation. For that sign-in these actions no longer ask for a separate owner approval:
- Void entire paid bill, with any Refund destination.
- Paying out unused exchange credit, whether the method is cash or non-cash (UPI or Card).
- Recording a refund without a bill (a no-bill return, which is cash only).
Every other sign-in is unchanged. A cashier, a manager, or an owner entry whose link to the store's owner account is missing, disabled, locked or no longer the current owner is treated as an ordinary cashier and still needs owner approval or the refund permission. The handover count described above still applies to the owner's PIN: if the register is waiting for a count, the void is refused with Count the cash and take over the drawer first, then void this bill.
If the bill changed while you were voiding it
Screen: the Void paid bill panel on the paid screen, after you select Void bill and refund to….
If something else changed the bill after the panel loaded it (for example another counter recorded an item return, or the bill's version moved on), the counter does not void it. It shows The bill changed. Check the updated bill below and tick the box to continue. and re-reads the bill. Nothing has been voided or refunded at this point.
Read the updated bill
A summary line appears above Reason: Updated followed by the bill number, then total (the bill's current net total) and refund goes to (the chosen Refund destination). If part of the bill was already returned, a second line reads Already returned: 1 line or Already returned: N lines. It counts the bill lines that have any returned quantity, not units or money, because quantities in different units (for example kilograms and pieces) cannot be added together. It is hidden when no line has been returned.
Tick the check box
Tick I have checked the updated bill. Until it is ticked the Void bill and refund to… button is disabled. Re-check the Reason, Stock handling and Refund destination against the updated bill; the refund the server computes is for the bill as it stands now.
Confirm again
Select Void bill and refund to… once more. Owner approval is requested again exactly as before.
Changing the refund destination clears the tick. If you pick a different Refund destination after ticking, the box is unticked and the button is disabled again, because the summary's refund destination changed. Tick I have checked the updated bill again. Closing the panel and reopening it with Void entire paid bill starts clean: the bill is read again and the tick box is gone until the next conflict.
Check refund setup and status
For an original gateway payment, the page checks whether gateway refunds are Ready. When setup is not configured or cannot be checked, original-gateway refund is unavailable. Review the offered Cash fallback, Exchange or Reduce udhaar options; each still needs its own permissions and a current quote for an item-by-item return. Cash requires the owner flow.
If a refund is refused because refund processing is not configured, no refund was made by that refusal. Choose an allowed alternative or ask the owner to finish setup. An exact saved recovery request can retry its original destination even if readiness later changes. For Refund pending, check the original refund with the bank or payment provider and avoid a second refund. Review a failed refund before taking another action. A saved return receipt may retain its original pending status; use the original refund's current status to check completion.
Historical bills after the add-on lapses
New sales remain locked after POS access lapses. The verified store owner can review historical bills and settle supported paid-bill obligations on the original retained register, including the whole paid-bill void above and permitted item-by-item returns. Review a current quote and obtain the required owner authority before confirming a return; selecting items alone records nothing. Retained access does not unlock new sales, new replacement bills or payout from an inactive register.
Continue an exchange
Check the existing exchange context
After a confirmed return creates exchange credit, the counter opens the exchange with Available exchange credit. You can also continue an exchange already open on the counter. Check its amount, no expiry label, original bill or online order, customer and credit-note number when present. There is no standalone address here for restoring an arbitrary exchange.
Choose the replacement
Select Choose replacement item, add the products and quantities, then open Review exchange. Review each replacement line and the comparison between credit and replacement value. Use Next and Previous to inspect all replacement lines when they span pages.
Finish an equal-value replacement
If the replacement uses all the credit, select Finish exchange. Review Credit used and the linked replacement result before selecting New bill.
Collect a higher-value difference
For Higher-value replacement, review Customer pays. Choose Cash, UPI or Card and complete the payment for the difference. Cash supports Cash received and change; UPI and card require the checks described in Counter Billing & Tenders. The result shows credit plus additional payment equalling the replacement. If it says Payment needs checking, check the bank and ask the owner before collecting again. The automatic gateway payment-check flow is not connected yet; see the tender guide for its limits.
Return unused credit through the owner
For a cheaper replacement, finish the replacement, then select Give back with the remaining amount and Owner approval. Keep the counter open while the owner records the payout. Do not leave the exchange as complete until the payout result is confirmed. Back while waiting for the owner returns to the paid replacement view; it does not record a payout.
What the exchange screen says when it is finished. Once the exchange is complete, the empty work area no longer repeats the opening prompt Choose a replacement item or refund the unused credit. After a replacement was sold it reads Replacement and payout were recorded against the original bill or order and credit note. After the unused credit was refunded with no replacement it reads Unused exchange credit refunded; no replacement sold. If you still see the opening prompt, the exchange is not complete yet: finish the outstanding replacement, payment or payout first.
Record the owner's exchange payout
Screen: From exchange review, choose Give back after a cheaper replacement, or
Refund… instead when cancelling, then Owner approval. This opens
/settings/pos/exchange-payout with the exchange, register and store details. There is no sidebar
entry in either skin; use the exchange's link and keep the originating counter open.
Read the current credit
Wait for Current remaining credit. This is the verified current amount, not the balance carried in the counter's link. Check the original bill or online order and any credit-note number. If current credit cannot be verified, use Refresh current credit before paying.
Choose the method and confirm as owner
Sign in with the owner account. Choose Cash, UPI or Card from the methods offered. Check I confirm… by… against the displayed amount and method, then select Record payout. Changing the method clears confirmation. Cash requires the approved counter device for the same store; the owner account alone does not replace device and register checks.
Review a changed balance before a new attempt
If the credit changed, the page loads the new remaining amount and clears confirmation. Review it and confirm again before a new attempt. No exchange credit remains means there is nothing to pay out. Refresh current credit checks the balance without making a payout.
Retry an unknown result without a second payment
If the result is not confirmed, select Retry same payout. The amount, method and payment reference stay fixed for that retry; do not make another separate payment. Refresh and method changes are unavailable while this result is unknown. If the reference was used for another request, refresh current credit before starting a new explicit attempt.
Check both results
Success shows Paid back… by… with the actual amount and method and updates the originating counter. Check the exchange result before New bill. If the owner page was opened separately or the original counter was closed, do not assume another counter received that result.
Cancel or keep an exchange
Cancel exchange opens Refund unused credit?. Keep exchange returns to the replacement review. Refund… instead opens the owner payout flow for unused credit. Cancelling does not silently remove the original return or restore a payment that you already refunded.
When counter sales are paused, Choose replacement item is disabled and new replacement bills are paused. The unused-credit owner link may still be shown, but payout requires an active register. Do not assume a retained register locked after add-on lapse can pay out exchange credit. If the balance changes, review the owner's refreshed current credit and confirm it again.
Troubleshooting
| What you see | What to do |
|---|---|
| Returns need internet | Reconnect. POS retains the selected bill; return recording is disabled while offline. |
| This bill was voided, with the line A voided bill cannot be returned. Check Orders > Today. | The number you looked up belongs to a sale that was voided in full. Nothing can be returned on it, and Today's bills in the return picker does not list voided sales. Open Orders → Today to see the sale with its Voided chip, and check the refund under Refunds paid (see Voided sales and forfeited deposits). This is different from Bill not found, which means the number matches nothing. |
| An exchange that is finished still shows Choose a replacement item or refund the unused credit. | The exchange is not complete. A finished exchange shows the recorded-result note instead (see above). Add the missing replacement, payment or owner payout. |
| Bill not found | Check the original invoice or order number and current store, scan the original receipt, or use Open on its bill-list row. |
| Camera scan unavailable | Use Type invoice number and enter the number manually. |
| Invoice is being made | Wait a moment and retry the original bill. Do not substitute another bill for a receipt that is still being prepared. |
| Preparing the original invoice. We will retry automatically. | The bill's final invoice is not ready yet. Stay on the screen; POS rechecks for about 45 to 50 seconds without losing your selection. |
| The original invoice is still being prepared. Wait a moment, then retry. No return has been recorded. | The automatic retries ran out. Wait a moment, then select Retry invoice check. No return or credit note exists yet, so do not look for one. If it keeps failing while online, ask the owner to check the bill in Orders. |
| Retry invoice check is disabled | The counter is offline, locked or busy. Reconnect or unlock first. |
| A scanned-in item cannot be returned a second time | Its sold quantity was already returned. Open the original bill and check Already returned; refunds cannot exceed the quantity sold. |
| Return quantity changed | Use Reload bill and check the remaining quantities. Another return may already have used them. |
| The counter jumped to Count the cash before you start when I confirmed a return | The register is waiting for a handover count. The return was refused and nothing was recorded (it is not an unknown result, so do not use Retry the same return). Complete the count, then record the return again. See Why was I sent to the handover count? |
| Could not record the return | Your selection is retained. If the result is unknown, use Retry the same return; do not create another return or credit note. |
| Refund limit exceeded | The remaining paid amount cannot cover this refund. Reopen the original bill, check its payments and earlier refunds, adjust the selection and review a new quote. |
| Quote cannot load | Check the connection and use Try again. Do not hand out a local estimate while the current quote is unavailable. |
| Review the new quote | The quote changed or expired. Review the newly loaded amount and confirm again. |
| Why does the owner prompt appear before the refund goes through? | The quote already shows the refund needs owner approval (a cash refund on a digital payment, or a refund over the cashier limit), so POS asks on the first press of the refund button instead of submitting first and being refused. Nothing has been recorded while the prompt is open. Get the owner to enter Owner PIN and select Continue, or use Ask owner remotely; the refund then goes through automatically. An owner signed in on the counter skips the prompt. |
| I selected Dismiss on the owner approval and nothing happened | Dismissing submits nothing. Select the refund button again to be asked for approval again. Dismissing does not cancel a remote request already sent; it stays pending until its two-minute deadline. |
| Check refund amount or Refund is disabled | Select at least one returnable item and an allowed method, then wait for a valid current quote. Reconnect or unlock the counter if needed. A bound register and secure recovery storage are required; a busy request or outstanding owner approval also prevents confirmation. |
| Why do I only see Cash (or Cash fallback) under Refund to, with a note that original gateway refunds are not configured or could not be verified? | The bill was paid through the payment gateway or a card terminal, and the server did not report gateway refunds as Ready for this shop (not set up, or the check failed). Same as paid stays hidden until it does. Reopen the bill to run the check again; if the note stays, ask the owner to finish the shop's gateway refund setup, or give cash with owner approval, an exchange, or Reduce udhaar. A manually recorded UPI or card payment is not affected. |
| Return window closed or Returned in full | Review the original bill with the owner. Items outside the offered return eligibility cannot be selected for a new return. |
| A line says Return quantity unavailable. Reload bill. | The returned quantity for that line was missing or invalid, so no quantity is offered. Select Reload bill; if it persists while online, ask the owner to check the bill in Orders. |
| This sign-in cannot void paid bills on this counter… (Why does Void say this sign-in cannot void?) | This sign-in is not the store owner's own PIN and no owner approval was attached. Sign in as the store owner, or ask the owner to approve the void and try again. See If Void says this sign-in cannot void. If you are the owner and still see it, check that you signed in with the owner's PIN and not a cashier PIN, and that the owner entry is not disabled or locked. |
| Count the cash and take over the drawer first, then void this bill. | Select Count the drawer, record the count, then void again. Nothing was voided. |
| After voiding from Returns and selecting Done, I see an empty new sale | Expected. The cancelled bill is not reopened; start the next sale there. |
| Void bill and refund to… (or Void and refund on a phone) is greyed out with a pale red tint | Reason is empty (the line Add a reason to continue is showing), or the counter is offline or locked, a return result is unresolved, the form is still loading, or Original payment is chosen while refund setup is not ready. Type a Reason first; if it stays greyed, check the other causes in this table. |
| Why is Void greyed out? | Read the line beside the button. Every item on this bill has already been returned, so there is nothing left to void. means every line was returned in full (see the next row). With no such line, the button is also greyed while the counter is offline (the offline hint shows), while the counter is locked, while a return result is still unresolved or being sent, and for any bill that was not paid at the counter or is no longer in the paid state (for example one already voided). A partly returned bill is not greyed: it can be voided for what is left. |
| Void entire paid bill is greyed out with Every item on this bill has already been returned, so there is nothing left to void. (why can't I void this bill?) | Every line was returned in full, so there is nothing left to cancel or refund. Nothing to do; a bill with even one line still outstanding can be voided for what is left. If the button is greyed without that line, check the counter is online and unlocked and no return result is unresolved. |
| Whole void is refused | Check owner approval, the original approved device/register and paid-void availability. Managers do not substitute for owner authority. |
| A discounted bill's refund is lower than its item prices | Compare it with the original amount paid after discounts and round off. Earlier returns reduce the amount left for a whole void. Total refunds cannot exceed the amount paid; if Refund limit exceeded appears, check earlier refunds and pending refunds before retrying the original bill. |
| An older invoice shows line amounts that do not reflect the bill discount | Invoices issued before the update keep their original amounts and are not re-issued. Only newly issued POS invoices and their credit notes spread the bill discount across the lines. The amount paid and the refund are unaffected. |
| The receipt is being prepared. We will retry the cancellation automatically. | You voided a just-paid bill. Stay on the screen; the void continues by itself once the receipt is ready. Cancel stops it with nothing voided. |
| The receipt is still being prepared. Try cancelling this bill again shortly. | The wait ran out. Select Void bill and refund to… again after a moment; nothing was voided. |
| Refund limits shows different figures from the quote | Once a quote is loaded the block shows the quote's Refund amount or Exchange balance and each method's allocation. Figures like Still refundable appear only before a quote. Reload the bill if they still disagree. |
| Open the original bill to check how much can be refunded. | Neither a quote nor the bill's refund history is available. Reopen the original bill and retry the quote. |
| A payment method reads Payment method unavailable | The counter cannot name that stored payment method. Check the original bill's payments instead of guessing the method. |
| After a void the Undo countdown is gone | Expected. A recorded whole-bill void cancels the bill and ends the Undo window. To sell the items again, start a new bill. |
| I want to Undo a bill I just voided | Not available. Undo and the whole-bill void are separate actions; once the void is recorded the bill is cancelled and the Undo button is removed. |
| Whole void says the bill changed | The bill moved on while you were voiding it, so nothing was voided. Read the Updated… summary (and Already returned: N lines when shown), review the reason, stock handling and refund destination, tick I have checked the updated bill, then confirm again. |
| Void bill and refund to… is disabled after the bill was updated | After a conflict the button stays disabled until I have checked the updated bill is ticked. Changing Refund destination unticks it, so tick it again. If the box itself is greyed out, the panel is busy, an owner approval is open, a Retry same void is pending or the void is already recorded: finish or cancel that step first. Offline, a locked counter, an unresolved return and a missing or invalid Reason also keep it disabled. |
| Payout cannot verify current credit | Use Refresh current credit before paying; do not rely on the counter link's old balance. |
| Owner payout link is incomplete or for another store | Return to the counter and open Owner approval again in the correct store. |
| Owner approval does not open | Allow the admin page to open in a new tab and keep the exchange counter open. |
Use Products, Inventory & Categories to investigate stock, Orders, Refunds & Carts for the original online order, and Appointments & Bookings for service bookings and their own lifecycle.