If you run a restaurant, beach bar, hotel, or any hospitality venue in Zanzibar, ZRA fiscal receipts are not optional — they are a legal requirement under Tanzanian tax law. Yet many venue owners are still unclear on exactly what is required, what the penalties for non-compliance are, and how the ZRA system actually works in practice. This guide covers everything you need to know, written for venue owners, not tax accountants.
ZRA stands for Zanzibar Revenue Authority — the government body responsible for collecting tax revenue in Zanzibar. The Virtual Fiscal Management System (VFMS) is ZRA’s digital platform for recording and verifying sales transactions. Every business that sells goods or services to the public is required to register with VFMS and issue a fiscal receipt for every transaction.
A fiscal receipt is different from a standard receipt. It includes a unique ZRA receipt number, a response number, your business TIN, VRN, and a QR code that customers can scan to verify the receipt is genuine on the ZRA portal.
Every ZRA fiscal receipt includes the ZRA receipt number — a unique identifier assigned by ZRA for each transaction — along with the response number as ZRA’s reference for the submission. Your business name and address as registered with ZRA, your TIN number (Tax Identification Number), your VRN (VAT Registration Number) if your venue is VAT-registered, your Z number (fiscal device identifier), full transaction details including items, quantities, prices, tax amount, and total, and a verification QR code that links to the ZRA portal so customers can confirm authenticity.
ZRA provides an API that allows POS systems to submit transaction data and receive fiscal receipt numbers in real time. When a payment is completed at a ZRA-enabled venue on ZanziPOS, the system automatically formats the transaction as a ZRA service request, submits it to the ZRA VFMS API with your integration credentials, receives back a receipt number, response number, tax amount, and QR URL, stores the ZRA data against the order in your database, and includes all ZRA details on the digital receipt sent to the customer.
This entire process happens in the background in under two seconds. The waiter sees a success screen, the customer gets a compliant receipt — nothing about the workflow changes.
The ZRA API, like any government system, occasionally experiences downtime. ZanziPOS handles this with an automatic retry queue. When a ZRA submission fails, the order is still completed and the receipt is generated — the ZRA number is simply shown as pending. The system retries the ZRA submission automatically every 15 minutes until it succeeds. Venue admins can monitor the queue under Admin then ZRA Queue and trigger a manual retry at any time. Customers can still use their receipt while pending — the ZRA number is added once confirmed.
To use ZRA integration you need to register your venue with ZRA and obtain a fiscal device integration. The process involves registering your business with ZRA and obtaining your TIN, applying for a fiscal device integration through ZRA VFMS, receiving your Integration ID, Token ID, and Z-Number from ZRA, and then configuring these credentials in your ZanziPOS admin panel under Admin then ZRA. ZanziPOS handles all the technical integration once your credentials are entered. You do not need to understand the API — just enter the numbers ZRA gives you and the system handles everything from there.
ZRA provides a sandbox environment for testing. New ZanziPOS venues are set up in test mode by default — all transactions are submitted to the ZRA sandbox and return test receipt numbers. Once you are ready to go live with real transactions, your account is switched to the live ZRA API. No code changes are needed — it is a single configuration flag in the admin panel.

Our team in Zanzibar will configure your ZRA integration personally during onboarding. No technical knowledge required.
Get started