AttestwireRule referenceBR-AF-05

BR-AF-05 Canary Islands IGIC lines must state a rate of zero or more

noun · EN 16931 · fatal · BT-152

For a sample invoice, the library reports: Line 1 uses VAT category L (Canary Islands general indirect tax (IGIC)), so the invoiced item VAT rate (BT-152) must be 0 (zero) or greater than zero, but it is missing.

Business term
BT-152
Severity
fatal

The fix

Set line.vatRate to the applicable IGIC percentage as a number. IGIC is the Canary Islands tax and its bands are set nationally: 7 for the general rate, 0 for a zero-rated Canarian supply, and 3, 9.5, 15 or 20 for the reduced and increased bands. If the supply is in mainland Spain and bears VAT rather than IGIC, the category is S.

A passing value

the shape this field expects
"vatCategory": "L", "vatRate": 7

What the library returns

The full error returned by @attestwire/en16931. It includes the rule ID, affected field and suggested correction. Developers can use this object in their application:

TeachingError
{
  "rule": "BR-AF-05",
  "field": "BT-152",
  "severity": "fatal",
  "message": "Line 1 uses VAT category L (Canary Islands general indirect tax (IGIC)), so the invoiced item VAT rate (BT-152) must be 0 (zero) or greater than zero, but it is missing. IGIC is a tax that is actually charged, so the rate is the substance of the line, not decoration — and unlike category S, L does admit a rate of exactly 0, because IGIC relieves some supplies by rate rather than by exemption. What it does not admit is silence, or a negative figure.",
  "fix": "Set line.vatRate to the applicable IGIC percentage as a number. IGIC is the Canary Islands tax and its bands are set nationally: 7 for the general rate, 0 for a zero-rated Canarian supply, and 3, 9.5, 15 or 20 for the reduced and increased bands. If the supply is in mainland Spain and bears VAT rather than IGIC, the category is S.",
  "example": "\"vatCategory\": \"L\", \"vatRate\": 7",
  "xpath": "/ubl:Invoice/cac:InvoiceLine[1]/cac:Item/cac:ClassifiedTaxCategory/cbc:Percent",
  "docsUrl": "https://attestwire.com/rules/BR-AF-05"
}

xpath is always a UBL path. On a CII invoice, look for the matching CII field instead.