Inventory

Bestand und Lager

MarktplatzBetriebVersion 0.3.0AGPL-3.0-or-latermanifest

Wofür sie gedacht ist ​

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.

Was das Paket leistet und was nicht ​

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.

Moduldetails ​

  • Version: 0.3.0
  • Autor: SpaceCorps
  • Lizenz: AGPL-3.0-or-later
  • Benötigt Kern: ^0.2 (aktuell ist Kern 0.2.0)
  • Reifegrad: Beta
  • Kategorien: Lieferkette

Modelle ​

inventory_warehouse ​

A building or site where stock is kept

Lesegruppe: inventory.user. Schreibgruppe: inventory.manager.

FeldArtDatenklassePersonenbezogene DatenGruppeAgenten sehenBeschreibung
nametextnoneneininventory.userim KlartextWarehouse name
codetextnoneneininventory.userim KlartextShort code printed on documents, for example WH1
addresslongtextnoneneininventory.userim KlartextPostal address of the site
activeboolnoneneininventory.userim KlartextWhether the warehouse is in use

inventory_location ​

A place inside a warehouse where stock can sit

Lesegruppe: inventory.user. Schreibgruppe: inventory.manager.

FeldArtDatenklassePersonenbezogene DatenGruppeAgenten sehenBeschreibung
nametextnoneneininventory.userim KlartextLocation name, for example Shelf A3
warehouse_idref → inventory_warehousenoneneininventory.userim KlartextThe warehouse the location belongs to
kindselect (internal, receiving, shipping, transit, scrap)noneneininventory.userim KlartextWhat the location is used for: internal, receiving, shipping, transit, scrap
activeboolnoneneininventory.userim KlartextWhether the location is in use

inventory_item ​

The quantity of one product held at one location

Lesegruppe: inventory.user. Schreibgruppe: inventory.manager.

FeldArtDatenklassePersonenbezogene DatenGruppeAgenten sehenBeschreibung
product_idref → productnoneneininventory.userim KlartextThe product held; there is one item per product, location and lot
location_idref → inventory_locationnoneneininventory.userim KlartextWhere it is held
quantitynumbernoneneininventory.userim KlartextUnits on hand
reorder_levelnumbernoneneininventory.userim KlartextQuantity at or below which the product should be replenished
lottextnoneneininventory.userim KlartextLot or batch number, if tracked

inventory_move ​

A movement of a product between locations, or into or out of the business

Lesegruppe: inventory.user. Schreibgruppe: inventory.user.

FeldArtDatenklassePersonenbezogene DatenGruppeAgenten sehenBeschreibung
referencesequencenoneneininventory.userim KlartextNumber of the move such as MV-00042, assigned when the move is created
product_idref → productnoneneininventory.userim KlartextThe product moved
from_location_idref → inventory_locationnoneneininventory.userim KlartextWhere it leaves; empty for a receipt from a supplier
to_location_idref → inventory_locationnoneneininventory.userim KlartextWhere it arrives; empty for a delivery to a customer
quantitynumbernoneneininventory.userim KlartextUnits moved
scheduled_ondatenoneneininventory.userim KlartextDate the move is planned for (YYYY-MM-DD)
stateselect (draft, done, cancelled)noneneininventory.userim KlartextMove status: draft, done, cancelled

Workflows ​

inventory_move ​

AktionBewegtWer sie ausführen darfFreigabe
inventory_move.validatestate: draft → doneinventory.managerja
inventory_move.cancelstate: draft → cancelledinventory.usernein

Berechtigungsgruppen ​

Von dieser App verwendete Gruppen:

  • inventory.manager
  • inventory.user

Freigabeschritte ​

Schritte, die ein Agent nur vorschlagen kann:

  • inventory_move.validate

Was Agenten tun können und was nicht ​

Ein Agent kann Datensätze dieser App lesen, durchsuchen, anlegen und aktualisieren sowie Aktionen ausführen, die keine Freigabe brauchen, und zwar innerhalb der Berechtigungsgruppen seines Tokens.

Diese Schritte kann er nur vorschlagen, und eine Person muss sie freigeben: inventory_move.validate, inventory_warehouse.delete, inventory_location.delete, inventory_item.delete, inventory_move.delete.

Abhängigkeiten ​

Jede Abhängigkeit nennt die Versionen, die sie akzeptiert. Integrierte Apps werden mit dem Kern versioniert; eine Anforderung an sie wird daher gegen die Kernversion geprüft.

Beim Installieren dieser App aus dem Marktplatz werden fehlende Abhängigkeiten mitinstalliert, in einem Plan, der einmal bestätigt wird.

Installation ​

Installieren Sie sie in der App Customize (Marktplatz) oder über die Kommandozeile:

bash
obop modules install-from inventory

Erfordert eine Datenbank und Administratorrechte.

Selbst bauen ​

Der Modulleitfaden zeigt, wie Apps wie diese geschrieben werden