Attestwire › Rule reference › BR-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
"vatCategory": "L", "vatRate": 7What 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:
{
"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.