errorformatUBL 2.1

UBL-CR-661:A UBL invoice should not include the PaymentMeansCode listID

Fix: Invoice Navigator automatically removes the disallowed `@listID` element from your Invoice (UBL-CR-661). Upload your invoice to fix this automatically.

UBL 2.1 Invoice schema does not include `cbc:PaymentMeansCode/@listID`. This element must be removed for EN 16931 compliance.

Severity
Fatal
Rule set
UBL 2.1
Country
All EU
Fix type
AUTO-FIX
Confidence
90%
Category
structural

Engine Classification

Remove disallowed UBL attribute per EN16931 specification

Confidence: 90% · Applied automatically in pipeline

What is UBL-CR-661?

UBL-CR-661 is a fatal validation rule defined in the UBL 2.1 specification. It validates the @listID element in the UBL invoice XML.

When this rule fires, the invoice is rejected by Peppol access points and never reaches the buyer.

Target path: //cbc:PaymentMeansCode/@listID

Why This Error Matters

Invoice will be rejected by EN16931 validators. These conformance rules prohibit UBL attributes and element combinations not in the EN16931 e-invoicing profile. Remove the disallowed attribute or restructure the element.

UBL-CR-661 is a hard failure — the invoice must be corrected and re-sent before it can reach the recipient.

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 UBL schema validation
  • ·Error returned: UBL-CR-661
  • ·Specification: UBL 2.1

How to Fix It

1.

Find the disallowed attribute

Check @listID at //cbc:PaymentMeansCode/@listID. This attribute is not permitted in the target profile.

2.

Remove the attribute

Invoice Navigator automatically removes the disallowed `@listID` element from your Invoice (UBL-CR-661).

3.

Re-validate your invoice

Upload the corrected invoice to confirm UBL-CR-661 is resolved.

Before / After

Failing XML
<cbc:PaymentMeansCode>
  <@listID>value</@listID>
</cbc:PaymentMeansCode>
Corrected XML
<cbc:PaymentMeansCode>
  <!-- @listID removed for EN 16931 compliance -->
</cbc:PaymentMeansCode>

Technical Reference

XPath//cbc:PaymentMeansCode/@listID
SpecUBL 2.1
Operationremove_attribute
StrategyRemove disallowed UBL attribute per EN16931 specification

Common Causes

  • ·PaymentMeansCode contains listID attribute
  • ·cbc:PaymentMeansCode/@listID not in EN16931
  • ·List identifier on payment code not permitted
  • ·UNTDID 4461 code list reference not needed
  • ·ERP exports list ID attribute on payment means

Seeing this in production? The API handles UBL-CR-661 automatically. See the fix response →

Frequently Asked Questions

UBL 2.1 Invoice schema does not include `cbc:PaymentMeansCode/@listID`. This element must be removed for EN 16931 compliance.

Invoice Navigator automatically removes the disallowed `@listID` element from your Invoice (UBL-CR-661). You can also use Invoice Navigator's compliance engine to correct this automatically in your pipeline.

Yes, UBL-CR-661 is a critical error that will cause invoice rejection. It must be fixed before submission.

Many instances of UBL-CR-661 can be automatically corrected using Invoice Navigator's compliance engine. The fix is applied in your pipeline with full audit evidence.

Last updated: 14 April 2026

Share this guide:

Validate your invoice

Drop your XML here to check for UBL-CR-661

Auto-fix UBL-CR-661 in seconds

Upload your invoice and we fix this error automatically. Financial fields are never touched.