Order lifecycle and statuses
This page describes how orders are structured and managed in Djust OMS, with a focus on lifecycle progression, key statuses, and operational transitions.
📦 Order Structure Overview
Each order in Djust OMS follows a structured lifecycle composed of several phases. It can contain:
- One or multiple order lines (products)
- Optional delivery splits (for multi-shipment flows)
- Related documents (quotes, invoices, delivery notes)
- Linked approval and shipment statuses
Orders progress through the lifecycle based on configured business rules, user actions, and external system events (e.g. approval, shipment, or cancellation).
🧭 Main Order Lifecycle Phases
The following statuses define the typical flow of a B2B order in Djust OMS:
1. Draft
- The order is being created and not yet submitted.
- Still editable by the buyer.
2. On Hold
- This is an optional intermediate status that can be triggered during checkout.
- It allows a third party (e.g., a procurement manager or finance controller) to review and verify the order before submission.
- Useful in workflows where manual validation, rechecking, or internal coordination is required before the order proceeds.
3. Created
- The order has been submitted by the buyer.
- It awaits the next approval steps.
4. Waiting Customer Approval
- An internal approval step is required from the customer (e.g., purchase manager validation).
- Configurable per client and order type.
5. Waiting Supplier Approval
- The order is awaiting review and confirmation by the supplier.
- The supplier can accept or decline based on stock or commercial conditions.
6. Declined By Customer
- The customer has refused or withdrawn the order after submission.
- The process stops unless re-submitted.
7. Declined By Supplier
- The supplier has refused the order (e.g. stock unavailability, pricing issue).
- The order cannot proceed further.
8. Accepted By Supplier
- The supplier has confirmed the order and is ready to fulfill it.
- It transitions to the fulfillment phase.
9. Waiting Shipment
- The order is ready to be shipped, either partially or in full.
- Warehouse or supplier actions are expected.
10. Partially Shipped
- Some order lines have been shipped, others are still pending.
- The order remains open until all items are fulfilled or canceled.
11. Shipped
- All items have been shipped.
- Delivery may be confirmed by carrier integration or manually.
12. Canceled
- The order was canceled before full shipment.
- Can be triggered by the customer, supplier, or system rules.
13. Completed
- The order has been fully processed: all shipments completed, and the flow is finalized.
- The order is archived operationally.
🧾 Status Types
Djust OMS tracks multiple layers of order status:
Status Type | Description |
---|---|
Order Statuses | Main lifecycle status described above |
Order Line Statuses | Status per line (can be different across lines), for example, when an incident occurs |
Approval Statuses | Tracks buyer or supplier decision states |
Shipment Statuses | Captures delivery progress (partial/full) |
Cancellation Statuses | Used if canceled by either party or auto-rules |
Payment Statuses | All payment integration with PSP actions and events |
⚙️ Status Transition Logic
Status changes can be triggered by:
- Customer or supplier actions
- Admin operations via backoffice
- Data Hub jobs and or Webhooks from logistics or external systems
- Automated rules (e.g., timeout or rejection fallback)
All transitions are logged as events and auditable through the OMS.
🔁 Example Lifecycle Flow
flowchart TD A[Draft] --> B[Created] B --> C[Waiting Customer Approval] C -->|Approved| D[Waiting Supplier Approval] C -->|Declined| K[Declined By Customer] D -->|Declined| L[Declined By Supplier] D -->|Approved| E[Accepted By Supplier] E --> F[Waiting Shipment] F --> G{Shipped Fully?} G -- No --> H[Partially Shipped] G -- Yes --> I[Shipped] H & I --> J[Completed] A --> M[On Hold] M --> B B --> N[Canceled]
Updated 4 months ago