Overview
A refund reverses part or all of a paid sale. Unlike a Void (same-day, no money moved), a refund actually returns money and issues a ZRA Credit Note — the legally-required fiscal counter-entry to the original Smart Invoice. Refunds are opened from Transaction History → tap the sale → Refund.Refund Modal
Every refund needs:ZRA Credit Note Reason Codes
The ZRA reason code is embedded in the Smart Invoice credit note XML that submits to ZRA. Pick the closest match — auditors reconcile these codes against your books.
Full vs Partial Refund
- Full chip → pre-fills the full remaining refundable amount.
- Half chip → pre-fills half.
- Manual → type any amount up to the max shown.
Refund Method
Refunds default to the original payment method (a card sale refunds to card, a MoMo sale to MoMo). You can override:- Cash refund — opens the till drawer instruction on the receipt.
- Mobile Money — records the provider (MTN / Airtel / Zamtel) and an optional transaction reference for reconciliation.
- Card — refund is initiated on the card terminal; enter the terminal’s approval code in the confirmation dialog.
Step by Step
1
Open Transaction History
POS → Shift tab → find the sale (by table, tag, receipt no, or amount).
2
Open the sale
Tap the transaction → Refund button (visible only for paid, non-voided sales within your refund window).
3
Enter Manager PIN
Any manager-level PIN. Overrides are logged with the manager’s name.
4
Pick a Reason chip
Or type a free-text reason (min 3 chars).
5
Pick a ZRA credit-note code
Codes 01–06. Match your reason as closely as possible.
6
Enter the amount
Full · Half · or manual entry.
7
Pick refund method
Defaults to the original — override if the customer wants a different channel.
8
Confirm
A credit-note receipt prints, ZRA Smart Invoice submits, and the transaction shows Refunded K… in the history.

Refund Modal with reason chips, ZRA code dropdown, and Full/Half amount chips.
Offline Refunds
Refunds require the ZRA API to be reachable. If offline, DishInk still accepts the refund locally and returns the money physically — the credit note queues and submits automatically when the internet returns. The transaction shows a ⚠ Pending ZRA badge until the queued credit note is accepted. Managers can force-retry from Smart Invoice → Fiscal Compliance. See Fiscal Compliance.Tips & Best Practices
- Match the ZRA code to the actual root cause — auditors read them and mismatches trigger queries.
- Always print and hand the customer the credit note receipt. It’s their proof for card refunds that take 3–5 business days to land back on the card.
- For frequent “wrong quantity” refunds, review the waiter’s order-entry — the fix is usually training, not more refunds.
- Half and Full chips prevent typos on large amounts. Prefer them over typing when applicable.
Common Mistakes
- Refunding when a Void would work. Same-day, unchanged bill, no receipt handed to the customer → Void is faster and cleaner (no credit note filed). See Voids.
- Using ZRA code 06 (Other) as a catch-all. ZRA flags accounts with unusually high “Other” volumes. Use specific codes wherever they fit.
- Refunding without ticking specific lines — you refund the whole bill’s proportion instead of the returned items. Tick the specific items first.
- Cash refund from an empty till. Batch Invoice Cash Out flags negative cash drawers. Ensure the drawer holds enough — otherwise refund to a different method and reconcile later.

