What it means
For a whole-invoice charge (BG-21), 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 true. This test allows an empty code.
Why it matters
The unit code identifies what the quantity used as the charge's basis measures.
How to fix it
Correct the basis quantity's unit on the affected charge. 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 true. 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-000974 still fails, and which other rules do.
Related rules
- FX-SCH-A-000975 Permitted VAT category code for an invoice charge
- FX-SCH-A-000976 Permitted exemption reason code for an invoice charge
- FX-SCH-A-000977 Permitted tax type code for an invoice charge
- FX-SCH-A-000978 Charge reason code without listID
- FX-SCH-A-000979 Format attribute for an early payment discount date
- FX-SCH-A-000980 Permitted format code for an early payment discount date