Skip to content

Status lifecycle

Document status shows the current stage of the document. Each stage has three possible states: processing, completed, or failed. See Document model and Transactions.

Status groups

Stage Status codes
Create create.processing, create.completed, create.failed
Upload upload.processing, upload.completed, upload.failed
Import import.processing, import.completed, import.failed
Receive receive.processing, receive.completed, receive.failed
Send send.processing, send.completed, send.failed
Delete delete.processing, delete.completed, delete.failed

When each status is set

  • Create — When the document is created from a model or form (Create form in the web app or model upload via API).
  • Upload — When you upload XML (or a file); the document is processed and moves to upload.completed or upload.failed.
  • Import — When the document is imported (e.g. from an integration).
  • Receive — When a document is received via Peppol (or email if supported); the receive process runs and the status becomes receive.completed or receive.failed.
  • Send — When you trigger send (Peppol or email); the send process runs and the status becomes send.completed or send.failed.
  • Delete — When you delete the document; the status goes through delete.processing and then to delete.completed or delete.failed.

Status log

The status log is an ordered list of entries. Each entry typically contains:

  • code — Status code (e.g. send.failed).
  • details — Additional information (e.g. error message).
  • created_at — When the status was set.

The status log is used to debug failures (e.g. why a send failed). In the API, document details can include the status log; the transaction endpoint can also include status_log. See Document model and API Reference.