Quaterio
EN 16931 error reference

Decimal place rules

An amount has more than two decimal places. 21 rules.

Every rule in this family says the same thing about a different field: this amount may not carry more than two decimal places.

Nobody types 12.49875 by hand, so it is almost always a computed value written out unrounded. A percentage discount, a currency conversion, or a floating point number serialised raw.

Round when you calculate the amount, not when you format it. Rounding on output leaves the printed figure disagreeing with the totals that were derived from the unrounded one, which trades a decimal rule for an arithmetic one.

Worth knowing before you over correct: the unit price is deliberately NOT capped at two decimals, because per unit pricing legitimately needs more.

BR-DEC-01
The document level allowance amount (BT-92) allows at most 2 decimal places. Nobody types this by hand, so it is almost always a computed value written out unrounded: a percentage discount (12.5% of 99.99 is 12.49875), a currency conversion, or a floating point number serialised raw (0.1 + 0.2 becomes 0.30000000000000004). Round when you calculate the amount, not when you format it, or the rounded figure will stop agreeing with the totals that were derived from the unrounded one. Note that the unit price (BT-146) is deliberately not capped this way, so a blanket "round everything to 2" pass is not the fix either.
BR-DEC-02
The document level allowance base amount (BT-93) allows at most 2 decimal places. Nobody types this by hand, so it is almost always a computed value written out unrounded: a percentage discount (12.5% of 99.99 is 12.49875), a currency conversion, or a floating point number serialised raw (0.1 + 0.2 becomes 0.30000000000000004). Round when you calculate the amount, not when you format it, or the rounded figure will stop agreeing with the totals that were derived from the unrounded one. Base amounts fail this most often, because they are the figure a percentage is applied to and tend to be carried at full precision.
BR-DEC-05
The document level charge amount (BT-99) allows at most 2 decimal places. Nobody types this by hand, so it is almost always a computed value written out unrounded: a percentage discount (12.5% of 99.99 is 12.49875), a currency conversion, or a floating point number serialised raw (0.1 + 0.2 becomes 0.30000000000000004). Round when you calculate the amount, not when you format it, or the rounded figure will stop agreeing with the totals that were derived from the unrounded one. Note that the unit price (BT-146) is deliberately not capped this way, so a blanket "round everything to 2" pass is not the fix either.
BR-DEC-06
The document level charge base amount (BT-100) allows at most 2 decimal places. Nobody types this by hand, so it is almost always a computed value written out unrounded: a percentage discount (12.5% of 99.99 is 12.49875), a currency conversion, or a floating point number serialised raw (0.1 + 0.2 becomes 0.30000000000000004). Round when you calculate the amount, not when you format it, or the rounded figure will stop agreeing with the totals that were derived from the unrounded one. Base amounts fail this most often, because they are the figure a percentage is applied to and tend to be carried at full precision.
BR-DEC-09
The sum of invoice line net amounts (BT-106) allows at most 2 decimal places. Nobody types this by hand, so it is almost always a computed value written out unrounded: a percentage discount (12.5% of 99.99 is 12.49875), a currency conversion, or a floating point number serialised raw (0.1 + 0.2 becomes 0.30000000000000004). Round when you calculate the amount, not when you format it, or the rounded figure will stop agreeing with the totals that were derived from the unrounded one. Note that the unit price (BT-146) is deliberately not capped this way, so a blanket "round everything to 2" pass is not the fix either.
BR-DEC-10
The sum of document level allowances (BT-107) allows at most 2 decimal places. Nobody types this by hand, so it is almost always a computed value written out unrounded: a percentage discount (12.5% of 99.99 is 12.49875), a currency conversion, or a floating point number serialised raw (0.1 + 0.2 becomes 0.30000000000000004). Round when you calculate the amount, not when you format it, or the rounded figure will stop agreeing with the totals that were derived from the unrounded one. Note that the unit price (BT-146) is deliberately not capped this way, so a blanket "round everything to 2" pass is not the fix either.
BR-DEC-11
The sum of document level charges (BT-108) allows at most 2 decimal places. Nobody types this by hand, so it is almost always a computed value written out unrounded: a percentage discount (12.5% of 99.99 is 12.49875), a currency conversion, or a floating point number serialised raw (0.1 + 0.2 becomes 0.30000000000000004). Round when you calculate the amount, not when you format it, or the rounded figure will stop agreeing with the totals that were derived from the unrounded one. Note that the unit price (BT-146) is deliberately not capped this way, so a blanket "round everything to 2" pass is not the fix either.
BR-DEC-12
The invoice total without VAT (BT-109) allows at most 2 decimal places. Nobody types this by hand, so it is almost always a computed value written out unrounded: a percentage discount (12.5% of 99.99 is 12.49875), a currency conversion, or a floating point number serialised raw (0.1 + 0.2 becomes 0.30000000000000004). Round when you calculate the amount, not when you format it, or the rounded figure will stop agreeing with the totals that were derived from the unrounded one. Note that the unit price (BT-146) is deliberately not capped this way, so a blanket "round everything to 2" pass is not the fix either.
BR-DEC-13
The invoice total VAT amount (BT-110) allows at most 2 decimal places. Nobody types this by hand, so it is almost always a computed value written out unrounded: a percentage discount (12.5% of 99.99 is 12.49875), a currency conversion, or a floating point number serialised raw (0.1 + 0.2 becomes 0.30000000000000004). Round when you calculate the amount, not when you format it, or the rounded figure will stop agreeing with the totals that were derived from the unrounded one. Note that the unit price (BT-146) is deliberately not capped this way, so a blanket "round everything to 2" pass is not the fix either.
BR-DEC-14
The invoice total with VAT (BT-112) allows at most 2 decimal places. Nobody types this by hand, so it is almost always a computed value written out unrounded: a percentage discount (12.5% of 99.99 is 12.49875), a currency conversion, or a floating point number serialised raw (0.1 + 0.2 becomes 0.30000000000000004). Round when you calculate the amount, not when you format it, or the rounded figure will stop agreeing with the totals that were derived from the unrounded one. Note that the unit price (BT-146) is deliberately not capped this way, so a blanket "round everything to 2" pass is not the fix either.
BR-DEC-15
The invoice total VAT amount in accounting currency (BT-111) allows at most 2 decimal places. Nobody types this by hand, so it is almost always a computed value written out unrounded: a percentage discount (12.5% of 99.99 is 12.49875), a currency conversion, or a floating point number serialised raw (0.1 + 0.2 becomes 0.30000000000000004). Round when you calculate the amount, not when you format it, or the rounded figure will stop agreeing with the totals that were derived from the unrounded one. Note that the unit price (BT-146) is deliberately not capped this way, so a blanket "round everything to 2" pass is not the fix either.
BR-DEC-16
The paid amount (BT-113) allows at most 2 decimal places. Nobody types this by hand, so it is almost always a computed value written out unrounded: a percentage discount (12.5% of 99.99 is 12.49875), a currency conversion, or a floating point number serialised raw (0.1 + 0.2 becomes 0.30000000000000004). Round when you calculate the amount, not when you format it, or the rounded figure will stop agreeing with the totals that were derived from the unrounded one. Note that the unit price (BT-146) is deliberately not capped this way, so a blanket "round everything to 2" pass is not the fix either.
BR-DEC-17
The rounding amount (BT-114) allows at most 2 decimal places. Nobody types this by hand, so it is almost always a computed value written out unrounded: a percentage discount (12.5% of 99.99 is 12.49875), a currency conversion, or a floating point number serialised raw (0.1 + 0.2 becomes 0.30000000000000004). Round when you calculate the amount, not when you format it, or the rounded figure will stop agreeing with the totals that were derived from the unrounded one. Note that the unit price (BT-146) is deliberately not capped this way, so a blanket "round everything to 2" pass is not the fix either.
BR-DEC-18
The amount due for payment (BT-115) allows at most 2 decimal places. Nobody types this by hand, so it is almost always a computed value written out unrounded: a percentage discount (12.5% of 99.99 is 12.49875), a currency conversion, or a floating point number serialised raw (0.1 + 0.2 becomes 0.30000000000000004). Round when you calculate the amount, not when you format it, or the rounded figure will stop agreeing with the totals that were derived from the unrounded one. Note that the unit price (BT-146) is deliberately not capped this way, so a blanket "round everything to 2" pass is not the fix either.
BR-DEC-19
The VAT category taxable amount (BT-116) allows at most 2 decimal places. Nobody types this by hand, so it is almost always a computed value written out unrounded: a percentage discount (12.5% of 99.99 is 12.49875), a currency conversion, or a floating point number serialised raw (0.1 + 0.2 becomes 0.30000000000000004). Round when you calculate the amount, not when you format it, or the rounded figure will stop agreeing with the totals that were derived from the unrounded one. Note that the unit price (BT-146) is deliberately not capped this way, so a blanket "round everything to 2" pass is not the fix either.
BR-DEC-20
The VAT category tax amount (BT-117) allows at most 2 decimal places. Nobody types this by hand, so it is almost always a computed value written out unrounded: a percentage discount (12.5% of 99.99 is 12.49875), a currency conversion, or a floating point number serialised raw (0.1 + 0.2 becomes 0.30000000000000004). Round when you calculate the amount, not when you format it, or the rounded figure will stop agreeing with the totals that were derived from the unrounded one. Note that the unit price (BT-146) is deliberately not capped this way, so a blanket "round everything to 2" pass is not the fix either.
BR-DEC-23
The invoice line net amount (BT-131) allows at most 2 decimal places. Nobody types this by hand, so it is almost always a computed value written out unrounded: a percentage discount (12.5% of 99.99 is 12.49875), a currency conversion, or a floating point number serialised raw (0.1 + 0.2 becomes 0.30000000000000004). Round when you calculate the amount, not when you format it, or the rounded figure will stop agreeing with the totals that were derived from the unrounded one. Note that the unit price (BT-146) is deliberately not capped this way, so a blanket "round everything to 2" pass is not the fix either.
BR-DEC-24
The invoice line allowance amount (BT-136) allows at most 2 decimal places. Nobody types this by hand, so it is almost always a computed value written out unrounded: a percentage discount (12.5% of 99.99 is 12.49875), a currency conversion, or a floating point number serialised raw (0.1 + 0.2 becomes 0.30000000000000004). Round when you calculate the amount, not when you format it, or the rounded figure will stop agreeing with the totals that were derived from the unrounded one. Note that the unit price (BT-146) is deliberately not capped this way, so a blanket "round everything to 2" pass is not the fix either.
BR-DEC-25
The invoice line allowance base amount (BT-137) allows at most 2 decimal places. Nobody types this by hand, so it is almost always a computed value written out unrounded: a percentage discount (12.5% of 99.99 is 12.49875), a currency conversion, or a floating point number serialised raw (0.1 + 0.2 becomes 0.30000000000000004). Round when you calculate the amount, not when you format it, or the rounded figure will stop agreeing with the totals that were derived from the unrounded one. Base amounts fail this most often, because they are the figure a percentage is applied to and tend to be carried at full precision.
BR-DEC-27
The invoice line charge amount (BT-141) allows at most 2 decimal places. Nobody types this by hand, so it is almost always a computed value written out unrounded: a percentage discount (12.5% of 99.99 is 12.49875), a currency conversion, or a floating point number serialised raw (0.1 + 0.2 becomes 0.30000000000000004). Round when you calculate the amount, not when you format it, or the rounded figure will stop agreeing with the totals that were derived from the unrounded one. Note that the unit price (BT-146) is deliberately not capped this way, so a blanket "round everything to 2" pass is not the fix either.
BR-DEC-28
The invoice line charge base amount (BT-142) allows at most 2 decimal places. Nobody types this by hand, so it is almost always a computed value written out unrounded: a percentage discount (12.5% of 99.99 is 12.49875), a currency conversion, or a floating point number serialised raw (0.1 + 0.2 becomes 0.30000000000000004). Round when you calculate the amount, not when you format it, or the rounded figure will stop agreeing with the totals that were derived from the unrounded one. Base amounts fail this most often, because they are the figure a percentage is applied to and tend to be carried at full precision.

Check your own invoice

Drop a Factur-X or ZUGFeRD file into the free validator and it names every rule that fails, with the explanation from this page attached to each one. The EN 16931 rules run in your browser, so the invoice is never uploaded. The ISO PDF/A-3, XRechnung and PEPPOL BIS checks need a server and are a separate opt in that says so.

Validate an invoice, no signup

The other rule families