> ## Documentation Index
> Fetch the complete documentation index at: https://docs.aimventory.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Fulfillment lifecycle

> How AIM interprets channel order status from committed work through completion, cancellation, or attention — and where each channel differs.

Fulfillment lifecycle is AIM's view of what still needs to happen to an order: committed work that is still with the seller, work that has left for a channel or customer, completed work, cancelled or returned work, and work that needs attention. AIM keeps the channel's own order status as the source detail, then groups the current record into one operational stage. The stages are useful for queues and reporting, but they are not one universal set of steps shared by every channel.

## How it fits together

```mermaid theme={null}
stateDiagram-v2
    direction LR
    state "Current channel record" as source
    state "Pending" as pending
    state "In transit" as in_transit
    state "Completed" as completed
    state "Cancelled" as cancelled
    state "Attention" as attention

    source --> pending: paid or committed; not left merchant custody
    source --> in_transit: shipped, handed off, authenticating, or awaiting payout
    source --> completed: customer or marketplace fulfillment complete
    source --> cancelled: cancelled, returned, or refunded before fulfillment
    source --> attention: review, failure, invalid, suspended, unknown, or pre-commit
```

This is a classification diagram, not a promise that every order moves through every box in that order. A channel update can change the source record; AIM then classifies the current evidence. A status that AIM cannot safely interpret belongs in **Attention**, not in the pending queue.

## The objects and states

| Object or state                  | What it answers                                                                                                                     | What to keep in mind                                                                                               |
| -------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------ |
| Channel order or sale            | Which order was committed, on which channel, for which business, and with which native status.                                      | The channel status remains the source detail even when AIM shows an operational stage.                             |
| Operational stage                | Whether the current record is **Pending**, **In transit**, **Completed**, **Cancelled**, or **Attention**.                          | One record resolves to one stage; the original channel state is not erased.                                        |
| Reservation                      | Whether a named flow has committed a quantity and location, and what flow-specific fulfillment evidence exists for that commitment. | Reservations exist on some paths, not every sale.                                                                  |
| Inventory item                   | Which variant, condition, location, and quantity the flow addresses.                                                                | A reservation-backed flow changes Available and Reserved according to its own contract.                            |
| Inventory unit and cost evidence | Which physical unit and cost history a flow uses when the unit ledger is involved.                                                  | A unit normally changes disposition; it is not replaced with a synthetic unit just because an order changes state. |
| Tracking or label evidence       | Which tracking number, carrier, label URL, or label artifact AIM has for the order.                                                 | These fields are separate from the channel-native lifecycle status and are not universal across channels.          |
| Fulfillment surface              | Where an operator sees order, location, pick, pack, label, tracking, and status context.                                            | The available action depends on channel, current evidence, permission, and location access.                        |

## One example, carried through

Imagine a fictional StockX order for Harbor Kicks: one pair of “Harbor Blue” size 10, order `HB-2048`.

1. StockX reports **created**. AIM classifies the order as **Pending** because the order is committed but has not left the seller's custody.
2. Harbor opens the fulfillment surface and sees the order, location, ship-by context, and any pick, serial, tracking, or label evidence that exists. A pick action records pick evidence; it is not by itself a universal shipment or completion event.
3. If the source later reports **shipped**, AIM classifies the current source status as **In transit**. If the order later reports payout completion or another channel-complete status, AIM classifies it as **Completed**.
4. If the source instead reports an authentication failure, AIM places the order in **Attention**. That is a review state, not another name for pending work.

The example does not assume that a reservation was created, that a label was available, or that a status change restored or changed inventory. Those outcomes belong to the named channel and workflow that produced the evidence.

## What is always true

* **AIM preserves source detail.** A channel-native order status remains the durable detail; the operational stage is a shared interpretation for queue and reporting use.
* **The five stages answer different questions.** Pending is committed work still with the seller; In transit is work shipped, handed off, authenticating, or awaiting payout; Completed is complete; Cancelled covers cancellation, return, or refund before fulfillment; Attention is review, failure, invalid, suspended, unknown, or pre-commit work.
* **A reservation is not a universal prerequisite.** Some named Shopify-backed or manual paths create reservations; do not infer one from a marketplace sale merely because it is waiting to ship.
* **Reserved is not a second subtraction.** On a reservation-backed path, reserving lowers Available and raises Reserved. Fulfilling or releasing that same commitment lowers Reserved; subtracting Reserved from Available again double-counts it.
* **Picking, packing, shipping, pickup, payout, cancellation, return, and refund remain distinct events even when a channel collapses some of them into one status.** A queue action may update physical-work evidence without changing the source lifecycle status.
* **Labels and tracking do not define one universal transition.** A label can be available before the channel reports shipment, and a tracking number can be stored separately from the native status. Use the channel's status and the appropriate surface together.
* **Cancellation is not an automatic restoration promise.** A cancelled, returned, or refunded stage does not by itself say whether an existing unit was restored, held for a physical return, released from a reservation, relisted, or left for review. Follow the named channel and inventory path.

<Warning title="Do not read the stage as a pick-pack-ship recipe">
  Fulfillment lifecycle explains what AIM believes the current order evidence means. It does not replace the channel-specific work surface, inventory reservation rules, or any required scan and verification step.
</Warning>

## Where the channels differ

| Channel or order type                                              | Pending                                                                               | In transit                                                    | Completed or cancelled                                                                                                                                                                   | Operational difference to remember                                                                                                                                                                                                         |
| ------------------------------------------------------------------ | ------------------------------------------------------------------------------------- | ------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **StockX**                                                         | Created                                                                               | Shipped, received, authentication, and awaiting-payout states | Completed or payout-complete states; cancel and did-not-ship states are cancelled; auth/payout failures need attention                                                                   | StockX label retrieval has standard and 4x6 thermal forms when the order supports them. A label or tracking value is separate from the lifecycle classification.                                                                           |
| **GOAT/Alias**                                                     | Sold, confirmed, and label-generated states                                           | In transit                                                    | Completed states; marketplace or buyer cancellation is cancelled; review, seller-action, and invalid states need attention                                                               | GOAT can advance its external status to in transit while AIM still exposes the order to a physical pick/pack rule. Alias label retrieval is its own provider path and can reuse cached label data.                                         |
| **eBay**                                                           | Confirmed; a sold order that is not yet paid is attention                             | Shipped                                                       | Completed or cancelled according to eBay fulfillment and cancellation state                                                                                                              | eBay's mapping uses fulfillment status, payment status, and cancellation state. Do not carry StockX or GOAT label assumptions into it.                                                                                                     |
| **Shopify retail and TikTok**                                      | Paid or authorized and unfulfilled, ready for pickup, or awaiting a location decision | Channel-specific shipped states, when present                 | **fulfilled** or linked fulfilled truth is completed; cancellation, return, or linked unfulfilled cancellation/void/refund is cancelled; other non-final financial states need attention | Linked Shopify order truth can correct a stale pending-looking order record. Split fulfillment orders can map different lines to different AIM locations. Partial orders remain pending unless line-level durable truth proves completion. |
| **Depop, Stadium Goods, Manual, Square, Whatnot, and other sales** | Each channel's created or shipping-pending states are mapped explicitly               | The channel's shipped state, when provided                    | Completion and cancellation/return/refund are mapped only where the source supplies them                                                                                                 | Unknown or unsupported statuses are Attention. Do not borrow a neighboring channel's transition or inventory timing.                                                                                                                       |

## Recovery and custody boundaries

The lifecycle stage is a signal for what to inspect next, not a guarantee that AIM can reverse the order with one click.

### Shopify stale status

For a Shopify-backed order that still looks pending in AIM, linked Shopify fulfillment and financial truth can classify it as completed, cancelled, pending, or attention. That read-time correction keeps stale rows out of the wrong queue; it does not replace the status-sync repair path. Historical status review is bounded and dry-run by default, and fully refunded orders remain owned by refund/return handling rather than inventing a restock from an order update.

### Labels and tracking

The desktop and mobile fulfillment surfaces expose the order's tracking or label evidence when it exists. Current label retrieval is channel-specific: StockX can return its supported document formats, while Alias/GOAT has its own order and cached-label path. An authentication, unavailable, unsupported, or upstream error is a provider outcome to investigate; this page does not promise a universal retry, label, or shipment result.

## Where you see this in AIM

* **Fulfillments** — the desktop worklist shows the order, channel, ship-by context, location, pick sublocation or serial, tracking, native status, and the actions available for that row. Filters can narrow the list by channel, status, location, credential, search text, dates, and order value.
* **Mobile Fulfillment** — a marketplace-focused queue for reviewing status, location, ship-by context, and the label paths supported by StockX and GOAT/Alias.
* **Pick Mode** — location-scoped physical picking. A scan or manual pick records pick evidence; it does not by itself make the sale fulfilled.
* **Pack Mode** — StockX/Alias packing and final verification. Depending on the chosen confirmation mode, tracking and/or a serial or item barcode must match before the sale is marked fulfilled.
* **Scanning Mode** — location-scoped barcode work that can match a serialized unit or item to an unfulfilled sale and record fulfillment.
  Floor operations use separate Pick, Pack, and Scanning permissions, and location access is checked for the work being performed. A user may be able to read an order in one surface without being authorized to perform every physical operation on it.

## Common misconceptions

**“Every order moves through pending, picked, packed, shipped, and completed.”** No. Those are different kinds of evidence. AIM groups the current channel record into one operational stage, while reservation and floor evidence exist only on the paths that implement them.

**“Label generated means shipped.”** No. GOAT/Alias label-generated is still pending in the lifecycle mapping, and label data is stored separately from the native status.

**“Picked means fulfilled.”** Not by itself. Pick Mode explicitly records pick evidence without changing the sale's fulfilled status. Pack confirmation and other scanning paths have their own verification rules.

**“A tracking number is proof that the order is in transit.”** Not universally. Tracking is operational evidence attached to a sale; the channel-native status remains the lifecycle source.

**“Every sale has a reservation.”** No. Reservation-backed named flows must not be generalized to every marketplace or POS sale.

**“A cancelled order always restores and relists inventory.”** No. Restoration depends on the named channel path, whether a reservation or unit was actually consumed, and whether the physical item is back. Some cancellations require a pending physical decision.

**“In transit means the warehouse queue is finished.”** Not always. GOAT's external in-transit state can remain eligible for a separate physical packing rule.

## Related

* [Sales, reservations, and allocation](/understand/sales-reservations-and-allocation) — how an order can connect to reservations, inventory units, cost evidence, and flow-specific restoration.
* [Product, inventory, listing: what each one is](/understand/product-inventory-listing) — the objects behind a physical unit and the channel listing or quantity.
* [How the inventory numbers fit together](/concepts/inventory-numbers) — why Available and Reserved are different numbers, and why channel sellability differs.
