Skip to main content

BR-DEC-20 VAT category tax amount must not exceed two decimal places

The BT-117 VAT category tax 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-117 VAT category tax 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-117 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-117 = 171.00 — two decimals accepted

Invalid Examples

Use these points as the practical checks for this section.

  • BT-117 = 171.000 — three decimals rejected

Code Examples

Valid XML
<cac:TaxTotal>
  <cac:TaxSubtotal>
    <cbc:TaxableAmount currencyID="EUR">900.00</cbc:TaxableAmount>
    <cbc:TaxAmount currencyID="EUR">171.00</cbc:TaxAmount>
  </cac:TaxSubtotal>
</cac:TaxTotal>
Invalid XML
<cac:TaxTotal>
  <cac:TaxSubtotal>
    <cbc:TaxableAmount currencyID="EUR">900.00</cbc:TaxableAmount>
    <cbc:TaxAmount currencyID="EUR">171.000</cbc:TaxAmount>
  </cac:TaxSubtotal>
</cac:TaxTotal>

Affected Fields

Validation Tools