ErrorEN 16931Manual only

BR-CO-15

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

What does this rule mean?

The grand total (BT-112) is not net (BT-109) + VAT (BT-110).

The invoice’s central arithmetic check: the total with VAT must equal net plus VAT exactly.

BT-109
Invoice total amount without VAT
BT-110
Invoice total VAT amount
BT-112
Invoice total amount with VAT
Official rule message (standard)

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

Where the rule applies

Syntax: CII · UBL

The same rule, expressed twice: UBL and CII name the same fields with different paths. Running a CII file against the UBL rules is why you get errors that mean nothing.

UBL

  • /ubl:Invoice | /cn:CreditNote

CII

  • /rsm:CrossIndustryInvoice

Technical test

The rule passes when this Schematron expression holds true:

every $Currency                                  in rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:InvoiceCurrencyCode                                 satisfies (                                     count ( rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementHeaderMonetarySummation/ram:TaxTotalAmount[@currencyID=$Currency] ) eq 1 and                                     (//ram:SpecifiedTradeSettlementHeaderMonetarySummation/xs:decimal(ram:GrandTotalAmount) = round(                                      (//ram:SpecifiedTradeSettlementHeaderMonetarySummation/xs:decimal(ram:TaxBasisTotalAmount) +                                      (//ram:SpecifiedTradeSettlementHeaderMonetarySummation/xs:decimal(ram:TaxTotalAmount[@currencyID=$Currency]))) * 10 * 10) div 100)) or                                 (//ram:SpecifiedTradeSettlementHeaderMonetarySummation/xs:decimal(ram:GrandTotalAmount) = (//ram:SpecifiedTradeSettlementHeaderMonetarySummation/xs:decimal(ram:TaxBasisTotalAmount)))

How to fix it

Touches amounts, VAT or IBAN. We never change these automatically — correct them in your source data.

Beleggo computes the expected grand total and shows the delta. Correct the figures in your source data — they are never changed automatically.

Correct the affected entry in your XML, then re-check the invoice. Validation runs locally in your browser — your file never leaves your machine.

Check an e-invoice here

Drop an XML or ZUGFeRD PDF file here. Validation runs locally in your browser against EN 16931 — your file never leaves your machine.

100% local — no upload, no account.

Related rules

← Back to the error library