Unknown Inventory Is Not Zero

The WEOUR OS principle that uninitialised and unreported inventory is not the same as zero, and why observed inventory is never central inventory.

This is the rule that shapes more of WEOUR OS than any other, so it gets its own note.

NOT_INITIALIZED
The system has never been told what is here
NOT_REPORTED
A source that normally reports has not reported
ZERO
We know, from a specific source at a specific time, that the amount is none
Observed inventory
What a channel or warehouse reported, kept as evidence
Central inventory
What WEOUR has decided the truth is, after reconciliation

These are five different things. Systems that collapse them into one column are not simpler — they are just unable to tell you why a number is what it is.

Why "unknown" must not become "zero"

Zero is a claim. It says a countable quantity is none. When the system has no information, writing zero makes an unknown fact look like a known one, and every downstream decision inherits the lie:

  • A storefront marks an item unavailable because a report failed, not because the item is gone.
  • A replenishment rule fires on a phantom shortage.
  • A reconciliation report shows a difference that is really a missing source, and the team spends a day chasing nothing.

None of this looks like a bug. It looks like normal data.

How we represent it

An unset inventory state is stored as an explicit state, not as a number. States are part of the model:

  • NOT_INITIALIZED — the record exists, and no source has ever provided a value.
  • NOT_REPORTED — a source is expected to report and has not yet, or has failed.
  • A numeric value — an actual claim, always attached to its source and its observed time.

The display layer is allowed to be friendly. The storage layer is not allowed to guess.

Observed inventory is not central inventory

The second half of the principle is that observations never become the ledger by accident.

Every marketplace and every warehouse reports something, and those reports answer different questions at different moments. Observed inventory is what we were told. Central inventory is what WEOUR has decided, after reconciling the observations, the physical counts, and the known gaps.

Keeping that boundary explicit is what makes multi-store selling honest: five stores can each report what they see without any of them silently rewriting what WEOUR owns.

What it costs, and why we pay it

This principle is inconvenient. It means more states, more explicit handling, and fewer places where a default value can quietly fill a hole. It means dashboards have to say "unknown" instead of showing a reassuring zero.

We pay that cost because the alternative is an operating system that is confidently wrong. A commerce OS earns trust by knowing what it does not know — and by saying so in the database, not only in the interface.

NOT_INITIALIZED ≠ 0. NOT_REPORTED ≠ ZERO. Observed inventory is not central inventory.

WEOUR / BUILD

Take part in the build

If you are dealing with real cross-border commerce, inventory, warehouse, fulfilment or automation problems, tell us what you need.

Share your requirement Follow WEOUR / community channel — coming later