Skip to content

BR-DE – XRechnung

BR-DE-17: invoice type code (BT-3) not in the allowed list

WarningXRechnung business rule (KoSIT)

Official message

[BR-DE-17] Mit dem Element "Invoice type code" (BT-3) sollen ausschließlich folgende Codes aus der Codeliste UNTDID 1001 übermittelt werden: 326 (Partial invoice), 380 (Commercial invoice), 384 (Corrected invoice), 389 (Self-billed invoice) und 381 (Credit note),875 (Partial construction invoice), 876 (Partial final construction invoice), 877 (Final construction invoice).

Source: KoSIT XRechnung, version 3.0.2 (Schematron 2.6.0)

What the message means

Your invoice carries a type code that XRechnung does not provide for. The norm EN 16931 allows many codes of the list UNTDID 1001; XRechnung restricts them to 326, 380, 384, 389, 381 and the construction codes 875, 876 and 877. Other values, such as 388 for a tax invoice or 261 for an old-style credit note, trigger this rule. Find the permitted code that describes the transaction and change the template.

Common causes

  • The software sets the default code 388 instead of 380 for an ordinary invoice.
  • A credit note was coded 261 or 262 instead of 381.
  • A sector code from another format was taken over unchecked.

How to fix it

Replace the code in BT-3 with the fitting permitted value: 380 for the normal invoice, 384 for a correction, 326 for a partial invoice, 381 for a credit note. In UBL it stands in cbc:InvoiceTypeCode, in CII in ram:TypeCode of the ExchangedDocument.

Before – invalid
<ubl:Invoice>
  <cbc:ID>RE-2026-0187</cbc:ID>
  <cbc:IssueDate>2026-03-02</cbc:IssueDate>
  <cbc:InvoiceTypeCode>388</cbc:InvoiceTypeCode>
</ubl:Invoice>
After – corrected
<ubl:Invoice>
  <cbc:ID>RE-2026-0187</cbc:ID>
  <cbc:IssueDate>2026-03-02</cbc:IssueDate>
  <cbc:InvoiceTypeCode>380</cbc:InvoiceTypeCode>
</ubl:Invoice>

Frequently asked

Do I have to reissue the invoice because of BR-DE-17?

First check whether the transaction really is another type. Portals and recipients may reject an invoice with an unexpected type code; a permitted code from the list avoids queries.

Which code do I use for a final invoice in construction?

877 for the final invoice, 875 for a partial invoice and 876 for a partial final invoice; all three are permitted in XRechnung.

Fields concerned

  • BT-3

Related rules

Check your invoice

The XRechnung validator reports this rule with the line number and location – right in your browser, without upload.

Open the XRechnung validator

Technical details
UBL · Context (XPath)
/ubl:Invoice | /cn:CreditNote
UBL · Schematron test
normalize-space(cbc:InvoiceTypeCode) = $supportedInvAndCNTypeCodes or normalize-space(cbc:CreditNoteTypeCode) = $supportedInvAndCNTypeCodes
CII · Context (XPath)
/rsm:CrossIndustryInvoice
CII · Schematron test
normalize-space(rsm:ExchangedDocument/ram:TypeCode) = ('326', '380', '384', '389', '381', '875', '876', '877')

Explanation written on 14 September 2026