BR-CO-27: Payment account (BT-84): state exactly one IBAN or proprietary ID
Official message
[BR-CO-27] Either the IBAN or a Proprietary ID (BT-84) shall be used.
- Severity
- Error The invoice is invalid and may be rejected by the recipient.
- Applies to
- Factur-X / ZUGFeRD EN 16931
- Affected fields
- BT-84
What does this mean?
For payment by credit transfer (payment means code 30) or SEPA credit transfer (58), the payment account identifier (BT-84) shall be given either as IBAN or as proprietary (national) account ID. The check reports the rule if neither of the two is present or both at the same time.
Typical causes
No account was given for the payment means with code 30 or 58, e.g. only BIC or account name.
Both IBAN and proprietary account ID were entered.
How to fix the error
State exactly one account identifier for each payment means with code 30 or 58: the IBAN or the proprietary account ID, not both.
CII: ram:SpecifiedTradeSettlementPaymentMeans/ram:PayeePartyCreditorFinancialAccount with ram:IBANID or ram:ProprietaryID.
Generate and validate the invoice again.
In E-Rechnungsfreund
In the invoice form, expert view ("Experte"), section "Zahlungsmittel (BG-16)" (payment means), fill in exactly one of the fields "IBAN (BT-84)" or "Nationale Kontonr. (BT-84-0)" (national account number) for the payment means with "Zahlungscode (BT-81)" (payment means code) 30 or 58, and validate the invoice again.
Example
Wrong
<ram:SpecifiedTradeSettlementPaymentMeans>
<ram:TypeCode>58</ram:TypeCode>
<ram:PayeePartyCreditorFinancialAccount>
<ram:AccountName>Example Ltd</ram:AccountName>
</ram:PayeePartyCreditorFinancialAccount>
</ram:SpecifiedTradeSettlementPaymentMeans>
Correct
<ram:SpecifiedTradeSettlementPaymentMeans>
<ram:TypeCode>58</ram:TypeCode>
<ram:PayeePartyCreditorFinancialAccount>
<ram:IBANID>DE02120300000000202051</ram:IBANID>
<ram:AccountName>Example Ltd</ram:AccountName>
</ram:PayeePartyCreditorFinancialAccount>
</ram:SpecifiedTradeSettlementPaymentMeans>
For developers: test expression per syntax
Factur-X / ZUGFeRD EN 16931 (CII)
Technical ID in the source: FX-SCH-A-000132
Context: //ram:SpecifiedTradeSettlementPaymentMeans[some $code in tokenize('30 58', '\s') satisfies normalize-space(ram:TypeCode) = $code]
(ram:PayeePartyCreditorFinancialAccount/ram:IBANID or ram:PayeePartyCreditorFinancialAccount/ram:ProprietaryID) and not(ram:PayeePartyCreditorFinancialAccount/ram:IBANID and ram:PayeePartyCreditorFinancialAccount/ram:ProprietaryID)
Related validation rules
- BR-CO-03: Value added tax point date (BT-7) and tax point date code (BT-8) are mutually exclusive
- BR-CO-04: Invoiced item VAT category code (BT-151) is missing
- BR-CO-05: Document level allowance reason code (BT-98) and allowance reason (BT-97) must indicate the same type
- BR-CO-06: Document level charge reason code (BT-105) and charge reason (BT-104) must indicate the same type
- BR-CO-07: Invoice line allowance reason code (BT-140) and allowance reason (BT-139) must indicate the same type
- BR-CO-08: Invoice line charge reason code (BT-145) and charge reason (BT-144) must indicate the same type
Frequently asked questions
Does BR-CO-27 apply to XRechnung as well?
The rule comes from the Factur-X/ZUGFeRD Schematron (EN 16931 profile) and is reported when the invoice is validated against those rules.
Last updated:
Explanation of the validation rule, not legal or tax advice.