errorEN16931

UBL-SR-45:Due Date shall occur maximum once

Your invoice contains multiple Due Date elements (PaymentMeans/PaymentDueDate). EN16931 allows only one due date per invoice.

Severity
Fatal
Rule set
EN16931
Country
All EU
Fix type
CONFIRM
Confidence
90%
Category
structural

Engine Classification

Requires user confirmation before application

What is UBL-SR-45?

UBL-SR-45 is a fatal validation rule defined in the EN16931 specification. It validates the PaymentDueDate 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:PaymentDueDate

Why This Error Matters

Invoice will be rejected by EN16931 validators. These structural constraints ensure consistent processing by receiving systems.

UBL-SR-45 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-45
  • ·Specification: EN16931

XML Example

Generic example based on the rule's target XPath. Your actual XML structure may differ.

Before
<!-- Missing or empty element triggers cbc:PaymentDueDate error -->
<cbc:PaymentDueDate></cbc:PaymentDueDate>
After
<!-- Provide the required value -->
<cbc:PaymentDueDate>VALID_VALUE</cbc:PaymentDueDate>

Technical Reference

XPath//cac:PaymentMeans/cbc:PaymentDueDate
SpecEN16931
Operationremove_duplicates
StrategyRemove duplicate payment due dates, keeping the first occurrence

Common 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-45 automatically. See the fix response →

See Also

Last updated: 21 February 2026

Share this guide:

Handle UBL-SR-45 Automatically in Your Pipeline

The compliance engine auto-remediates this error with controlled safety policies and evidence pack generation.