Skip to content

Core Inventory Model

Skunivo treats PostgreSQL-backed inventory records as the source of truth. The app exposes operational workflows, while the ledger explains how stock changed.

Most inventory state is understood through a combination of product, location, environment and optional inventory segments such as owner and channel.

Balances can include:

  • onHand: physical or controlled stock currently held.
  • available: stock that can be reserved or used.
  • reserved: stock held for a reservation.
  • committed: stock committed to outbound fulfillment.
  • incoming: expected stock that has not been received yet.
  • damaged: stock separated because it is damaged.
  • qualityControl: stock waiting for inspection.
  • safetyStock: stock protected from normal availability.

Every critical inventory change should create a movement. Corrections are made with compensating movements instead of editing historical movements.

  • Receive stock to increase on hand and available quantities.
  • Adjust stock for counted differences or corrections.
  • Reserve stock to hold available inventory.
  • Transfer stock between locations.
  • Use inbounds for expected receiving.
  • Use outbounds for fulfillment demand.