Direct debit mandate identifier at most once

Error FX-SCH-A-000188 Factur-X

Element 'ram:DirectDebitMandateID' may occur at maximum 1 times.

Mandatory rule: As long as it is violated, the invoice is invalid and will be rejected by validators.
What is wrong

Within ram:SpecifiedTradePaymentTerms, ram:DirectDebitMandateID occurs more than once. This element may occur at most once in this context.

What the rule means

ram:DirectDebitMandateID provides the identifier of the direct debit mandate. The limit ensures that the payment terms do not contain multiple mandate identifiers.

Please include the direct debit mandate identifier only once

The invoice contains multiple ram:DirectDebitMandateID elements in the payment terms. Only one such element is allowed in this context.

What to do
  1. Locate ram:SpecifiedTradePaymentTerms in the invoice.
  2. Check its ram:DirectDebitMandateID elements and remove the duplicate occurrence.
  3. Generate the invoice again and validate it once more.
What it looks like
✗ Triggers the message
<ram:SpecifiedTradePaymentTerms>
  <ram:DirectDebitMandateID>Mandat-1</ram:DirectDebitMandateID>
  <ram:DirectDebitMandateID>Mandat-2</ram:DirectDebitMandateID>
</ram:SpecifiedTradePaymentTerms>
✓ Correct
<ram:SpecifiedTradePaymentTerms>
  <ram:DirectDebitMandateID>Mandat-1</ram:DirectDebitMandateID>
</ram:SpecifiedTradePaymentTerms>
Technical details

The test counts the direct ram:DirectDebitMandateID elements in ram:SpecifiedTradePaymentTerms and permits no more than one.

Where the rule applies

The rule applies within ram:SpecifiedTradePaymentTerms at document level.

Context (rule/@context)
/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ ram:SpecifiedTradePaymentTerms
Test expression (assert/@test)
count(ram:DirectDebitMandateID)<=1