Skip to content

Webhook events

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