DeviZones
Account Desk 5 min read

ZRA Smart Invoice Result Codes: Complete Reference Guide

DZ

Devi Zones

ZRA Smart Invoice Result Codes: Complete Reference Guide

What Are ZRA Smart Invoice Result Codes?

Every time your business posts a sale through ZRA Smart Invoice — also known as the Virtual Sales Data Controller (VSDC) — the ZRA server sends back a result code. That short numeric response tells you whether the fiscal receipt was accepted or rejected, and exactly why.

For many businesses in Lusaka, Kitwe, Ndola and across Zambia, the pain is not the result codes themselves — it is the workflow that creates them. Sales are billed in one system, then manually re-keyed into Smart Invoice. Each re-keying is another chance to enter a wrong UNSPSC code, a mismatched VAT category or a duplicate reference. The rejections pile up, the corrections take time, and every unfiscalised transaction is a gap in your ZRA record.

Understanding result codes — what triggers them and how to clear them — is the first step to closing that gap.

The Two Outcomes: Accepted or Rejected

Every submission to Smart Invoice returns one of two broad outcomes:

  • Accepted — the ZRA server issues a receipt number, an SDC ID and a QR code. The transaction is fiscalised. These identifiers must appear on the customer's invoice or till receipt.
  • Rejected — the server refused the submission and returned an error code explaining why. Until you correct the problem and resubmit, the sale is not fiscalised.

A pending or queued state can also occur when the ZRA server is temporarily unreachable. Well-designed software holds the transaction and retries automatically once the connection is restored — no manual intervention required.

Common ZRA Smart Invoice Result Codes

Success

000 — Transaction Approved

The submission was accepted. The ZRA receipt number, SDC ID and QR code are issued and must print on the customer's invoice or till receipt. No further action is needed.

Data and Classification Errors

Invalid Item Classification Code

Every line item on a Smart Invoice must carry a valid ZRA UNSPSC code. If the code is missing, unrecognised or does not match the declared VAT category, the submission is rejected. This is one of the most frequent failure points for businesses that maintain product lists manually outside their billing software — one wrong code per product line means every sale of that item fails.

VAT Category Mismatch

Each item must declare the correct VAT treatment: standard-rated at 16%, zero-rated, or exempt. Category B items — such as certain petroleum products — must be taxed on the ZRA-published minimum taxable value (the recommended retail price), not the actual sale price. A mismatch between the declared VAT category and the item's UNSPSC classification will cause a rejection on every transaction until the product record is corrected.

Missing or Invalid TPIN

The submitting business's TPIN must be a valid 10-digit number registered with ZRA. For B2B transactions, the buyer's TPIN must also be present and correctly formatted. A missing or malformed TPIN fails ZRA's validation step before any receipt number can be issued.

Device and Connectivity Errors

SDC Not Registered / Device Authentication Failure

The device — or software acting as a VSDC — must be registered to your TPIN in the Smart Invoice system. If the SDC ID is unrecognised or has been deregistered, all submissions from that device will fail until the registration is corrected at ZRA.

Communication Timeout / Server Unreachable

The Smart Invoice server is temporarily unavailable, or the business's internet connection has dropped. The correct response is to queue the transaction and retry — not to skip it or record it as a manual entry only. An unsubmitted sale leaves a gap in your fiscal record even if you have a paper receipt on your side. This applies whether your shop uses Airtel Money, MTN Money, cash or card — the payment method does not determine whether a transaction is fiscalised.

Duplicate Invoice Number

Each invoice must carry a unique internal reference. Submitting the same reference twice results in a rejection on the second attempt. This typically happens when a retry assumes the first submission failed, when it had actually succeeded. Always confirm the ZRA receipt number is present before attempting to resubmit.

Credit and Debit Note Errors

Original Receipt Not Found

A credit note or debit note must reference the ZRA receipt number of the original fiscalised sale. If that receipt number is missing, incorrect or belongs to a different TPIN, the reversal will be rejected. Capturing and storing the ZRA receipt number at the point of sale is the safest way to ensure reversals — including amount-only price-difference notes — can always be filed cleanly.

What to Do When You See an Error

  1. Read the result code and its description — the reason for rejection is always stated.
  2. Correct the underlying data: item UNSPSC code, VAT category, TPIN, or invoice reference as required.
  3. Resubmit. Do not archive or ignore an unresolved rejection.
  4. If the same error recurs, check the ZRA Smart Invoice portal for TPIN-level or device-level issues before escalating to ZRA support.

If you are ever audited, a clear log of corrections and resubmissions — showing that errors were identified and resolved promptly — demonstrates good-faith effort far better than an unexplained gap in your fiscal record.

How Account Desk Handles This Automatically

Account Desk connects directly to ZRA Smart Invoice so that every sale you post is submitted to ZRA at the same moment — no second screen, no re-keying. The ZRA receipt number, SDC ID and QR code print automatically on the invoice and on the till receipt, whether you are running a retail shop, a pharmacy, a hardware store or a wholesale distribution business.

When a submission returns an error code, Account Desk surfaces the reason so your team knows exactly what to correct. Connectivity failures are queued and retried automatically without losing the transaction. The built-in ZRA UNSPSC item list — fully searchable — means classification errors are caught at the product-setup stage, before they ever appear on a live invoice. Category B minimum taxable value is handled as a VAT category in the system, so the correct taxable base is applied without manual calculation.

Credit and debit notes, including amount-only price-difference notes, are linked to the original ZRA receipt number inside Account Desk, keeping your fiscal record traceable at all times. A sandbox mode lets you rehearse the full fiscalisation flow — including error and retry scenarios — before going live with real transactions.

Ready to stop chasing result codes and let the software handle it? Talk to our team about your ZRA Smart Invoice setup, or book a demo of Account Desk to see the full fiscalisation flow — from sale to ZRA receipt — end to end.

Frequently asked questions

What should I do if ZRA Smart Invoice rejects my transaction with an error code? +

Do not skip the transaction or file it as a manual record only. Read the error description, correct the underlying data — typically an item UNSPSC code, VAT category, TPIN format, or duplicate invoice reference — and resubmit. An unfiscalised transaction creates a gap in your ZRA record even if you hold a paper receipt. Keep a note of any corrections made in case of a future ZRA audit.

Does Account Desk automatically retry failed ZRA Smart Invoice submissions? +

Yes. When a submission fails because the ZRA server is temporarily unreachable or there is a connectivity issue, Account Desk queues the transaction and retries automatically once the connection is restored, so no transaction is lost. If the rejection is caused by a data error — such as an invalid UNSPSC code, missing TPIN, or VAT category mismatch — the system flags the reason so your team can correct it and resubmit.

What is a Category B item and how does the VAT work on Smart Invoice? +

Category B is a ZRA VAT classification that applies to certain goods — including some petroleum products — where VAT must be calculated on the ZRA-published minimum taxable value (the recommended retail price) rather than the price you actually charged the customer. Account Desk has Category B built into its VAT category list, so when you assign a Category B UNSPSC code to a product, the correct taxable base is applied automatically on every sale, avoiding a mismatch rejection from Smart Invoice.

More on ZRA Smart Invoice