Start by classifying the invoice
Identify whether the transaction produces a tax invoice, a simplified tax invoice, a credit note, or a debit note. Also confirm which phase of Saudi e-invoicing applies to the legal entity and whether ZATCA has notified it about Integration Phase onboarding. Those decisions determine the technical flow; do not copy one QR implementation across every document without checking its type and applicable specification.
Use the official technical specifications
The authoritative source for the QR payload, encoding, invoice XML, validation rules, and security features is ZATCA’s current technical documentation. Product requirements should reference a dated version of those documents so that developers, finance, and reviewers are testing the same rules.
Treat the QR code as generated output
Build the QR value from the validated invoice record rather than allowing users to type or paste it independently. The human-readable invoice, machine-readable invoice, QR code, tax calculation, and accounting record should all come from the same approved source data. Regenerate the output only through a controlled correction or note process.
Implementation control checklist
Data and calculation
- Required seller, buyer, tax, line, total, and document-reference data
- Consistent rounding and VAT calculation rules
- Invoice type and transaction-code mapping
- Controlled customer and tax master data
Generation and evidence
- QR and XML generated from the same invoice version
- Applicable validation and integration responses retained
- Clear ownership for failures and rejected transactions
- Credit and debit note workflow tested end to end
Test more than a successful invoice
A production-readiness test should include standard and simplified invoice scenarios that apply to the business, discounts, multiple tax treatments where relevant, returns, credit and debit notes, connectivity interruptions, validation failures, duplicate attempts, and corrected master data. Finance should approve calculated values, while the technical owner verifies XML, QR, response handling, and retained evidence.
Questions to ask a software provider
- Which Saudi invoice types and integration scenarios are supported today?
- How are ZATCA specification changes tracked, tested, and released?
- What happens when validation or submission fails?
- Which records and responses can finance retrieve during a review?
- Who owns onboarding, certificate management, integration mapping, and user acceptance testing?