UBL-SR-27:Payment means text shall occur maximum once
Your invoice contains multiple Payment means text elements (PaymentMeans/InstructionNote). EN16931 allows only one instruction note.
Engine Classification
Remove duplicate payment means codes within a payment means block, keeping the first occurrence
Confidence: 92% · Applied automatically in pipeline
What is UBL-SR-27?
UBL-SR-27 is a fatal validation rule defined in the EN16931 specification. It validates the PaymentMeansCode element in the UBL invoice XML.
When this rule fires, the invoice is non-compliant and will be rejected by Peppol access points and national validation services. The sending system receives a rejection response and the invoice does not reach the buyer.
Target path: //cac:PaymentMeans/cbc:PaymentMeansCode
Why This Error Matters
Invoice will be rejected by EN16931 validators. These structural constraints ensure consistent processing by receiving systems.
UBL-SR-27 is a hard failure. Invoices that trigger this rule are rejected at the access point and never reach the recipient. In Peppol networks, this means your sending system receives an MLR (Message Level Response) with a rejection status. The invoice must be corrected and re-sent, adding delay to your payment cycle.
Invoice Navigator can automatically correct this error in your pipeline. The fix is applied with full audit evidence, so your compliance trail remains intact.
Validator Behavior
- ·Causes invoice rejection
- ·Fails EN 16931 business rule validation
- ·Error returned: UBL-SR-27
- ·Specification: EN16931
XML Example
Generic example based on the rule's target XPath. Your actual XML structure may differ.
<!-- Missing or empty element triggers cbc:PaymentMeansCode error --> <cbc:PaymentMeansCode></cbc:PaymentMeansCode>
<!-- Provide the required value --> <cbc:PaymentMeansCode>VALID_VALUE</cbc:PaymentMeansCode>
Technical Reference
//cac:PaymentMeans/cbc:PaymentMeansCodeCommon Causes
- ·ERP system exports multiple values where EN16931 only allows one
- ·Data consolidation merged records without deduplicating
- ·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-27 automatically. See the fix response →
See Also
Last updated: 21 February 2026
Handle UBL-SR-27 Automatically in Your Pipeline
The compliance engine auto-remediates this error with controlled safety policies and evidence pack generation.