Builds and signs
An invoice is built in ZATCA’s format and signed with the certificate of the branch that issued it.
ZATCA e-invoicing
ERPStop builds invoices in ZATCA’s format and signs them with your branch’s own certificate, using ZATCA’s official SDK. This page says plainly what you can do with that today.
An invoice is built in ZATCA’s format and signed with the certificate of the branch that issued it.
ZATCA’s reply is stored with the invoice: accepted, accepted with warnings, or failed with ZATCA’s own message. A failed invoice can be sent again.
You can check an invoice against ZATCA’s rules first. A check sends nothing and changes nothing.
An invoice ZATCA already has is never sent again, so a double report cannot happen by accident.
Each branch is onboarded on its own, in Settings. There are three steps, and the first needs a one-time code from ZATCA’s Fatoora portal that only you can get.
Enter the one-time code from the Fatoora portal for this branch’s VAT number.
The system sends ZATCA the test invoices it requires and shows you the result.
After this the branch can send real invoices.
Importing is the moment a business can double-report by accident, so the system is built to make that hard.
You can send a document yourself from the sales lists, one at a time or several at once by ticking them, or switch on automatic sending for a branch in Settings. With it on, each completed sale and credit note made afterwards is sent a few minutes after it was last changed. If ZATCA cannot be reached the system tries again later, up to five times; if ZATCA refuses a document it is left as failed, with ZATCA’s message, for a person to fix. A credit note goes only after the invoice it corrects. Sending from a list skips any document that cannot be sent and tells you why for each. Real-world testing against ZATCA’s sandbox with a customer’s own account is part of onboarding each business. Ask us for the current status before you rely on it.
The invoice is marked failed with the reason and stays in the system. You can send it again when ZATCA is back.
In ERPStop each branch is onboarded separately, with its own certificate.
No. Imported invoices are never sent by the import, unknown ones are never sent at all, and sending needs your confirmation.
Tell us how many branches you have and which tool you use for ZATCA today, and we will tell you exactly what applies.