What it means
Each ram:SpecifiedLineTradeAgreement must contain exactly one ram:NetPriceProductTradePrice. This block holds the unit price excluding VAT (item net price, BT-146), after any price discount, and may include a price base quantity. This rule counts the blocks. It applies to the Basic and EN 16931 profiles of Factur-X and ZUGFeRD.
Why it matters
This block records the price after any price discount, separately from the price before discount. Missing or repeated blocks do not match the required price structure.
How to fix it
Check the affected line's unit price excluding VAT and its price base quantity. If you create the XML yourself, keep one ram:NetPriceProductTradePrice inside ram:SpecifiedLineTradeAgreement, with the correct amount in ram:ChargeAmount. Add a missing block or remove unintended duplicates without changing the correct price basis. 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
Element 'ram:NetPriceProductTradePrice' must occur exactly 1 times. Where this rule applies
| Rule set | Version |
|---|---|
| Factur-X 1.09 BASIC | 1.0.9-2 |
| Factur-X 1.09 EN 16931 | 1.0.9-2 |
| ZUGFeRD 2.5 BASIC | 2.5.2 |
| ZUGFeRD 2.5 EN 16931 | 2.5.2 |
Check your file
Drop your e-invoice to see whether FX-SCH-A-000272 still fails, and which other rules do.
Related rules
- FX-SCH-A-000273 A price before discount needs exactly one amount
- FX-SCH-A-000274 A line can have only one price discount (Basic and EN 16931)
- FX-SCH-A-000275 Use an allowed unit code for the price base quantity
- 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