Reference
Invoice type codes, UNTDID 1001.
Business term BT-3 carries a code saying what kind of document this is. Send one that is not on the list and the invoice fails rule BR-04. Here is the whole list, with the official name of every code.
The codes
These are the 29 codes our validator accepts, rendered directly from the module it uses rather than transcribed by hand. Verified against Peppol BIS Billing 3.0 published code lists on 2026-08-03.
| Code | Official name | Notes |
|---|---|---|
| 71 | Request for payment | In the published Peppol list |
| 80 | Debit note related to goods or services | In the published Peppol list |
| 82 | Metered services invoice | In the published Peppol list |
| 84 | Debit note related to financial adjustments | In the published Peppol list |
| 102 | Tax notification | In the published Peppol list |
| 218 | Final payment request based on completion of work | In the published Peppol list |
| 219 | Payment request for completed units | In the published Peppol list |
| 326 | Partial invoice | In the published Peppol list |
| 331 | Commercial invoice which includes a packing list | In the published Peppol list |
| 380 | Commercial invoice | In the published Peppol list |
| 381 | Credit note | outside the Peppol invoice list Not in the Peppol invoice list, because a credit note is a separate document type there. Accepted here since this API produces and checks both through one model. |
| 382 | Commission note | In the published Peppol list |
| 383 | Debit note | In the published Peppol list |
| 384 | Corrected invoice | In the published Peppol list |
| 386 | Prepayment invoice | In the published Peppol list |
| 388 | Tax invoice | In the published Peppol list |
| 389 | Self-billed invoice | In the published Peppol list |
| 393 | Factored invoice | In the published Peppol list |
| 395 | Consignment invoice | In the published Peppol list |
| 553 | Forwarder's invoice discrepancy report | In the published Peppol list |
| 575 | Insurer's invoice | In the published Peppol list |
| 623 | Forwarder's invoice | In the published Peppol list |
| 751 | Invoice information for accounting purposes | outside the Peppol invoice list Not in the Peppol invoice list. Used by national profiles, notably the German XRechnung and Factur-X lines, for a document carrying accounting information only. |
| 780 | Freight invoice | In the published Peppol list |
| 817 | Claim notification | In the published Peppol list |
| 870 | Consular invoice | In the published Peppol list |
| 875 | Partial construction invoice | In the published Peppol list |
| 876 | Partial final construction invoice | In the published Peppol list |
| 877 | Final construction invoice | In the published Peppol list |
How to pick one
For a normal sales invoice, use 380. Almost everything else is a special case, and the special cases matter mostly because a counterparty's system routes on them.
- 384, corrected invoice. A replacement for a document already sent. Distinct from a credit note, which offsets rather than replaces. Which one your buyer expects is a commercial decision.
- 389, self-billed invoice.The buyer issues it on the supplier's behalf, under an agreement between them. Common in platform and logistics settings.
- 386, prepayment invoice. Issued before delivery. The later invoice usually carries a prepaid amount so the amount due reflects what is actually outstanding.
- 326, partial invoice and the construction series 875, 876, 877. Staged billing on long projects, where each document covers a portion of the work.
- 381, credit note. Offsets a previous invoice. Peppol carries it as its own document type rather than as an invoice with this code.
Why a document gets rejected on this field
Rule BR-04 says an invoice must carry an invoice type code, and the code list rules say it must be one of the published values. In practice the failure is almost never a disagreement about which code is right: it is an export writing an internal document category, a localized label, or an empty string into a field that only accepts a numeric UNTDID code.
If a validator told you your type code is invalid, check what the field actually contains before changing your process. You can paste the document into our free validator and see the exact value it carries, without uploading anything anywhere.
Questions people actually ask
- Which invoice type code should I use for an ordinary invoice?
- 380, commercial invoice. It is the default for a normal sales invoice and the value you want unless something specific applies, such as 384 for a correction or 389 when the buyer issues the invoice on your behalf.
- What is the difference between 380 and 388?
- 380 is a commercial invoice and 388 is a tax invoice. Both are published for Peppol. The distinction matters in jurisdictions that treat a tax invoice as a specific document for VAT purposes; where it does not, 380 is the usual choice.
- Which code is a credit note?
- 381. Note that Peppol treats a credit note as a separate document type rather than an invoice with that code, so 381 does not appear in its invoice code list. Our validator accepts it because the same model produces and checks both.
- What is 384 for?
- A corrected invoice: a replacement for a document you already sent, rather than a credit note that offsets it. Which of the two your counterparty expects is a commercial question, not a technical one.
- Why did my invoice fail on the type code?
- The value sent was not on the accepted list. That is rule BR-04 against business term BT-3. The most common cause is an ERP export writing an internal document category into the field instead of a UNTDID 1001 code.