Inventory
Zapasy i magazyny
Do czego służy
Describe warehouses and locations, record stock levels and log stock moves. Quantities are entered by people, so it works as a ledger of what was counted and moved rather than an automatic stock engine.
Co pakiet robi, a czego nie robi
Warehouses, stock locations, stock levels and stock moves. Validating a move takes the quantity out of the stock item at the source location and adds it to the item at the destination, in one step; an item that does not exist yet is created. There is one item per product, location and lot. Negative quantities are allowed, as for virtual locations such as suppliers.
Szczegóły modułu
- Wersja:
0.3.0 - Autor: SpaceCorps
- Licencja: AGPL-3.0-or-later
- Wymaga rdzenia:
^0.2(aktualny rdzeń to 0.2.0) - Dojrzałość: Beta
- Kategorie: Łańcuch dostaw
Modele
inventory_warehouse
A building or site where stock is kept
Grupa odczytu: inventory.user. Grupa zapisu: inventory.manager.
| Pole | Rodzaj | Klasa danych | Dane osobowe | Grupa | Agenci widzą | Opis |
|---|---|---|---|---|---|---|
name | text | none | nie | inventory.user | jawnie | Warehouse name |
code | text | none | nie | inventory.user | jawnie | Short code printed on documents, for example WH1 |
address | longtext | none | nie | inventory.user | jawnie | Postal address of the site |
active | bool | none | nie | inventory.user | jawnie | Whether the warehouse is in use |
inventory_location
A place inside a warehouse where stock can sit
Grupa odczytu: inventory.user. Grupa zapisu: inventory.manager.
| Pole | Rodzaj | Klasa danych | Dane osobowe | Grupa | Agenci widzą | Opis |
|---|---|---|---|---|---|---|
name | text | none | nie | inventory.user | jawnie | Location name, for example Shelf A3 |
warehouse_id | ref → inventory_warehouse | none | nie | inventory.user | jawnie | The warehouse the location belongs to |
kind | select (internal, receiving, shipping, transit, scrap) | none | nie | inventory.user | jawnie | What the location is used for: internal, receiving, shipping, transit, scrap |
active | bool | none | nie | inventory.user | jawnie | Whether the location is in use |
inventory_item
The quantity of one product held at one location
Grupa odczytu: inventory.user. Grupa zapisu: inventory.manager.
| Pole | Rodzaj | Klasa danych | Dane osobowe | Grupa | Agenci widzą | Opis |
|---|---|---|---|---|---|---|
product_id | ref → product | none | nie | inventory.user | jawnie | The product held; there is one item per product, location and lot |
location_id | ref → inventory_location | none | nie | inventory.user | jawnie | Where it is held |
quantity | number | none | nie | inventory.user | jawnie | Units on hand |
reorder_level | number | none | nie | inventory.user | jawnie | Quantity at or below which the product should be replenished |
lot | text | none | nie | inventory.user | jawnie | Lot or batch number, if tracked |
inventory_move
A movement of a product between locations, or into or out of the business
Grupa odczytu: inventory.user. Grupa zapisu: inventory.user.
| Pole | Rodzaj | Klasa danych | Dane osobowe | Grupa | Agenci widzą | Opis |
|---|---|---|---|---|---|---|
reference | sequence | none | nie | inventory.user | jawnie | Number of the move such as MV-00042, assigned when the move is created |
product_id | ref → product | none | nie | inventory.user | jawnie | The product moved |
from_location_id | ref → inventory_location | none | nie | inventory.user | jawnie | Where it leaves; empty for a receipt from a supplier |
to_location_id | ref → inventory_location | none | nie | inventory.user | jawnie | Where it arrives; empty for a delivery to a customer |
quantity | number | none | nie | inventory.user | jawnie | Units moved |
scheduled_on | date | none | nie | inventory.user | jawnie | Date the move is planned for (YYYY-MM-DD) |
state | select (draft, done, cancelled) | none | nie | inventory.user | jawnie | Move status: draft, done, cancelled |
Przepływy pracy
inventory_move
| Akcja | Przenosi | Kto może uruchomić | Zatwierdzenie |
|---|---|---|---|
inventory_move.validate | state: draft → done | inventory.manager | tak |
inventory_move.cancel | state: draft → cancelled | inventory.user | nie |
Grupy uprawnień
Grupy używane przez tę aplikację:
inventory.managerinventory.user
Kroki zatwierdzania
Kroki, które agent może tylko zaproponować:
inventory_move.validate
Co agenci mogą, a czego nie mogą
Agent może odczytywać, wyszukiwać, tworzyć i aktualizować rekordy tej aplikacji oraz uruchamiać akcje niewymagające zatwierdzenia, w ramach grup uprawnień swojego tokenu.
Te kroki może tylko zaproponować, a człowiek musi je zatwierdzić: inventory_move.validate, inventory_warehouse.delete, inventory_location.delete, inventory_item.delete, inventory_move.delete.
Zależności
Każda zależność podaje akceptowane wersje. Aplikacje wbudowane są wersjonowane razem z rdzeniem, więc wymaganie wobec nich sprawdza się względem wersji rdzenia.
- Products:
^0.2(wbudowana)
Instalacja tej aplikacji z marketplace instaluje też brakujące zależności, w jednym planie potwierdzanym raz.
Instalacja
Zainstaluj ją w aplikacji Customize (Marketplace) lub z wiersza poleceń:
obop modules install-from inventoryWymaga bazy danych i uprawnień administratora.
Zbuduj własną
Przewodnik po modułach pokazuje, jak pisze się takie aplikacje