The invoice type code is not in the expected list
`Invoice type code` (BT-3) should be 326, 380, 381, 384, 389, 875, 876 or 877 from the UNTDID 1001 code list.
Only the issuer holds this value: Factlint reports it and never fabricates it. Test your invoice to find out whether it is affected.
The message your validator prints
Copied verbatim from the sealed artefact: this is the exact sentence the check prints when this rule fails.
[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).
Quoted from schematron-xrechnung 3.0.2, licensed under Apache-2.0.
Common searches around this code
These phrases mirror what an integrator searches for: code, syntax, rule, business field and correction.
Test your file with this error in mind
Upload the invoice involved: the report will say whether this code appears, where it appears in the document, and whether Factlint can only report it or also fix it.
To automate this check in an ERP flow, call the validation API and link every returned code to its public page.
Why this error happens
XRechnung narrows a list that EN 16931 leaves wide. The last three codes — 875, 876, 877 — are specific to German construction (interim and final construction invoices). A code that is technically valid but outside the list, such as 388 (*tax invoice*), passes European validation and stops here.
How to fix it
Pick the code that actually describes the document in your system. Factlint does not replace it: an invoice type is a legal qualification, not a formatting detail — turning a 388 into a 380 would change what the document claims to be.
XML correction example
<ram:TypeCode>325</ram:TypeCode>
<ram:TypeCode>380</ram:TypeCode>