Interactive Demo
Warehouse, Inventory & Production Planning
All transactions are live — stock movements, lot tracking, and journal entries update in real time via Supabase. Use the sidebar or the cards below to navigate between modules.
Procurement
Raise purchase orders against supplier catalogues with lead-time-based delivery estimates. Receive goods against a PO with line-level quantity variance tracking, or use blind receipt mode to receive without a PO — just select a product and enter a quantity. Assign storage locations and lot numbers during put-away, with dock-to-stock elapsed time shown per item.
Inventory
Inventory overview shows every SKU broken out by storage location, with days at location, work order demand, inbound PO quantities, unshipped customer orders, and a net available figure — all on one screen. Post physical count adjustments with reason codes; only rows with a variance are posted.
Production
Create work orders with a full ATP check: the bill of materials availability table factors in on-hand stock, planned output from open work orders finishing before your start date, and outstanding inbound POs arriving before your start date. Complete orders by confirming actual material consumption, surplus returns, and finished goods receipt — all posted atomically.
Sales
Capture customer orders for future delivery dates. When shipping, each line shows total on-hand availability alongside an OK or Short status badge, with a warning banner for any shortfalls. Select lots manually or leave on FIFO auto-selection. Every confirmed shipment posts COGS and revenue journal entries in a single transaction.
Inventory Signals
Qty committed to open work orders via bill of materials
Outstanding qty from sent or partially received purchase orders
Ordered by customers but not yet shipped
Net Available = on hand + inbound PO − WO demand − customer ordered. Production ATP and shipment checks both respect your scheduled dates.
Data model: 18 Supabase tables · 3 suppliers · 3 customers · 10 products · 2 warehouses · lot-tracked movements. All writes go through the post_stock_movement RPC for atomic inventory and double-entry journal updates.