Counterfoil rule note

BR-CO-15

Quoted from a public specification. This page is not a validator, and it is not tax, legal, or accounting advice.

Country
EU
Syntax
UBL
Severity
fatal
Last verified
2026-10-17

Official statement

Invoice total amount with VAT (BT-112) = Invoice total amount without VAT (BT-109) + Invoice total VAT amount (BT-110).

Source: https://docs.peppol.eu/poacc/billing/3.0/rules/ubl-tc434/BR-CO-15/

Peppol BIS Billing 3.0, May 2026 release, EN 16931 model bound to UBL

Severity note: fatal, from the Flag column of the Peppol BIS Billing 3.0 UBL rules index retrieved 2026-10-17.

Plain-language reading

The invoice total with VAT (BT-112) must equal the total without VAT (BT-109) plus the VAT total (BT-110). The published test compares them in the document currency and expects one VAT total in that currency.

What to change

Set BT-112 to BT-109 plus BT-110.

Illustration

Illustration of the condition in the official statement. Not an example published by the source.

Fails the stated condition. BT-109 is 100, BT-110 is 19, and BT-112 is 100.

Passes the stated condition. BT-109 is 100, BT-110 is 19, and BT-112 is 119.

Published context and test

Copied from the source. Not reimplemented on this page.

/ubl:Invoice | /cn:CreditNote
every $Currency in cbc:DocumentCurrencyCode satisfies (count(cac:TaxTotal/xs:decimal(cbc:TaxAmount[@currencyID=$Currency])) eq 1) and (cac:LegalMonetaryTotal/xs:decimal(cbc:TaxInclusiveAmount) = round( (cac:LegalMonetaryTotal/xs:decimal(cbc:TaxExclusiveAmount) + cac:TaxTotal/xs:decimal(cbc:TaxAmount[@currencyID=$Currency])) * 10 * 10) div 100)

All rule notes · JSON · Markdown · llms.txt · Invoice page · Privacy