Reference
Markdown exportBR-DEC-02 Document level allowance base amount must not exceed two decimal places
The BT-93 Document level allowance base 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-93 Document level allowance base 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-93 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-93 = 1000.00 — two decimals accepted
Invalid Examples
Use these points as the practical checks for this section.
- BT-93 = 1000.000 — three decimals rejected
Code Examples
<cac:AllowanceCharge>
<cbc:ChargeIndicator>false</cbc:ChargeIndicator>
<cbc:Amount currencyID="EUR">100.00</cbc:Amount>
<cbc:BaseAmount currencyID="EUR">1000.00</cbc:BaseAmount>
</cac:AllowanceCharge><cac:AllowanceCharge>
<cbc:ChargeIndicator>false</cbc:ChargeIndicator>
<cbc:Amount currencyID="EUR">100.00</cbc:Amount>
<cbc:BaseAmount currencyID="EUR">1000.000</cbc:BaseAmount>
</cac:AllowanceCharge>