ZATCA QR hóa đơn điện tử (Saudi FATOORA)
ZATCA (Cơ quan Zakat, Thuế và Hải quan) của Ả Rập Saudi bắt buộc mã QR trên mọi hóa đơn thuế phát hành tại Vương quốc. Giai đoạn 1 là TLV đơn giản hóa; Giai đoạn 2 thêm mã hóa niêm phong qua tích hợp với nền tảng FATOORA. Hóa đơn không tuân thủ bị phần mềm kế toán của người mua từ chối và không hợp lệ để hoàn VAT.
Quy chuẩn chính thức:ZATCA E-Invoicing Resolution & Implementing Regulations, có hiệu lực đến 2026.
Giai đoạn 1 (Tạo hóa đơn): có hiệu lực từ ngày 4 tháng 12 năm 2021. Tất cả doanh nghiệp đăng ký VAT phải phát hành hóa đơn kỹ thuật số có QR.
Giai đoạn 2 (Tích hợp): triển khai theo quy mô doanh nghiệp từ ngày 1 tháng 1 năm 2023. Thêm chữ ký số + xét duyệt ZATCA cho hóa đơn tiêu chuẩn và báo cáo thời gian thực cho hóa đơn đơn giản hóa.
Giai đoạn 1 (Tạo hóa đơn): có hiệu lực từ ngày 4 tháng 12 năm 2021. Tất cả doanh nghiệp đăng ký VAT phải phát hành hóa đơn kỹ thuật số có QR.
Giai đoạn 2 (Tích hợp): triển khai theo quy mô doanh nghiệp từ ngày 1 tháng 1 năm 2023. Thêm chữ ký số + xét duyệt ZATCA cho hóa đơn tiêu chuẩn và báo cáo thời gian thực cho hóa đơn đơn giản hóa.
Định nghĩa
QR mã hóa một chuỗi Base64. Giải mã Base64 để nhận được chuỗi TLV nhị phân với 5 trường bắt buộc theo thứ tự cố định:
| Thẻ | Trường | Kiểu | Ghi chú |
|---|---|---|---|
01 | Tên người bán | Chuỗi UTF-8 | Tên thương mại của người bán. Cả tiếng Ả Rập và Latin đều được chấp nhận. |
02 | Mã số đăng ký VAT | 15 chữ số | Bắt đầu bằng 3 cho các đơn vị Saudi. Định dạng: 3XXXXXXXXXXXXX3. |
03 | Dấu thời gian hóa đơn | ISO 8601 | Ví dụ: 2026-04-18T10:30:00Z. Phải bao gồm múi giờ. |
04 | Tổng hóa đơn (gồm VAT) | Chuỗi thập phân | Ví dụ: 115.00. Tiền tệ ngầm định là SAR. |
05 | Số tiền VAT | Chuỗi thập phân | Ví dụ: 15.00. Thuế suất tiêu chuẩn hiện tại 15%. |
06 | Mã băm hóa đơn (Giai đoạn 2) | Base64 SHA-256 | SHA-256 của XML hóa đơn chuẩn. |
07 | Chữ ký số (Giai đoạn 2) | Base64 | ECDSA trên mã băm hóa đơn dùng chứng chỉ CSID của người bán. |
08 | Khóa công khai (Giai đoạn 2) | Base64 X.509 | Khóa công khai ECDSA của người bán (từ CSID). |
09 | Dấu ZATCA (Giai đoạn 2) | Base64 | Chữ ký đối ứng của ZATCA. Chỉ có sau khi ZATCA xét duyệt. |
Mỗi bản ghi TLV gồm 1 byte thẻ + 1 byte độ dài + <độ dài> byte giá trị. Toàn bộ chuỗi sau đó được mã hóa Base64 thành tải trọng QR.
Giai đoạn 1 (đơn giản) so với Giai đoạn 2 (tích hợp)
| Khía cạnh | Giai đoạn 1 | Giai đoạn 2 |
|---|---|---|
| Nội dung QR | Chỉ thẻ 01–05 | Thẻ 01–05 cộng 06, 07, 08, tùy chọn 09 |
| Tích hợp ZATCA | Không, ngoại tuyến | API thời gian thực cho hóa đơn đơn giản hóa, luồng xét duyệt cho hóa đơn tiêu chuẩn |
| Chứng chỉ cần thiết | Không | Có, CSID (Cryptographic Stamp Identifier) do ZATCA cấp |
| Ngày hiệu lực | 2021-12-04 (tất cả doanh nghiệp) | 2023-01-01 (triển khai theo đợt dựa trên doanh thu) |
| Phạm vi hóa đơn | B2C (đơn giản hóa) + B2B (tiêu chuẩn) | B2C đơn giản hóa: báo cáo thời gian thực. B2B tiêu chuẩn: xét duyệt (tiền xác minh) trước khi phát hành. |
Vector kiểm tra chuẩn
Ví dụ TLV (trước Base64):
01 0A "Acme Saudi" 02 0F "300000000000003" 03 14 "2026-04-18T10:30:00Z" 04 06 "115.00" 05 05 "15.00"Sau mã hóa Base64:
AQpBY21lIFNhdWRpAg8zMDAwMDAwMDAwMDAwMDMDFDIwMjYtMDQtMThUMTA6MzA6MDBaBAYxMTUuMDAFBTE1LjAw| Trường hợp | Đầu vào | Tiền tố Base64 |
|---|---|---|
| Giai đoạn 1, đơn giản tối thiểu | seller=Acme Saudi | AQpBY21lIFNhdWRp... |
| Tên người bán tiếng Ả Rập | seller=شركة أكمي | Tên người bán được mã hóa UTF-8 bên trong TLV trước Base64. |
| Hóa đơn tiêu chuẩn Giai đoạn 2 | Tất cả những điều trên cộng với hash=<SHA-256 Base64> | Base64 dài hơn nhiều. Bộ giải mã phải chấp nhận các thẻ bổ sung sau 05. |
Lỗi thường gặp
- Độ dài số VAT. Số VAT của ZATCA có đúng 15 chữ số, bắt đầu và kết thúc bằng
3. Bất kỳ giá trị nào khác sẽ thất bại khi xác thực phía tiếp nhận hóa đơn. - Dấu thời gian không có múi giờ. Quy chuẩn yêu cầu ISO 8601 với múi giờ tường minh (
Zhoặc+03:00). Dấu thời gian cục bộ đơn giản bị từ chối. - Thứ tự mã hóa. Các trường TLV phải xuất hiện theo thứ tự số thẻ (01, 02, 03, 04, 05, …). Sắp xếp lại khiến QR giải mã thành công nhưng một số trình xác thực gắn cờ là không chuẩn.
- Định dạng thập phân. Tổng hóa đơn và số tiền VAT dùng dấu chấm thập phân (
115.00), không dùng dấu phẩy (115,00). Cũng không có dấu phân tách hàng nghìn. - Tiền tệ ngầm định là SAR. Hóa đơn bằng ngoại tệ vẫn được chuyển đổi sang SAR cho trường QR. XML cơ bản có thể chứa tiền tệ gốc; QR thì không.
- Lỗi xét duyệt Giai đoạn 2. Hóa đơn tiêu chuẩn gửi tới API xét duyệt của ZATCA có thể bị từ chối (CSID sai, XML lỗi, tính thuế sai). Hóa đơn không hợp lệ về mặt pháp lý cho đến khi được xét duyệt. Duy trì vòng lặp thử lại với thuật toán backoff mũ; không phát hành hóa đơn cho đến khi xét duyệt thành công.
- Xoay vòng chứng chỉ CSID. CSID Giai đoạn 2 hết hạn (thường là 1 năm). Tích hợp kiểm tra gia hạn vào hệ thống e-invoice của bạn, nếu không bạn sẽ đột ngột không thể phát hành hóa đơn.
Khả năng tương thích máy quét
| Thiết bị đọc | Hỗ trợ | Ghi chú |
|---|---|---|
| Ứng dụng ZATCA FATOORA | Bản địa | Ứng dụng chính thức của Bộ; xác minh chữ ký Giai đoạn 2 theo ZATCA PKI. |
| Phần mềm kế toán Saudi (SAP B1, Oracle, Microsoft Dynamics) | Bản địa (sau 2023) | Các bản dựng Saudi bản địa hóa có phân tích ZATCA trong quy trình AP. |
| Camera iOS | Base64 thô | Không nhận dạng được là hóa đơn thuế. Người dùng phải mở ứng dụng FATOORA. |
| Camera Android / Google Lens | Base64 thô | Tương tự, không có phân tích bản địa. |
| Công cụ kiểm toán bên thứ ba (PwC, KPMG, đơn vị Deloitte Saudi) | Bản địa | Bộ công nghệ kiểm toán phân tích và xác minh chữ ký Giai đoạn 2. |
Xem thêm
- /zatca-saudi-einvoice-qr-code/, bộ tạo.
- /standards/, Quay lại mục lục tiêu chuẩn.
- Cổng dành cho nhà phát triển ZATCA, tài nguyên chính thức và môi trường thử nghiệm FATOORA.