Skip to main content

BR-DEC-16 Paid amount must not exceed two decimal places

The BT-113 Paid 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-113 Paid 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-113 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-113 = 50.00 — two decimals accepted

Invalid Examples

Use these points as the practical checks for this section.

  • BT-113 = 50.000 — three decimals rejected

Code Examples

Valid XML
<cac:LegalMonetaryTotal>
  <cbc:PrepaidAmount currencyID="EUR">50.00</cbc:PrepaidAmount>
</cac:LegalMonetaryTotal>
Invalid XML
<cac:LegalMonetaryTotal>
  <cbc:PrepaidAmount currencyID="EUR">50.000</cbc:PrepaidAmount>
</cac:LegalMonetaryTotal>

Affected Fields

Validation Tools