BR-04: Invoice type code (BT-3) is missing
Official message
[BR-04] An Invoice shall have an Invoice type code (BT-3).
[BR-04] An Invoice shall have an Invoice type code (BT-3).
[BR-04] An Invoice shall have an Invoice type code (BT-3).
- Severity
- Error The invoice is invalid and may be rejected by the recipient.
- Applies to
- EN 16931 (CII), EN 16931 (UBL), Factur-X / ZUGFeRD EN 16931
- Affected fields
- BT-3
What does this mean?
Every invoice must have an invoice type code (BT-3) stating the type of document, e.g. 380 for a commercial invoice or 381 for a credit note. The element is missing or empty.
Typical causes
The generating system writes no document type.
The element exists but is empty.
How to fix the error
Enter the appropriate code from the UNTDID 1001 list, e.g. 380 (commercial invoice) or 381 (credit note).
CII: rsm:ExchangedDocument/ram:TypeCode, UBL: cbc:InvoiceTypeCode or cbc:CreditNoteTypeCode.
Generate and validate the invoice again.
In E-Rechnungsfreund
In the invoice form ("Experte" view), section "Rechnungsdetails" (invoice details), select a code in the field "Art-Code (BT-3)" (type code). In the simple view ("Einfach") code 380 is set.
Example
Wrong
<rsm:ExchangedDocument>
<ram:ID>INV-2026-0042</ram:ID>
<ram:TypeCode></ram:TypeCode>
...
</rsm:ExchangedDocument>
Correct
<rsm:ExchangedDocument>
<ram:ID>INV-2026-0042</ram:ID>
<ram:TypeCode>380</ram:TypeCode>
...
</rsm:ExchangedDocument>
For developers: test expression per syntax
EN 16931 (CII) (CII)
Context: /rsm:CrossIndustryInvoice
normalize-space(rsm:ExchangedDocument/ram:TypeCode) != ''
EN 16931 (UBL) (UBL)
Context: /ubl:Invoice | /cn:CreditNote
normalize-space(cbc:InvoiceTypeCode) != '' or normalize-space(cbc:CreditNoteTypeCode) !=''
Factur-X / ZUGFeRD EN 16931 (CII)
Technical ID in the source: FX-SCH-A-000013
Context: /rsm:CrossIndustryInvoice
(rsm:ExchangedDocument/ram:TypeCode!='')
Related validation rules
Last updated:
Explanation of the validation rule, not legal or tax advice.