Skip to content

Inventory upgrades

For retail / distribution PYMES. The current inventory model is single-location, derivable-from-events, single costing strategy. These items close the gaps that matter most.

Related code: app/graphql/items/, app/graphql/inventories/.

Items

  • Barcode workflow (phone camera, no scanner gun needed).
  • Acceptance: scan-to-add on invoice / PO receipt / stocktake screens; barcode field on Item + alt UoMs.
  • Stocktake / inventario físico with variance JE.
  • Acceptance: start a stocktake → freeze counts at T0 → count → close with auto JE to Inventory Adjustment.
  • Reorder point alerts ("Coca-Cola 600ml below 24 units").
  • Acceptance: per-item min/max; nightly job emits notifications via configured channel (email/WhatsApp/in-app).
  • POS-lite "Vender" mode for storefront sales.
  • Acceptance: single-tap UI: select items, payment method, print receipt; end-of-day Z report with cash-drawer reconciliation.
  • Bill of Materials for kits / manufacturing.
  • Acceptance: kit item composed of N components; selling the kit consumes components; manufacturing mutation to assemble.
  • Inter-location transfer order with in-transit balance.
  • Acceptance: ship from A → receive at B; in-transit balance during the gap.

Shipped

  • Multi-locationInventoryLocation + location_id on every movement. Migration add_inventory_dimensions (2026-05-21). See Inventory Dimensions.
  • Lot / serial / fecha de vencimiento tracking — opt-in per item via trackingMode. Same migration.
  • Costing strategy per item (FIFO / LIFO / Average) — opt-in via costingMethod. Same migration.