Warenwirtschaft: In-App-Doku für Deploy — Hinweise Stand 09.09.2026, Testleitfaden Version 3 (Teil C), Deployment-Checkliste

- resources/docs/hinweise.md: Abschnitt „Neu / geändert 08./09.09.2026“ (alle
  nutzerrelevanten Nachbesserungen + AP-52), Spalte „Lagerort“, Entwurfsregeln,
  Versand nur versandfertig, Köln-Default auch im Ausschuss.
- resources/docs/testleitfaden.md: Version 3 mit Teil C (Abschnitte 19–25).
- README: Deployment-Checkliste (Migrationen 2026_09_08_* auf Dev-DB gelaufen),
  In-App-Doku als maßgebliche Nutzerdoku; docs/testleitfaden V1 als Archiv markiert.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
Kevin Adametz 2026-09-09 09:17:28 +00:00
parent db2f7fe1a3
commit be29be863f
4 changed files with 219 additions and 24 deletions

View file

@ -115,8 +115,8 @@ Regressionstest, Abschnitt 9 des Berichts). Eine anschließende
[Nachprüfung](02-audit/nachpruefung-befundbehebung-2026-09-08.md) fand sechs Restfehler [Nachprüfung](02-audit/nachpruefung-befundbehebung-2026-09-08.md) fand sechs Restfehler
(N-01…N-06: Entwurfsmenge ohne Charge, Phasenverlust beim Artikelspeichern, Chargensplit vs. (N-01…N-06: Entwurfsmenge ohne Charge, Phasenverlust beim Artikelspeichern, Chargensplit vs.
Snapshot, Vorschau vs. Snapshot, Alt-Ausschuss ohne Charge, ml-Kopie im Bearbeiten), die Snapshot, Vorschau vs. Snapshot, Alt-Ausschuss ohne Charge, ml-Kopie im Bearbeiten), die
ebenfalls behoben sind (Abschnitt 6 dort); die Gegenprüfung vom 09.09.2026 fand zu N-02/N-04 zwei Randfälle (R-01 stabile Phasen-IDs, R-02 leerer Snapshot), ebenfalls behoben. Drei neue Migrationen (`2026_09_08_*`) müssen ebenfalls behoben sind (Abschnitt 6 dort); die Gegenprüfung vom 09.09.2026 fand zu N-02/N-04 zwei Randfälle (R-01 stabile Phasen-IDs, R-02 leerer Snapshot), ebenfalls behoben. Drei neue Migrationen (`2026_09_08_*`) sind auf der Dev-DB
auf Dev-/Live-DB laufen. Weiterhin offen: die im Bericht (Abschnitte 4.3/4.4/5) genannten (Live-Kopie) gelaufen und müssen beim Deploy auf der Live-DB ausgeführt werden. Weiterhin offen: die im Bericht (Abschnitte 4.3/4.4/5) genannten
nachgelagerten Pakete, Optimierungen, Connector-Rollout v1.6.0 und die Browser-/iPad-Abnahme. nachgelagerten Pakete, Optimierungen, Connector-Rollout v1.6.0 und die Browser-/iPad-Abnahme.
## Offene / nachgelagerte Pakete (nach Kundentestphase) ## Offene / nachgelagerte Pakete (nach Kundentestphase)
@ -145,6 +145,17 @@ Offene Kundenfragen im Dokument. Details:
--- ---
## Deployment-Checkliste (Stand 09.09.2026, Paket V7.0 + Nachbesserungen + AP-52)
1. **Code:** `master` bis Commit der Doku-Aktualisierung 09.09.2026 (siehe `git log`).
2. **Migrationen:** `php artisan migrate` — drei neue Migrationen `2026_09_08_100000` (batch_key, stock_entry_id nullable), `2026_09_08_110000` (recipe_phase_id), `2026_09_08_120000` (fill_weight decimal). Auf der Dev-DB (Live-Kopie, MySQL) am 09.09.2026 erfolgreich ausgeführt; bestehende Produktionszeilen bleiben unverändert (neue Spalten NULL).
3. **In-App-Doku:** `resources/docs/hinweise.md` (Stand 09.09.2026) und `resources/docs/testleitfaden.md` (Version 3, Teil C) sind aktualisiert und werden ohne Build ausgeliefert (Einstellungen → Hinweise / Leitfaden).
4. **Kein Frontend-Build nötig:** alle Änderungen liegen in Blade/Inline-JS; Laravel Mix ist nicht betroffen.
5. **Nach dem Deploy:** `php artisan view:clear` (Blade-Cache), optional `config:cache`/`route:cache` wie gewohnt; Testleitfaden Teil C mit dem Kunden durchgehen (insb. Abschnitte 19–21 auf dem iPad).
6. **Getrennt davon:** Connector-Plugin **v1.6.0** im WooCommerce-Shop einspielen (AP-34/AP-38), siehe `dev/partnercenter-api/README.md`.
> Die In-App-Doku unter `resources/docs/` ist die **maßgebliche Nutzerdokumentation**; `docs/testleitfaden-wawi-2026-07-06.md` ist die archivierte Version 1.
## Bekannte, bewusst akzeptierte Grenzen ## Bekannte, bewusst akzeptierte Grenzen
- **Parallelität** ist per Pest (SQLite) nicht belastbar testbar; die entscheidenden - **Parallelität** ist per Pest (SQLite) nicht belastbar testbar; die entscheidenden

View file

@ -1,5 +1,7 @@
# Testleitfaden Warenwirtschaft — Anforderungsrunde 12.06.2026 # Testleitfaden Warenwirtschaft — Anforderungsrunde 12.06.2026
> **Archiv (Version 1).** Der aktuelle Leitfaden (Version 3, Stand 09.09.2026) liegt in `resources/docs/testleitfaden.md` und ist in der App unter **Einstellungen → Leitfaden** erreichbar.
> **Stand:** 06.07.2026 · Alle Punkte aus `nächsten Anforderungen an die WaWi.md` (12.06.2026) sind umgesetzt. > **Stand:** 06.07.2026 · Alle Punkte aus `nächsten Anforderungen an die WaWi.md` (12.06.2026) sind umgesetzt.
> Dieser Leitfaden führt einmal durch alle neuen Funktionen — in der Reihenfolge eines typischen Arbeitsablaufs, sodass jede Stelle direkt im Browser nachgeschaut und getestet werden kann. > Dieser Leitfaden führt einmal durch alle neuen Funktionen — in der Reihenfolge eines typischen Arbeitsablaufs, sodass jede Stelle direkt im Browser nachgeschaut und getestet werden kann.
> Die fachlichen Erklärungen dazu stehen wie gewohnt in der App unter den **[Hinweisen zur Warenwirtschaft](/admin/inventory/notices)**. > Die fachlichen Erklärungen dazu stehen wie gewohnt in der App unter den **[Hinweisen zur Warenwirtschaft](/admin/inventory/notices)**.

View file

@ -4,8 +4,9 @@
> wichtige Hinweise für die Nutzung sowie festgehaltene Entscheidungen, die > wichtige Hinweise für die Nutzung sowie festgehaltene Entscheidungen, die
> später noch ausgebaut werden können. > später noch ausgebaut werden können.
> >
> **Stand:** 28.08.2026 — ein geführter Rundgang durch die neuen Funktionen > **Stand:** 09.09.2026 — ein geführter Rundgang durch die neuen Funktionen
> steht unter **Einstellungen → Leitfaden** (aktuell **Version 2**, Runde V7.0). > steht unter **Einstellungen → Leitfaden** (aktuell **Version 3**: Runde V7.0
> plus Nachbesserungen und Nachtrag vom 08./09.09.2026).
--- ---
@ -87,6 +88,9 @@
Gramm (Rohstoff) bzw. Stück (Verpackung) und Datum. Jeder Ausgang reduziert Gramm (Rohstoff) bzw. Stück (Verpackung) und Datum. Jeder Ausgang reduziert
sofort den Bestand – beim Rohstoffbestand also auch die „auf Null"-Prognose und sofort den Bestand – beim Rohstoffbestand also auch die „auf Null"-Prognose und
den Kritisch-Status. den Kritisch-Status.
- **Bestell-Abwicklung — Versand nur versandfertig (seit 08.09.2026):** „Versendet"
ist nur für bezahlte Bestellungen (bzw. Rechnung/API) möglich; „Konfektioniert"
auch vorher. Siehe „Neu / geändert 08./09.09.2026".
- **Rohstoffbestand — kritische außerhalb der Rezepturen (Hinweis, 20.07.2026):** - **Rohstoffbestand — kritische außerhalb der Rezepturen (Hinweis, 20.07.2026):**
Die Standardansicht zeigt „Nur aus Herstellerrezepturen", das Sidebar-Badge Die Standardansicht zeigt „Nur aus Herstellerrezepturen", das Sidebar-Badge
zählt aber **alle** aktiven kritischen Rohstoffe. Liegt ein kritischer zählt aber **alle** aktiven kritischen Rohstoffe. Liegt ein kritischer
@ -164,7 +168,8 @@ Aus der Testphasen-Rückmeldung 26.08.2026 umgesetzt:
höchstens **±5 %** vom Soll, **rot** = Abweichung über 5 % (Schutz vor Zahlendreher). höchstens **±5 %** vom Soll, **rot** = Abweichung über 5 % (Schutz vor Zahlendreher).
- **INCI-Tabelle: Bestand & Differenz (AP-40):** Rechts zwei neue Spalten — - **INCI-Tabelle: Bestand & Differenz (AP-40):** Rechts zwei neue Spalten —
aktueller **Bestand** des Rohstoffs und **Differenz** (Bestand − Soll; negativ rot, aktueller **Bestand** des Rohstoffs und **Differenz** (Bestand − Soll; negativ rot,
positiv grün). Spaltenkopf **„Regal" → „Ablage"**. positiv grün). Spaltenkopf für den Lagerplatz heißt seit 09.09.2026 einheitlich
**„Lagerort"** (vorher „Regal"/„Ablage").
- **Verpackungs-Vorschau oben + Phasen-Gramm (AP-41):** Die Box „Verpackung - **Verpackungs-Vorschau oben + Phasen-Gramm (AP-41):** Die Box „Verpackung
(Vorschau)" steht direkt unter der INCI-Tabelle; je Phase steht die **Gesamt-Gramm-Summe** (Vorschau)" steht direkt unter der INCI-Tabelle; je Phase steht die **Gesamt-Gramm-Summe**
in Klammern hinter dem Namen (zeigt die nötige Rührgefäß-Größe). in Klammern hinter dem Namen (zeigt die nötige Rührgefäß-Größe).
@ -187,16 +192,19 @@ Aus der Testphasen-Rückmeldung 26.08.2026 umgesetzt:
**Rohstoff-Lieferanten** (Kategorie „Kosmetikrohstoffe") angeboten. **Rohstoff-Lieferanten** (Kategorie „Kosmetikrohstoffe") angeboten.
- **Lagerorte übernehmbar + Köln-Default (AP-50):** Ein belegter Lagerort lässt sich - **Lagerorte übernehmbar + Köln-Default (AP-50):** Ein belegter Lagerort lässt sich
löschen, indem seine Buchungen auf einen **Ziel-Lagerort übernommen** werden; löschen, indem seine Buchungen auf einen **Ziel-Lagerort übernommen** werden;
**Köln** ist im Wareneingang als Lagerort vorbelegt. Die Standort-Funktion bleibt **Köln** ist in Wareneingang, Produktion **und Ausschuss** als Standort vorbelegt
für künftige Standorte erhalten. (nur solange Köln aktiv ist). Die Standort-Funktion bleibt für künftige Standorte
erhalten.
- **Lagerplatz für Produkte & Verpackung (AP-51):** Die Lagerplatz-Zuordnung - **Lagerplatz für Produkte & Verpackung (AP-51):** Die Lagerplatz-Zuordnung
**Raum / Regal / Fach** gibt es jetzt auch bei **Produkten** und **Raum / Regal / Fach** gibt es jetzt auch bei **Produkten** und
**Verpackungsartikeln** (gleiche Bausteine wie beim Rohstoff). Angezeigt im **Verpackungsartikeln** (gleiche Bausteine wie beim Rohstoff). Angezeigt im
Produktbestand und in der Produktverpackungs-Übersicht. Produktbestand und in der Produktverpackungs-Übersicht.
- **Produktion zwischenspeichern (Entwurf) (AP-43):** Neben **„Produktion abschließen"** - **Produktion zwischenspeichern (Entwurf) (AP-43):** Neben **„Produktion abschließen"**
gibt es **„Zwischenspeichern (Entwurf)"**. Ein Entwurf sichert den Stand **ohne gibt es **„Zwischenspeichern (Entwurf)"** — seit 09.09.2026 an drei Stellen
Pflichtfeld-Prüfung** und **bucht keinen Bestand**; erst „abschließen" prüft (oben, vor dem Produktionsergebnis, unten). Ein Entwurf sichert den kompletten
vollständig und bucht. Entwürfe sind mit einem Badge markiert. Arbeitsstand und **bucht keinen Bestand**; Pflicht sind nur Produkt, Standort,
Datum und Planmenge. Erst „abschließen" prüft vollständig und bucht. Entwürfe sind
mit einem Badge markiert. Details unter „Neu / geändert 08./09.09.2026".
- **Rezeptur-Darstellung aufgehübscht (AP-44):** Phasenkästen leicht hinterlegt, kein - **Rezeptur-Darstellung aufgehübscht (AP-44):** Phasenkästen leicht hinterlegt, kein
innerer Kasten mehr um die Chargen, einheitliche Schrift, iPad-taugliche (größere) innerer Kasten mehr um die Chargen, einheitliche Schrift, iPad-taugliche (größere)
Eingabefelder, formatierte Phasenbeschreibung. Eingabefelder, formatierte Phasenbeschreibung.
@ -207,6 +215,70 @@ Aus der Testphasen-Rückmeldung 26.08.2026 umgesetzt:
Status-Mapping ist vollständig (Wartestellung, Abholung, Storno). *Details im Status-Mapping ist vollständig (Wartestellung, Abholung, Storno). *Details im
Connector-README; benötigt v1.6.0.* Connector-README; benötigt v1.6.0.*
### Neu / geändert 08./09.09.2026 (Nachbesserungen + Nachtrag AP-52)
Nach der unabhängigen Prüfung der V7-Umsetzung wurden alle Befunde behoben. Was sich
dadurch für die Bedienung ändert:
- **Verpackungs-Vorschau mit Bestand, Differenz und Lagerort (AP-52, Kundennachtrag):**
Die Box „Verpackung (Vorschau)" in der Produktion zeigt je Verpackungsartikel
**Stück gesamt**, **Lagerort** (Raum | Regal | Fach), **Bestand** und **Differenz**
(Bestand − Bedarf; rot = fehlt, grün = reicht) — genau wie bei den Rohstoffen
darüber. So sieht man schon bei der Planung, ob alles da ist und wo es liegt. Die
Vorschau folgt dem **Produktionsergebnis** (Produkte, Stückzahlen, Zeilen) und
aktualisiert sich live.
- **Spalte „Lagerort":** Der Lagerplatz heißt in der INCI-Tabelle und in der
Verpackungs-Vorschau einheitlich **„Lagerort"** (statt „Ablage"/„Regal").
- **Entwurf sichert alles:** Ein Entwurf speichert **jede** Chargenzeile — auch mit
eingetragener Menge, aber noch ohne gewählte Charge, oder mit gewählter Charge ohne
Menge — und Ergebniszeilen auch ohne Stückzahl. Ist eine im Entwurf gewählte Charge
beim Wiederöffnen nicht mehr verfügbar, wird sie **rot markiert** (statt still zu
verschwinden); der Abschluss verlangt dann eine andere Charge. Entwürfe **blockieren
keine Chargen** mehr für andere Produktionen oder den Ausschuss.
- **Eingaben bleiben nach einer Fehlermeldung erhalten:** Lehnt „Produktion
abschließen" etwas ab (z. B. Abweichung über 5 %), stehen alle Chargen und
Ist-Mengen unverändert im Formular.
- **Rohstoff in mehreren Phasen:** Wird derselbe Rohstoff in zwei Phasen verwendet,
bleibt beim Wiederöffnen die Ist-Menge **je Phase** erhalten (vorher wurde die
Gesamtmenge in jeder Phase eingesetzt). Auch das Speichern des Artikels
(Umbenennen, Umsortieren, Einfügen von Phasen) ändert diese Zuordnung nicht mehr.
- **Ergebnisprodukte:** Im Produktionsergebnis sind **alle aktiven Einzelprodukte**
wählbar — auch nicht produktionsrelevante (z. B. die 5-ml-Variante aus der
50-ml-Masse). Der Filter „produktionsrelevant" gilt nur für die Planung oben.
- **Historischer Verpackungsverbrauch:** Wird eine bereits gebuchte Produktion
nachträglich bearbeitet (Notiz, Datum, Chargen-Nr., Aufteilung auf mehrere Zeilen bei
gleicher Gesamtstückzahl), bleibt der beim Buchen gespeicherte Verpackungsverbrauch
erhalten — auch wenn die Stückliste am Produkt inzwischen geändert wurde. Nur eine
echte Änderung der Ergebnisprodukte oder -stückzahlen berechnet ihn mit der aktuellen
Stückliste neu. Die Vorschau zeigt in diesem Fall den gespeicherten Verbrauch.
- **Füllgewicht mit Nachkommastellen:** z. B. **39,5 g** (50 ml × Dichte 0,79) — vorher
wurde auf ganze Gramm gekürzt.
- **Ausschuss ohne Charge:** Wird kein bestimmter Wareneingang gewählt, prüft das
System gegen den Bestand des **gewählten Lagerorts** und verteilt die Menge — wie der
Produktionsverbrauch — **nach frühestem MHD auf die Chargen** dieses Lagerorts (je
Charge eine Buchung). Gesamt-, Standort- und Chargenbestand stimmen damit überein;
ältere Ausschussbuchungen ohne Chargenbezug werden für die Chargenverfügbarkeit
rechnerisch genauso angerechnet.
- **Versand nur mit Zahlungsfreigabe:** In der Bestell-Abwicklung lässt sich
**„Versendet"** nur buchen, wenn die Bestellung **versandfertig** ist (bezahlt;
Rechnung und API-Bestellungen gelten sofort). Der Button ist sonst ausgegraut, ein
direkter Aufruf wird abgelehnt. **„Konfektioniert"** bleibt vor Zahlungseingang
möglich.
- **Einkaufspreise nur für Admins:** Der letzte Einkaufspreis je Lieferant auf der
Rohstoff-Detailseite ist — wie in Einkauf & Wareneingang — nur für Admins sichtbar.
- **„Enthalten in" (Rohstoff-Detail):** zeigt je Produkt den **Anteil in %** und den
**Verbrauch in g je Stück** (Anteil × Füllgewicht × Faktor; netto in Klammern),
Phasen summiert. Ohne Füllgewicht steht „—".
- **Verbrauch/Monat:** Versand → Rücksetzung/Storno → erneuter Versand zählt nur einmal
(Gegenbuchungen werden verrechnet).
- **Produktbestand-Historie:** zeigt die Gesamtzahl und einen Link **„Alle anzeigen"**,
wenn mehr als 500 Buchungen zum Filter passen.
- **ml-Einkauf kopieren:** Die Kopie einer in **ml** erfassten Bestellung bleibt eine
ml-Bestellung (Menge in ml, Dichte übernommen) — auch beim anschließenden Bearbeiten
und Wareneingang. Ein Wareneingang „100" bucht also 79 g, nicht 100 g.
- **iPad:** Das Notizfeld der Produktion wächst beim Tippen automatisch mit und lässt
sich vergrößern; die Zwischenspeichern-Buttons sind über die Seite verteilt.
### In Vorbereitung / geplant ### In Vorbereitung / geplant
- **Versand im System** (DHL-Etiketten per API, AP-32 — bis dahin gilt die - **Versand im System** (DHL-Etiketten per API, AP-32 — bis dahin gilt die
@ -283,7 +355,7 @@ Aus der Testphasen-Rückmeldung 26.08.2026 umgesetzt:
und wird von den Detailseiten nicht überschrieben. Bewusste manuelle und wird von den Detailseiten nicht überschrieben. Bewusste manuelle
Statuswechsel über das Verkäufe-Modal (z. B. Storno) bleiben möglich. Statuswechsel über das Verkäufe-Modal (z. B. Storno) bleiben möglich.
- **Produktions-Maske:** zeigt die Hersteller-Rezeptur als **INCI-Liste** mit - **Produktions-Maske:** zeigt die Hersteller-Rezeptur als **INCI-Liste** mit
Alternativname, Qualität, Anteil %, Gesamt-Gramm und **Regal** (Lagerort); Alternativname, Qualität, Anteil %, Gesamt-Gramm und **Lagerort** (Raum | Regal | Fach);
die Chargen-Zuordnung ist nach **Rezeptur-Phasen** gegliedert (inkl. die Chargen-Zuordnung ist nach **Rezeptur-Phasen** gegliedert (inkl.
Phasen-Notiz), mit Status-Ampel je Rohstoff (grün = Soll erfüllt). Der Phasen-Notiz), mit Status-Ampel je Rohstoff (grün = Soll erfüllt). Der
**Rohstoffbestand** berechnet sich unverändert aus den je Charge **Rohstoffbestand** berechnet sich unverändert aus den je Charge
@ -327,12 +399,14 @@ Aus der Testphasen-Rückmeldung 26.08.2026 umgesetzt:
gewählt werden; gespeichert wird der über die Dichte errechnete Gramm-Wert. gewählt werden; gespeichert wird der über die Dichte errechnete Gramm-Wert.
Ohne hinterlegte Dichte ist keine ml-Erfassung möglich. Ohne hinterlegte Dichte ist keine ml-Erfassung möglich.
- **Produktion: Entwurf vs. Abschließen (V7.0):** **„Zwischenspeichern (Entwurf)"** - **Produktion: Entwurf vs. Abschließen (V7.0):** **„Zwischenspeichern (Entwurf)"**
sichert eine Produktion **ohne Pflichtfeld-Prüfung** und **ohne Bestandsbuchung** — sichert eine Produktion **ohne Bestandsbuchung** und ohne fachliche Prüfung —
ideal, um mitten in der Erfassung zu pausieren. Ein Entwurf taucht **nirgends im ideal, um mitten in der Erfassung zu pausieren. Pflicht sind nur Produkt, Standort,
Bestand** auf und ist mit „Entwurf" markiert. Erst **„Produktion abschließen"** Datum und Planmenge; Chargen- und Ergebniszeilen dürfen unvollständig sein und
prüft Rezeptur/Chargen/Ergebnis vollständig und bucht Roh-/Produkt-/Verpackungsbestand. bleiben komplett erhalten. Ein Entwurf taucht **nirgends im Bestand** auf (auch
Eine bereits abgeschlossene Produktion kann **nicht** zurück in den Entwurf nicht in der Chargenverfügbarkeit) und ist mit „Entwurf" markiert. Erst
(die Buchungen würden sonst verwaisen). **„Produktion abschließen"** prüft Rezeptur/Chargen/Ergebnis vollständig und bucht
Roh-/Produkt-/Verpackungsbestand. Eine bereits abgeschlossene Produktion kann
**nicht** zurück in den Entwurf (die Buchungen würden sonst verwaisen).
- **Varianten & Aktions-Kopien (V7.0, AP-34):** Zwei bewusst unterschiedene Fälle: - **Varianten & Aktions-Kopien (V7.0, AP-34):** Zwei bewusst unterschiedene Fälle:
**(1)** Physisch verschiedene Produkte (z. B. 50 ml vs. 5 ml, mit/ohne Natron) sind **(1)** Physisch verschiedene Produkte (z. B. 50 ml vs. 5 ml, mit/ohne Natron) sind
im Shop **eigene Produkte mit eigener Artikelnummer** und werden je auf ihr eigenes im Shop **eigene Produkte mit eigener Artikelnummer** und werden je auf ihr eigenes

View file

@ -1,11 +1,12 @@
# Testleitfaden Warenwirtschaft — Version 2 # Testleitfaden Warenwirtschaft — Version 3
> **Stand:** 28.08.2026 > **Stand:** 09.09.2026
> Dieser Leitfaden führt einmal durch die Funktionen der Warenwirtschaft — in der Reihenfolge eines typischen Arbeitsablaufs, sodass jede Stelle direkt im Browser nachgeschaut und getestet werden kann. > Dieser Leitfaden führt einmal durch die Funktionen der Warenwirtschaft — in der Reihenfolge eines typischen Arbeitsablaufs, sodass jede Stelle direkt im Browser nachgeschaut und getestet werden kann.
> Die fachlichen Erklärungen dazu stehen wie gewohnt in der App unter den **[Hinweisen zur Warenwirtschaft](/admin/inventory/notices)**. > Die fachlichen Erklärungen dazu stehen wie gewohnt in der App unter den **[Hinweisen zur Warenwirtschaft](/admin/inventory/notices)**.
> >
> - **Teil A** (Abschnitte 1–11) — die Basis-Funktionen der Warenwirtschaft (Runde 12.06.2026, Stand 16.07.2026). Unverändert gültig. > - **Teil A** (Abschnitte 1–11) — die Basis-Funktionen der Warenwirtschaft (Runde 12.06.2026, Stand 16.07.2026). Unverändert gültig.
> - **Teil B** (Abschnitte 12–18) — **neu in Runde V7.0** (Testphasen-Rückmeldung 26.–28.08.2026). Wer nur die neuen Punkte prüfen will, springt direkt zu **Teil B**. > - **Teil B** (Abschnitte 12–18) — Runde V7.0 (Testphasen-Rückmeldung 26.–28.08.2026).
> - **Teil C** (Abschnitte 19–25) — **neu: Nachbesserungen aus der Umsetzungsprüfung und Nachtrag AP-52 (08./09.09.2026)**. Wer nur die neuen Punkte prüfen will, springt direkt zu **Teil C**.
--- ---
@ -238,7 +239,7 @@
**Neu:** **Neu:**
- **Soll = Anteil % × Füllgewicht × Stückzahl (AP-35)** statt fix 100 g. - **Soll = Anteil % × Füllgewicht × Stückzahl (AP-35)** statt fix 100 g.
- **Abwiege-Ist-Wert + Ampel (AP-39):** orange = nichts eingetragen, grün = ±5 % vom Soll, rot = >5 % Abweichung. - **Abwiege-Ist-Wert + Ampel (AP-39):** orange = nichts eingetragen, grün = ±5 % vom Soll, rot = >5 % Abweichung.
- **INCI-Tabelle: Spalten „Bestand" und „Differenz", „Regal" → „Ablage" (AP-40).** - **INCI-Tabelle: Spalten „Bestand" und „Differenz" (AP-40); Lagerplatz-Spalte heißt „Lagerort" (seit 09.09.).**
- **Verpackungs-Vorschau direkt unter der INCI-Tabelle + Phasen-Gramm hinter dem Namen (AP-41).** - **Verpackungs-Vorschau direkt unter der INCI-Tabelle + Phasen-Gramm hinter dem Namen (AP-41).**
- **INCI-Liste nach Konzentration absteigend sortiert (AP-46).** - **INCI-Liste nach Konzentration absteigend sortiert (AP-46).**
- **Verpackung wird aus dem Produktionsergebnis gebucht (AP-45).** - **Verpackung wird aus dem Produktionsergebnis gebucht (AP-45).**
@ -246,7 +247,7 @@
**So testen:** **So testen:**
1. Produkt mit Füllgewicht (Schritt 13) wählen, Stückzahl planen → die Soll-Gramm je Rohstoff entsprechen **Anteil % × Füllgewicht × Stück** (nicht mehr 100 g). 1. Produkt mit Füllgewicht (Schritt 13) wählen, Stückzahl planen → die Soll-Gramm je Rohstoff entsprechen **Anteil % × Füllgewicht × Stück** (nicht mehr 100 g).
2. Je Charge eine Ist-Menge eintragen: exakt aufs Soll → **grün**; ~10 % daneben → **rot**; leer → **orange**. 2. Je Charge eine Ist-Menge eintragen: exakt aufs Soll → **grün**; ~10 % daneben → **rot**; leer → **orange**.
3. Spalten **Bestand/Differenz** prüfen (Differenz negativ = rot). Kopf heißt **„Ablage"**. 3. Spalten **Bestand/Differenz** prüfen (Differenz negativ = rot). Lagerplatz-Kopf heißt **„Lagerort"**.
4. Phasen-Kopf zeigt die **Gesamt-Gramm** in Klammern; die Verpackungs-Vorschau steht direkt unter der INCI-Tabelle. 4. Phasen-Kopf zeigt die **Gesamt-Gramm** in Klammern; die Verpackungs-Vorschau steht direkt unter der INCI-Tabelle.
5. Ergebnis mit zwei Output-Produkten buchen → die **Verpackung** wird je Ergebnisprodukt × Menge gebucht (Detailseite prüfen). 5. Ergebnis mit zwei Output-Produkten buchen → die **Verpackung** wird je Ergebnisprodukt × Menge gebucht (Detailseite prüfen).
@ -256,7 +257,7 @@
**Wo:** **Produktion → Neue Produktion** / eine Produktion **bearbeiten** **Wo:** **Produktion → Neue Produktion** / eine Produktion **bearbeiten**
**Neu (AP-43):** Neben **„Produktion abschließen"** gibt es **„Zwischenspeichern (Entwurf)"**. **Neu (AP-43):** Neben **„Produktion abschließen"** gibt es **„Zwischenspeichern (Entwurf)"** (seit 09.09. an drei Stellen: oben, vor dem Ergebnis, unten). Die erweiterten Entwurfs-Szenarien stehen in **Teil C, Abschnitt 19**.
**So testen:** **So testen:**
1. Eine neue Produktion nur teilweise ausfüllen (Produkt + Standort + Datum + Menge), **„Zwischenspeichern"** → wird ohne Fehlermeldung gespeichert und in der Liste mit **Badge „Entwurf"** angezeigt. 1. Eine neue Produktion nur teilweise ausfüllen (Produkt + Standort + Datum + Menge), **„Zwischenspeichern"** → wird ohne Fehlermeldung gespeichert und in der Liste mit **Badge „Entwurf"** angezeigt.
@ -293,9 +294,116 @@
--- ---
---
# Teil C — Nachbesserungen & Nachtrag (08./09.09.2026)
> Eine unabhängige Prüfung der V7-Umsetzung hat 18 Befunde ergeben; alle sind behoben,
> dazu der Kundennachtrag **AP-52**. Diese Abschnitte prüfen die spürbaren Änderungen.
## 19. Produktion: Entwurf sichert alles, blockiert nichts
**Wo:** **Produktion → [Neue Produktion](/admin/inventory/productions/create)**
**Geändert:**
- Der Entwurf speichert **jede** Chargenzeile — auch „Menge ohne Charge" und „Charge ohne Menge" — und Ergebniszeilen ohne Stückzahl.
- Eine im Entwurf gewählte, inzwischen nicht mehr verfügbare Charge wird beim Öffnen **rot markiert**.
- Entwürfe **reduzieren keine Chargenverfügbarkeit** (weder für andere Produktionen noch für den Ausschuss).
- **„Zwischenspeichern (Entwurf)"** gibt es dreimal auf der Seite; das **Notizfeld** wächst beim Tippen mit (iPad).
- Nach einer Ablehnung durch „Produktion abschließen" bleiben **alle Chargen und Ist-Mengen** im Formular.
**So testen:**
1. Rezeptur-Produkt wählen, bei einem Rohstoff nur **9,8 g** eintragen, **keine** Charge wählen → Zwischenspeichern → Entwurf öffnen: die 9,8 g stehen noch da, Charge ist leer.
2. Charge ergänzen, bei einem Ergebnisprodukt die Stückzahl leer lassen → Zwischenspeichern → Ergebniszeile bleibt erhalten.
3. Parallel eine **zweite Produktion** anlegen: die im Entwurf gewählte Charge ist dort in **voller** Menge wählbar.
4. Beim Abschließen absichtlich **20 g statt 10 g** eintragen → Fehlermeldung; alle Chargen/Mengen stehen unverändert im Formular.
---
## 20. Produktion: Rohstoff in mehreren Phasen, Ergebnisprodukte
**Wo:** Produkt bearbeiten (Hersteller-Rezeptur) und **Produktion → Neue Produktion**
**Geändert:**
- Ein Rohstoff in **zwei Phasen** (z. B. 6 % in A, 4 % in B) behält beim Wiederöffnen je Phase seine Ist-Menge. Auch Speichern des Artikels (Phase umbenennen, neue Phase voranstellen, umsortieren) ändert das nicht.
- Im **Produktionsergebnis** sind alle aktiven Einzelprodukte wählbar, auch nicht produktionsrelevante (5-ml-Variante).
**So testen:**
1. Rezeptur mit demselben Rohstoff in Phase A (6 %) und Phase B (4 %) anlegen → Produktion mit 6 g / 4 g als Entwurf speichern → öffnen: **6 g in A, 4 g in B** (nicht 10/10).
2. Artikel öffnen, Phase „Vorbereitung" (nur Text) **vor** Phase A einfügen, Phase B umbenennen, speichern → Entwurf erneut öffnen: weiterhin 6 g / 4 g in den richtigen Phasen.
3. 5-ml-Variante auf „nicht produktionsrelevant" stellen → in der Planung oben nicht mehr wählbar, im Ergebnis unten weiterhin.
---
## 21. Verpackungs-Vorschau: Bestand, Differenz, Lagerort (AP-52) + historischer Verbrauch
**Wo:** **Produktion → Neue Produktion** / Produktion bearbeiten
**Neu/geändert:**
- Vorschau-Spalten: **Artikel · Stück gesamt · Lagerort · Bestand · Differenz** (rot/grün wie bei den Rohstoffen). Rechnet aus dem **Produktionsergebnis** und reagiert live auf Produkt-/Mengenänderungen und zusätzliche Ergebniszeilen.
- Bei einer **bereits gebuchten** Produktion zeigt die Vorschau den **gespeicherten** Verbrauch, solange Ergebnisprodukte und Stückzahlen unverändert sind — auch wenn die Stückliste am Produkt inzwischen anders ist (Differenz dann „—"). Ändert man die Stückzahl, wird mit der aktuellen Stückliste neu gerechnet (Hinweis unter der Tabelle).
- **Füllgewicht** akzeptiert Nachkommastellen (39,5).
**So testen:**
1. Verpackungsartikel mit Lagerplatz und Wareneingang anlegen → Neue Produktion: Vorschau zeigt Lagerort, Bestand und Differenz; Stückzahl über den Bestand erhöhen → Differenz wird **rot**.
2. Produktion mit 1 Tiegel je Stück buchen → am Produkt Stückliste auf 2 Tiegel ändern → Produktion bearbeiten: Vorschau zeigt weiter den gespeicherten Verbrauch; nur die Notiz ändern und speichern → Detailseite: Verpackungsverbrauch unverändert. Danach Stückzahl ändern → Neuberechnung.
3. Am Produkt Füllgewicht **39,5** eintragen → Soll-Gramm in der Produktion skalieren mit 39,5 (nicht 39).
---
## 22. Ausschuss ohne Charge & Köln-Default
**Wo:** **[Ausgang / Ausschuss](/admin/inventory/stock-disposals)**
**Geändert:** Ohne gewählte Charge prüft das System gegen den Bestand des **gewählten Lagerorts** und verteilt die Menge nach frühestem MHD auf die Chargen dieses Lagerorts (je Charge eine Buchung). **Köln** ist vorbelegt.
**So testen:**
1. Rohstoff mit zwei Chargen (älteres und jüngeres MHD) am Lagerort Köln; 400 g ohne Charge buchen → in der Ausgangsliste zwei Buchungen (ältere Charge zuerst); Rohstoff-Detail: Chargenrest entsprechend kleiner.
2. Denselben Rohstoff an einem **leeren** zweiten Lagerort ohne Charge buchen → wird abgelehnt („übersteigt den Restbestand am gewählten Lagerort").
---
## 23. Bestell-Abwicklung: Versand nur mit Zahlungsfreigabe
**Wo:** **[Bestellungen → Abwicklung](/admin/inventory/orders)**
**Geändert:** „Versendet" ist nur für **versandfertige** Bestellungen möglich (bezahlt; Rechnung/API sofort). Der Button ist sonst ausgegraut. „Konfektioniert" bleibt vorher möglich.
**So testen:** Eine Vorkasse-Bestellung ohne Zahlungseingang → „Versendet" ist deaktiviert, „Konfektioniert" funktioniert. Zahlung eingegangen → „Versendet" buchbar, Abgang in der Produktbestand-Historie.
---
## 24. Rohstoff-Detail: Preise nur für Admins, „Enthalten in"
**Wo:** **[Rohstoffbestand](/admin/inventory/raw-material-stock)**, Rohstoff öffnen
**Geändert:**
- Spalte **„Letzter Einkauf (Netto/kg)"** nur für Admins (Versand-/Produktionsmitarbeiter sehen keine Preise).
- **„Enthalten in"** zeigt **Anteil (%)** und **Verbrauch (g/Stück)** inkl. Faktor, Phasen summiert.
**So testen:** Als Mitarbeiter (Copyreader) anmelden → keine Preisspalte; als Admin → Preis sichtbar. Produkt mit 50 g Füllgewicht und 20 % Anteil (Faktor 1,1) → „20,00 %" und „11,00 g (netto 10,00 g)".
---
## 25. Einkauf: ml-Kopie, Historie, Verbrauch/Monat
**Wo:** **[Einkauf & Wareneingang](/admin/inventory/stock-entries)**, **[Produktbestand → Historie](/admin/inventory/product-stock/history)**, **[Produktbestand](/admin/inventory/product-stock)**
**Geändert:**
- **Kopieren** einer ml-Bestellung erhält Einheit und Dichte — auch nach Bearbeiten und Wareneingang.
- **Historie** zeigt bei mehr als 500 Treffern die Gesamtzahl und **„Alle anzeigen"**.
- **Verbrauch/Monat** zählt Versand → Storno → Wiederversand nur einmal.
**So testen:**
1. 100-ml-Bestellung (Dichte 0,79) kopieren → Kopie öffnen: 100,00 **ml** → speichern → Wareneingang „100" → gebucht **79 g**.
2. Historie eines Produkts mit vielen Buchungen filtern → Hinweis „… von … Buchungen" und „Alle anzeigen".
3. Bestellung versenden, zurücksetzen, erneut versenden → Verbrauch/Monat steigt nur um die einfache Menge.
---
## Hinweis am Rande ## Hinweis am Rande
Die Listen **Einkauf & Wareneingang** und **Produktionen** zeigen aus Performance-Gründen die neuesten 500 Einträge; darüber erscheint ein Link **„Alle anzeigen"**. Offene Bestellungen sind immer vollständig gelistet. Die Listen **Einkauf & Wareneingang**, **Produktionen** und die **Produktbestand-Historie** zeigen aus Performance-Gründen die neuesten 500 Einträge; darüber erscheint ein Link **„Alle anzeigen"**. Offene Bestellungen sind immer vollständig gelistet.
## Was bewusst noch nicht dabei ist (nachgelagert) ## Was bewusst noch nicht dabei ist (nachgelagert)