The invoice QR and the hash chain
The phase-1 QR in TLV format on every invoice, and a hash tying each invoice to the one before it so none can vanish from the middle.
A QR code and hash chain on every invoice, and phase-2 integration from inside the product: device onboarding with an OTP from the Fatoora portal, signed UBL 2.1 XML, clearance for tax invoices and reporting for simplified ones, and every document's status in front of you — with no third-party unit.
The integration screen: current environment, onboarding steps, the certificate and its validity, and counters for cleared, reported and rejected.
The phase-1 QR in TLV format on every invoice, and a hash tying each invoice to the one before it so none can vanish from the middle.
The signing key is created on our server and never leaves it, you enter the OTP from the Fatoora portal, the compliance checks pass, then the production certificate is activated — each step with its status on the integration screen.
Every invoice has an XML document in the format ZATCA requires, signed with your certificate, ready to download and archive.
A standard tax invoice is sent for clearance before it is handed over; a simplified one is reported within the window after it is.
Submission to ZATCA runs in the background every five minutes; what stumbles is retried, and what is rejected shows with its reason.
A rejected invoice is an alert in the product and on the phone's home screen, with the rejection text as ZATCA returned it.
ZATCA's three environments, from the developer sandbox to production — the establishment moves between them from its settings, and the product tells you which one you are on.
Real screens from Basmtak Books, with sample data.
Onboarding happens once per establishment; after that every invoice travels on its own.
Generated on the server with the certificate request; the key never leaves your books.
On the Fatoora portal add a new device and copy the six-digit code.
The product submits the test invoices ZATCA asks for and shows the result.
From then on every invoice is signed with your own certificate.
Clearance or reporting in the background, the status on the invoice and on the integration screen.
We write down what we have not built yet, so you do not discover it after subscribing.
No. Signing, submission and archiving all happen inside the product. What you need is an OTP from the Fatoora portal to register the "device", which here is your Basmtak Books account.
A standard tax invoice (business to business) is sent to ZATCA and cleared before it is handed to the customer. A simplified invoice (to a consumer) is handed over at once and reported afterwards. The product knows the type and takes the right path.
It shows as rejected with ZATCA's own text, and you get an alert. Correct the data and resubmit as a new attempt; if the rejection is about the invoice itself, a credit note and a new invoice.
The free trial includes the whole integration screen.
Self-serve signup is closed right now. Leave your details and we will open the account for you.