---
title: Product types and stock modes
summary: >
  Every product carries two independent settings. Its type — physical,
  assembled or service — decides whether it has a parts list and whether it
  holds stock at all. Its stock mode — ready stock, on demand or hybrid —
  decides what happens once stock reaches zero. Neither setting implies the
  other, and neither is the display category your storefront shows shoppers.
type: concept
group: make
step: 4
permission: null
prerequisites: []
related:
  - /help/make/the-three-numbers-of-a-built-product
  - /help/fulfil/when-stock-actually-moves
  - /help/sync/how-stock-reaches-your-channels
last_updated: 2026-08-07
---

**Two dials, not one.**

Think of a bakery counter. One question is *what is this thing made of* — a
single loaf, or a gift box holding six of them, or an hour of a decorator's
time. A completely different question is *how do we handle it when the shelf
is empty* — turn the customer away, or bake a fresh one.

Those two questions have nothing to do with each other. A loaf can be
made fresh; a gift box can sit ready-made. Mossery keeps them as two separate
settings on every product, and getting them straight is the difference between
a catalogue that behaves and one that quietly sells things you cannot ship.

This page covers:

- [What each setting answers](#what-each-setting-answers)
- [The three product types](#the-three-product-types)
- [The three stock modes](#the-three-stock-modes)
- [The two settings combined](#the-two-settings-combined)
- [Why they have to be separate](#why-they-have-to-be-separate)
- [Neither one is the display category](#neither-one-is-the-display-category)

## What each setting answers

One describes the thing. The other describes the promise you make about it.

- **Product type** answers: does this have a parts list, and does it ever hold stock?
- **Stock mode** answers: when stock is zero, can this still be sold?

Every product has exactly one of each. Change one and the other stays put.

## The three product types

The type decides whether a parts list exists.

**Physical.** A thing you can pick up and count. Raw material, packaging, or
a finished good you buy or make in one piece. It has no parts list. Its stock
is tracked directly, and the number on the shelf is the number in the app.
Sheets of paper, boxes, ribbon, a single notebook.

**Assembled.** A thing built from other things. It carries a parts list — a
bill of materials — naming each component and how many of it one unit needs.
When you build a batch, those components are consumed and finished units
appear. A gift set holding a notebook, a pen and a card is assembled.

**Service.** Work rather than goods, usually bought from an outside supplier:
cutting, stamping, binding, design. It **never enters stock**. You order it on
a purchase order and mark it delivered rather than receiving it into a
location, because there is nothing to put on a shelf. A service can still
appear inside another product's parts list — a stamped cover lists the
stamping service alongside the board it is stamped onto.

## The three stock modes

The mode decides what zero means.

**Ready stock.** Stock must exist before this can be sold. At zero, it is sold
out. Use this for anything you hold on a shelf and replenish by ordering or
building ahead.

**On demand.** No stock is held, ever. The item is made, printed or assembled
after the order arrives. Zero is the normal resting state, not a problem, so
the storefront keeps selling.

**Hybrid.** Sell from stock first, then keep selling once it runs out. You hold
a buffer of finished units for speed, and fall back to making more when the
buffer empties. This is the mode for a popular item you pre-build in batches
but would never refuse an order for.

On demand and hybrid both carry a plain consequence: an order can land with no
finished units behind it, so somebody has to make it. That is why the app marks
those products as production-required rather than treating zero as an error.

## The two settings combined

Any type can take any mode. The grid below reads across.

| | Ready stock | On demand | Hybrid |
| --- | --- | --- | --- |
| **Physical** | Held on a shelf, sold until it runs out | Made or printed per order, no stock kept | Buffer held, production covers the rest |
| **Assembled** | Built ahead in batches, sold from finished units | Never pre-built; the order consumes the components | Finished units go first, then components cover the shortfall |
| **Service** | Not used — a service holds no stock, so it is always on demand | The only valid mode | Not used, same reason |

The service row is the one exception, and the app enforces it: saving a service
product forces its mode to on demand, because a thing that never enters stock
cannot have a stock buffer.

The assembled row is where the combination does real work at fulfilment:

- **Assembled and ready stock** — the order reserves and deducts the finished product itself. Components are untouched.
- **Assembled and on demand** — there are no finished units, so the order reserves and deducts the *components* instead.
- **Assembled and hybrid** — finished units are used first, up to what is on hand at that location, and only the shortfall is taken from components.

None of that is special-case code. It falls out of reading the two settings
together, which is exactly why they are two settings.

## Why they have to be separate

Collapse them into one field and you lose combinations you actually sell.

If "has a parts list" also meant "never held in stock", you could not pre-build
a gift set for a busy season. If "made to order" also meant "assembled", a
printed item with no parts list would have nowhere to live. Every real
catalogue has a made-to-order single item and a pre-built kit somewhere in it,
and a single field cannot describe both.

The separation also decides what your storefront is told at zero. A ready-stock
product is pushed out as sold out when it hits zero. An on-demand or hybrid
product is allowed to keep selling below zero, because zero is not a shortage —
it is the design. Set the mode wrong and a made-to-order product goes dark on
your storefront while you are perfectly able to make it.

## Neither one is the display category

There is a third field that looks similar and must never be used for either job.

Your storefront has its own product category — the free-text label a shopper
sees, like "Notebook" or "Gift set". It is a merchandising field. It is often
blank on raw materials and components, because nobody browses for those.

**Never let that label drive stock behaviour.** Two products in the same
storefront category can be one physical and one assembled, one ready stock and
one on demand. The label describes how a product is shelved in a shop window.
The two settings on this page describe how it moves through your inventory,
and only they should ever be read to decide what happens to a number.

## Explore

**The three numbers of a built product.** Once a product is assembled, its stock
is three figures rather than one, and this is where they come from.
[Learn more →](/help/make/the-three-numbers-of-a-built-product)

**When stock actually moves.** Modes decide whether a sale is possible; fulfilment
decides when the units are actually deducted.
[Learn more →](/help/fulfil/when-stock-actually-moves)

**How stock reaches your channels.** The mode you pick here is mirrored to your
storefront as whether it may keep selling at zero.
[Learn more →](/help/sync/how-stock-reaches-your-channels)
