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-01official 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

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.

Or try it live: drop any XRechnung XML on the free validator — same KoSIT-backed report, no account.

Spotted something?

Bug, missing feature, wrong validation result — tell us. The page you're on is attached automatically; email optional.