Skip to main content
Version: v1.0.0

Modules

A module is an operational capability — a kind of record that does something, moves stock, and progresses through a lifecycle. Where master data is the set of stable nouns, modules are the verbs: placing a purchase order, producing finished goods, shipping a sale.

The defining idea of the Pharus architecture is that each module is independent. Each one has its own lifecycle and its own well-defined effect on inventory. You can adopt a module on its own, and you can combine modules in different ways depending on how your business runs — that's what the Pipelines section is about.

Orders

The four order modules each represent a commitment that plays out over time.

ModuleIn one line
Purchase OrdersBuy materials or finished goods from a vendor
Work OrdersSend materials out for contract assembly and get products back
Production OrdersSubcontract full manufacturing of a product
Sales OrdersCommit to ship products to a customer

Inventory

The inventory modules are the running record of stock.

ModuleIn one line
Materials InventoryThe ledger of raw-material stock
Finished Goods InventoryThe ledger of product stock
Inventory TransfersMove stock between locations

How modules touch inventory

Every order module ultimately writes to one or both inventory ledgers. Rather than flipping a single stock number, each event is appended as a ledger entry, and the current position is derived by summing those entries. The vocabulary is shared across modules:

  • ORDER — quantity placed but not yet received (an expectation).
  • RECEIVE — stock arriving into a location.
  • DEMAND — quantity committed out (a customer order, a production input).
  • ALLOCATE — committed quantity set aside for a specific job.
  • CONSUME — stock actually used up or shipped.
  • PRODUCE — finished goods created by a work or production order.
  • TRANSFER, ADJUST, DISPOSE — manual movements and corrections.

Each module's page spells out exactly which of these it writes and when. The inventory pages explain how the events sum into on-hand, on-order, demand, and allocated positions.

Everything here is reachable through the REST API and the MCP server.