Skip to main content

BR-DEC-05 Document level charge amount must not exceed two decimal places

The BT-99 Document level charge amount is limited to a maximum of two decimal places. Any value carrying three or more fractional digits fails EN16931 validation.

Problem Description

The BT-99 Document level charge amount is limited to a maximum of two decimal places. Any value carrying three or more fractional digits fails EN16931 validation.

ERROR

XRechnung 3.0

Context and Significance

This is an EN16931 core decimal-precision constraint enforced by KoSIT: every monetary amount in the invoice must be expressed with no more than two decimals.

Solution

Round BT-99 to two decimal places before serialising the amount, and apply the same rounding used in the BR-CO total and sum calculations so the invoice still reconciles.

Quick actions

Valid Examples

Use these points as the practical checks for this section.

  • BT-99 = 25.00 — two decimals accepted

Invalid Examples

Use these points as the practical checks for this section.

  • BT-99 = 25.005 — three decimals rejected

Code Examples

Valid XML
<cac:AllowanceCharge>
  <cbc:ChargeIndicator>true</cbc:ChargeIndicator>
  <cbc:Amount currencyID="EUR">25.00</cbc:Amount>
</cac:AllowanceCharge>
Invalid XML
<cac:AllowanceCharge>
  <cbc:ChargeIndicator>true</cbc:ChargeIndicator>
  <cbc:Amount currencyID="EUR">25.005</cbc:Amount>
</cac:AllowanceCharge>

Affected Fields

Validation Tools