Warenwirtschaft: AP-27 Wareneingang gleiche Charge zusammenführen

- Chargen-Existenz-Check beim Buchen (JSON-Endpoint batch-check): Hinweis
  „Charge bereits im Haus" + Vorbelegung MHD/Qualität aus dem letzten Eingang
- Rohstoffbestand-Detail: Chargen je batch_number summiert
  (InventoryService::chargeGroupsForIngredient), Einkäufe als Unterzeilen
- Produktion: Charge-Dropdown je Charge mit Summen-Rest (batches im
  Recipe-Payload), Verbrauch wird per expandBatchLines FEFO auf die
  Einzel-Einkäufe der Charge verteilt; Service-API bleibt je stock_entry
- Jeder Einkauf bleibt eigener stock_entry (Preis/Datum/Audit)
- Hinweise-Doku + Plan V6.0 §6 fortgeschrieben

Tests: StockEntryChargeMergeTest (7 neu); Suite 193 grün, 698 Assertions

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Kevin Adametz 2026-07-06 13:36:19 +00:00
parent e47d848d3d
commit 7a5b5e0f7b
16 changed files with 673 additions and 34 deletions

View file

@ -90,6 +90,16 @@
Eigenprodukt ohne Rezeptur markiert.
- **Chargen-Auswahl in der Produktion** zeigt nur Chargen mit Restbestand,
in der Reihenfolge des frühesten Mindesthaltbarkeitsdatums (FEFO).
- **Gleiche Charge wird zusammengeführt (Wareneingang):** Kommt eine bereits
vorhandene Charge (gleiche Chargennummer, gleicher Rohstoff) erneut, weist
die Buchungsmaske darauf hin („Charge bereits im Haus") und belegt MHD und
Qualität aus dem letzten Eingang vor (überschreibbar). Der **Einkaufsvorgang
bleibt trotzdem separat erfasst** (eigener Eintrag mit Preis/Datum) –
zusammengeführt werden nur Anzeige und Restbestand: Rohstoffbestand-Detail
und Chargen-Auswahl der Produktion zeigen die Charge **einmal mit
Summen-Rest** (Einzel-Einkäufe als Unterzeilen bzw. Vermerk „x Einkäufe").
Der Verbrauch einer Produktion wird automatisch **FEFO auf die einzelnen
Einkäufe der Charge verteilt**.
- **Umsatzsteuersätze** werden beim Einkauf als Snapshot gespeichert. Spätere
Änderungen am Steuersatz verändern bereits erfasste Einkäufe nicht.
- **Rohstoffbestand – Verbrauch/Tag** wird aus der Produktionshistorie der