XRechnung (Germany)

BR-DE-23

One PAYMENT MEANS must use exactly one of account / card / direct debit

What it means

In a PAYMENT MEANS group XRechnung requires you to specify the Payment account identifier (BT-84) OR Payment card information (BG-18) OR Direct debit (BG-19) — exactly one of the three, not zero and not more than one.

How to fix it

Pick one settlement channel per cac:PaymentMeans: either a PayeeFinancialAccount (IBAN), or CardAccount details, or the direct-debit group (mandate reference + debited account); split into multiple PaymentMeans if you offer several.

Catch this before it reaches the receiving authority:

# CLI
npx @eleata/validate-einvoice validate invoice.xml --format xrechnung-ubl

# GitHub Action — fail the build on any invalid invoice
- uses: hernaninverso/validate-einvoice-action@v1
  with:
    files: invoices/**/*.xml
    api-key: ${{ secrets.EINVOICE_API_KEY }}

Other XRechnung (Germany) error codes

All error codes →