You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

UBL2.1电子发票XML验证报错求助(Django模板场景)

验证XML发票时遇到如下错误

我在使用Django模板生成符合UBL2.1标准的发票XML文件时,验证发票有效性失败,碰到了与开票合规要求相关的UBL格式电子发票错误,求帮忙解决。

模板代码

{% comment %} {% for discount in  %} {% endcomment %}
{% if invoice.allowance_discount %}
    <cac:AllowanceCharge>
        <cbc:ID>1</cbc:ID>
        <cbc:ChargeIndicator>false</cbc:ChargeIndicator>
        <cbc:AllowanceChargeReason>discount</cbc:AllowanceChargeReason>
        <cbc:Amount currencyID="{{ invoice.currency.code }}">{{ invoice.allowance_discount|default:"0.0"|floatformat:2 }}</cbc:Amount>
        <cac:TaxCategory>
            <cbc:ID schemeAgencyID="6" schemeID="UN/ECE 5305">{{ invoice.company.finance_company.account_sale_tax.vat_category_code }}</cbc:ID>
            <cbc:Percent>{{ invoice.company.finance_company.account_sale_tax.amount|default:"0.0"|floatformat:2 }}</cbc:Percent>
            <cac:TaxScheme>
                <cbc:ID schemeAgencyID="6" schemeID="UN/ECE 5153">VAT</cbc:ID>
            </cac:TaxScheme>
        </cac:TaxCategory>
    </cac:AllowanceCharge>
{% endif %}
{% comment %} {% endfor %} {% endcomment %}

错误和警告信息

错误

  • 类别:BR_ERROR
  • 代码:BR-CL-18
  • 信息:发票税目必须使用UNCL5305代码表编码

警告

  • 类别:BR_KSA_WARNING
    • 代码:BR-KSA-80
    • 信息:预付金额(BT-113)必须等于预付增值税税目应税金额(KSA-31)与预付增值税税目税额(KSA-32)之和。
  • 类别:BR_KSA_WARNING
    • 代码:BR-KSA-08
    • 信息:销售方标识(BT-29)必须仅出现一次,且使用指定的scheme ID(BT-29-1)之一(CRN、MOM、MLS、SAG、OTH、700),且仅包含字母数字字符。商业注册号使用'CRN'作为schemeID;Momrah许可证使用'MOM'作为schemeID;MHRSD许可证使用'MLS'作为schemeID;700编号使用'700'作为schemeID;MISA许可证使用'SAG'作为schemeID;其他证件使用'OTH'作为schemeID。若存在多个商业注册号,销售方应填写开具税务发票的分支机构的商业注册号。若存在多个标识,必须按上述指定顺序填写其中一个。
  • 类别:BR_WARNING
    • 代码:BR-S-01
    • 信息:[BR-S-01] 若发票包含发票行(BG-25)、单据级折扣(BG-20)或单据级费用(BG-21)且增值税税目代码(BT-151、BT-95或BT-102)为"Standard rated",则在增值税明细(BG-23)中必须至少包含一个增值税税目代码(BT-118)等于"Standard rated"。
  • 类别:BR_WARNING
    • 代码:BR-CO-17
    • 信息:增值税税目税额(BT-117)= 增值税税目应税金额(BT-116)×(增值税税目税率(BT-119)/100),保留两位小数。
  • 类别:BR_KSA_WARNING
    • 代码:BR-KSA-73
    • 信息:若提供了预付金额(BT-113),则必须提供以下数据作为附加发票行:预付款ID(KSA-26);预付款发票的顺序发票号(BT-1);预付款发票开具日期(KSA-28);预付款发票开具日期(BT-2);预付款发票开具时间(KSA-29);预付款发票开具时间(KSA-25);预付款单据类型代码(KSA-30);发票类型代码(BT-3)必须为386。

内容的提问来源于stack exchange,提问作者user29678989

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 10:33:18