Rule reference

BR-AF-04 This invoice contains a document level charge (BG-21) whose VAT category code (BT-102) is L (Canary Islands general indirect tax (IGIC)) — charges[1] — 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 L (Canary Islands general indirect tax (IGIC)) — charges[1] — 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). IGIC is the Canary Islands' own general indirect tax, levied instead of VAT because the archipelago is outside the EU VAT area while remaining inside the customs union. A document level adjustment in this category changes the IGIC base the same way a standard-rated one changes the VAT base, so the same identification requirement applies — the tax is collected on behalf of a real administration, the Canarian one.

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-AF-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 L (Canary Islands general indirect tax (IGIC)) — charges[1] — 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). IGIC is the Canary Islands' own general indirect tax, levied instead of VAT because the archipelago is outside the EU VAT area while remaining inside the customs union. A document level adjustment in this category changes the IGIC base the same way a standard-rated one changes the VAT base, so the same identification requirement applies — the tax is collected on behalf of a real administration, the Canarian one.",
  "fix": "Set seller.vatId to your Spanish NIF-IVA (e.g. \"ESX1234567X\"), or seller.taxRegistrationId if you hold a national tax number rather than a VAT identifier, or supply the taxRepresentative group.",
  "example": "\"seller\": { \"vatId\": \"ESX1234567X\" }",
  "xpath": "/ubl:Invoice/cac:AllowanceCharge[4]/cac:TaxCategory/cbc:ID",
  "docsUrl": "https://attestwire.com/rules/BR-AF-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": "ESX1234567X" }

The fix

Set seller.vatId to your Spanish NIF-IVA (e.g. "ESX1234567X"), or seller.taxRegistrationId if you hold a national tax number rather than a VAT identifier, or supply the taxRepresentative group.

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