errorformatUBL 2.1

UBL-CR-648:A UBL invoice should not include the CustomizationID scheme identifier

Fix: Invoice Navigator automatically removes the disallowed `@schemeID` element from your Invoice. Upload your invoice to fix this automatically.

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

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

Engine Classification

Remove disallowed UBL attribute per EN16931 specification

Confidence: 95% · Applied automatically in pipeline

What is UBL-CR-648?

UBL-CR-648 is a fatal validation rule defined in the UBL 2.1 specification. It validates the @schemeID element under CustomizationID in the UBL invoice XML.

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

Target path: /Invoice/cbc:CustomizationID/@schemeID

Why This Error Matters

Invoice will be rejected by EN16931 validators. These conformance rules prohibit UBL elements that are not part of the EN16931 e-invoicing profile. Remove the disallowed element.

UBL-CR-648 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-648
  • ·Specification: UBL 2.1

How to Fix It

1.

Find the disallowed attribute

Check @schemeID at /Invoice/cbc:CustomizationID/@schemeID. This attribute is not permitted in the target profile.

2.

Remove the attribute

Invoice Navigator automatically removes the disallowed `@schemeID` element from your Invoice.

3.

Re-validate your invoice

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

Before / After

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

Technical Reference

XPath/Invoice/cbc:CustomizationID/@schemeID
SpecUBL 2.1
Operationremove_attribute
StrategyRemove disallowed UBL attribute per EN16931 specification

Common Causes

  • ·CustomizationID contains scheme identifier attribute
  • ·cbc:CustomizationID/@schemeID not in EN16931
  • ·Scheme attribute on customization ID not permitted
  • ·Only text value allowed in CustomizationID
  • ·ERP exports scheme identifier on customization element

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

Frequently Asked Questions

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

Invoice Navigator automatically removes the disallowed `@schemeID` element from your Invoice. You can also use Invoice Navigator's compliance engine to correct this automatically in your pipeline.

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

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

Auto-fix UBL-CR-648 in seconds

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