UBL-CR-670:A UBL invoice should not include a Price Allowance Reason
Fix: Invoice Navigator automatically removes the disallowed `cbc:AllowanceChargeReason` element from your Invoice (UBL-CR-670). Upload your invoice to fix this automatically.
UBL 2.1 Invoice schema does not include `cac:Price/cac:AllowanceCharge/cbc:AllowanceChargeReason`. This element must be removed for EN 16931 compliance (rule UBL-CR-670).
Engine Classification
Remove disallowed UBL element per EN16931 specification
Confidence: 90% · Applied automatically in pipeline
What is UBL-CR-670?
UBL-CR-670 is a fatal validation rule defined in the UBL 2.1 specification. It validates the AllowanceChargeReason element under AllowanceCharge 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:Price/cac:AllowanceCharge/cbc:AllowanceChargeReason
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-670 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-670
- ·Specification: UBL 2.1
How to Fix It
Locate the disallowed element
Open your invoice XML and find cbc:AllowanceChargeReason at //cac:Price/cac:AllowanceCharge/cbc:AllowanceChargeReason. This element is not permitted in the target e-invoice profile and triggers UBL-CR-670.
Remove cbc:AllowanceChargeReason
Delete the entire cbc:AllowanceChargeReason block and its child elements. Invoice Navigator automatically removes the disallowed `cbc:AllowanceChargeReason` element from your Invoice (UBL-CR-670).
Re-validate your invoice
Upload the corrected invoice to confirm UBL-CR-670 is resolved. If your software consistently adds this element, contact your vendor about their e-invoice export settings.
Before / After
<cac:AllowanceCharge> <cbc:AllowanceChargeReason>value</cbc:AllowanceChargeReason> </cac:AllowanceCharge>
<cac:AllowanceCharge> <!-- cbc:AllowanceChargeReason removed for EN 16931 compliance --> </cac:AllowanceCharge>
Technical Reference
//cac:Price/cac:AllowanceCharge/cbc:AllowanceChargeReasonCommon Causes
- ·Price contains AllowanceCharge Reason element
- ·Price AllowanceChargeReason text not in EN16931
- ·Reason text for price discount not permitted
- ·Use BaseAmount only for price allowances
- ·ERP exports text reason for price adjustment
Seeing this in production? The API handles UBL-CR-670 automatically. See the fix response →
Frequently Asked Questions
UBL 2.1 Invoice schema does not include `cac:Price/cac:AllowanceCharge/cbc:AllowanceChargeReason`. This element must be removed for EN 16931 compliance (rule UBL-CR-670).
Invoice Navigator automatically removes the disallowed `cbc:AllowanceChargeReason` element from your Invoice (UBL-CR-670). You can also use Invoice Navigator's compliance engine to correct this automatically in your pipeline.
Yes, UBL-CR-670 is a critical error that will cause invoice rejection. It must be fixed before submission.
Many instances of UBL-CR-670 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
Validate your invoice
Drop your XML here to check for UBL-CR-670
Auto-fix UBL-CR-670 in seconds
Upload your invoice and we fix this error automatically. Financial fields are never touched.