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"}'