Error codes · EN 16931 · Germany

DE-R-017In your invoicing software

Invalid invoice type code. German invoices only allow specific type codes:...

This is the rejection, word for word: „[DE-R-017] Invalid invoice type code. German invoices only allow specific type codes: 326 (partial), 380 (commercial), 384 (corrected), 389 (self-billed), 381 (credit note), 875-877 (construction).“

What to have readyNothing. The file has to be re-exported from your invoicing software; we check it again afterwards.
What we doInvoice Navigator automatically fixes this issue by correcting the `cbc:InvoiceTypeCode` element in your Invoice (DE-R-017).
If you enter it yourself in your invoicing software
Before
<Invoice>
  <cbc:InvoiceTypeCode>INVALID_CODE</cbc:InvoiceTypeCode>
</Invoice>
After
<Invoice>
  <cbc:InvoiceTypeCode>VALID_CODE</cbc:InvoiceTypeCode>
</Invoice>

Element order is part of the rule: if the element sits in the wrong place, the validator rejects with DE-R-017.

What the finding looks likeExample
FindingStructure invalid · DE-R-017
Location//cac:AccountingSupplierParty/cac:Party/cac:PostalAddress/cbc:PostalZone
From youA re-exported file
ThenRe-export
ProofSHA-256 and /verify link after the check