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.