Validation rules
UBL-DT-01
An amount carries more than two decimal places. Every UBL amount element is limited to two fraction digits — only the item net price (cac:Price/cbc:PriceAmount) and its price discount may be more precise.
- Rule
UBL-DT-01— official EN 16931 / XRechnung rule- Severity
- error
- Detected by
- tier 3 — KoSIT validator (authoritative)
- Reachability
- Only reachable when validating your own XML — normbill-generated documents cannot trigger it
The serializer rounds every amount to two decimals (big.js); only PriceAmount keeps the caller's precision, which this rule exempts.
How to fix it
Round the flagged amount to two decimals. Extra precision is only allowed on unit prices, never on line, tax or total amounts.
UBL-DT-01 auf Deutsch — was bedeutet der Fehler?
Der KoSIT-Validator lehnt die Rechnung ab, weil ein Betrag mehr als zwei Nachkommastellen trägt. Alle UBL-Betragselemente sind auf zwei Dezimalstellen begrenzt — nur der Netto-Einzelpreis (cac:Price/cbc:PriceAmount) und dessen Preisnachlass dürfen genauer sein.
So beheben Sie den Fehler
Runden Sie den beanstandeten Betrag auf zwei Nachkommastellen. Höhere Genauigkeit ist nur bei Einzelpreisen zulässig, nie bei Positions-, Steuer- oder Gesamtbeträgen.
Official sources
- XRechnung specification (KoSIT / xeinkauf.de)
- KoSIT validator on GitHub and the XRechnung validator configuration
Every 422 from the API lists the rule id, the path in your request JSON, a plain-language message and a suggested fix — see the docs overview for the report format.