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 }}