BR-CO-10 error EN 16931

BR-CO-10 — sum of line amounts doesn't match BT-106

What it means

The declared "sum of invoice line net amounts" (BT-106) must equal the actual sum of every line’s net amount (BT-131). This is the first of the EN 16931 arithmetic cross-checks — if the parts don’t add up to the declared whole, every downstream total is suspect.

What triggers it

You computed totals in your own code and rounded differently than the line amounts, changed a line after computing totals, or a floating-point error crept in (0.1 + 0.2 ≠ 0.3).

How to fix it

Recompute: each line net = quantity × unit price ÷ base quantity, rounded to 2 decimals per line, then sum the rounded values. Never sum unrounded values and round once at the end — that is the classic mismatch. Or simply omit totals in our API and we compute and cross-check them for you:

{ "lines": [ { "quantity": "10", "unitPrice": "120.00" } ] }
// totals omitted → computed server-side, always consistent

Rounding half-up to 2 decimals per line is what EN 16931 expects; big.js (or any decimal library) avoids the float trap entirely.

Check your invoice now. Paste it into the free validator — it flags BR-CO-10 and every other EN 16931, Peppol and XRechnung rule, each with the fix.

Or run the same check via API:

curl -X POST https://fakturwire.com/v1/validate \
  -H "authorization: Bearer $FW_KEY" \
  -d '{"invoice": { ... }, "profile": "en16931"}'

Related rules

← All EN 16931 / Peppol / XRechnung rules