> ## Documentation Index
> Fetch the complete documentation index at: https://docs.garmentflow.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Purchasing, receipts, and inventory

> How a purchase order becomes physical stock — and how that stock gates production and feeds finished-goods balances.

This page is the mental model for the material flow: how you buy materials,
record what actually arrives, and read what's on hand. The step-by-step tasks live
in the [Production module guide](/modules/production).

## From need to purchase order

Material buying starts from a real demand, not a guess. When you raise a
<Tooltip tip="The outsourcing document (委外) covering work sent to a factory; one factory order can span several orders and styles.">[factory order](/reference/glossary#factory-order)</Tooltip>,
its styles carry a BOM, and the BOM is the list of fabrics and trims those garments
need. A
<Tooltip tip="A purchase order (採購) sent to a supplier for fabric or trims.">[purchase order](/reference/glossary#po-purchase-order)</Tooltip>
(PO) is raised against that material need and sent to the supplier. POs separate
main materials (fabric) from trims, and each is numbered automatically in sequence.

## Receiving what actually arrived

When materials arrive, you record a
<Tooltip tip="Recording materials received against a purchase order into inventory.">[receipt](/reference/glossary#receipt)</Tooltip>
(收料) **against the purchase order line**. This is where planned meets actual: you
ordered one quantity, but you record the quantity that physically turned up. A
shipment can arrive in parts, so receipts accumulate — each delivery adds to what
has been received against that line, and there's no need to receive a PO all at
once.

Because a receipt is tied to a specific PO line, the system always knows *which*
material arrived and *against which order* — you can't accidentally receive
something that isn't on the PO.

## The inventory ledger

Every receipt posts to one running ledger of stock movements. Stock is never a
number you type in and maintain by hand — it's **calculated** from the movements:

```
Balance = receipts + returns − issues
```

Receiving materials adds to the balance; issuing them to a factory subtracts. The
<Tooltip tip="The on-hand stock balance, calculated from receipts and issues.">[inventory](/reference/glossary#inventory)</Tooltip>
view simply reads this ledger and sums it per item, so the balance is always
consistent with what was actually received and issued.

## Materials gate the start of production

Because the ledger knows what has truly arrived, it can protect the schedule. An
administrator can switch on a **material-arrival check**: when a factory order's
materials haven't all been received, starting that order's production is held back
and the shortfall is shown.

This is a guard, not a wall. When you need to proceed anyway — a receipt not yet
keyed, a tolerance you accept — you can override the hold by recording a reason,
which is kept for the record. It keeps the factory from cutting before fabric is in,
while leaving room for judgment.

## Finished goods are stock too

The same ledger tracks finished garments, not just raw materials. As completed
goods come in from the factory and later ship out, those movements post to the
ledger like any other. Finished-goods balances carry a **size breakdown**: the
quantity is captured per size at the moment goods are received and shipped — a
packing list is, after all, a per-size count — so you can read the on-hand balance
for a style down to each individual size.

## Related pages

* [Production module guide](/modules/production)
* [Order lifecycle](/concepts/order-lifecycle)
* [The readiness engine and AI](/concepts/readiness-engine-and-ai)
* [Shipments](/modules/shipments)
