Skip to main content

Send invoice (async)


Submit an invoice for asynchronous processing and delivery.

Endpoint

PropertyValue
URLPOST /invoice/send-document-async-json
MethodPOST
AuthR-Auth: <company-jwt>
Content-Typeapplication/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

FieldTypeRequiredDescription
apiKeystringYesCompany API key
ublDtoobjectYesUBL invoice object. See the full schema below.
receiverEmailsarrayNoEmail 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

FieldRequiredDescriptionExample
TypeYesInvoice typePEPPOL_BIS
ProfileTypeYesEN 16931 profileEN16931
ID.ValueYesUnique invoice numberINV-2026-001
IssueDate.ValueYesIssue dateYYYY-MM-DD
DueDate.ValueYes*Due dateRequired if no PaymentTerms
InvoiceTypeCode.ValueYesType code380 invoice, 381 credit note
DocumentCurrencyCode.ValueYesCurrencyISO 4217, for example EUR
BuyerReference.ValueYes*Buyer referenceRequired if no OrderReference
CompanyIdYesDocnova company UUIDf5e6d7c8-1234-5678-9abc-def012345678
PartnerUuidYesDocnova partner UUIDpartnerUuid
UBLVersionID.ValueYesUBL version2.1
IsPeppolParticipantYesPeppol flagtrue

Seller required fields

FieldRequiredDescription
Party.EndpointID.ValueYesMust match businessIdentifier from Submit register request
Party.EndpointID.schemeIDYesICD code, for example 0002 for France SIREN or 9930 for Germany VAT
Party.PartyLegalEntity[0].RegistrationName.ValueYesLegal name
Party.PartyLegalEntity[0].CompanyID.ValueYesVAT identifier
Party.PostalAddress.Country.IdentificationCode.ValueYesISO country code

Buyer required fields

FieldRequiredDescription
Party.EndpointID.ValueYesMust be a registered Peppol participant
Party.EndpointID.schemeIDYesICD code
Party.PartyLegalEntity[0].RegistrationName.ValueYesLegal name
Party.PostalAddress.Country.IdentificationCode.ValueYesISO country code

Tax required fields

FieldRequiredDescription
TaxAmount.ValueYesTotal VAT amount, maximum 2 decimals
TaxSubtotal[0].TaxableAmount.ValueYesTaxable base amount
TaxSubtotal[0].TaxAmount.ValueYesVAT amount for this category
TaxSubtotal[0].TaxCategory.ID.ValueYesVAT category. S Standard, Z Zero, E Exempt, AE Reverse charge
TaxSubtotal[0].TaxCategory.Percent.ValueYesVAT rate, for example 20

Monetary totals required fields

FieldRequiredDescription
LineExtensionAmount.ValueYesSum of line net amounts
TaxExclusiveAmount.ValueYesTotal without VAT
TaxInclusiveAmount.ValueYesTotal including VAT
PayableAmount.ValueYesAmount due

Invoice line required fields

FieldRequiredDescription
ID.ValueYesUnique line number
InvoicedQuantity.ValueYesQuantity
InvoicedQuantity.unitCodeYesUN/ECE Rec 20 code, for example HUR for hour
LineExtensionAmount.ValueYesNet line amount, quantity multiplied by unit price
Item.Name.ValueYesProduct or service name
Item.ClassifiedTaxCategory[0].ID.ValueYesVAT category
Item.ClassifiedTaxCategory[0].Percent.ValueYesVAT rate
Price.PriceAmount.ValueYesUnit price excluding VAT

Response

{
"trackingId": "550e8400-e29b-41d4-a716-446655440000",
"status": "PENDING",
"message": "Document accepted for processing"
}

Response fields

FieldDescription
trackingIdTracking UUID for the submitted document
statusInitial processing status, for example PENDING
messageHuman-readable processing message
Tracking

Use the trackingId to check delivery status via Document status.