Send invoice (all types — single endpoint)
The recommended endpoint for ERP/white-label invoice submission. Supports all invoice types for France and Germany. Returns a trackingId immediately for async status polling.
See Overview for supported invoiceType values.
Send document async (JSON — recommended)
| Property | Value |
|---|---|
| Endpoint | /invoice/send-document-async-json |
| Method | POST |
| Authorization | Bearer {token} |
Request body
{
"apiKey": "your-api-key-or-omit-if-jwt",
"ublDto": {
"companyId": "uuid",
"invoiceNumber": "INV-2025-001",
"invoiceType": "FR_UBL_CIUS",
"issueDate": "2025-04-01",
"dueDate": "2025-05-01",
"currency": "EUR",
"seller": {
"name": "Acme France SAS",
"taxId": "FR12345678901",
"address": "10 Rue de la Paix",
"city": "Paris",
"postalCode": "75001",
"country": "FR"
},
"buyer": {
"name": "Client GmbH",
"taxId": "DE987654321",
"address": "Berliner Str. 5",
"city": "Hamburg",
"postalCode": "20095",
"country": "DE"
},
"lines": [
{
"description": "Consulting services",
"quantity": 10,
"unitPrice": 100.00,
"vatRate": 20.0,
"lineTotal": 1000.00
}
],
"taxTotal": 200.00,
"grandTotal": 1200.00
},
"receiverEmails": ["buyer@client.de"],
"businessType": "B2B"
}
| Field | Type | Required | Description |
|---|---|---|---|
apiKey | String | Yes* | API key (if no JWT company context) |
ublDto.companyId | UUID | Yes* | Company UUID |
ublDto.invoiceType | String | Yes | See Overview |
receiverEmails | Array | No | Email notification recipients |
businessType | String | No | B2B or B2C |
* Either apiKey or ublDto.companyId must be provided.
Response
{
"trackingId": "550e8400-e29b-41d4-a716-446655440000",
"status": "PENDING"
}
| Code | Description |
|---|---|
200 | Accepted — returns trackingId |
400 | Missing required fields |
401 | Unauthorized |
403 | User not associated with company |
500 | Internal server error |
Send document async (Base64 PDF/XML)
Use when the invoice is already a PDF or XML file.
| Property | Value |
|---|---|
| Endpoint | /invoice/send-document-async |
| Method | POST |
| Authorization | Bearer {token} |
{
"apiKey": "your-api-key",
"compId": "uuid",
"base64Document": "PD94bWwgdm...",
"base64Pdf": null,
"invoiceType": "XRECHNUNG",
"receiverEmails": ["invoice@buyer.de"],
"businessType": "B2B"
}
| Field | Type | Required | Description |
|---|---|---|---|
apiKey | String | Yes* | API key |
compId | String | Yes* | Company UUID |
base64Document | String | Yes* | Base64 XML (XRechnung, Factur-X XML, etc.) |
base64Pdf | String | Yes* | Base64 PDF (ZUGFeRD — triggers PDF validation) |
invoiceType | String | Yes | Invoice type |
* Either apiKey or compId. Either base64Document or base64Pdf.
Next
- Status tracking — poll
trackingId