# Commerce

URL: /systems/commerce · Id: `system:commerce`

> Commerce is the opt-in System for Startups that sell physical goods by dropship: catalog, Orders, upstream fulfillment and shipment tracking.

Commerce sells physical goods by dropship: the catalog, each [Order](/business/nouns/order), routing to the upstream supplier, and tracking passed through to the buyer. The supplier holds the stock and ships it; the [Startup](/business/nouns/startup) never holds stock.

## Summary
| Part | This System |
| --- | --- |
| Group | Commerce and fulfillment |
| Status | Beta: it works, and its Verbs may still change |
| Shelf | Reference: documented, never offered first |

You can ask:

- “Sell physical products”
- “Ship this order”
- “Which orders still need to ship?”

## What you get
| Part | This System |
| --- | --- |
| Starts | Opt-in: it wakes with the Product Templates that need it ([Dropship store](/products/templates/dropship-store)). |
| Built from | [Payment rails](/systems/finance/payments), [Integrations](/code/platform/integrations), [Database](/code/platform/capabilities/database), [Workflows](/code/platform/workflows) |

## Nouns it owns
| Noun | Definition |
| --- | --- |
| [Order](/business/nouns/order) | An Order is a Customer’s commitment to buy one or more Offers once, moving from placed to paid, fulfilled, and closed. |

## Verbs
| Verb | Object | Approval | Event |
| --- | --- | --- | --- |
| [Order.place](/business/nouns/order/place) | [Order](/business/nouns/order) | None | [`Order.placed`](/business/events/Order.placed) |
| [Order.fulfill](/business/nouns/order/fulfill) | [Order](/business/nouns/order) | None | [`Order.fulfilled`](/business/events/Order.fulfilled) |

## Events
| Direction | Event | How |
| --- | --- | --- |
| Emits | [`Order.placed`](/business/events/Order.placed) | By [Order.place](/business/nouns/order/place) |
| Emits | [`Order.fulfilled`](/business/events/Order.fulfilled) | By [Order.fulfill](/business/nouns/order/fulfill) |
| Consumes | [`Order.paid`](/business/events/Order.paid) | Acts on it |

## States
The lifecycle of an [Order](/business/nouns/order):

| State | Meaning | Moves to |
| --- | --- | --- |
| `placed` (first) | The Customer committed, with the Offer Version and price fixed; nothing is charged yet. | `paid` by [Order.pay](/business/nouns/order/pay); `canceled` by [Order.cancel](/business/nouns/order/cancel) |
| `paid` | Its amount is settled and its Entries posted; a Service Order’s work runs in `fulfillment`. | `fulfilled` by [Order.fulfill](/business/nouns/order/fulfill); `closed` by [Order.confirm](/business/nouns/order/confirm); `canceled` by [Order.cancel](/business/nouns/order/cancel); `refunded` by [Order.refund](/business/nouns/order/refund) |
| `fulfilled` | What it bought is granted: Entitlements for software and data, or a shipment for goods. | `closed` by [Order.confirm](/business/nouns/order/confirm); `refunded` by [Order.refund](/business/nouns/order/refund) |
| `closed` | The Customer signed off, which earns the Startup its fee. | `refunded` by [Order.refund](/business/nouns/order/refund) |
| `canceled` | Ended before fulfillment, with any payment returned in full. | None: it ends here. |
| `refunded` | Its payment returned in full, with the reversing Entries posted; a partial refund keeps its state. | None: it ends here. |

## Who operates it
| Part | This System |
| --- | --- |
| Accountable | [Operations Lead](/agents/operations/operations-lead) |
| Team | [Operations Team](/agents/operations) |
| Seat | A role agent holds it until a Human is seated. |
| Autonomy | `supervised` |
| Also calls its Verbs | [Delivery Manager](/agents/operations/delivery-manager) |

## Approvals and limits
None.

## Processes that use it
| Process | How it uses it |
| --- | --- |
| [Delivery](/workflows/processes/delivery) | A step calls [Order.fulfill](/business/nouns/order/fulfill) |
| [Shipping](/workflows/processes/shipping) | Runs on it |

## Rail underneath
Stripe’s products (Stripe’s names): **Payments**, **Checkout**.

## Views and dashboards
| View | Shows | Metrics |
| --- | --- | --- |
| The [Operations Lead](/agents/operations/operations-lead)’s view | The Metrics its accountable Role answers for. | [Liquidity](/agents/operations#liquidity) |

## Access
What each Access level may call here.

| Access level | May call |
| --- | --- |
| `owner` | Every Verb (6) |
| `admin` | Every Verb (6) |
| `member` | Every Verb (6) |
| `viewer` | Read only (2 of 6) |

## Import and export
None.

## Fees and pricing
Each Order’s charge carries one platform fee, withheld before the money reaches the balance, the same as any other charge.

## Availability and limits
| Part | This System |
| --- | --- |
| Status | Beta: it works, and its Verbs may still change |

## Compliance notes
The platform records each Order and its fulfillment; product safety and shipping rules stay the founder’s.

Controls it carries:

- [Boundary protection](/systems/trust-and-governance/controls/boundary-protection)
- [Upstream review](/systems/trust-and-governance/controls/upstream-review)
- [Point-in-time recovery](/systems/trust-and-governance/controls/point-in-time-recovery)
- [Processing definitions](/systems/trust-and-governance/controls/processing-definitions)
- [Action completion](/systems/trust-and-governance/controls/action-completion)

## Related Systems
- [Billing](/systems/billing)
- [Supplier onboarding](/systems/supplier-onboarding)
- [Listings](/systems/listings)
- [Matchmaking](/systems/matching): also holds [Order](/business/nouns/order)

## Example
A [Dropship store](/products/templates/dropship-store) selling standing desks to [b2c](/business/motions/b2c) buyers takes an Order at 9pm. Commerce routes it to the supplier with the address and the paid total, and sends the buyer the tracking number by morning. A shipment late past its promised date opens a [Task](/business/nouns/task) for the [Operations Lead](/agents/operations/operations-lead) [Agent](/business/nouns/agent).