Send invoice (async)
Submit an invoice for asynchronous processing and delivery.
Endpoint
| Property | Value |
|---|---|
| URL | POST /invoice/send-document-async-json |
| Method | POST |
| Auth | R-Auth: <company-jwt> |
| Content-Type | application/json |
Company JWT required
This endpoint requires a company JWT obtained by logging in with the company API key, not the partner API key. See Authentication.
Example Request
curl --location '{{baseUrl}}/invoice/send-document-async-json' \
--header 'Content-Type: application/json' \
--header 'R-Auth: {{companyJwt}}' \
--data-raw '{
"apiKey": "{{companyApiKey}}",
"ublDto": { ... },
"receiverEmails": []
}'
Request body
{
"apiKey": "<company-apiKey>",
"ublDto": { },
"receiverEmails": ["recipient@example.com"]
}
Request fields
| Field | Type | Required | Description |
|---|---|---|---|
apiKey | string | Yes | Company API key |
ublDto | object | Yes | UBL invoice object. See the full schema below. |
receiverEmails | array | No | Email addresses to notify on delivery |
Full example France Peppol BIS
{
"apiKey": "<companyApiKey>",
"ublDto": {
"Type": "PEPPOL_BIS",
"ProfileType": "EN16931",
"CustomizationID": {
"Value": "urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0"
},
"ProfileID": {
"Value": "urn:fdc:peppol.eu:2017:poacc:billing:01:1.0"
},
"ID": {
"Value": "INV/MIN-003"
},
"IssueDate": {
"Value": "2026-06-12"
},
"DueDate": {
"Value": "2026-06-30"
},
"InvoiceTypeCode": {
"Value": "380"
},
"DocumentCurrencyCode": {
"Value": "EUR"
},
"BuyerReference": {
"Value": "FR-BUYER-001"
},
"CompanyId": "<companyId>",
"PartnerUuid": "<partnerUuid>",
"UBLVersionID": {
"Value": "2.1"
},
"IsPeppolParticipant": true,
"AccountingSupplierParty": {
"Party": {
"EndpointID": {
"Value": "<siren>",
"schemeID": "0002"
},
"PartyLegalEntity": [
{
"RegistrationName": {
"Value": "<companyName>"
},
"CompanyID": {
"Value": "<vatNumber>"
}
}
],
"PartyTaxScheme": [
{
"CompanyID": {
"Value": "<vatNumber>"
},
"TaxScheme": {
"ID": {
"Value": "VAT"
}
}
}
],
"PostalAddress": {
"StreetName": {
"Value": "1 Rue de Rivoli"
},
"CityName": {
"Value": "Paris"
},
"PostalZone": {
"Value": "75001"
},
"Country": {
"IdentificationCode": {
"Value": "FR"
}
}
}
}
},
"AccountingCustomerParty": {
"Party": {
"EndpointID": {
"Value": "<buyerSiren>",
"schemeID": "0002"
},
"PartyLegalEntity": [
{
"RegistrationName": {
"Value": "<buyerCompanyName>"
}
}
],
"PostalAddress": {
"StreetName": {
"Value": "1 Rue de la Paix"
},
"CityName": {
"Value": "Paris"
},
"PostalZone": {
"Value": "75001"
},
"Country": {
"IdentificationCode": {
"Value": "FR"
}
}
}
}
},
"TaxTotal": [
{
"TaxAmount": {
"Value": "300.00",
"currencyID": "EUR"
},
"TaxSubtotal": [
{
"TaxableAmount": {
"Value": "1500.00",
"currencyID": "EUR"
},
"TaxAmount": {
"Value": "300.00",
"currencyID": "EUR"
},
"TaxCategory": {
"ID": {
"Value": "S"
},
"Percent": {
"Value": "20"
},
"TaxScheme": {
"ID": {
"Value": "VAT"
}
}
}
}
]
}
],
"LegalMonetaryTotal": {
"LineExtensionAmount": {
"Value": "1500",
"currencyID": "EUR"
},
"TaxExclusiveAmount": {
"Value": "1500",
"currencyID": "EUR"
},
"TaxInclusiveAmount": {
"Value": "1800.00",
"currencyID": "EUR"
},
"PayableAmount": {
"Value": "1800.00",
"currencyID": "EUR"
}
},
"InvoiceLine": [
{
"ID": {
"Value": "1"
},
"InvoicedQuantity": {
"Value": "10",
"unitCode": "HUR"
},
"LineExtensionAmount": {
"Value": 1500,
"currencyID": "EUR"
},
"Item": {
"Name": {
"Value": "Consulting Service"
},
"ClassifiedTaxCategory": [
{
"ID": {
"Value": "S"
},
"Percent": {
"Value": "20"
},
"TaxScheme": {
"ID": {
"Value": "VAT"
}
}
}
]
},
"Price": {
"PriceAmount": {
"Value": "150",
"currencyID": "EUR"
}
}
}
]
},
"receiverEmails": []
}
Invoice header required fields
| Field | Required | Description | Example |
|---|---|---|---|
Type | Yes | Invoice type | PEPPOL_BIS |
ProfileType | Yes | EN 16931 profile | EN16931 |
ID.Value | Yes | Unique invoice number | INV-2026-001 |
IssueDate.Value | Yes | Issue date | YYYY-MM-DD |
DueDate.Value | Yes* | Due date | Required if no PaymentTerms |
InvoiceTypeCode.Value | Yes | Type code | 380 invoice, 381 credit note |
DocumentCurrencyCode.Value | Yes | Currency | ISO 4217, for example EUR |
BuyerReference.Value | Yes* | Buyer reference | Required if no OrderReference |
CompanyId | Yes | Docnova company UUID | f5e6d7c8-1234-5678-9abc-def012345678 |
PartnerUuid | Yes | Docnova partner UUID | partnerUuid |
UBLVersionID.Value | Yes | UBL version | 2.1 |
IsPeppolParticipant | Yes | Peppol flag | true |
Seller required fields
| Field | Required | Description |
|---|---|---|
Party.EndpointID.Value | Yes | Must match businessIdentifier from Submit register request |
Party.EndpointID.schemeID | Yes | ICD code, for example 0002 for France SIREN or 9930 for Germany VAT |
Party.PartyLegalEntity[0].RegistrationName.Value | Yes | Legal name |
Party.PartyLegalEntity[0].CompanyID.Value | Yes | VAT identifier |
Party.PostalAddress.Country.IdentificationCode.Value | Yes | ISO country code |
Buyer required fields
| Field | Required | Description |
|---|---|---|
Party.EndpointID.Value | Yes | Must be a registered Peppol participant |
Party.EndpointID.schemeID | Yes | ICD code |
Party.PartyLegalEntity[0].RegistrationName.Value | Yes | Legal name |
Party.PostalAddress.Country.IdentificationCode.Value | Yes | ISO country code |
Tax required fields
| Field | Required | Description |
|---|---|---|
TaxAmount.Value | Yes | Total VAT amount, maximum 2 decimals |
TaxSubtotal[0].TaxableAmount.Value | Yes | Taxable base amount |
TaxSubtotal[0].TaxAmount.Value | Yes | VAT amount for this category |
TaxSubtotal[0].TaxCategory.ID.Value | Yes | VAT category. S Standard, Z Zero, E Exempt, AE Reverse charge |
TaxSubtotal[0].TaxCategory.Percent.Value | Yes | VAT rate, for example 20 |
Monetary totals required fields
| Field | Required | Description |
|---|---|---|
LineExtensionAmount.Value | Yes | Sum of line net amounts |
TaxExclusiveAmount.Value | Yes | Total without VAT |
TaxInclusiveAmount.Value | Yes | Total including VAT |
PayableAmount.Value | Yes | Amount due |
Invoice line required fields
| Field | Required | Description |
|---|---|---|
ID.Value | Yes | Unique line number |
InvoicedQuantity.Value | Yes | Quantity |
InvoicedQuantity.unitCode | Yes | UN/ECE Rec 20 code, for example HUR for hour |
LineExtensionAmount.Value | Yes | Net line amount, quantity multiplied by unit price |
Item.Name.Value | Yes | Product or service name |
Item.ClassifiedTaxCategory[0].ID.Value | Yes | VAT category |
Item.ClassifiedTaxCategory[0].Percent.Value | Yes | VAT rate |
Price.PriceAmount.Value | Yes | Unit price excluding VAT |
Response
{
"trackingId": "550e8400-e29b-41d4-a716-446655440000",
"status": "PENDING",
"message": "Document accepted for processing"
}
Response fields
| Field | Description |
|---|---|
trackingId | Tracking UUID for the submitted document |
status | Initial processing status, for example PENDING |
message | Human-readable processing message |
Tracking
Use the trackingId to check delivery status via Document status.