Inventory & Warehousing
Inventory Item
An Inventory Item represents a product or SKU tracked in the system. Each item has a name, SKU, and quantity-on-hand tracked across one or more warehouses.
Key fields
| Field | Type | Description |
|---|---|---|
id | UUID | Primary key |
organization_id | UUID | Owning tenant |
name | text | Product name |
sku | text | Stock-keeping unit (unique per org) |
barcode | text | Barcode value |
quantity_on_hand | integer | Current stock level |
reorder_point | integer | Threshold to trigger reorder alert |
unit_cost | numeric | Cost per unit |
category | text | Product category |
image_url | text | Product image |
metadata | jsonb | Additional attributes |
Warehouse
A Warehouse is a physical or logical storage location. Each organization can have multiple warehouses.
Key fields
| Field | Type | Description |
|---|---|---|
id | UUID | Primary key |
organization_id | UUID | Owning tenant |
name | text | Warehouse name |
address | text | Physical address |
is_default | boolean | Whether this is the default warehouse |
Bin / Location
A Bin (or location) is a specific storage position within a warehouse (e.g., aisle-shelf-bin). Bins enable precise item placement and efficient pick routes.
Key fields
| Field | Type | Description |
|---|---|---|
id | UUID | Primary key |
warehouse_id | UUID | Parent warehouse |
name | text | Bin label (e.g., A-03-12) |
zone | text | Warehouse zone |
capacity | integer | Maximum items |
Stock Movement
A Stock Movement records any change in inventory quantity. Every inbound receipt, outbound shipment, adjustment, or transfer creates a movement record for auditability.
Movement types
| Type | Description |
|---|---|
inbound | Goods received (purchase order, return) |
outbound | Goods shipped (order fulfillment) |
adjustment | Manual correction (cycle count variance, damage) |
transfer | Movement between warehouses or bins |
Key fields
| Field | Type | Description |
|---|---|---|
id | UUID | Primary key |
inventory_item_id | UUID | Affected item |
warehouse_id | UUID | Warehouse |
movement_type | text | Type of movement |
quantity | integer | Quantity moved (positive for inbound, negative for outbound) |
reference_id | UUID | Related order/PO/adjustment ID |
notes | text | Reason or description |
created_by | UUID | User who recorded the movement |
created_at | timestamptz | When the movement occurred |
Purchase Order
A Purchase Order (PO) tracks goods ordered from suppliers. When goods arrive, PO receipt creates inbound stock movements.
Supplier
A Supplier (or Vendor) is a company you purchase inventory from. Tracked in the suppliers or vendors table.
Related tables
| Table | Purpose |
|---|---|
inventory_items | Product/SKU records |
warehouses | Warehouse definitions |
warehouse_bins | Bin/location records |
stock_movements | Quantity change log |
purchase_orders | Purchase orders |
po_items | PO line items |
suppliers / vendors | Supplier records |