What it means
In the Extended profile of Factur-X and ZUGFeRD, each ram:ApplicableTradeDeliveryTerms under ram:ApplicableHeaderTradeAgreement must contain exactly one ram:DeliveryTypeCode. This test checks the number of elements, not whether the code's value is allowed.
Why it matters
The Extended profile requires one coded delivery condition in each delivery-terms block. Missing or repeated code elements do not fit that structure.
How to fix it
Check the delivery terms agreed for the invoice. In ram:ApplicableTradeDeliveryTerms, add the missing ram:DeliveryTypeCode or remove duplicate code elements, leaving one code for those terms. Use the profile's permitted delivery code list to choose the value. Remove the delivery-terms block only if it was included by mistake. Export and recheck the 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
Element 'ram:DeliveryTypeCode' must occur exactly 1 times. 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-000319 still fails, and which other rules do.
Related rules
- FX-SCH-A-000320 Use an allowed delivery terms code
- FX-SCH-A-000321 The buyer's agent can have only one role code
- FX-SCH-A-000322 A transport movement needs exactly one transport mode
- FX-SCH-A-000323 The line total basis amount can appear only once
- FX-SCH-A-000324 The discount and charge basis amount can appear only once
- FX-SCH-A-000325 Each advance payment needs a tax entry