ZATCA 电子发票 QR(沙特 FATOORA)

沙特阿拉伯的 ZATCA(天课、税务和海关总局)规定,在王国境内开具的每张税务发票上都必须包含 QR 码。第一阶段使用简化 TLV;第二阶段通过与 FATOORA 平台集成增加加密印章。不合规发票会被买方会计软件拒绝,且无法用于申请 VAT 退款。

权威规范:ZATCA E-Invoicing Resolution & Implementing Regulations, 有效期至 2026 年。
第一阶段(生成):自 2021 年 12 月 4 日起生效。所有 VAT 注册企业必须开具带有 QR 码的电子发票。
第二阶段(集成):自 2023 年 1 月 1 日起按企业规模分批推行。为标准发票新增数字签名 + ZATCA 清算,为简化发票新增实时报告。

定义

QR 码对 Base64 字符串进行编码。解码 Base64 可获得包含 5 个必填字段(固定顺序)的二进制 TLV 序列:

标签字段类型说明
01卖方名称UTF-8 字符串卖方的商号。阿拉伯语和拉丁语均可接受。
02VAT 注册号15 位数字沙特实体以 3 开头。格式:3XXXXXXXXXXXXX3
03发票时间戳ISO 8601例如 2026-04-18T10:30:00Z。必须包含时区。
04发票总额(含 VAT)十进制字符串例如 115.00。货币默认为 SAR。
05VAT 金额十进制字符串例如 15.00。当前标准税率 15%。
06发票哈希(第二阶段)Base64 SHA-256规范发票 XML 的 SHA-256。
07数字签名(第二阶段)Base64使用卖方 CSID 证书对发票哈希的 ECDSA 签名。
08公钥(第二阶段)Base64 X.509卖方的 ECDSA 公钥(来自 CSID)。
09ZATCA 印章(第二阶段)Base64ZATCA 的反签名。仅在 ZATCA 清算后才存在。

每条 TLV 记录由 1 字节标签 + 1 字节长度 + <长度> 字节值组成。整个序列随后经过 Base64 编码成为 QR 载荷。

第一阶段(简化)与第二阶段(集成)对比

方面第一阶段第二阶段
QR 内容仅标签 01–05标签 01–05 以及 06、07、08,可选 09
ZATCA 集成无, 离线简化发票用实时 API,标准发票用清算流程
所需证书是, 由 ZATCA 颁发的 CSID(加密印章标识符)
生效日期2021-12-04(所有企业)2023-01-01(按收入分批推行)
发票范围B2C(简化)+ B2B(标准)B2C 简化:实时报告。B2B 标准:开具前清算(预验证)。

标准测试向量

TLV 示例(Base64 之前):

01 0A "Acme Saudi" 02 0F "300000000000003" 03 14 "2026-04-18T10:30:00Z" 04 06 "115.00" 05 05 "15.00"

Base64 编码后:

AQpBY21lIFNhdWRpAg8zMDAwMDAwMDAwMDAwMDMDFDIwMjYtMDQtMThUMTA6MzA6MDBaBAYxMTUuMDAFBTE1LjAw
情形输入Base64 前缀
第一阶段,最小简化seller=Acme Saudi
vat=300000000000003
time=2026-04-18T10:30:00Z
total=115.00
vat_amount=15.00
AQpBY21lIFNhdWRp...
阿拉伯语卖方名称seller=شركة أكمي
vat=300000000000003
...
卖方名称在 Base64 之前于 TLV 内部以 UTF-8 编码。
第二阶段标准发票以上所有内容加上 hash=<SHA-256 Base64>
signature=<ECDSA Base64>
public_key=<X.509 Base64>
Base64 长得多。解码器必须支持 05 之后的额外标签。

常见问题

扫描仪兼容性

读取器支持说明
ZATCA FATOORA 应用原生官方部委应用;根据 ZATCA PKI 验证第二阶段签名。
沙特会计软件(SAP B1、Oracle、Microsoft Dynamics)原生(2023 年后)本地化沙特版本的 AP 流水线中内置了 ZATCA 解析器。
iOS 相机原始 Base64不识别为税务发票。用户需打开 FATOORA 应用。
Android 相机 / Google Lens原始 Base64同上, 无原生解析。
第三方审计工具(PwC、KPMG、德勤沙特团队)原生审计技术套件可解析并验证第二阶段签名。

另请参阅

规范参考核实于 2026-04-18(ZATCA E-Invoicing Resolution,当前版本)。下次审查:2026-07-18。