Inventory

Co je modul inventory

inventory je doména pro fyzický sklad, rezervace a obchodní dostupnost. Pokud si nejsi jistý, co přesně znamená "inventory", mysli na něj jako na vrstvu, která odpovídá na otázky:

  • co skutečně fyzicky máme,
  • kde to máme,
  • kolik kusů je rezervováno,
  • co umí dodat dodavatel,
  • jakou dostupnost máme ukázat zákazníkovi.

Hlavní entity

  • inventory_item
  • stock_location
  • inventory_level
  • inventory_reservation
  • supplier_availability
  • availability_text

Jak to funguje

1. Inventory item

inventory_item je fyzická skladová reprezentace varianty. Je navázaná 1:1 na product_variant.

2. Stock locations

stock_location říká, v jakých skladech nebo lokacích držíš zboží.

3. Inventory levels

inventory_level drží počet kusů pro kombinaci inventory_item + location.

Pole mají odlišný význam:

  • stocked_quantity = fyzicky naskladněno,
  • reserved_quantity = zablokováno pro objednávky,
  • incoming_quantity = čeká se na příjem.

4. Reservations

inventory_reservation je zdroj pravdy o rezervacích. Trigger přepočítává reserved_quantity do cache v inventory_level.

To je důležité: rezervace se nemá odvozovat jen z nějakého sloupce, ale z explicitních záznamů.

5. Supplier availability

supplier_availability popisuje, co umí dodat externí dodavatel. To není totéž co vlastní sklad.

6. Availability text

availability_text je obchodní nebo UX vrstva. Tady se ukládá text a display stav, který uvidí zákazník, např. "Skladem" nebo "Na objednávku".

Co z toho plyne

  • sklad != dostupnost,
  • rezervace != fyzický počet,
  • dodavatel != vlastní sklad,
  • zákaznický text != interní stock data.

Právě proto existuje inventory jako samostatný modul a není to jen jeden sloupec quantity.