XRechnung (German national rules)

BR-DE-1: Payment instructions (BG-16) missing

Every XRechnung needs payment instructions with a payment means type code (BT-81).

Fact sheet

Rule
BR-DE-1
Severity
Error – the invoice is invalid
Rule set
XRechnung 3.0 (KoSIT)
Affected fields
BG-16, BT-81
Syntax
CII & UBL

Check your invoice now

Upload a PDF or XML – free, without sign-up, against the official rule sets.

Open the online validator

Official wording

[BR-DE-1] Eine Rechnung (INVOICE) muss Angaben zu "PAYMENT INSTRUCTIONS" (BG-16) enthalten.

Source: official KoSIT Schematron for XRechnung 3.0.

What the rule requires

Every XRechnung must contain payment instructions (BG-16). Their core is the payment means type code (BT-81) from the UNTDID 4461 code list. The most common values:

  • 58 – SEPA credit transfer, 30 – non-SEPA credit transfer
  • 59 – SEPA direct debit
  • 48, 54, 55 – card payment
  • 10 – cash

Depending on the payment means, follow-up rules require more data: the payee account for credit transfers (BR-DE-23-a), and mandate, creditor ID and debited account for direct debits (BR-DE-25-a, BR-DE-30, BR-DE-31).

Common causes

  • The bank details only appear in the PDF footer, not in the XML.
  • The invoice is already paid (prepayment, credit card), so the software omits payment data – BG-16 is still mandatory.
  • The payment details are only given as free text in the payment terms (BT-20).

What it looks like in XML

In CII, the payment instructions belong to the header trade settlement, after the currency:

✗ CII – missing
<ram:ApplicableHeaderTradeSettlement>
    <ram:InvoiceCurrencyCode>EUR</ram:InvoiceCurrencyCode>
    <ram:ApplicableTradeTax>…</ram:ApplicableTradeTax>
    …
</ram:ApplicableHeaderTradeSettlement>
✓ CII – correct
<ram:ApplicableHeaderTradeSettlement>
    <ram:InvoiceCurrencyCode>EUR</ram:InvoiceCurrencyCode>
    <ram:SpecifiedTradeSettlementPaymentMeans>
        <ram:TypeCode>58</ram:TypeCode>
        <ram:Information>Bank transfer</ram:Information>
        <ram:PayeePartyCreditorFinancialAccount>
            <ram:IBANID>DE02120300000000202051</ram:IBANID>
        </ram:PayeePartyCreditorFinancialAccount>
    </ram:SpecifiedTradeSettlementPaymentMeans>
    <ram:ApplicableTradeTax>…</ram:ApplicableTradeTax>
    …
</ram:ApplicableHeaderTradeSettlement>

In UBL, BG-16 corresponds to cac:PaymentMeans with cbc:PaymentMeansCode.

Fix in C#

With the Facturexa Creator you set the payment means and the account; the Creator writes both to the right place in CII and UBL.

C#
// Payment means type code (BT-81): 58 = SEPA credit transfer
invoice.SetSpecifiedTradeSettlementPaymentMeans(PaymentMeansTypeCode.SEPACreditTransfer, "Bank transfer");

// A credit transfer needs the payee account (BG-17)
invoice.AddPayeePartyCreditorFinancialAccount(iban: "DE02120300000000202051", bic: "BYLADEM1001");

The IBAN should be valid – for SEPA credit transfers (58) XRechnung reports a wrong check digit as warning BR-DE-19.

Related rules

All explained validation rules