---
title: "Inventory"
description: "Lager och lagerställen. Varje app är en modul i en gemensam datamodell."
canonical: "https://obop-platform.sliplane.app/sv/apps/inventory/"
lang: "sv"
---

# Inventory

## Vad den är till för

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.

## Vad paketet gör och inte gör

Warehouses, stock locations, stock levels and stock moves. Quantities are entered and validated by people; they are not updated automatically by moves.

## Modeller

### `inventory_warehouse`

A building or site where stock is kept

Läsgrupp: `inventory.user`. Skrivgrupp: `inventory.manager`.

| Fält | Typ | Dataklass | Personuppgift | Grupp | Agenter ser | Beskrivning |
|---|---|---|---|---|---|---|
| `name` | text | `none` | nej | `inventory.user` | i klartext | Warehouse name |
| `code` | text | `none` | nej | `inventory.user` | i klartext | Short code printed on documents, for example WH1 |
| `address` | longtext | `none` | nej | `inventory.user` | i klartext | Postal address of the site |
| `active` | bool | `none` | nej | `inventory.user` | i klartext | Whether the warehouse is in use |

### `inventory_location`

A place inside a warehouse where stock can sit

Läsgrupp: `inventory.user`. Skrivgrupp: `inventory.manager`.

| Fält | Typ | Dataklass | Personuppgift | Grupp | Agenter ser | Beskrivning |
|---|---|---|---|---|---|---|
| `name` | text | `none` | nej | `inventory.user` | i klartext | Location name, for example Shelf A3 |
| `warehouse_id` | ref → inventory_warehouse | `none` | nej | `inventory.user` | i klartext | The warehouse the location belongs to |
| `kind` | select (internal, receiving, shipping, transit, scrap) | `none` | nej | `inventory.user` | i klartext | What the location is used for: internal, receiving, shipping, transit, scrap |
| `active` | bool | `none` | nej | `inventory.user` | i klartext | Whether the location is in use |

### `inventory_item`

The quantity of one product held at one location

Läsgrupp: `inventory.user`. Skrivgrupp: `inventory.manager`.

| Fält | Typ | Dataklass | Personuppgift | Grupp | Agenter ser | Beskrivning |
|---|---|---|---|---|---|---|
| `product_id` | ref → product | `none` | nej | `inventory.user` | i klartext | The product held |
| `location_id` | ref → inventory_location | `none` | nej | `inventory.user` | i klartext | Where it is held |
| `quantity` | number | `none` | nej | `inventory.user` | i klartext | Units on hand |
| `reorder_level` | number | `none` | nej | `inventory.user` | i klartext | Quantity at or below which the product should be replenished |
| `lot` | text | `none` | nej | `inventory.user` | i klartext | Lot or batch number, if tracked |

### `inventory_move`

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

Läsgrupp: `inventory.user`. Skrivgrupp: `inventory.user`.

| Fält | Typ | Dataklass | Personuppgift | Grupp | Agenter ser | Beskrivning |
|---|---|---|---|---|---|---|
| `reference` | text | `none` | nej | `inventory.user` | i klartext | Reference of the move, for example a delivery or receipt number |
| `product_id` | ref → product | `none` | nej | `inventory.user` | i klartext | The product moved |
| `from_location_id` | ref → inventory_location | `none` | nej | `inventory.user` | i klartext | Where it leaves; empty for a receipt from a supplier |
| `to_location_id` | ref → inventory_location | `none` | nej | `inventory.user` | i klartext | Where it arrives; empty for a delivery to a customer |
| `quantity` | number | `none` | nej | `inventory.user` | i klartext | Units moved |
| `scheduled_on` | date | `none` | nej | `inventory.user` | i klartext | Date the move is planned for (YYYY-MM-DD) |
| `state` | select (draft, done, cancelled) | `none` | nej | `inventory.user` | i klartext | Move status: draft, done, cancelled |

## Arbetsflöden

### `inventory_move`

| Åtgärd | Flyttar | Vem får köra den | Godkännande |
|---|---|---|---|
| `inventory_move.validate` | state: draft → done | `inventory.user` | ja |
| `inventory_move.cancel` | state: draft → cancelled | `inventory.user` | nej |

## Behörighetsgrupper

Grupper som den här appen använder:

- `inventory.manager`
- `inventory.user`

## Steg som kräver godkännande

Steg som en agent bara kan föreslå:

- `inventory_move.validate`

## Vad agenter kan och inte kan göra

En agent kan läsa, söka, skapa och uppdatera poster i den här appen, och köra de åtgärder som inte kräver godkännande, inom behörighetsgrupperna för sin token.

Den kan bara föreslå de här stegen, och en person måste godkänna dem: `inventory_move.validate`, `inventory_warehouse.delete`, `inventory_location.delete`, `inventory_item.delete`, `inventory_move.delete`.

## Beroenden

- `product`

## Installera

Installera den från appen Customize (Marknadsplats), eller från kommandoraden:

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

Kräver en databas och administratörsbehörighet.

## Bygg din egen

[Modulguiden visar hur appar som den här skrivs](/sv/docs/reference/module-manifest/)
