CII-SR-470

Either the IBAN or a Proprietary ID (BT-84) shall be used.

error: the document is invalid

What the rule checks

As the rule set's publisher wrote it. The rule runs on every element the context matches, and fails where the test is false; the validator reports the line of that element.

Context
/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement
Test
count(ram:SpecifiedTradeSettlementPaymentMeans[(normalize-space(ram:TypeCode) = '30' or normalize-space(ram:TypeCode) = '58') and not(ram:PayeePartyCreditorFinancialAccount/ram:IBANID or ram:PayeePartyCreditorFinancialAccount/ram:ProprietaryID)]) = 0

Checked with EN 16931 Invoice (CII)

Context
//ram:SpecifiedTradeSettlementPaymentMeans[some $code in tokenize('30 58', '\s') satisfies normalize-space(ram:TypeCode) = $code]
Test
(ram:PayeePartyCreditorFinancialAccount/ram:IBANID or ram:PayeePartyCreditorFinancialAccount/ram:ProprietaryID) and not(ram:PayeePartyCreditorFinancialAccount/ram:IBANID and ram:PayeePartyCreditorFinancialAccount/ram:ProprietaryID)

Checked with France Factur-X BASIC WL, Factur-X / ZUGFeRD BASIC WL