Back to Compliance Hub
Critical

BR-DE-15

Buyer Reference Missing (BT-10)

What This Error Means

BR-DE-15 requires the element Buyer reference (BT-10) in every XRechnung, and it must not be empty. In UBL this is cbc:BuyerReference directly under the root, in CII ram:ApplicableHeaderTradeAgreement/ram:BuyerReference. For public buyers the field carries the Leitweg-ID; for companies it carries whatever reference the buyer asks for. The rule only checks that a value is there. It does not check the Leitweg-ID format or its check digit. KoSIT message: 'Das Element "Buyer reference" (BT-10) muss übermittelt werden.' The rule is fatal.

Why this happens

The KoSIT test is cbc:BuyerReference[boolean(normalize-space(.))]: the rule fires if the element is missing, empty or contains only spaces. Typical causes: the invoice was generated from a B2B template that never fills BT-10; the Leitweg-ID was mapped to the purchase order reference BT-13 (cac:OrderReference/cbc:ID, in CII ram:BuyerOrderReferencedDocument) instead; it appears only on the PDF or in a note; or a placeholder was deleted before sending. Because BR-DE-15 checks presence only, a Leitweg-ID with a wrong check digit passes the KoSIT validator. The error then shows up later, when the receiving platform (OZG-RE for federal authorities, or a state portal) cannot route the invoice.

How to Fix It

Add cbc:BuyerReference after cbc:DocumentCurrencyCode (and after cbc:AccountingCost, if used) and before cac:InvoicePeriod and cac:OrderReference. Enter the Leitweg-ID from the order or contract exactly as supplied, or the buyer's reference for B2B invoices.

Step-by-step

1) Get the Leitweg-ID from the authority; it is stated in the order, the contract or the procurement documents and cannot be derived. 2) Copy it unchanged into cbc:BuyerReference. A Leitweg-ID has three parts separated by hyphens: a coarse address of 2 to 12 digits, an optional fine address of up to 30 alphanumeric characters, and a two-digit check number calculated with Modulo 97-10 (ISO/IEC 7064). 3) Check the ID before sending, for example with a Leitweg-ID validator, because the KoSIT validator will not. 4) For a company customer, enter the reference they give you, such as a purchase order number, cost centre or contact name; BR-DE-15 applies to B2B XRechnungen too. 5) In CII, put the value in ram:ApplicableHeaderTradeAgreement/ram:BuyerReference, not in ram:BuyerOrderReferencedDocument. 6) Validate again.

XML Example
<!-- UBL: directly under the Invoice root -->
<cbc:DocumentCurrencyCode>EUR</cbc:DocumentCurrencyCode>
<cbc:BuyerReference>04011000-1234512345-06</cbc:BuyerReference>

<!-- CII: inside ram:ApplicableHeaderTradeAgreement -->
<ram:BuyerReference>04011000-1234512345-06</ram:BuyerReference>

Fix Automatically

Upload your invoice to our Smart Repair engine. It checks the file against the full KoSIT rule set, including BR-DE-15, and corrects supported fields with a GoBD audit trail.

Open Smart Repair

Frequently asked questions

I invoice a company. What goes into BT-10?

BR-DE-15 applies to every XRechnung, not only to public buyers. Companies have no Leitweg-ID, so enter the reference your customer asks for, such as a purchase order number, a cost centre or a project code.

Does the validator check my Leitweg-ID's check digit?

No. The KoSIT validator only checks that BT-10 is filled. A typo in the Leitweg-ID passes validation and fails later at the receiving platform, so check the ID separately.

Where do I get the Leitweg-ID?

From the authority you are invoicing. It is usually stated in the order or contract. Each receiving unit has its own ID, so do not reuse one from another authority.

Related Errors

Other commonly encountered validation errors