Back to the blog
E-invoicing18 June 20268 min readAndreas Pörtner

XRechnung rejection checklist: the ten rules that fail most often

German public-sector invoices are rejected for a small set of recurring reasons. Here is the list, with the business rule behind each one.

Why rejections cluster

XRechnung is a national CIUS of EN 16931. That means every invoice must satisfy the European semantic model plus a set of German extensions. Validators return rule identifiers such as BR-CO-10 or BR-DE-15, and the same handful of rules account for the overwhelming majority of rejections.

The recurring ten

Check these before submitting to a Leitweg-ID endpoint.

  • BR-DE-15: the buyer reference (Leitweg-ID) is missing or malformed.
  • BR-CO-10: the sum of line net amounts does not equal the invoice line total.
  • BR-CO-13: taxable base plus tax does not equal the grand total.
  • BR-S-08: VAT category taxable amounts do not match the sum of their lines.
  • BR-DE-2 to BR-DE-5: seller contact name, phone or e-mail missing.
  • BR-DE-17: an invoice type code outside the permitted list.
  • BR-DE-18: payment terms missing for a credit transfer.
  • BR-52: an allowance or charge without a reason or reason code.
  • Rounding: amounts with more than two decimals in monetary fields.
  • Attachment MIME types outside the permitted set.

Totals are arithmetic, not opinion

Most total mismatches come from rounding line amounts at the wrong stage. Compute line net amounts to the required precision first, then sum. Never sum unrounded values and round only the total; the difference of one cent is enough for an automatic rejection.

sum(line net) = BT-106
BT-106 - allowances + charges = BT-109
BT-109 + BT-110 = BT-112

Test before the deadline, not on it

Run the deterministic validation against every template you generate, not only against a single sample. EDI EXPLAINER reports the failing rule identifier together with a plain-language explanation of what the receiving system expected, so the fix lands in the ERP configuration rather than in a manual correction.

Try it on your own document

Upload an EDIFACT, X12 or XML file and see structure, validation findings and a plain-language explanation in one view.

Analyze a document