Attestwire › Rule reference › BR-AG-06
BR-AG-06 A Ceuta and Melilla IPSI allowance must state a rate of zero or more
noun · EN 16931 · fatal · BT-96
For a sample invoice, the library reports: The document level allowance at allowances[1] uses VAT category M (Tax on production, services and imports in Ceuta and Melilla (IPSI)), so its VAT rate (BT-96) must be 0 (zero) or greater than zero, but it is missing.
- Business term
BT-96- Severity
fatal
The fix
Set allowances[1].vatRate to the IPSI percentage the adjusted supply bears, as a number. Zero is a legal value here — unlike category S — but the term must be present, because a missing rate and a rate of zero are different claims about a tax that is genuinely levied.
A passing value
"vatCategory": "M", "vatRate": 10What 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-AG-06",
"field": "BT-96",
"severity": "fatal",
"message": "The document level allowance at allowances[1] uses VAT category M (Tax on production, services and imports in Ceuta and Melilla (IPSI)), so its VAT rate (BT-96) must be 0 (zero) or greater than zero, but it is missing. IPSI is charged, so the adjustment carries a rate, and that rate may be 0 as well as positive — the Ceuta and Melilla tariffs include a zero band. An absent rate would leave the adjustment untethered from the tax the document says applies to it.",
"fix": "Set allowances[1].vatRate to the IPSI percentage the adjusted supply bears, as a number. Zero is a legal value here — unlike category S — but the term must be present, because a missing rate and a rate of zero are different claims about a tax that is genuinely levied.",
"example": "\"vatCategory\": \"M\", \"vatRate\": 10",
"xpath": "/ubl:Invoice/cac:AllowanceCharge[2]/cac:TaxCategory/cbc:Percent",
"docsUrl": "https://attestwire.com/rules/BR-AG-06"
}
xpath is always a UBL path. On a CII invoice, look for the
matching CII field instead.