feat(estimates): integrate inventory items

This commit is contained in:
Schubert Ferenc 2026-07-05 11:54:23 +02:00
parent fb5c2cc26a
commit 663bdc41b1
15 changed files with 629 additions and 28 deletions

View file

@ -221,7 +221,7 @@ Tabellen:
## Lager / Ersatzteile
Das Modul `Lager / Ersatzteile` verwaltet Bauteile und Verbrauchsmaterial fuer Werkstattprozesse. Es ist in v0.8.7 als eigenstaendige Lagerbasis umgesetzt und fuer die spaetere Verknuepfung mit Reparaturen und Kostenvoranschlaegen vorbereitet.
Das Modul `Lager / Ersatzteile` verwaltet Bauteile und Verbrauchsmaterial fuer Werkstattprozesse. Seit v0.8.8 ist es mit Kostenvoranschlaegen verbunden: Mitarbeiter koennen aktive Lagerartikel als KV-Position uebernehmen.
Datenfluss:
@ -238,6 +238,9 @@ Kernregeln:
- `quantity_available` wird konsistent als `quantity_on_hand - quantity_reserved` gespeichert.
- Bestandsaenderungen erfolgen ueber Bewegungen, nicht ueber freie Client-Manipulation.
- Artikel mit Bewegungen werden bei Delete deaktiviert statt hart geloescht.
- Lagerartikel in KV-Positionen werden ueber `inventory_item_id` verknuepft.
- KV-Positionen speichern Snapshot-Felder fuer Name, SKU, Hersteller und Teilenummer, damit ein KV unveraendert bleibt, wenn der Lagerartikel spaeter geaendert wird.
- Verkaufspreis, Einheit, Artikelname und SKU werden serverseitig aus dem Lager uebernommen. Manuelle Preisueberschreibung ist moeglich und wird auditiert.
Tabellen:
@ -271,7 +274,16 @@ RBAC-Permissions:
Dashboard-Kennzahlen fuer Lagerdaten werden nur mit `inventory.read` ausgeliefert. Audit Logs und Activity Feed enthalten Artikel- und Bestandsaktionen, aber keine unnoetigen sensiblen Lieferantendaten.
Die Integration von Lagerartikeln in Kostenvoranschlagspositionen folgt in v0.8.8. CSV-Import/Export und Barcode-/QR-Funktionen bleiben vorbereitete Folgefeatures.
Reservierungslogik:
- Entwurf: keine Reservierung.
- Senden: verknuepfte Lagerartikel werden reserviert.
- Freigabe: Reservierung bleibt bestehen.
- Ablehnung: Reservierung wird freigegeben.
- Storno: Reservierung wird freigegeben.
- Loeschung eines gesendeten KV: Reservierung wird freigegeben.
Automatischer Verbrauch beim Reparaturabschluss ist vorbereitet, wird aber noch nicht automatisch ausgefuehrt. CSV-Import/Export und Barcode-/QR-Funktionen bleiben vorbereitete Folgefeatures.
Hermes-Endpunkte: