UBL-SR-39:Project reference shall occur maximum once.
Your invoice contains multiple Project reference elements (ProjectReference/ID). EN16931 allows only one project reference per invoice.
Engine Classification
Requires user confirmation before application
What is UBL-SR-39?
UBL-SR-39 is a fatal validation rule defined in the EN16931 specification. It validates the ProjectReference 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: /Invoice/cac:ProjectReference
Why This Error Matters
Invoice will be rejected by EN16931 validators. These structural constraints ensure consistent processing by receiving systems.
UBL-SR-39 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.
Validator Behavior
- ·Causes invoice rejection
- ·Fails EN 16931 business rule validation
- ·Error returned: UBL-SR-39
- ·Specification: EN16931
XML Example
Generic example based on the rule's target XPath. Your actual XML structure may differ.
<!-- Required block is missing --> <!-- <cac:ProjectReference> ... </cac:ProjectReference> -->
<!-- Add the required block --> <cac:ProjectReference> <!-- child elements --> </cac:ProjectReference>
Technical Reference
/Invoice/cac:ProjectReferenceCommon 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-39 automatically. See the fix response →
See Also
Last updated: 21 February 2026
Handle UBL-SR-39 Automatically in Your Pipeline
The compliance engine auto-remediates this error with controlled safety policies and evidence pack generation.