What it means
For a whole-invoice discount (BG-20), this rule checks the non-empty unitCode value on ram:BasisQuantity against the profile's unit code list. It applies where ram:ChargeIndicator/udt:Indicator is false. This test allows an empty code.
Why it matters
The unit code identifies what the quantity used as the discount's basis measures.
How to fix it
Correct the basis quantity's unit on the affected discount. Examples include C62 for individual units, HUR for hours, KGM for kilograms and MTR for metres. In XML, correct ram:BasisQuantity/@unitCode inside the header-level ram:SpecifiedTradeAllowanceCharge whose ram:ChargeIndicator/udt:Indicator is false. Export and recheck your file.
Once the file is corrected, check it again for free: Validate a ZUGFeRD invoice
Or fix the invoice in a form and download the corrected file, for 1 credit: Fix a rejected e-invoice Beta
The rule as published
Value of '@unitCode' is not allowed. Where this rule applies
| Rule set | Version |
|---|---|
| Factur-X 1.09 EXTENDED | 1.0.9-2 |
| ZUGFeRD 2.5 EXTENDED | 2.5.2 |
Check your file
Drop your e-invoice to see whether FX-SCH-A-000969 still fails, and which other rules do.
Related rules
- FX-SCH-A-000970 Permitted VAT category code for an invoice discount
- FX-SCH-A-000971 Permitted exemption reason code for an invoice discount
- FX-SCH-A-000972 Permitted tax type code for an invoice discount
- FX-SCH-A-000973 Permitted reason code for an invoice discount
- FX-SCH-A-000974 Unit code for an invoice charge's basis quantity
- FX-SCH-A-000975 Permitted VAT category code for an invoice charge