errorformatUBL 2.1

UBL-CR-667:A UBL invoice should not include a Buyer Item Identification schemeID

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

UBL 2.1 Invoice schema does not include `cac:Item/cac:BuyersItemIdentification/cbc:ID/@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
90%
Category
structural

Engine Classification

Remove disallowed UBL attribute per EN16931 specification

Confidence: 90% · Applied automatically in pipeline

What is UBL-CR-667?

UBL-CR-667 is a fatal validation rule defined in the UBL 2.1 specification. It validates the @schemeID element under BuyersItemIdentification > ID in the UBL invoice XML.

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

Target path: //cac:Item/cac:BuyersItemIdentification/cbc:ID/@schemeID

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

How to Fix It

1.

Find the disallowed attribute

Check @schemeID at //cac:Item/cac:BuyersItemIdentification/cbc:ID/@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 (UBL-CR-667).

3.

Re-validate your invoice

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

Before / After

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

Technical Reference

XPath//cac:Item/cac:BuyersItemIdentification/cbc:ID/@schemeID
SpecUBL 2.1
Operationremove_attribute
StrategyRemove disallowed UBL attribute per EN16931 specification

Common Causes

  • ·BuyersItemIdentification ID contains schemeID
  • ·cbc:ID/@schemeID in buyer item ID not permitted
  • ·Scheme identifier on buyer product code not in EN16931
  • ·Only plain text buyer item identifier allowed
  • ·ERP exports scheme attribute on buyer item ID

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

Frequently Asked Questions

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

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

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

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

Auto-fix UBL-CR-667 in seconds

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