Skip to main content

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.
If the customer only wants some items refunded, tick those lines in the transaction detail view before opening the Refund Modal — the max recalculates.

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 placeholder

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.
Last modified on July 19, 2026