EN 16931 rules › BR-61
BR-61 — If the Payment means type code (BT-81) means SEPA credit transfer, Local credit transfer or Non-SEPA international…
| Rule id | BR-61 |
|---|---|
| Rule set | EN 16931 itself, not a national or network addition |
| Severity | fatal in CII and UBL — a validator enforcing this rule set rejects the invoice |
| Applies to | the CII and UBL syntaxes |
| Checked by | the validator on this site and invoicekit.go v0.2.11, the library behind it |
The rule as published
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.
fatal in CII and UBL — a validator enforcing this rule set rejects the invoice.
What runs for it
Straight from the artefacts the engine embeds: the node the assertion selects and the test it applies there. A failing invoice is reported with the message above.
| Syntax | Severity | Artefact phase | Applied to | Fails when |
|---|---|---|---|---|
| CII | fatal | EN16931-model-phase | //ram:SpecifiedTradeSettlementPaymentMeans[ram:TypeCode='30' or ram:TypeCode='58']/ram:PayeePartyCreditorFinancialAccount | (ram:IBANID) or (ram:ProprietaryID) |
| UBL | fatal | EN16931model_phase | 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')) |
Data elements it names
- BT-81 Payment means type code (cited by 3 rules)
- BT-84 Payment account identifier (cited by 4 rules)
See also
- Every EN 16931 rule id — the same list as a filterable table, with the assertions as CSV and JSON.
- What XRechnung and Peppol BIS add — rule sets that run these ids plus their own.
- The data elements — every BT and BG with the rules that name it.