What it means
In the Extended profiles of Factur-X and ZUGFeRD, ram:BasisPeriodMeasure within ram:ApplicableTradePaymentPenaltyTerms must have a unitCode attribute. These penalty terms sit within ram:SpecifiedTradePaymentTerms. This rule checks only whether the attribute exists, not whether it is empty or contains an allowed value.
Why it matters
The unit identifies the duration used as the basis for calculating the late payment penalty. A missing attribute leaves out unit information required by the XML structure.
How to fix it
Check the time unit for the penalty's basis period in your payment terms. If you create the XML yourself, add unitCode to the affected ram:BasisPeriodMeasure using the appropriate time-unit code. If your software omits it, ask its supplier to correct the export. Preserve the agreed penalty terms, then 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
Attribute '@unitCode' is required in this context. 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-000277 still fails, and which other rules do.
Related rules
- 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)
- FX-SCH-A-000284 A supporting document can hold only one attached file (EN 16931 and Extended)
- FX-SCH-A-000285 An attached document must say what type of file it is