Validation rules
UBL-SR-19 — UBL rule
The payee name (BT-59) is invalid: cac:PayeeParty may carry at most one PartyName/Name, and it must differ from the seller name — state a payee only when it is not the seller.
- Rule
UBL-SR-19— 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 normbill invoice model has no payee party (BG-10); generated XML never contains cac:PayeeParty.
How to fix it
Remove the PayeeParty if the seller is paid directly, or keep exactly one payee name that differs from the seller's.
UBL-SR-19 auf Deutsch — was bedeutet der Fehler?
Der KoSIT-Validator lehnt die Rechnung ab: cac:PayeeParty darf höchstens einen PartyName/Name tragen, und der Zahlungsempfänger (BT-59) muss sich vom Verkäufer unterscheiden — ein Payee ist nur anzugeben, wenn er nicht der Verkäufer ist.
So beheben Sie den Fehler
Entfernen Sie die PayeeParty, wenn der Verkäufer selbst die Zahlung erhält — oder geben Sie genau einen abweichenden Empfängernamen an.
Related rules
UBL-SR-18— The buyer VAT identifier (BT-48) appears more than once — only one PartyTaxScheme with TaxScheme/ID 'VAT'…UBL-SR-20— The payee identifier (BT-60) is invalid: cac:PayeeParty may carry at most one PartyIdentification/ID (SEPA…UBL-SR-17— The buyer legal registration identifier (BT-47) appears more than once — only one PartyLegalEntity/CompanyID…UBL-SR-21— The payee legal registration identifier (BT-61) is invalid: at most one PartyLegalEntity/CompanyID is…UBL-SR-16— The buyer identifier (BT-46) appears more than once — the customer party may carry only one…UBL-SR-22— The tax representative name (BT-62) appears more than once — cac:TaxRepresentativeParty may carry only one…
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.
Or try it live: drop any XRechnung XML on the free validator — same KoSIT-backed report, no account.