Receive document status updates for an invoice
The adapter receives a webhook from the provider, transforms the payload into Chargebee’s standardized schema, and forwards the final document status to this endpoint.
Chargebee uses this callback to update internal document tracking states and trigger downstream workflows such as customer notifications or audit logs.
This endpoint is idempotent, repeated submissions with the same document_id and status will not result in duplicate processing.
Requires an OAuth 2.0 access token authorized via the merchant OAuth flow. The Chargebee merchant must authorize the e-invoicing app via the OAuth flow to allow it to make authenticated POST calls to this endpoint.
Documentation Index
Fetch the complete documentation index at: https://spidocs.chargebee.com/llms.txt
Use this file to discover all available pages before exploring further.
Authorizations
The access token received from the authorization server in the OAuth 2.0 flow.
Path Parameters
Unique identifier of the submitted document.
Body
Current status of the document after processing by the provider.
SUCCESS, IN_PROGRESS, FAILED, ACCEPTED, REJECTED, MESSAGE_ACKNOWLEDGEMENT, IN_PROCESS, UNDER_QUERY, CONDITIONALLY_ACCEPTED, PAID Timestamp (UTC) in seconds indicating when the status was determined.
Identifier of the e‑invoicing provider
JSON string containing an optional array of raw payloads received from the e-invoicing provider that is used for downstream mapping and for audits. The JSON should be an array of objects with the following structure: [{"source": "string", "received_at": "date-time", "payload": {object}}]
"{\"source\":\"avalara\",\"received_at\":\"2025-12-29T12:17:47.791Z\",\"payload\":{\"id\":\"ad110f2d-9d0a-4435-a8ea-a36caaceb8c7\",\"companyId\":\"304382fd-1268-4e7b-86db-a8d51ff309d5\",\"status\":\"Complete\"}}"
Optional JSON array of key-value pairs returned by the e-invoicing provider (e.g. Receipt Message ID, Response Message ID, Receiver ID). Chargebee stores this in einvoice properties and appends entries on each callback, similar to provider_response. Format: [{"key": "string", "value": "string"}, ...]
"[{\"key\":\"Receipt Message ID\",\"value\":\"3ed9530e-f2e8-4733-ace8-f868a5e077eb@einvoicing.sbx.avalara.io\"},{\"key\":\"Response Message ID\",\"value\":\"3ed9530e-f2e8-4733-aeffe8-f868a5e077eb@einvoicing.sbx.avalara.io\"},{\"key\":\"Receiver ID\",\"value\":\"3ed9530e-f2e8-4733-ace8-f868a5e077eb@sbx.avalara.io\"}]"
Optional list of errors (if any) returned by the provider if status is FAILED.
Encoded using Chargebee's form-urlencoded bracket notation, e.g. errors[0][code].
50Optional list of related (secondary) document status objects, encoded using Chargebee's
form-urlencoded bracket notation, e.g. related_documents[0][document_id].
Use this to include secondary documents such as ubl-applicationresponse that influenced the
primary document outcome. Chargebee may store this for diagnostics; it does not change the
primary idempotency key.
10Response
Callback payload received and validated successfully. No retry required.