Skip to the content
Documentation
Help Start
Reading in:
  • German: 9,059 of 9,059 pages
About the help in other languages
All help pages

Order lifecycle operations

The life of an Exponential order as a process you can operate - from temporary order to archive, the seventeen shipped statuses grouped by stage, which count as open, finished or without revenue, three example…

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/help/e-commerce/orders/order-lifecycle-operations.md

On this page

Order lifecycle operations

This page is for merchants and store managers who design how orders move through an Exponential store, and for developers who build on it. It turns the seventeen shipped statuses into processes you can adopt, and explains what each status means for the dashboard's "open" orders and revenue.

Contents

  1. The stages
  2. What a status means to the system
  3. Three example processes
  4. Custom statuses
  5. Who moves the order
  6. A status process worksheet

The stages

StageWhat happensStatuses
CheckoutTemporary order, not yet visible(Pending, internal)
PlacedActivated, numbered, mailedPending
PaymentWaiting for, receiving or failing paymentAwaiting payment, Paid, Payment failed
FulfillmentPreparing and sendingProcessing, On hold, Backordered, Packed, Shipped, Ready for pickup
EndFinished one way or anotherDelivered, Completed, Cancelled
After the endReturns and refundsReturn requested, Returned, Partially refunded, Refunded
ArchiveOut of the order list, kept for recordsany status, archived flag set

The temporary stage is described in Temporary orders and activation.

What a status means to the system

eZOrderStatus (kernel/classes/ezorderstatus.php) has three helper lists that the Store dashboard uses (Store dashboard and order statuses):

HelperStatusesEffect on the dashboard
finishedStatusIDs()Delivered, Completed, Cancelled, Partially refunded, RefundedNo longer an open order
noRevenueStatusIDs()Payment failed, Cancelled, RefundedCounted as orders, not in revenue, average or top products
waitingForCustomerStatusIDs()Pending, Awaiting payment, Payment failed, Ready for pickupHighlighted after the shorter waiting limit

So the choice of status is not cosmetic: an order left in Shipped stays "open" forever, and a refund recorded as Completed still counts as revenue.

Three example processes

Small parcel store

Pending -> Paid -> Packed -> Shipped -> Completed
                 \-> On hold (problem) -> Packed
Payment failed -> (customer retries) or Cancelled

Click and collect

Pending -> Paid -> Processing -> Ready for pickup -> Completed

Made to order with returns

Pending -> Awaiting payment -> Paid -> Processing -> Backordered -> Shipped -> Delivered
Delivered -> Return requested -> Returned -> Refunded or Partially refunded

Which status payment sets depends on the gateway: with ezpaypal it is paypal.ini [OrderSettings] PaymentMadeOrderStatusID (PayPal payments). Returns are handled as described in Returns and refunds.

Custom statuses

Statuses with an id below 1000 are internal and cannot be removed; custom statuses start at 1000. Create them in Store > Order status (shop/status, policy shop/edit_status). A custom status is not in any of the three helper lists, so the dashboard treats it as open and as revenue. Use one when you need a step the shipped list does not have, for example "Waiting for engraving", and not to rename a shipped meaning.

Who moves the order

ChangeUsually made by
Pending to PaidThe payment gateway, automatically
Paid to Packed, ShippedPacking staff, by hand
Shipped to CompletedStore manager, by hand, after delivery or a fixed period
To Cancelled, RefundedStore manager or owner, after the money side is settled

Every change is recorded in ezorder_status_history with the user and time, and, with the audit trail active, as commerce.order.status (Commerce audit trail). Who may make which change is set by policy (Status transitions and permissions). Automatic status changes other than the gateway's need an event or script of your own.

A status process worksheet

QuestionYour answer
Which status does payment set?
Which statuses do packing staff set?
When is an order Completed?
Who may cancel, and only before which status?
Which statuses mean "after the end"?
When are orders archived?
Which custom statuses, if any?

Become an Exponential Partner

Partners share their information, provide funding, contribute back and develop the products with us, and that is how Exponential grows. A partner website and dashboard are planned for mid-2027: please become a partner today to speed up our growth rate and land new features faster.

Something wrong on this page? Report an error

Documentation license

This documentation is free documentation, licensed under the GNU Free Documentation License 1.3 or later.

Exponential Copyright © 1998-2026 Exponential Foundation and 7x