Consistent payment means code

Error CII-SR-467 Syntax (UBL/CII)

[CII-SR-467] - All Payment means type codes (BT-81) shall have the same value across all SpecifiedTradeSettlementPaymentMeans.

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

The TypeCode values in the SpecifiedTradeSettlementPaymentMeans elements are not all the same. The test compares each existing value, after trimming surrounding whitespace, with the first value.

What the rule means

The payment means code describes the payment method used. A consistent value makes the payment information in the document unambiguous.

Affected fields BT-81
Please make the payment codes consistent

The invoice contains different payment means codes. You can make the values consistent.

What to do
  1. Check the TypeCode values in all SpecifiedTradeSettlementPaymentMeans elements.
  2. Check the value of PaymentMeans.TypeCode.
  3. Check the use of FacturXInvoice.PaymentMeans.
  4. Regenerate the invoice and validate it again.
Check in FactoorSharp
  • PaymentMeans.TypeCode (SpecifiedPaymentMeans: BT-81)
  • FacturXInvoice.PaymentMeans (ID: BT-81)
Technical details

The XPath counts TypeCode elements whose normalized value differs from the normalized value of the first TypeCode; the test passes when the count is zero.

Where the rule applies

The rule applies to the TypeCode values in all SpecifiedTradeSettlementPaymentMeans elements in the invoice.

Context (rule/@context)
/rsm:CrossIndustryInvoice
Test expression (assert/@test)
count(//ram:SpecifiedTradeSettlementPaymentMeans/ram:TypeCode[normalize-space(.) != normalize-space((// ram:SpecifiedTradeSettlementPaymentMeans/ram:TypeCode)[1])]) = 0