What it means
In the Basic profiles of Factur-X and ZUGFeRD, this rule checks the unitCode attribute of the price base quantity within ram:GrossPriceProductTradePrice. A non-empty value must match an entry in the profile's unit-code list. An empty value passes this particular test; the test does not establish compliance with other unit requirements.
Why it matters
The unit code identifies what the price base quantity measures. A non-empty code outside the profile's list fails this check.
How to fix it
Check the unit assigned to the price base quantity in your invoicing software. In XML, set unitCode on the ram:BasisQuantity inside ram:GrossPriceProductTradePrice to the appropriate listed code, rather than free text such as pcs. Keep the quantity and price on the correct basis instead of removing the quantity to bypass the check. Export again and recheck.
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 BASIC | 1.0.9-2 |
| ZUGFeRD 2.5 BASIC | 2.5.2 |
Check your file
Drop your e-invoice to see whether FX-SCH-A-000275 still fails, and which other rules do.
Related rules
- FX-SCH-A-000276 Each line must have exactly one invoiced quantity
- FX-SCH-A-000277 A late payment penalty period needs a unit code
- FX-SCH-A-000278 Each line must have exactly one set of VAT details
- FX-SCH-A-000279 Each line must have exactly one line total block
- FX-SCH-A-000282 The invoiced object scheme must be an accepted code
- FX-SCH-A-000283 A supporting document can have only one description (EN 16931 and Extended)