Peppol BIS Billing 3.0 · rule
BR-AG-01
What does BR-AG-01 mean? An Invoice that contains an Invoice line (BG-25), a Document level allowance (BG-20) or a Document level charge (BG-21) where the VAT category code (BT-151, BT-95 or BT-102) is "IPSI" shall contain in the VAT breakdown (BG-23) at least one VAT category code (BT-118) equal with "IPSI".
Why did my invoice fail BR-AG-01?
If any invoice line (BG-25), document level allowance (BG-20) or document level charge (BG-21) uses the VAT category code "IPSI" (code M, the Ceuta/Melilla indirect tax), the VAT breakdown (BG-23) must include at least one entry whose category code (BT-118) is also "IPSI". This keeps line-level categorisation consistent with the document-level VAT summary. In UBL the breakdown entry is a cac:TaxTotal/cac:TaxSubtotal with cac:TaxCategory/cbc:ID of "M".
Official rule text
An Invoice that contains an Invoice line (BG-25), a Document level allowance (BG-20) or a Document level charge (BG-21) where the VAT category code (BT-151, BT-95 or BT-102) is "IPSI" shall contain in the VAT breakdown (BG-23) at least one VAT category code (BT-118) equal with "IPSI".
Common causes
- Lines use category M but no matching TaxSubtotal exists in the VAT breakdown
- Breakdown entry generated with a different category code than the lines
- Breakdown generation skips less common categories like M
How do I fix it?
<cac:TaxTotal>
<cbc:TaxAmount currencyID="EUR">4.00</cbc:TaxAmount>
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="EUR">100.00</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="EUR">4.00</cbc:TaxAmount>
<cac:TaxCategory>
<cbc:ID>M</cbc:ID>
<cbc:Percent>4</cbc:Percent>
<cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme>
</cac:TaxCategory>
</cac:TaxSubtotal>
</cac:TaxTotal>
Related rules
BR-AG-02 · BR-AG-03 · BR-AG-04 · BR-AG-05 · BR-AG-06 · BR-AG-07 · BR-AG-08 · BR-AG-09
Paste it into the live demo, or call POST /v1/validate. See the quickstart.