On the Qoyod POS Android app, the cashier now sees whether ZATCA received each invoice and credit note the moment the sale is made. When something fails, the app explains why in plain language and lets the cashier fix and resend it, instead of finding out at audit time. The feature is on the Android app only, for organizations on ZATCA Phase 2 (the integration phase) of e-invoicing.
What is new
A status on every document. It appears in three places: each invoice and credit note card in the lists, the document details screen, and the checkout confirmation screen. The possible statuses are:
- Awaiting ZATCA Sync
- Syncing with ZATCA
- Synced with ZATCA
- Synced with ZATCA (with warnings)
- ZATCA Sync Failed
- ZATCA Unauthorized
Clear error messages: each failure is explained in business language, not technical codes.
Retry Sync:
- If the document never reached Qoyod, it is sent again.
- If it reached Qoyod but ZATCA rejected it, the latest status is fetched.
Waiting for the result at checkout: a Waiting for ZATCA approval.. screen, then a clear result. The possible outcomes are:
- Submission failed, with the reason given.
- The invoice is saved as a draft because stock was unavailable, with a new reference made for the next attempt.
- The document was already received, so the cashier must not create it again.
- The customer was no longer found on the device, so the cashier selects them again.
Fix the payment mean: when ZATCA rejects a document because of its payment mean, the cashier opens Edit Payment Mean from the failed document, corrects it, and it is resent automatically.
Phase 2 rules enforced in the app:
- The working mode is fixed to Online only.
- Only ZATCA-compliant customers can be selected.
- Invoices and credit notes cannot be deleted.
How to use it
- Complete the sale. The app waits for ZATCA’s answer and shows the result.
- In the invoices or credit notes list, each card shows its ZATCA status.
- For a failed document, open it, read the reason, and tap Retry Sync, or fix the payment mean when that was the cause.
The feature needs no setting or permission and turns on automatically for organizations active on ZATCA Phase 2. The ZATCA Unauthorized status means the organization’s ZATCA authorization is invalid or revoked; the cashier cannot fix it, and the message says to contact support. ZATCA onboarding is not done in the POS, and not every rejection can be fixed from the app.
Who it is for
Merchants on ZATCA Phase 2, and their accountants and tax advisors. It means lower compliance risk, fewer documents that ZATCA never received, and problems fixed by the cashier in minutes, not by the accountant weeks later.
Read next
