BR-DEC-18: BT-115 mit mehr als zwei Nachkommastellen

Für BT-115 (fälliger Zahlbetrag) sind höchstens zwei Nachkommastellen erlaubt.

Regelwerk
EN 16931 (CEN)
Syntax
UBL und CII
Betroffene Felder
BT-115

Offizieller Regeltext

The allowed maximum number of decimals for the Amount due for payment (BT-115) is 2.

Regeltext aus den Validierungsartefakten zu EN 16931 in Version 1.3.16 (CEN/TC 434, veröffentlicht von ConnectingEurope), Lizenz EUPL 1.2; enthalten in der XRechnung-Validatorkonfiguration 2026-08-31.

Schweregrad

Ein Verstoß führt im Szenario „XRechnung“ des KoSIT-Validators zur Ablehnung der Rechnung.

Typische Ursachen

Die Software rechnet intern mit mehr Nachkommastellen und gibt den Wert ungerundet aus, oder Beträge werden mit einem festen Format wie 0.000 geschrieben. Auch 99.750 zählt als drei Nachkommastellen, obwohl der Wert gleich bleibt.

So behebst du den Fehler

Beträge vor der Ausgabe kaufmännisch auf zwei Nachkommastellen runden und mit höchstens zwei Nachkommastellen schreiben. Für Einzelpreise (BT-146) gilt diese Grenze nicht.

In UBL meldet der Validator zusätzlich UBL-DT-01 (Beträge mit höchstens zwei Nachkommastellen).

Geprüftes Beispiel: falsch und richtig

Die Auszüge stammen aus vollständigen, synthetischen Rechnungen des E-Rechnungs-Testkorpus. Geänderte Zeilen sind hervorgehoben. Beide Dateien werden in den automatischen Tests mit dem KoSIT-Validator geprüft.

Bei den Beispielen meldet der Validator außer BR-DEC-18 auch: UBL-DT-01.

Beispiel in UBL

Änderung gegenüber der gültigen Rechnung: Fälliger Betrag (BT-115) mit drei Nachkommastellen.

Falsch – ab Zeile 108
  <cbc:TaxExclusiveAmount currencyID="EUR">501.55</cbc:TaxExclusiveAmount>
  <cbc:TaxInclusiveAmount currencyID="EUR">596.84</cbc:TaxInclusiveAmount>
  <cbc:PayableAmount currencyID="EUR">596.840</cbc:PayableAmount>
</cac:LegalMonetaryTotal>
<cac:InvoiceLine>
Richtig – ab Zeile 108
  <cbc:TaxExclusiveAmount currencyID="EUR">501.55</cbc:TaxExclusiveAmount>
  <cbc:TaxInclusiveAmount currencyID="EUR">596.84</cbc:TaxInclusiveAmount>
  <cbc:PayableAmount currencyID="EUR">596.84</cbc:PayableAmount>
</cac:LegalMonetaryTotal>
<cac:InvoiceLine>

Prüfergebnis (KoSIT-Validator 1.6.3, Konfiguration 2026-08-31): falsche Datei abgelehnt, korrigierte Datei angenommen. Meldungen zur falschen Datei:

  • BR-DEC-18 The allowed maximum number of decimals for the Amount due for payment (BT-115) is 2. Fundstelle: /Invoice[1]/LegalMonetaryTotal[1]
  • UBL-DT-01 Amounts shall be decimal up to two fraction digits Fundstelle: /Invoice[1]/LegalMonetaryTotal[1]/PayableAmount[1]

Vollständige Dateien im Testkorpus: br-dec-18-zahlbetrag-drei-nachkommastellen_ubl.xml (falsch) und standard_ubl.xml (richtig).

Beispiel in CII

Änderung gegenüber der gültigen Rechnung: Fälliger Betrag (BT-115) mit drei Nachkommastellen.

Falsch – ab Zeile 208
    <ram:TaxTotalAmount currencyID="EUR">95.29</ram:TaxTotalAmount>
    <ram:GrandTotalAmount>596.84</ram:GrandTotalAmount>
    <ram:DuePayableAmount>596.840</ram:DuePayableAmount>
  </ram:SpecifiedTradeSettlementHeaderMonetarySummation>
</ram:ApplicableHeaderTradeSettlement>
Richtig – ab Zeile 208
    <ram:TaxTotalAmount currencyID="EUR">95.29</ram:TaxTotalAmount>
    <ram:GrandTotalAmount>596.84</ram:GrandTotalAmount>
    <ram:DuePayableAmount>596.84</ram:DuePayableAmount>
  </ram:SpecifiedTradeSettlementHeaderMonetarySummation>
</ram:ApplicableHeaderTradeSettlement>

Prüfergebnis (KoSIT-Validator 1.6.3, Konfiguration 2026-08-31): falsche Datei abgelehnt, korrigierte Datei angenommen. Meldungen zur falschen Datei:

  • BR-DEC-18 The allowed maximum number of decimals for the Amount due for payment (BT-115) is 2. Fundstelle: /CrossIndustryInvoice[1]/SupplyChainTradeTransaction[1]/ApplicableHeaderTradeSettlement[1]/SpecifiedTradeSettlementHeaderMonetarySummation[1]

Vollständige Dateien im Testkorpus: br-dec-18-zahlbetrag-drei-nachkommastellen_cii.xml (falsch) und standard_cii.xml (richtig).

Testdateien zu BR-DEC-18

Technische Details: Kontext und Prüfausdruck aus dem Schematron

CII

Kontext:

//ram:SpecifiedTradeSettlementHeaderMonetarySummation

Prüfausdruck:

string-length(substring-after(ram:DuePayableAmount,'.'))<=2

UBL

Kontext:

cac:LegalMonetaryTotal

Prüfausdruck:

string-length(substring-after(cbc:PayableAmount,'.'))<=2

Technische Formatprüfung nach XRechnung 3.0.2; keine steuerliche oder rechtliche Beratung.