CRATEAPI

BR-CO-15

EN 16931 FATAL

The invoice total with VAT (BT-112) must equal the total without VAT (BT-109) plus the total VAT amount (BT-110). This is the single most-hit calculation rule - almost always a 1-cent rounding drift between the VAT breakdown and the declared totals.

How to fix it
  1. Recompute BT-112 = BT-109 + BT-110 after both sides are rounded to 2 decimals.
  2. Compute BT-110 as the sum of the per-category VAT amounts (BT-117) - not as rate × grand total, which drifts by a cent on mixed-rate invoices.
  3. Use one rounding helper everywhere; mixing round() implementations across languages is a classic cause.
Example
− Rejected
<TaxExclusiveAmount>875.00</>
<TaxAmount>218.75</>
<TaxInclusiveAmount>1093.74</>
+ Accepted
<TaxExclusiveAmount>875.00</>
<TaxAmount>218.75</>
<TaxInclusiveAmount>1093.75</>
Official rule text
Invoice total amount with VAT (BT-112) = Invoice total amount without VAT (BT-109) + Invoice total VAT amount (BT-110).

Developers also reach this page searching for an “invoice validation error”, an “e-invoice rejected” message, or how to fix a failed EN 16931 compliance check — it's the same issue, explained above.

Fix it faster

Paste your invoice XML in our free validator - every finding comes with its rule ID. Then generate, convert and render compliant invoices through one API.

Related rules