The system sends webhook notifications for various document processing events.
Each webhook includes a JSON payload with event-specific data and file download links.
Event types are grouped by document type below. Expand the document type to see the specific events and example payloads.
Event types are grouped by document type below. Each section shows the specific events and example payloads.
Triggered when a receiving invoice has been successfully received and processed.
|
|
| Subscription |
invoice.receive |
| Status |
READY |
{
"documentId": "8e6e870e-854b-46ef-a4d5-dfe5a5799cf8",
"status": "READY",
"importDate": "2025-10-20T10:30:00Z",
"timestamp": "2025-10-20T10:35:00Z",
"documentType": "invoice",
"channel": "peppol",
"files": [
{
"purpose": "document",
"fileName": "invoice_12345.xml",
"mimeType": "application/xml",
"downloadUrl": "https://s3.amazonaws.com/bucket/presigned-url"
},
{
"purpose": "image",
"fileName": "invoice_12345.pdf",
"mimeType": "application/pdf",
"downloadUrl": "https://s3.amazonaws.com/bucket/presigned-url"
},
{
"purpose": "attachment",
"fileName": "invoice_12345.png",
"mimeType": "image/png",
"downloadUrl": "https://s3.amazonaws.com/bucket/presigned-url"
}
]
}
Triggered when an outgoing invoice has been exported.
|
|
| Subscription |
invoice.exported |
| Status |
EXPORTED |
{
"documentId": "8e6e870e-854b-46ef-a4d5-dfe5a5799cf8",
"status": "EXPORTED",
"importDate": "2025-10-20T10:30:00Z",
"timestamp": "2025-10-20T10:32:00Z",
"documentType": "invoice",
"channel": "peppol",
"files": []
}
Triggered when a Peppol message delivery notification (MDN) is received from the receiving Access Point (C3), confirming that the XML document has been successfully delivered to the recipient’s Access Point.
|
|
| Subscription |
invoice.delivered |
| Status |
DELIVERED |
{
"documentId": "8e6e870e-854b-46ef-a4d5-dfe5a5799cf8",
"status": "DELIVERED",
"importDate": "2025-10-20T10:30:00Z",
"timestamp": "2025-10-20T10:35:00Z",
"documentType": "invoice",
"channel": "peppol",
"files": [
{
"purpose": "response",
"messageType": "MDN",
"fileName": "MessageDeliveryNotification.txt",
"mimeType": "application/xml",
"downloadUrl": "https://s3.amazonaws.com/bucket/presigned-url"
}
]
}
Triggered when processing or delivery of the document fails. See specific error payloads below for validation, participant, and delivery errors.
|
|
| Subscription |
invoice.error |
| Status |
ERROR |
{
"documentId": "8e6e870e-854b-46ef-a4d5-dfe5a5799cf8",
"status": "ERROR",
"importDate": "2025-10-20T10:30:00Z",
"timestamp": "2025-10-20T10:35:00Z",
"documentType": "invoice",
"channel": "peppol",
"errorCode": "VALIDATION_ERROR",
"errorMessage": "Document payload validation failed, please refer to the attached validation report.",
"files": [
{
"purpose": "response",
"messageType": "VALIDATION",
"fileName": "PeppolValidation.txt",
"mimeType": "application/json",
"downloadUrl": "https://s3.amazonaws.com/bucket/presigned-url"
}
]
}
{
"documentId": "8e6e870e-854b-46ef-a4d5-dfe5a5799cf8",
"status": "ERROR",
"importDate": "2025-10-20T10:30:00Z",
"timestamp": "2025-10-20T10:35:00Z",
"documentType": "invoice",
"channel": "peppol",
"errorCode": "PARTICIPANT_NOT_FOUND",
"errorMessage": "Participant 9925:123456789 not found",
"files": []
}
{
"documentId": "8e6e870e-854b-46ef-a4d5-dfe5a5799cf8",
"status": "ERROR",
"importDate": "2025-10-20T10:30:00Z",
"timestamp": "2025-10-20T10:35:00Z",
"documentType": "invoice",
"channel": "peppol",
"errorCode": "DELIVERY_ERROR",
"errorMessage": "Failed to deliver Peppol document to receiving endpoint: Certificate is revoked.",
"files": []
}
Triggered when an application response has been received and processed by the system.
|
|
| Subscription |
applicationresponse.receive |
| Status |
READY |
{
"documentId": "f1a2b3c4-5678-90ab-cdef-1234567890ab",
"status": "READY",
"importDate": "2025-10-20T11:00:00Z",
"timestamp": "2025-10-20T11:05:00Z",
"documentType": "applicationresponse",
"channel": "peppol",
"applicationResponse": {
"referenceDocumentNumber": "INV-2025-12345",
"responseCode": "RE",
"responseMessage": "Rejected due to invalid VAT number"
},
"files": [
{
"purpose": "document",
"fileName": "appresponse_123.xml",
"mimeType": "application/xml",
"downloadUrl": "https://s3.amazonaws.com/bucket/presigned-url"
}
]
}
Below is an explanation of the new applicationResponse object included in the payload.
referenceDocumentNumber: The identifier (for example, the invoice number) of the document this application response refers to.
responseCode: Short code describing the response result. Common values include AP (Accepted), RE (Rejected), PD (Paid).
responseMessage: Human-readable explanation or reason for the response (e.g., rejection reason).
Triggered when an outgoing application response has been exported.
|
|
| Subscription |
applicationresponse.exported |
| Status |
EXPORTED |
{
"documentId": "f1a2b3c4-5678-90ab-cdef-1234567890ab",
"status": "EXPORTED",
"importDate": "2025-10-20T11:00:00Z",
"timestamp": "2025-10-20T11:02:00Z",
"documentType": "applicationresponse",
"channel": "peppol",
"files": []
}
Triggered when an outgoing application response has been delivered to its destination.
|
|
| Subscription |
applicationresponse.delivered |
| Status |
DELIVERED |
{
"documentId": "f1a2b3c4-5678-90ab-cdef-1234567890ab",
"status": "DELIVERED",
"importDate": "2025-10-20T11:00:00Z",
"timestamp": "2025-10-20T11:10:00Z",
"documentType": "applicationresponse",
"channel": "peppol",
"files": [
{
"purpose": "response",
"messageType": "MDN",
"fileName": "MessageDeliveryNotification.txt",
"mimeType": "application/xml",
"downloadUrl": "https://s3.amazonaws.com/bucket/presigned-url"
}
]
}
Triggered when sending or processing an application response fails.
|
|
| Subscription |
applicationresponse.error |
| Status |
ERROR |
{
"documentId": "f1a2b3c4-5678-90ab-cdef-1234567890ab",
"status": "ERROR",
"importDate": "2025-10-20T11:00:00Z",
"timestamp": "2025-10-20T11:05:00Z",
"documentType": "applicationresponse",
"channel": "peppol",
"errorCode": "DELIVERY_ERROR",
"errorMessage": "Failed to deliver application response to receiving endpoint.",
"files": []
}
Triggered when an e-report has been exported.
|
|
| Subscription |
ereport.exported |
| Status |
EXPORTED |
{
"documentId": "e1r2p3o4-5678-90ab-cdef-1234567890ab",
"status": "EXPORTED",
"importDate": "2025-10-20T12:00:00Z",
"timestamp": "2025-10-20T12:02:00Z",
"documentType": "ereport",
"channel": "peppol",
"files": []
}
Triggered when an e-report document has been successfully delivered.
|
|
| Subscription |
ereport.delivered |
| Status |
DELIVERED |
{
"documentId": "e1r2p3o4-5678-90ab-cdef-1234567890ab",
"status": "DELIVERED",
"importDate": "2025-10-20T12:00:00Z",
"timestamp": "2025-10-20T12:05:00Z",
"documentType": "ereport",
"channel": "peppol",
"files": [
{
"purpose": "response",
"messageType": "MDN",
"fileName": "MessageDeliveryNotification.txt",
"mimeType": "application/xml",
"downloadUrl": "https://s3.amazonaws.com/bucket/presigned-url"
}
]
}
Triggered when sending or processing an e-report fails.
|
|
| Subscription |
ereport.error |
| Status |
ERROR |
{
"documentId": "e1r2p3o4-5678-90ab-cdef-1234567890ab",
"status": "ERROR",
"importDate": "2025-10-20T12:00:00Z",
"timestamp": "2025-10-20T12:05:00Z",
"documentType": "ereport",
"channel": "peppol",
"errorCode": "DELIVERY_ERROR",
"errorMessage": "Failed to deliver e-report to receiving endpoint.",
"files": []
}
| Field |
Type |
Description |
documentId |
string |
Unique identifier for the processed document |
status |
string |
Processing status: READY, DELIVERED, or ERROR |
importDate |
string |
ISO 8601 timestamp when document was first imported |
timestamp |
string |
ISO 8601 timestamp when webhook was generated |
documentType |
string |
Type of document: invoice, applicationresponse, ereport |
channel |
string |
Source channel: email, peppol, api, pagero, weexa |
| Field |
Type |
Description |
errorCode |
string |
Error type: VALIDATION_ERROR, PARTICIPANT_NOT_FOUND, DELIVERY_ERROR |
errorMessage |
string |
Human-readable error description |
| Field |
Type |
Description |
purpose |
string |
File purpose: document, image, attachment, response |
fileName |
string |
Original filename |
mimeType |
string |
MIME type of the file |
downloadUrl |
string |
Pre-signed URL for file download (expires in 10 minutes). No authentication required. |
messageType |
string |
(Optional) Message type for response files: MDN, VALIDATION |
document: Main processed document (e.g., invoice XML)
image: Image representation of the document
attachment: Additional files (e.g., original XML, receipts)
response: System-generated response files (validation reports, delivery notifications)
| Field |
Type |
Description |
applicationResponse.referenceDocumentNumber |
string |
The referenced document number (e.g., invoice number). |
applicationResponse.responseCode |
string |
Short response code: AP = Accepted, RE = Rejected, etc. |
applicationResponse.responseMessage |
string |
Human-readable response message or reason for rejection. |
| Channel |
Description |
email |
Documents received or exported via email |
peppol |
Documents received or exported via Peppol network |
pagero |
Documents received or exported via Pagero network |
weexa |
Documents received or exported via Weexa network |
api |
Documents submitted via API |
| Code |
Description |
Typical Channel |
VALIDATION_ERROR |
Document failed UBL schema or business rule validation |
All channels |
PARTICIPANT_NOT_FOUND |
Peppol participant not found in SML directory |
peppol |
DELIVERY_ERROR |
Delivery of document failed |
peppol |