What it means
The test counts ram:SpecifiedTradeSettlementHeaderMonetarySummation elements directly inside ram:ApplicableHeaderTradeSettlement. It requires exactly one document totals block (BG-22), but does not check its contents or calculations. It applies to the Minimum, Basic WL, Basic, EN 16931 and Extended profiles of Factur-X 1.09 and ZUGFeRD 2.5.
Why it matters
One totals block gives your invoice a single place for its document totals. Separate checks cover the fields and amounts within that block.
How to fix it
Check whether your XML export omits the totals block or writes it more than once. Add the missing ram:SpecifiedTradeSettlementHeaderMonetarySummation with the correct totals, or consolidate repeated blocks without losing any required figures. If your software creates the XML, have its export corrected if necessary. 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:SpecifiedTradeSettlementHeaderMonetarySummation' must occur exactly 1 times. Where this rule applies
| Rule set | Version |
|---|---|
| Factur-X 1.09 MINIMUM | 1.0.9-2 |
| Factur-X 1.09 BASIC WL | 1.0.9-2 |
| Factur-X 1.09 BASIC | 1.0.9-2 |
| Factur-X 1.09 EN 16931 | 1.0.9-2 |
| Factur-X 1.09 EXTENDED | 1.0.9-2 |
| ZUGFeRD 2.5 MINIMUM | 2.5.2 |
| ZUGFeRD 2.5 BASIC WL | 2.5.2 |
| ZUGFeRD 2.5 BASIC | 2.5.2 |
| ZUGFeRD 2.5 EN 16931 | 2.5.2 |
| ZUGFeRD 2.5 EXTENDED | 2.5.2 |
Check your file
Drop your e-invoice to see whether FX-SCH-A-000039 still fails, and which other rules do.
Related rules
- FX-SCH-A-000040 Use an allowed invoice currency code in Minimum
- FX-SCH-A-000041 The total amount excluding VAT is required
- FX-SCH-A-000042 The VAT total in the invoice currency may appear only once
- FX-SCH-A-000043 The total amount including VAT is required
- FX-SCH-A-000044 The amount due is required
- FX-SCH-A-000045 The currency on the total VAT amount must be a valid code