UBL
200 → UBL 2.1 XML. 400 → INVALID_INVOICE.
/api/v1/create/ublCanonical create body. Other create routes reuse this JSON and only change the file you download.
Request body
invoicereqobject
The invoice. JSON is camelCase.
invoiceNumberreqstring
Invoice number (BT-1).
issueDatereqstring
YYYY-MM-DD (BT-2).
currencyreqstring
ISO 4217, e.g. EUR.
dueDateoptstring
Due date (BT-9).
typeCodeoptstring
Default 380 (commercial invoice).
buyerReferenceoptstring
Buyer ref / Leitweg-ID (BT-10).
businessProcessTypeoptstring
Process id (BT-23).
sellerreqobject
Supplier party.
namereqstring
Legal name.
postalAddressreqobject
Postal address.
countryreqstring
ISO alpha-2 (DE, FR, PL).
line1optstring
Street.
cityoptstring
City.
postCodeoptstring
Postal code.
vatIdentifieroptstring
VAT id. Seller needs this or another legal identifier.
electronicAddressoptobject
identifier + schemeId (e.g. 0088 GLN).
contactoptobject
name, phone, email.
legalRegistrationoptobject
Company register id.
buyerreqobject
Customer party. Same shape as seller.
namereqstring
Legal name.
postalAddressreqobject
Postal address.
countryreqstring
ISO alpha-2 (DE, FR, PL).
line1optstring
Street.
cityoptstring
City.
postCodeoptstring
Postal code.
vatIdentifieroptstring
VAT id. Seller needs this or another legal identifier.
electronicAddressoptobject
identifier + schemeId (e.g. 0088 GLN).
contactoptobject
name, phone, email.
legalRegistrationoptobject
Company register id.
paymentDetailsoptobject
How the buyer pays.
paymentMeansCodeoptstring
UNCL 4461, e.g. 30 = credit transfer.
paymentAccountIdentifieroptstring
IBAN.
linesreqobject[]
At least one line.
quantityreqnumber
Quantity.
unitCodeoptstring
Default C62.
priceDetails.netPricereqnumber
Net unit price.
vatInformation.rateoptnumber
VAT percent. Default 0.
vatInformation.categoryCodeoptstring
Default S (standard).
item.namereqstring
Line description.
options.profileoptstring
Default peppol-bis-3. Also: en16931, nlcius, ehf, pint, xrechnung.
{
"invoice": {
"invoiceNumber": "INV-2026-001",
"issueDate": "2026-07-01",
"dueDate": "2026-07-31",
"currency": "EUR",
"buyerReference": "04011000-1234512345-06",
"seller": {
"name": "Acme GmbH",
"vatIdentifier": "DE123456789",
"postalAddress": {
"line1": "Musterstr. 1",
"city": "Berlin",
"postCode": "10115",
"country": "DE"
}
},
"buyer": {
"name": "Example Corp",
"vatIdentifier": "FR12345678901",
"postalAddress": {
"line1": "12 Rue de Rivoli",
"city": "Paris",
"postCode": "75001",
"country": "FR"
}
},
"paymentDetails": {
"paymentMeansCode": "30",
"paymentAccountIdentifier": "DE89370400440532013000"
},
"lines": [
{
"quantity": 10,
"priceDetails": { "netPrice": 150 },
"vatInformation": { "rate": 19, "categoryCode": "S" },
"item": { "name": "Consulting Services" }
}
]
},
"options": { "profile": "peppol-bis-3" }
}