---
title: "Inventory"
description: "Zapasy i magazyny. Każda aplikacja jest modułem na jednym modelu danych."
canonical: "https://obop-platform.sliplane.app/pl/apps/inventory/"
lang: "pl"
---

# Inventory

## 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. Quantities are entered and validated by people; they are not updated automatically by moves.

## 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 |
| `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` | text | `none` | nie | `inventory.user` | jawnie | Reference of the move, for example a delivery or receipt number |
| `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.user` | tak |
| `inventory_move.cancel` | state: draft → cancelled | `inventory.user` | nie |

## Grupy uprawnień

Grupy używane przez tę aplikację:

- `inventory.manager`
- `inventory.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

- `product`

## Instalacja

Zainstaluj ją w aplikacji Customize (Marketplace) lub z wiersza poleceń:

```bash
obop modules install-from inventory
```

Wymaga bazy danych i uprawnień administratora.

## Zbuduj własną

[Przewodnik po modułach pokazuje, jak pisze się takie aplikacje](/pl/docs/reference/module-manifest/)
