App. Docs
Stock
The atomic inventory record. Tracks quantity, status, expiry, notes, and custom fields for a specific Variant (or bundle via Combination) at a Location.
Setup
- On product/variant tables, click the Quantity or Available pill to open the stocks list.
- The list shows AVAILABLE and ON_ORDER stocks with quantity > 0 by default. Use toggles to include quantity 0 and UNAVAILABLE statuses.
- From the list, click “Add Stock” to create a record. Choose a Status, set quantity, optional expiry and note, and select the Location.
- Save. Orders, returns, receipts, and adjustments will maintain these stocks automatically.
Attributes
stock.schema.ts
1type Stock = {
2 // Identity & audit
3 id: string; // uuid
4 modifiedAt?: Date;
5 modifiedById?: string; // uuid
6 modifiedByEmail?: string;
7 modifiedByEndpoint?: string;
8
9 // Company scoping
10 companyId: string; // uuid
11 company: Company;
12
13 // Core quantities and context
14 quantity: number;
15 expires?: Date;
16 note?: string;
17 customFields?: Json; // user-defined fields
18
19 // Relations
20 orderItem?: OrderItem | null;
21 statusId: string; // uuid
22 status: StockStatus; // e.g. available, reserved, damaged, inbound
23 variantId: string; // uuid
24 variant: Variant; // stock is tracked at variant level (or combination via variant)
25 locationId: string; // uuid
26 location: Location; // where the stock physically or virtually resides
27}
Inventory Flow
Adjustments
Manual corrections for shrinkage, audits, or reclassification between statuses and locations.
Orders & Reservations
Sales create reserved stock; shipments decrement available quantity. Returns add back to appropriate status.
Expiry & Short-Dated
Use expires
plus variant-level thresholds to flag short-dated stock for actions like discounts.
Locations
Move stock between bins, rooms, or warehouses by editing the location on a stock record.
Statuses
Common statuses include AVAILABLE, ON_ORDER, and UNAVAILABLE. Configure custom statuses per company to match your operations. See Stock Status for types and sequencing.