What is the fiscalisation queue?
Every time a sale is completed at the POS, DishInk creates a fiscalisation job — a record that needs to be submitted to ZRA. The Fiscalisation Queue tab shows the live status of all these jobs. The queue updates in real time. You can watch jobs flip from Pending to Success as DishInk processes them in the background. No page refresh needed.
The Fiscalisation Queue tab showing live job status
Job statuses
How the queue works
When a cashier completes a payment, DishInk immediately attempts to fiscalise the sale with ZRA. The outcome depends on whether ZRA is reachable at that moment.- ZRA is online
- ZRA is offline
Retry behaviour
Failed jobs retry automatically. The wait time between retries increases exponentially so DishInk does not hammer ZRA during an outage:
A random ±20% variation is added to each wait time. This prevents all restaurants from retrying ZRA simultaneously during a widespread outage.
Summary tiles
The top of the Fiscalisation Queue tab shows four counters that update in real time:Pending
Jobs waiting to be sent to ZRA. A non-zero count during normal operations usually means ZRA is briefly slow or unreachable.
Processing
Jobs actively being submitted right now. This typically shows 0 or 1.
Failed
Jobs that failed and are waiting for their next automatic retry. Will clear on its own unless the underlying issue is permanent.
Success Today
Jobs successfully fiscalised today. This is your count of legally compliant receipts for the day.
Backlog warning
If the oldest pending job is more than 10 minutes old, DishInk displays a Backlog Building warning banner showing how old the oldest job is. What to check when you see this:1
Check your internet connection
Confirm the device running DishInk has a working internet connection. Try opening a website in the browser.
2
Check ZRA service status
ZRA’s Smart Invoice service occasionally experiences downtime. Check ZRA’s official channels or contact their support team to confirm whether there is a known outage.
3
Check device credentials
Go to the Devices tab. If any device shows an Error status or has a red error message, the credentials may have been suspended by ZRA. This will cause all jobs for that device to fail.
4
Wait and monitor
If ZRA is experiencing downtime, all you can do is wait. The backlog will clear automatically once ZRA is reachable. No data is lost.
Manually retrying a job
For jobs in Failed or Dead status that you want to retry immediately:- Click the job row to expand it
- Read the error message carefully
- Fix the underlying issue if needed (e.g. check device credentials)
- Click Retry Now
next_retry_at of now, so the worker picks it up on its next cycle.
Only owners and managers can manually retry jobs. Regular staff can view the queue but cannot take action.
Understanding error messages
Network errors
network: fetch failed network: VSDC HTTP 503 text ZRA’s servers were unreachable or returned a server error. These are temporary. The job will retry automatically.ZRA rejection errors
ZRA 894: Duplicate invoice number ZRA 881: Invalid item classification ZRA 882: TPIN mismatch ZRA 921: Device not registered or suspended textConfiguration errors
not_configured: VSDC endpoint not configured endpoint_not_configured: no endpoint set text The VSDC container for this restaurant has not been set up yet. Contact DishInk support.Job details panel
Clicking any job row expands a detail panel showing:string
Internal reference. Provide this to DishInk support when reporting an issue.
string
The first 8 characters of the device UUID. Identifies which POS terminal created this job.
string
The first 8 characters of the POS transaction UUID. Links this job to the sale record.
timestamp
When the job was created — matches the time of the sale.
timestamp
When DishInk last tried to submit this job to ZRA.
timestamp
When the next automatic retry will happen. Only shown for Failed jobs.
string
The ZRA result code or internal error kind.
string
The full error message from ZRA or from the network layer.
Offline mode and legal compliance
In practice DishInk handles brief outages gracefully — a few minutes of ZRA unavailability is common and the queue handles it transparently. For extended outages (hours), consider:- Informing customers their receipt will be updated once connectivity is restored
- Reprinting receipts after the jobs succeed — the reprinted copy will carry the full fiscal details
- Keeping a note of which transactions are in the queue so you can follow up
Realtime updates
The Fiscalisation Queue updates automatically without page refresh. DishInk uses Supabase Realtime to listen for changes to the job queue — when the background worker processes a job, the status change appears on screen within a second or two. You do not need to click Refresh to see the current state.Related pages
ZRA Integration
Device setup and initialization.
Receipt Format
What appears on a ZRA-compliant tax invoice.
FAQ
Common questions and troubleshooting.
Overview
Back to Smart Invoice overview.

