Skip to main content
TWICE uses two related concepts on its core entities — Status and State — to track different aspects of where something is in its journey.

Quick Summary

Each entity (stock item, order, listing) defines its own status and state values — there is no universal Status that applies to everything. The table below shows what each entity uses.

Status and State by entity

  • Status controls whether the item can be assigned to new orders
  • State reflects whether the item is at hand or with a customer
Read more: Stock Item Status · Stock Item State

Why two dimensions?

Status answers a slow-changing question: “What kind of thing is this right now in its lifecycle?” State answers a fast-changing question: “What’s happening with this thing operationally?” Keeping the two separate lets you reason about each independently. A stock item with status Active can have state Out (rented to a customer), and both are valid at the same time. You can:
  • Filter by status to clean up your workspace (hide Inactive items, show only Active ones)
  • Filter by state to make operational decisions (which items are currently Out, which are In and ready for a new order)

Worked Examples

Stock Item

A bike rental shop has the same bike go through these combinations over time: Both the repair and the sale read Inactive, because the status tracks whether the item counts toward availability, not why it stopped counting. Record the reason as a note or a ledger entry on the item. Read more: Stock Item Status.

Order

Stock Item Status

Active, Inactive, Draft

Stock Item State

In vs Out — physical location

Order Lifecycle

Draft / Open / Active / Closed plus payment & fulfillment

Listings

Publishing status: Public / Draft

Archiving and Deletion

The lifecycle axis that sits beside status