How invoices are generated
DishInk generates ZRA-compliant invoices automatically at the moment of payment. There is no separate step, no manual trigger, and no batch upload at end of day. When a cashier completes a payment, the invoice is created, submitted to ZRA, and printed — all within a few seconds. This page explains the different invoice types DishInk produces and when each one is used.Invoice types
Sales Invoice
Issued on every completed sale. The standard tax invoice that customers receive.
Credit Note
Issued on every refund. References the original invoice number and is submitted to ZRA as a corrective document.
Split Bill Invoice
Each payer in a split bill receives their own portion invoice. The shared ZRA submission references the full table amount.
Corporate Invoice
A standard sales invoice with the customer’s TPIN included. Required for B2B sales to VAT-registered businesses.
Sales invoice
A sales invoice is generated automatically every time a payment is completed at the POS.What triggers it
- Cashier taps Charge or Process Payment
- Payment is confirmed (cash, mobile money, card, or complimentary)
- DishInk creates the transaction record and submits to ZRA
What it contains
Every sales invoice contains the fields required by ZRA:- Business name, address, and TPIN
- TAX INVOICE header (required by ZRA)
- Date and time (server timestamp)
- CIS Invoice Number (consecutive, server-generated)
- Line items with description, quantity, and unit price
- Tax summary by VAT category
- Total including tax
- Payment method
- ZRA receipt number (from ZRA’s fiscal response)
- Digital signature (from ZRA’s VSDC)
- Verified QR code
The CIS Invoice Number
The CIS Invoice Number (CIS-000001, CIS-000002, etc.) is the consecutive invoice reference ZRA requires. It is:
- Generated server-side — cashiers cannot influence it
- Sequential with no gaps (ZRA requires this)
- Unique per restaurant
- Permanently stored and cannot be reused or modified
For multi-branch restaurants, each branch maintains its own CIS Invoice Number sequence. The sequence is scoped to the restaurant location, not the entire group.
Credit note (refund invoice)
When a refund is processed, DishInk automatically generates a credit note — a corrective invoice that ZRA uses to reverse the original sale in your tax record.What triggers it
A manager or owner processes a refund through the POS. A manager PIN is required to authorise refunds.What it contains
- All standard invoice fields
- CREDIT NOTE header instead of TAX INVOICE
- The original ZRA receipt number (so ZRA can link the credit to the original sale)
- A ZRA reason code explaining why the credit was issued
- The refund amount (shown as a negative value)
- A new, separate CIS Invoice Number
ZRA reason codes
When processing a refund, DishInk records a reason code in the ZRA submission. The standard codes are:
The cashier or manager enters a free-text reason when processing the refund. DishInk maps this to the appropriate ZRA code.
Same-day voiding vs refunds
- Void (same-day)
- Refund (any day)
A void cancels a transaction from the same business day. It requires a manager PIN and a reason.
- Only available on the same calendar day as the original transaction (Zambia timezone)
- Does not generate a ZRA credit note submission — the transaction is marked voided locally
- The CIS Invoice Number remains in the sequence (gaps are acceptable for voids)
- Use voids for same-day errors: wrong amount, wrong payment method, accidental duplicate
Split bill invoices
When a table splits their bill, each payer receives their own invoice showing their portion of the total.How it works
- The bill is split (equally, by items, or custom amounts)
- As each payer pays their portion, a transaction record is created
- On the first portion payment, DishInk submits the full table total to ZRA and receives a ZRA receipt number
- The first payer’s receipt carries the full ZRA fiscal details
- Subsequent payers’ receipts reference the shared ZRA submission
What each receipt shows
First payer: SPLIT PORTION: Guest 1 · Payer 1 of 3 CIS INVOICE NO: CIS-000042 [full fiscal footer with ZRA receipt number and QR code] text Subsequent payers: SPLIT PORTION: Guest 2 · Payer 2 of 3 SHARED CIS INVOICE NO: CIS-000042 [reference to shared fiscal submission] textZRA requires that the total table amount is fiscalised once, not once per payer. Fiscalising each portion separately would double or triple-count the revenue. DishInk handles this correctly by making a single ZRA submission for the table total.
Corporate invoice (B2B)
When selling to another VAT-registered business, the customer’s TPIN must appear on the invoice. This allows the customer to claim input VAT on their purchase.How to issue a corporate invoice
At checkout, the cashier enters the customer’s TPIN in the Customer TPIN field before completing payment. DishInk includes the TPIN in:- The ZRA submission (
custTpinfield) - The printed receipt (
CUSTOMER TPIN: XXXXXXXXXX) - The transaction record (for your audit trail)
Invoice numbering
CIS Invoice Number sequence
DishInk maintains a server-side sequence for CIS Invoice Numbers. The sequence:- Starts at 1 when Smart Invoice is first activated
- Increments by 1 for every invoice (sales and credit notes)
- Never resets (it is permanent, not per-day or per-month)
- Cannot be edited by any user
What happens if a transaction fails
If a transaction fails to complete after a CIS Invoice Number has been reserved, that number is used for the next successful transaction. This can occasionally create gaps in the sequence (e.g.CIS-000041, CIS-000043 with no CIS-000042). This is acceptable to ZRA for failed/voided transactions.
Invoice number format
CIS-000001 CIS-000042 CIS-123456 text Zero-padded to 6 digits. The prefixCIS stands for Computerised Invoice System — the term ZRA uses for ERP/POS-generated invoice numbers.
Reprinting invoices
Any past invoice can be reprinted with full fiscal details from DishInk’s transaction history.- Go to POS → Transactions
- Find the transaction using date, amount, or receipt number
- Tap the receipt icon or Reprint
Reprinting is only available for transactions where fiscalisation succeeded. Pending or failed transactions can be reprinted once their fiscalisation job completes.
What you cannot do
Tips and best practices
Related pages
Receipt Format
Every field on a ZRA-compliant invoice explained.
Fiscal Compliance
Audit trails, record retention, and ZRA inspections.
Fiscalisation Queue
Monitoring ZRA submission status and resolving failures.
ZRA Integration
Device setup and TPIN configuration.
Refunds
How to process refunds and credit notes at the POS.
FAQ
Common questions about invoices and compliance.

