Lager — Inventuren (Sub-Route)
Zweck
Sub-Route /warehouses/:id/inventories zeigt alle Inventuren im aktuellen Lager. Detail-Sicht /warehouses/:id/inventories/:inventoryId mit Sub-Sub-Route /products listet die Inventur-Produkt-Einträge mit IST/SOLL-Mengen.
Voraussetzungen
Berechtigungen (CASL)
| Action | Subject | Wirkung | Keycloak-Rolle |
|---|---|---|---|
view | FE_Warehouse, Warehouse, FE_Inventory, Inventory | Liste/Detail aufrufbar | — |
create | Inventory | Inventur starten | APP_SPEAMCORE_CREATE_INVENTORY |
view | InventoryProduct | Produkt-Sub-Liste | APP_SPEAMCORE_VIEW_INVENTORY_PRODUCT |
Schritt-für-Schritt-Anleitung
- Lager (
/warehouses/:id) → Tab Inventuren. - + Neue Inventur startet eine Inventur mit Stichtag und Lager-Filter.
- Klick auf eine Inventur → Detail mit Produkt-Sub-Liste, in der IST-Mengen erfasst werden.

Pattern
Liste aller Inventuren, die für dieses Lager erstellt wurden. Read-only — neue Inventuren werden direkt im Inventur-Modul angelegt mit warehouseId = :id.
Spalten:
name— Inventur-Name (z. B. „Inventur 31.12.2025").status—open/closed.startedAt/closedAt.differenceCount— Anzahl Positionen mit Buchungs-Differenz.differenceValue— Summe der Differenz in EUR.
Klick fuehrt zum Inventur-Detail.
Wiederverwendbare Konzepte
Verknuepfungen zu anderen Modulen
- Lager — Eltern-Modul.
- Inventuren — globale Sicht.
- Produkt-Bewegungen — Inventur-Korrekturen werden über
movementType = inventorygebucht.
API/Schnittstellen
| Methode | Endpoint | Zweck | CASL |
|---|---|---|---|
GET | /api/inventories?filter[warehouseId] | Liste | view Inventory |
POST | /api/inventories | Anlegen | create Inventory |
GET | /api/inventory-products?filter[inventoryId] | Produkt-Sub-Liste | view InventoryProduct |
Versionshinweise
- 2026-04-30: Initiale Veroeffentlichung.