BR-E-03 This invoice contains a document level allowance (BG-20) whose VAT category code (BT-95) is E (Exempt from VAT) — allowances[0] — so the invoice must contain the seller VAT identifier (BT-31), the seller tax registration identifier (BT-32) and/or the seller tax representative VAT identifier (BT-63)
This invoice contains a document level allowance (BG-20) whose VAT category code (BT-95) is E (Exempt from VAT) — allowances[0] — so the invoice must contain the seller VAT identifier (BT-31), the seller tax registration identifier (BT-32) and/or the seller tax representative VAT identifier (BT-63). An exemption is granted by a named provision and can only be invoked by a registered taxable person. A discount or surcharge attached to an exempt supply inherits that exemption, and with it the evidencing burden: the breakdown will carry an exemption reason (BR-E-10) that has to be attributable to someone.
This rule is implemented and its error payload below is real, but the long-form write-up — normative text, worked example, divergence note — is not written yet. Everything the library knows about this rule is on this page. Ask and we will prioritise it.
- Business term
BT-31 / BT-32- Severity
fatal
What the library returns
The exact object in result.errors when this rule fires.
Generated by running @attestwire/en16931, not transcribed:
{
"rule": "BR-E-03",
"field": [
"BT-31",
"BT-32"
],
"severity": "fatal",
"message": "This invoice contains a document level allowance (BG-20) whose VAT category code (BT-95) is E (Exempt from VAT) — allowances[0] — so the invoice must contain the seller VAT identifier (BT-31), the seller tax registration identifier (BT-32) and/or the seller tax representative VAT identifier (BT-63). An exemption is granted by a named provision and can only be invoked by a registered taxable person. A discount or surcharge attached to an exempt supply inherits that exemption, and with it the evidencing burden: the breakdown will carry an exemption reason (BR-E-10) that has to be attributable to someone.",
"fix": "Set seller.vatId or seller.taxRegistrationId, or supply the taxRepresentative group. Remember that an exempt breakdown also needs vatExemptionReasons.E — category E is the one category with no standard wording, because the provision differs by member state.",
"example": "\"seller\": { \"vatId\": \"DE123456789\" }, \"vatExemptionReasons\": { \"E\": \"Exempt under Article 132(1)(i) of Directive 2006/112/EC\" }",
"xpath": "/ubl:Invoice/cac:AllowanceCharge[1]/cac:TaxCategory/cbc:ID",
"docsUrl": "https://attestwire.com/rules/BR-E-03"
}
xpath locates the element in the generated UBL document,
which is where a KoSIT or Peppol validator will report the same problem.
A passing value
"seller": { "vatId": "DE123456789" }, "vatExemptionReasons": { "E": "Exempt under Article 132(1)(i) of Directive 2006/112/EC" }The fix
Set seller.vatId or seller.taxRegistrationId, or supply the taxRepresentative group. Remember that an exempt breakdown also needs vatExemptionReasons.E — category E is the one category with no standard wording, because the provision differs by member state.