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-location —
InventoryLocation+location_idon every movement. Migrationadd_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.