QR e-invois ZATCA (Saudi FATOORA)
ZATCA (Pihak Berkuasa Zakat, Cukai dan Kastam) Arab Saudi memandatkan QR pada setiap invois cukai yang dikeluarkan di Kerajaan. Fasa 1 ialah TLV dipermudahkan; Fasa 2 menambah pengenaan meterai kriptografi melalui integrasi dengan platform FATOORA. Invois yang tidak patuh ditolak oleh perisian perakaunan pembeli dan tidak sah untuk tuntutan semula cukai VAT.
Spesifikasi kanonik:ZATCA E-Invoicing Resolution & Implementing Regulations, semasa sehingga 2026.
Fasa 1 (Penjanaan): berkuat kuasa sejak 4 Disember 2021. Semua perniagaan berdaftar VAT mesti mengeluarkan invois digital dengan QR.
Fasa 2 (Integrasi): dilaksanakan mengikut saiz perniagaan secara bergelombang sejak 1 Januari 2023. Menambah tandatangan digital + kelulusan ZATCA untuk invois standard dan pelaporan masa nyata untuk invois dipermudahkan.
Fasa 1 (Penjanaan): berkuat kuasa sejak 4 Disember 2021. Semua perniagaan berdaftar VAT mesti mengeluarkan invois digital dengan QR.
Fasa 2 (Integrasi): dilaksanakan mengikut saiz perniagaan secara bergelombang sejak 1 Januari 2023. Menambah tandatangan digital + kelulusan ZATCA untuk invois standard dan pelaporan masa nyata untuk invois dipermudahkan.
Apa itu
QR mengekod rentetan Base64. Nyahkod Base64 untuk mendapatkan urutan TLV binari dengan 5 medan wajib dalam urutan tetap:
| Tag | Medan | Jenis | Nota |
|---|---|---|---|
01 | Nama penjual | Rentetan UTF-8 | Nama perdagangan penjual. Arab dan Latin kedua-duanya diterima. |
02 | Nombor pendaftaran VAT | 15 digit | Bermula dengan 3 untuk entiti Saudi. Format: 3XXXXXXXXXXXXX3. |
03 | Cap masa invois | ISO 8601 | Cth. 2026-04-18T10:30:00Z. Mesti termasuk zon waktu. |
04 | Jumlah invois (dengan VAT) | Rentetan perpuluhan | Cth. 115.00. Mata wang secara tersirat SAR. |
05 | Jumlah VAT | Rentetan perpuluhan | Cth. 15.00. Kadar standard semasa 15%. |
06 | Hash invois (Fasa 2) | Base64 SHA-256 | SHA-256 XML invois kanonik. |
07 | Tandatangan digital (Fasa 2) | Base64 | ECDSA ke atas hash invois menggunakan sijil CSID penjual. |
08 | Kunci awam (Fasa 2) | Base64 X.509 | Kunci awam ECDSA penjual (daripada CSID). |
09 | Setem ZATCA (Fasa 2) | Base64 | Tandatangan balas ZATCA. Hadir hanya selepas kelulusan ZATCA. |
Setiap rekod TLV ialah 1 bait tag + 1 bait panjang + <panjang> bait nilai. Keseluruhan urutan kemudiannya dikodkan Base64 sebagai muatan QR.
Fasa 1 (dipermudahkan) vs Fasa 2 (integrasi)
| Aspek | Fasa 1 | Fasa 2 |
|---|---|---|
| Kandungan QR | Tag 01–05 sahaja | Tag 01–05 ditambah 06, 07, 08, pilihan 09 |
| Integrasi ZATCA | Tiada, luar talian | API masa nyata untuk invois dipermudahkan, aliran kelulusan untuk invois standard |
| Sijil diperlukan | Tidak | Ya, CSID (Cryptographic Stamp Identifier) dikeluarkan oleh ZATCA |
| Tarikh efektif | 2021-12-04 (semua perniagaan) | 2023-01-01 (gelombang berperingkat mengikut hasil) |
| Skop invois | B2C (dipermudahkan) + B2B (standard) | B2C dipermudahkan: laporan masa nyata. B2B standard: kelulusan (pra-pengesahan) sebelum pengeluaran. |
Vektor ujian kanonik
Contoh TLV (sebelum Base64):
01 0A "Acme Saudi" 02 0F "300000000000003" 03 14 "2026-04-18T10:30:00Z" 04 06 "115.00" 05 05 "15.00"Selepas pengekodan Base64:
AQpBY21lIFNhdWRpAg8zMDAwMDAwMDAwMDAwMDMDFDIwMjYtMDQtMThUMTA6MzA6MDBaBAYxMTUuMDAFBTE1LjAw| Kes | Input | Awalan Base64 |
|---|---|---|
| Fasa 1, dipermudahkan minimum | seller=Acme Saudi | AQpBY21lIFNhdWRp... |
| Nama penjual Arab | seller=شركة أكمي | Nama penjual dikod UTF-8 di dalam TLV sebelum Base64. |
| Invois standard Fasa 2 | Semua di atas ditambah hash=<SHA-256 Base64> | Base64 jauh lebih panjang. Penyahkod mesti bertoleransi tag tambahan selepas 05. |
Perangkap biasa
- Panjang nombor VAT. Nombor VAT ZATCA tepat 15 digit, bermula dan berakhir dengan
3. Apa-apa yang lain gagal pengesahan di pihak penerimaan invois. - Cap masa tanpa zon waktu. Spesifikasi memerlukan ISO 8601 dengan zon eksplisit (
Zatau+03:00). Cap masa tempatan naif ditolak. - Urutan pengekodan. Medan TLV mesti muncul dalam urutan nombor tag (01, 02, 03, 04, 05, …). Menyusun semula membuat QR berjaya dinyahkod tetapi sesetengah pengesah menandakannya sebagai bukan kanonik.
- Pemformatan perpuluhan. Jumlah invois dan jumlah VAT menggunakan titik perpuluhan (
115.00), bukan koma perpuluhan (115,00). Juga tiada pemisah ribuan. - Mata wang secara tersirat SAR. Invois mata wang asing tetap ditukar kepada SAR untuk medan QR. XML asas mungkin membawa mata wang asal; QR tidak.
- Kegagalan kelulusan Fasa 2. Invois standard yang diserahkan kepada API kelulusan ZATCA boleh ditolak (CSID buruk, XML cacat, pengiraan cukai salah). Invois tidak sah dari segi undang-undang sehingga diluluskan. Simpan gelung cuba semula dengan peningkatan eksponensial; jangan keluarkan invois sehingga kelulusan berjaya.
- Putaran sijil CSID. CSID Fasa 2 tamat tempoh (biasanya 1 tahun). Bina semakan pembaharuan ke dalam tindanan e-invois anda atau anda tiba-tiba tidak dapat mengeluarkan invois.
Keserasian pengimbas
| Pembaca | Sokongan | Nota |
|---|---|---|
| Apl ZATCA FATOORA | Natif | Apl Kementerian rasmi; mengesahkan tandatangan Fasa 2 terhadap ZATCA PKI. |
| Perisian perakaunan Saudi (SAP B1, Oracle, Microsoft Dynamics) | Natif (selepas 2023) | Binaan Saudi setempat mempunyai penghuraian ZATCA dalam saluran paip AP. |
| Kamera iOS | Base64 mentah | Tidak dikenali sebagai invois cukai. Pengguna mesti membuka apl FATOORA. |
| Kamera Android / Google Lens | Base64 mentah | Sama, tiada penghuraian natif. |
| Alat audit pihak ketiga (PwC, KPMG, unit Saudi Deloitte) | Natif | Suite teknologi audit menghurai + mengesahkan tandatangan Fasa 2. |
Lihat juga
- /zatca-saudi-einvoice-qr-code/, penjana.
- /standards/, kembali ke indeks piawaian.
- Portal Pembangun ZATCA, sumber autoriti dan kotak pasir FATOORA.