Back to Blog
E-Invoicing 11 min readPublished April 13, 2025· Updated April 23, 2025

How to Fix the 10 Most Common XRechnung Validation Errors

KOSIT validation rejecting your XRechnung? This guide explains the 10 most common error codes, what causes them, and exactly how to fix each one.

Having your XRechnung rejected by KOSIT validation is one of the most frustrating experiences in German e-invoicing. The error messages can be cryptic, and a single missing field can prevent an invoice worth thousands of euros from being accepted. This guide walks through the ten most common XRechnung validation errors with plain-language explanations and concrete fixes.

Understanding KOSIT Validation

KOSIT (Koordinierungsstelle für IT-Standards) is the German standards body responsible for XRechnung. When you submit an XRechnung to a government portal or validate it online, the document is checked against a set of Schematron business rules. Each rule has a unique identifier (BR-DE-1, BR-CO-10, etc.). A 'Critical' violation causes immediate rejection; a 'Warning' means the invoice may still be accepted but should be corrected.

Error 1: BR-DE-1 — Seller VAT ID Missing

Cause: The seller's VAT identification number (Umsatzsteuer-ID) is missing from business term BT-31. This is required even if your business is VAT-exempt.

Fix: Add your VAT ID in the format DE123456789. If you are VAT-exempt (Kleinunternehmer), you must still indicate this using the tax exemption reason code (BT-121) with value "VAT exempt for small business pursuant to § 19 UStG" and set the tax category to "E" instead.

Error 2: BR-DE-2 — Buyer Reference (Leitweg-ID) Missing

Cause: Business term BT-10 (Buyer reference) is empty or absent. For government invoices, this must contain the Leitweg-ID assigned by the contracting authority.

Fix: Contact the invoicing department of the government authority you are billing and request their Leitweg-ID. The format is typically [area]-[institution]-[check digit], e.g. 04011000-1234512345-06. Insert this value in the BT-10 field of your XRechnung.

Error 3: BR-DE-3 — Seller Telephone Missing

Cause: Business term BT-42 (Seller contact telephone number) is absent. German XRechnung rules require seller contact information.

Fix: Add a phone number in the SellerContact/Telephone field. Use international format: +49 69 12345678. This is a mandatory field for German XRechnung even if it is not required by the base EN 16931 standard.

Error 4: BR-DE-4 — Seller Email Missing

Cause: Business term BT-43 (Seller contact email) is absent.

Fix: Add a valid email address to the SellerContact/ElectronicMail field. This does not need to be a personal email — a general invoicing mailbox (rechnungen@yourcompany.de) is appropriate.

Error 5: BR-CO-10 — Sum of Line Amounts Mismatch

Cause: The sum of all InvoiceLine net amounts (BT-131) does not equal the document-level sum of lines (BT-106). This typically happens when rounding is applied inconsistently.

Fix: Recalculate line amounts with the same decimal precision throughout. Ensure that each line net amount = quantity × unit price (before tax). Sum all line amounts and place that exact value in BT-106. Do not round intermediate values.

Error 6: BR-CO-13 — VAT Amount Calculation Error

Cause: The VAT tax amount in BG-23 does not match the expected value of taxable amount × tax rate for the given VAT category.

Fix: For each VAT category (typically 19% or 7% in Germany), calculate: VAT amount = taxable amount × (rate / 100). Round to 2 decimal places using standard commercial rounding. Ensure your XML contains the correctly calculated VAT amount, not an approximation.

Error 7: BR-DE-17 — Invoice Type Code Incorrect

Cause: The invoice type code (BT-3) is not a value permitted by XRechnung. Common German invoice types are 380 (Commercial Invoice) and 384 (Credit Note).

Fix: Use one of the UNTDID 1001-compliant codes. For a standard invoice, use 380. For a credit note (Gutschrift), use 384. Verify your accounting software is generating the correct code.

Error 8: Missing Seller Tax Registration Number

Cause: Neither the seller's VAT ID (BT-31) nor the seller's tax registration number (BT-32, Steuernummer) is present. At least one is required.

Fix: If you have a VAT ID (Umsatzsteuer-ID), use BT-31. If you only have a Steuernummer (e.g., as a small business owner), use BT-32 with your Steuernummer in the format 93815/08152 (state-specific format).

Error 9: Invalid IBAN or Payment Details

Cause: The IBAN in BT-84 (Payment account identifier) is malformed or contains spaces/special characters.

Fix: Remove all spaces from the IBAN (e.g. DE89370400440532013000 not DE89 3704 0044 0532 0130 00). Verify the IBAN checksum. The payment means code (BT-81) must also be included — use 58 for SEPA credit transfer.

Error 10: Date Format Errors

Cause: Invoice date (BT-2), due date (BT-9), or delivery date (BT-72) use an incorrect format. XRechnung requires ISO 8601 format: YYYY-MM-DD.

Fix: Ensure all dates are in the format 2025-04-15 (not 15.04.2025 or 04/15/2025). If using UBL syntax, dates appear as plain text; in CII syntax they may include a format attribute (format='102' for YYYYMMDD). Verify your software's date output format matches the XML syntax you are using.

Pro Tips for Avoiding Validation Errors

  • Always validate before submitting: Use our XRechnung Viewer to catch errors before they reach the government portal.
  • Keep a reference invoice: Once you have a valid invoice, keep it as a template to avoid re-introducing errors.
  • Test with the official validator: The KoSIT validator is available at ecosio.com/de/peppol-und-xml-validator and at the ZRE test environment.
  • Use 2 decimal places consistently: Rounding errors are the most common source of BR-CO-10 and BR-CO-13 failures.
  • Check your software version: KOSIT releases updated validation rules with each XRechnung version. Ensure your software is generating the version you intend.
XRechnungKOSITValidationErrorsBR-DE