BR-61
If the Payment means type code (BT-81) means SEPA credit transfer, Local credit transfer or Non-SEPA international credit transfer, the Payment account identifier (BT-84) shall be present.
Why it fails
- The payment means code is a credit transfer (
30or58), but there is no account to pay to:cac:PayeeFinancialAccount/cbc:IDis missing (ram:PayeePartyCreditorFinancialAccountin CII).
How to fix it
Add the IBAN (or the account number) the buyer should pay to. If the invoice is paid another way, use the payment means code for that instead.
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.
cac:PaymentMeans
(exists(cac:PayeeFinancialAccount/cbc:ID) and ((normalize-space(cbc:PaymentMeansCode) = '30') or (normalize-space(cbc:PaymentMeansCode) = '58') )) or ((normalize-space(cbc:PaymentMeansCode) != '30') and (normalize-space(cbc:PaymentMeansCode) != '58'))
Checked with EN 16931 Invoice (UBL), EN 16931 Credit Note (UBL), Croatia eRačun Invoice (UBL), Croatia eRačun Credit Note (UBL)
//ram:SpecifiedTradeSettlementPaymentMeans[ram:TypeCode='30' or ram:TypeCode='58']/ram:PayeePartyCreditorFinancialAccount
(ram:IBANID) or (ram:ProprietaryID)
Checked with EN 16931 Invoice (CII)