BR-AG-08
For each different value of VAT category rate (BT-119) where the VAT category code (BT-118) is "IPSI", the VAT category taxable amount (BT-116) in a VAT breakdown (BG-23) shall equal the sum of Invoice line net amounts (BT-131) plus the sum of document level charge amounts (BT-99) minus the sum of document level allowance amounts (BT-92) where the VAT category code (BT-151, BT-102, BT-95) is "IPSI" and the VAT rate (BT-152, BT-103, BT-96) equals the VAT category rate (BT-119).
Official rule text
[BR-AG-08]-For each different value of VAT category rate (BT-119) where the VAT category code (BT-118) is "IPSI", the VAT category taxable amount (BT-116) in a VAT breakdown (BG-23) shall equal the sum of Invoice line net amounts (BT-131) plus the sum of document level charge amounts (BT-99) minus the sum of document level allowance amounts (BT-92) where the VAT category code (BT-151, BT-102, BT-95) is "IPSI" and the VAT rate (BT-152, BT-103, BT-96) equals the VAT category rate (BT-119).
Where the rule applies
| Rule set | Document type | Severity |
|---|---|---|
| XRechnung with the CEN EN 16931 rules (3.0.2) KoSIT, CEN | EN16931 XRechnung (UBL Invoice), EN16931 XRechnung Extension (UBL Invoice), EN16931 XRechnung CVD (UBL Invoice), EN16931 XRechnung (UBL CreditNote), EN16931 XRechnung CVD (UBL CreditNote), EN16931 XRechnung (CII), EN16931 XRechnung Extension (CII), EN16931 XRechnung CVD (CII), EN16931 (UBL Invoice), EN16931 (UBL CreditNote), EN16931 (CII) | fatal |
| ZUGFeRD / Factur-X (2.5.2) FeRD, FNFE-MPE | Factur-X BASIC (CII), Factur-X EN 16931 (CII) | error |
| Peppol BIS Billing 3.0 (3.0-2026.5) OpenPeppol | Peppol BIS Billing 3.0 (UBL Invoice), Peppol BIS Billing 3.0 (UBL CreditNote) | fatal |
| CIUS-RO (1.0.9) Romanian Ministry of Finance | CIUS-RO (CII): EN 16931 only | fatal |
| HR-CIUS (eRačun) (1.0.4) Croatian Tax Administration | HR-CIUS (UBL Invoice), HR-CIUS (UBL CreditNote) | fatal |
Fatal and error findings make the invoice invalid (valid: false); warnings and information do not.
Business terms concerned (EN 16931)
BG-23BT-92BT-95BT-96BT-99BT-102BT-103BT-116BT-118BT-119BT-131BT-151BT-152
Technical check
- Syntax
- UBL · HR-CIUS (eRačun) (1.0.4), Peppol BIS Billing 3.0 (3.0-2026.5), XRechnung with the CEN EN 16931 rules (3.0.2)
- Context
/*/cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory[normalize-space(cbc:ID) = 'M'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']- Test (must be true)
every $rate in xs:decimal(cbc:Percent) satisfies ((exists(//cac:InvoiceLine) and ((../xs:decimal(cbc:TaxableAmount - 1) < (sum(../../../cac:InvoiceLine[cac:Item/cac:ClassifiedTaxCategory/normalize-space(cbc:ID)='M'][cac:Item/cac:ClassifiedTaxCategory/xs:decimal(cbc:Percent) =$rate]/xs:decimal(cbc:LineExtensionAmount)) + sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=true()][cac:TaxCategory/normalize-space(cbc:ID)='M'][cac:TaxCategory/xs:decimal(cbc:Percent) = $rate]/xs:decimal(cbc:Amount)) - sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=false()][cac:TaxCategory/normalize-space(cbc:ID)='M'][cac:TaxCategory/xs:decimal(cbc:Percent) = $rate]/xs:decimal(cbc:Amount)))) and…
- Syntax
- CII · CIUS-RO (1.0.9), XRechnung with the CEN EN 16931 rules (3.0.2)
- Context
//rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax[ram:CategoryCode = 'M'][upper-case(ram:TypeCode) = 'VAT']- Test (must be true)
every $rate in ../ram:RateApplicablePercent/xs:decimal(.) satisfies (../ram:BasisAmount = (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement[ram:ApplicableTradeTax/ram:CategoryCode = 'M' and ram:ApplicableTradeTax/xs:decimal(ram:RateApplicablePercent) =$rate]/ram:SpecifiedTradeSettlementLineMonetarySummation/xs:decimal(ram:LineTotalAmount)) * 10 * 10) div 100 + round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=true() and ram:CategoryTradeTax/ram:CategoryCode='M' and…
- Syntax
- CII · ZUGFeRD / Factur-X (2.5.2)
- Context
//rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax[ram:CategoryCode = 'M']- Test (must be true)
every $rate in ../ram:RateApplicablePercent/xs:decimal(.) satisfies (../ram:BasisAmount = (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement[ram:ApplicableTradeTax/ram:CategoryCode = 'M' and ram:ApplicableTradeTax/xs:decimal(ram:RateApplicablePercent) =$rate]/ram:SpecifiedTradeSettlementLineMonetarySummation/xs:decimal(ram:LineTotalAmount)) * 10 * 10) div 100 + round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=true() and ram:CategoryTradeTax/ram:CategoryCode='M' and…
How the API reports this rule
Every finding of POST /v1/validate carries the rule id, severity, message, location (XPath) and rule set, and links this page (docUrl):
{
"severity": "fatal",
"ruleId": "BR-AG-08",
"message": "[BR-AG-08]-For each different value of VAT category rate (BT-119) where the VAT category code (BT-118) is \"IPSI\", the VAT category taxable amount (BT-116) in a VAT breakdown (BG-23) shall equal the sum of Invoice line net amounts (BT-131) plus the sum of document level charge amounts (BT-99) minus the sum of document level allowance amounts (BT-92) where the VAT category code (BT-151, BT-102, BT-95) is \"IPSI\" and the VAT rate (BT-152, BT-103, BT-96) equals the VAT category rate (BT-119).",
"xpath": "/…",
"source": "schematron:xrechnung@3.0.2",
"docUrl": "https://einvoice-api.eu/rules/br-ag-08.html"
}Check an invoice against this rule and every other rule of the rule set – in the browser, without sign-up.
Rule text and severity are taken unchanged from the official rule set; this page is generated from the API's configuration. Not legal advice.