errorformatUBL 2.1

UBL-CR-662:A UBL invoice should not include the AllowanceChargeReasonCode listID

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

UBL 2.1 Invoice schema does not include `cbc:AllowanceChargeReasonCode/@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-662?

UBL-CR-662 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:AllowanceChargeReasonCode/@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-662 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-662
  • ·Specification: UBL 2.1

How to Fix It

1.

Find the disallowed attribute

Check @listID at //cbc:AllowanceChargeReasonCode/@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-662).

3.

Re-validate your invoice

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

Before / After

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

Technical Reference

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

Common Causes

  • ·AllowanceChargeReasonCode contains listID attribute
  • ·cbc:AllowanceChargeReasonCode/@listID not permitted
  • ·List identifier on reason code not in EN16931
  • ·UNTDID 5189/7161 code list reference not needed
  • ·ERP exports list ID on allowance/charge reason

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

Frequently Asked Questions

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

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

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

Many instances of UBL-CR-662 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-662

Auto-fix UBL-CR-662 in seconds

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