UBL-SR-20:Payee identifier shall occur maximum once, if the Payee is different from the Seller
Fix: Your invoice contains multiple Payee identifier elements (PayeeParty/PartyIdentification/ID). EN16931 allows only one payee identifier.
Your invoice contains multiple Payee identifier elements (PayeeParty/PartyIdentification/ID). EN16931 allows only one payee identifier.
Engine Classification
Requires user confirmation before application
What is UBL-SR-20?
UBL-SR-20 is a fatal validation rule defined in the EN16931 specification. It validates the ID element under PayeeParty > PartyIdentification in the UBL invoice XML.
When this rule fires, the invoice is rejected by Peppol access points and never reaches the buyer.
Target path: /Invoice/cac:PayeeParty/cac:PartyIdentification/cbc:ID
Why This Error Matters
Invoice will be rejected by EN16931 validators. These structural constraints ensure consistent processing by receiving systems.
UBL-SR-20 is a hard failure — the invoice must be corrected and re-sent before it can reach the recipient.
Validator Behavior
- ·Causes invoice rejection
- ·Fails EN 16931 business rule validation
- ·Error returned: UBL-SR-20
- ·Specification: EN16931
How to Fix It
Locate the duplicate entries
Search for multiple cbc:ID elements at /Invoice/cac:PayeeParty/cac:PartyIdentification/cbc:ID. Only one instance is allowed per the specification.
Remove the duplicates
Your invoice contains multiple Payee identifier elements (PayeeParty/PartyIdentification/ID). EN16931 allows only one payee identifier.
Re-validate your invoice
Upload the corrected invoice to confirm UBL-SR-20 is resolved.
XML Example
Generic example based on the rule's target XPath. Your actual XML structure may differ.
<!-- Missing or empty element triggers cbc:ID error --> <cbc:ID></cbc:ID>
<!-- Provide the required value --> <cbc:ID>VALID_VALUE</cbc:ID>
Technical Reference
/Invoice/cac:PayeeParty/cac:PartyIdentification/cbc:IDCommon Causes
- ·ERP system exports multiple references where only one is allowed in EN16931
- ·Data consolidation merged records that should have been deduplicated
- ·Template or mapping incorrectly configured to output duplicate elements
- ·Manual editing introduced extra elements
- ·Invoice conversion from another format did not merge duplicate entries
Seeing this in production? The API handles UBL-SR-20 automatically. See the fix response →
Frequently Asked Questions
Your invoice contains multiple Payee identifier elements (PayeeParty/PartyIdentification/ID). EN16931 allows only one payee identifier.
Your invoice contains multiple Payee identifier elements (PayeeParty/PartyIdentification/ID). EN16931 allows only one payee identifier. You can also use Invoice Navigator's compliance engine to correct this automatically in your pipeline.
Yes, UBL-SR-20 is a critical error that will cause invoice rejection. It must be fixed before submission.
Many instances of UBL-SR-20 can be automatically corrected using Invoice Navigator's compliance engine. The fix is applied in your pipeline with full audit evidence.
Related Content
Last updated: 14 April 2026
Validate your invoice
Drop your XML here to check for UBL-SR-20
Fix UBL-SR-20 with one click
Upload your invoice and we'll suggest a fix for your review before applying it.