Back to Compliance Hub
Critical

BR-DEC-23

Invoice Line Net Amount Has More Than Two Decimals (BT-131)

What This Error Means

BR-DEC-23 is an EN 16931 rule: the invoice line net amount (BT-131) may have at most two decimals. In UBL this is cbc:LineExtensionAmount in each cac:InvoiceLine (or cac:CreditNoteLine), in CII ram:SpecifiedLineTradeSettlement/ram:SpecifiedTradeSettlementLineMonetarySummation/ram:LineTotalAmount. It belongs to the BR-DEC family, which limits all amounts in an invoice to two decimals. The rule is fatal. KoSIT message: '[BR-DEC-23]-The allowed maximum number of decimals for the Invoice line net amount (BT-131) is 2.' In UBL the general rule UBL-DT-01 ('Amounts shall be decimal up to two fraction digits') usually fires alongside.

Why this happens

The test is a string check: the part after the decimal point of BT-131 may be at most two characters long. So 1000.000 fails as well as 208.3325, even though 1000.000 is numerically a round value. Typical causes: the export writes quantity × unit price with full floating-point precision; unit prices with three or four decimals (fuel, energy, hourly rates) or fractional quantities produce three-decimal products; percentage line discounts are calculated but not rounded; a number formatter pads every value to three decimals; or a currency conversion is written unrounded. EN 16931 deliberately allows more decimals in the unit price (BT-146) but not in amounts; UBL-DT-01 excludes cbc:PriceAmount for the same reason. Older validator configurations (CEN Schematron up to version 1.3.12, used for example in the KoSIT configuration of 31 October 2024) contained a wrong path for this check in CII. A CII file with three decimals could therefore pass there; the KoSIT configuration of 31 August 2026 (CEN 1.3.16) checks the correct path and rejects it.

How to Fix It

Round each line net amount to two decimals (commercial rounding) before writing it, for example 208.3325 → 208.33. Then compute BT-106 from the rounded line amounts. The unit price (BT-146, cbc:PriceAmount) may keep more decimals.

Step-by-step

1) Calculate each line as quantity × (unit price ÷ base quantity) + line charges − line allowances. 2) Round that result to two decimals and write it into BT-131. 3) Keep the unrounded unit price in cbc:PriceAmount if you need it. The line check PEPPOL-EN16931-R120 in XRechnung accepts a difference of up to 0.02 between BT-131 and the recalculated value (and in UBL is only a warning since the configuration of 31 August 2026), so a correctly rounded amount passes. 4) Round line allowances and charges (BT-136, BT-141) to two decimals too; BR-DEC-24 and BR-DEC-27 check them. 5) Compute BT-106 as the sum of the rounded lines (BR-CO-10), then BT-109, the VAT breakdown and the totals. 6) Make sure the number formatter does not pad to three decimals. 7) Validate again.

XML Example
<cac:InvoiceLine>
  <cbc:ID>1</cbc:ID>
  <cbc:InvoicedQuantity unitCode="HUR">2.5</cbc:InvoicedQuantity>
  <!-- 2.5 x 83.333 = 208.3325, written rounded -->
  <cbc:LineExtensionAmount currencyID="EUR">208.33</cbc:LineExtensionAmount>
  <cac:Item>
    <cbc:Name>Beratung (Stunden)</cbc:Name>
    <cac:ClassifiedTaxCategory>
      <cbc:ID>S</cbc:ID>
      <cbc:Percent>19</cbc:Percent>
      <cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme>
    </cac:ClassifiedTaxCategory>
  </cac:Item>
  <cac:Price>
    <cbc:PriceAmount currencyID="EUR">83.333</cbc:PriceAmount>
  </cac:Price>
</cac:InvoiceLine>

Fix Automatically

Upload your invoice to our Smart Repair engine. It checks the file against the full KoSIT rule set, including BR-DEC-23, and corrects supported fields with a GoBD audit trail.

Open Smart Repair

Frequently asked questions

Can the unit price have more than two decimals?

Yes. The item net price (BT-146, cbc:PriceAmount) is not limited to two decimals. Only amounts such as the line net amount and the totals are.

Which other amounts are limited to two decimals?

All of them: document-level allowances and charges (BR-DEC-01 to BR-DEC-06), the totals BT-106 to BT-115 (BR-DEC-09 to BR-DEC-18), the VAT breakdown BT-116 and BT-117 (BR-DEC-19, BR-DEC-20) and line allowances and charges (BR-DEC-24 to BR-DEC-28).

After rounding the lines, BR-CO-10 fails. Why?

BT-106 was still calculated from the unrounded values. Add up the rounded line amounts exactly as written in the XML and use that sum as BT-106.

Related Errors

Other commonly encountered validation errors