Orders

Order statuses and lifecycle

Order statuses and lifecycle in Geins

The order statuses and lifecycle functionality defines how an order progresses from creation to completion, including handling exceptions such as backorders, refunds, or cancellations.

Each order is assigned a status that reflects its current state in the fulfillment and payment process.
Statuses can also be applied at the item level, providing detailed tracking for partial shipments and returns.

Order statuses are automatically updated based on system events such as fulfillment, refund, or cancellation, but can also be adjusted manually when needed.

Statuses and lifecycle

statusdescription
InactiveOrder exists in a “soft deleted” state.
PendingOrder created and awaiting processing.
BackorderOne or more items are out of stock.
On-holdOrder requires confirmation (can also be set later, for example after a failed capture/refund or manual review).
RefundedAt least one refund exists on the order.
CompletedAll items are fulfilled with no remaining actions.
PartialSome items are fulfilled with unfulfilled items remaining.
CancelledOrder is cancelled.

Typical flow

graph LR
  A[Pending] --> B[On-hold]
  A --> C[Backorder]
  A --> D[Completed]
  A --> E[Cancelled]
  A --> F[Refunded]
  B --> D
  C --> D
  B --> E
  C --> E
  D --> F

Common paths:

  • pending → completed (standard fulfillment)
  • pending → on-hold → completed (manual review required)
  • pending → backorder → completed (stock shortage resolved)
  • pending → cancelled (order cancelled before fulfillment)
  • pending → refunded or completed → refunded (refund processed)

Payment behavior

  • Payment captures are triggered automatically upon fulfillment.
  • Refunds or cancellations update the order status accordingly.

Item level statuses

Individual items within an order can also have their own statuses for more granular tracking:

  • ready
  • returned
  • shipped
  • cancelled
  • backorder
Item level statuses can be used for operational precision. For example, partially shipping an order or processing returns without affecting the entire order status.

Typical use cases

The order lifecycle functionality enables structured handling of order states across fulfillment, payment, and return flows.

1. Standard order processing

Track and manage the full lifecycle from order creation to fulfillment.

  • An order moves from pending to completed once all items are fulfilled.
  • Automatic payment capture is triggered when fulfillment is confirmed.

2. Managing exceptions

  • Orders automatically placed into on-hold for manual review after a failed capture, refund, cancellation or when matched by a fraud detection rule (order filter).
  • Orders automatically marked as backorder when stock runs out.

3. Partial fulfillment and returns

Support multi-step fulfillment and return workflows. Examples include:

  • Shipping available items first while others remain in partial status.
  • Processing returned items without changing the rest of the order.

Typedescription
FulfillmentUpdates order and item statuses upon shipment or completion.
Payment / captureAutomatically triggers payments when orders are fulfilled.
ReturnsAdjusts item or order statuses when products are returned.
InventoryReflects stock adjustments when orders are fulfilled or cancelled.
Related