What it means
In the Extended profile of Factur-X and ZUGFeRD, each ram:BuyerAgentTradeParty under ram:ApplicableHeaderTradeAgreement may contain zero or one ram:RoleCode. This test checks the number of role code elements in that party block, not their values or role codes elsewhere.
Why it matters
The profile provides at most one role code field within each buyer's agent block.
How to fix it
Check the role recorded for the buyer's agent in your invoice data. If you edit the XML, keep at most one ram:RoleCode inside each ram:BuyerAgentTradeParty. Remove duplicates and retain only the role that applies to that agent. 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:RoleCode' may occur at maximum 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-000321 still fails, and which other rules do.
Related rules
- 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
- FX-SCH-A-000326 At most one invoice reference per advance payment
- FX-SCH-A-000327 A logistics charge needs exactly one amount