ZATCA标准发票多标准税率合规性及BR-S-08警告解决问询
ZATCA发票BR-S-08警告问题解答
核心问题1:ZATCA规范是否允许标准税类(代码S)使用多个税率?
ZATCA规范不允许标准税类(代码S)在同一张发票内对应多个不同税率。根据ZATCA的发票验证规则,税类代码S(标准应税供应)与特定税率绑定,同一张发票中所有归为S类的行项目必须使用相同税率,混合多个税率会触发BR-S-08警告。
核心问题2:BR-S-08警告的解决方法
1. 拆分税小计结构
在发票XML中,为不同税率的标准应税项目创建独立的<TaxSubtotal>节点,每个节点仅对应单一税率和税类代码S,确保每个税小计的税率与所属行项目的税率完全匹配。
示例XML修正结构:
<Invoice xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2" ...> <!-- 行项目1:15%税率的标准应税 --> <InvoiceLine> <ID>1</ID> <InvoicedQuantity unitCode="PCE">10</InvoicedQuantity> <LineExtensionAmount currencyID="SAR">100.00</LineExtensionAmount> <TaxTotal> <TaxAmount currencyID="SAR">15.00</TaxAmount> <TaxSubtotal> <TaxableAmount currencyID="SAR">100.00</TaxableAmount> <TaxAmount currencyID="SAR">15.00</TaxAmount> <TaxCategory> <ID>S</ID> <Percent>15</Percent> </TaxCategory> </TaxSubtotal> </TaxTotal> </InvoiceLine> <!-- 行项目2:5%税率的标准应税 --> <InvoiceLine> <ID>2</ID> <InvoicedQuantity unitCode="PCE">20</InvoicedQuantity> <LineExtensionAmount currencyID="SAR">200.00</LineExtensionAmount> <TaxTotal> <TaxAmount currencyID="SAR">10.00</TaxAmount> <TaxSubtotal> <TaxableAmount currencyID="SAR">200.00</TaxableAmount> <TaxAmount currencyID="SAR">10.00</TaxAmount> <TaxCategory> <ID>S</ID> <Percent>5</Percent> </TaxCategory> </TaxSubtotal> </TaxTotal> </InvoiceLine> <!-- 发票级别的税总计,汇总不同税率的税小计 --> <TaxTotal> <TaxAmount currencyID="SAR">25.00</TaxAmount> <TaxSubtotal> <TaxableAmount currencyID="SAR">100.00</TaxableAmount> <TaxAmount currencyID="SAR">15.00</TaxAmount> <TaxCategory> <ID>S</ID> <Percent>15</Percent> </TaxCategory> </TaxSubtotal> <TaxSubtotal> <TaxableAmount currencyID="SAR">200.00</TaxableAmount> <TaxAmount currencyID="SAR">10.00</TaxAmount> <TaxCategory> <ID>S</ID> <Percent>5</Percent> </TaxCategory> </TaxSubtotal> </TaxTotal> </Invoice>
2. 确保行项目与税小计的税率一致性
每张发票行项目的税率必须和其关联的税小计税率完全一致,避免出现同一税类代码S下跨税率的金额汇总。
3. 验证时的注意事项
使用ZATCA沙盒测试门户验证时,需确保XML结构严格遵循UBL 2.1规范与ZATCA的补充规则,特别是税类与税率的绑定关系。
内容的提问来源于stack exchange,提问作者Scor Pio
相关产品推荐
相关产品推荐

