Rule reference

BR-E-04 This invoice contains a document level charge (BG-21) whose VAT category code (BT-102) is E (Exempt from VAT) — charges[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 charge (BG-21) whose VAT category code (BT-102) is E (Exempt from VAT) — charges[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:

TeachingError
{
  "rule": "BR-E-04",
  "field": [
    "BT-31",
    "BT-32"
  ],
  "severity": "fatal",
  "message": "This invoice contains a document level charge (BG-21) whose VAT category code (BT-102) is E (Exempt from VAT) — charges[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[2]/cac:TaxCategory/cbc:ID",
  "docsUrl": "https://attestwire.com/rules/BR-E-04"
}

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

the shape this field expects
"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.

Arrived from a stack trace? The docsUrl on every error links straight here. Something wrong on this page — tell us.