gruene-seele/resources/docs/hinweise.md
Kevin Adametz e53201f229 Warenwirtschaft: Anforderungsrunde 12.06. — Plan V5.0 + AP-26/AP-25/AP-22
Neue Anforderungen (docs/) interpretiert und als Entwicklungsplan V5.0
(AP-20 bis AP-28) aufgenommen; erste drei Pakete umgesetzt:

AP-26 Ausschuss-Gründe konfigurierbar:
- Stammdaten-Tabelle disposal_reasons + CRUD unter Einstellungen → Allgemein
- StockDisposalController liest aktive DB-Gründe statt hartkodierter Liste
- Seeder übernimmt die bisherigen 6 Gründe idempotent

AP-25 Lieferbestand — Datum statt Tage:
- "Nicht vorrätig" wird über Datepicker "Wieder lieferbar ab" gepflegt;
  Resttage-Hinweis zählt täglich automatisch herunter
- Interne Bestellliste wieder kaufbar: Hinweis erscheint zusätzlich zu
  den Mengen-Buttons (VP entscheidet selbst)

AP-22 Produktbestand-Erweiterungen:
- Default-Sortierung nach Dringlichkeit, Status-Kopf toggelt
- Alle vier Status-Kacheln als Filter klickbar
- Neue Spalte "Verbrauch/Monat" (Ø Abgänge der letzten 6 Monate)
- Produkt-Flag "Im Produktbestand anzeigen" (products.show_in_product_stock)

Tests: 77 grün (DisposalReasonSettings 8, ProductOutOfStock 8,
ProductStock 13 + Regression). Hinweise-Doku + Plan-Protokoll fortgeschrieben;
nächster Schritt laut Plan: AP-21 (INCI-Erweiterungen).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-12 16:28:45 +00:00

133 lines
7.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Hinweise zur Warenwirtschaft & Produktion
> Diese Seite wird laufend gepflegt und zeigt den aktuellen Entwicklungsstand,
> wichtige Hinweise für die Nutzung sowie festgehaltene Entscheidungen, die
> später noch ausgebaut werden können.
>
> **Stand:** 12.06.2026
---
## 1. Überblick / Entwicklungsstand
### Bereits nutzbar
- **Einstellungen → Allgemein:** Umsatzsteuersätze, Lieferzeit-Vorlagen
(inkl. Tageswert) und **Ausschuss-Gründe** pflegbar. Die Ausschuss-Gründe
erscheinen im Ausschuss-Formular (nur aktive, in gepflegter Reihenfolge).
- **Stammdaten:** Lagerorte, Rohstoffqualität, Verpackungsmaterial,
Lieferanten-Kategorien.
- **Lieferanten:** Bestellweg (E-Mail / Online-Shop), Bestell-Adresse,
Lieferzeit (Freitext + Tage).
- **INCI / Rohstoffe:** mehrere Lieferanten, Umsatzsteuersatz, eigene Lieferzeit.
- **Einkauf & Wareneingang:** zweistufig (bestellt → eingegangen), Charge & MHD,
Netto-/Brutto-Automatik mit USt-Snapshot, Einkauf duplizierbar.
- **Produktion:** rechnet ausschließlich auf Basis der **Hersteller-Rezeptur**.
Fehlt diese, erscheint eine Warnung (kein Rückgriff auf die Produkt-Rezeptur).
Eigenprodukte ohne Rezeptur (z. B. Broschüren, Etiketten) lassen sich über die
Produkt-Option „benötigt keine Rezeptur" ohne Chargen produzieren.
- **Produkt-Klassen:** Einzelprodukt vs. **Set** (Bündel mehrerer Einzelprodukte
mit Menge). Sets werden nicht produziert; optional kann ein Einzelprodukt einem
Hauptprodukt zugeordnet werden.
- **„Nicht vorrätig":** Produkt zeitlich begrenzt (mit **Datum** „Wieder
lieferbar ab" → der Hinweis „In ca. X Tagen wieder da!" zählt täglich
automatisch herunter) oder auf unbestimmte Zeit als nicht vorrätig
markierbar. Es erscheint **überall nur ein Hinweis** im öffentlichen Shop
**und** in der internen Bestellliste bleibt der Kauf möglich; der
Vertriebspartner entscheidet selbst, ob er die Ware später bekommt.
- **Rohstoffbestand:** Übersicht aller aktiven Rohstoffe mit echtem Restbestand
(Wareneingang abzüglich Produktionsverbrauch), durchschnittlichem Verbrauch
pro Tag, voraussichtlichem „auf Null"-Datum und Hochrechnung für 1/3/6/12
Monate. Suche und Filter „nur kritische anzeigen". Kritische Rohstoffe
(Meldebestand unterschritten) sind rot hervorgehoben; ein Badge in der
Navigation zeigt die Anzahl. Die Detailseite zeigt Bestand je Lagerort und
Charge sowie die zugeordneten Lieferanten mit Bestell-Link (Shop / Per Mail).
**Offene Bestellungen** (bestellt, aber noch nicht eingegangen) werden separat
ausgewiesen (Spalte „Offen bestellt" in der Übersicht, eigener Block in der
Detailansicht). Sie zählen **nicht** zum Bestand; ein kritischer Rohstoff mit
bereits offener Bestellung wird jedoch entschärft („Kritisch · bereits
bestellt") und nicht im Navigations-Badge mitgezählt.
- **Produktbestand:** Übersicht aller Haupt-/Einzelprodukte mit aktuellem
Bestand (Stück). Bestand = Summe aller Eingänge minus aller Ausgänge. Über die
Buttons **`+`/``** lassen sich Bewegungen mit Stückzahl, Grund (z. B.
Initialbestand, Korrektur, Inventur, Retoure, Testervergabe) und Hinweis
buchen; der Button **„Produzieren"** öffnet die Produktion mit bereits
ausgewähltem Produkt. Suche und Filter „nur kritische anzeigen"; bei
unterschrittenem kritischem Bestand ist die Zeile rot, beim Meldebestand gelb
ein Badge in der Navigation zeigt die Anzahl. Schwellwerte werden je Produkt im
Produktformular (Warenwirtschaft) gepflegt. Die Übersicht ist standardmäßig
nach **Dringlichkeit** sortiert (kritische Produkte oben, Klick auf „Status"
dreht die Reihenfolge), alle vier Status-Kacheln oben sind als Filter
anklickbar, und die Spalte **„Verbrauch/Monat"** zeigt den Durchschnitt der
Abgänge der letzten 6 Monate. Produkte ohne Lagerführung (z. B. Abrechnung
Druckkosten, Logo-Etiketten) lassen sich über die Produkt-Option
**„Im Produktbestand anzeigen"** aus der Übersicht ausblenden.
- **Produktbestand-Historie:** Revisionssichere Liste aller Bewegungen
(Eingang/Ausgang, Stückzahl, Datum, Grund, Hinweis, Mitarbeiter), filterbar
nach Produkt, Richtung, Grund und Zeitraum (Monat/Jahr).
- **Ausgang / Ausschuss:** Erfassung von Rohstoff- und Verpackungs-Abgängen
(z. B. Bruch, Verfall/MHD, Qualitätsmangel, Schwund, Testverbrauch). Die
Gründe sind selbst pflegbar unter **Einstellungen → Allgemein →
Ausschuss-Gründe**. Pflichtfeld **Grund**, optionale **Charge** (setzt den Lagerort automatisch), Menge in
Gramm (Rohstoff) bzw. Stück (Verpackung) und Datum. Jeder Ausgang reduziert
sofort den Bestand beim Rohstoffbestand also auch die „auf Null"-Prognose und
den Kritisch-Status.
### In Vorbereitung / geplant
- **Shop-Anbindung** (Bestandsabzug beim Versand),
**Audit-Trail**, **blockbasierte Rechte**, **2FA für Admins**.
- **Produktentwicklung:** Menüpunkt ist als Platzhalter angelegt das genaue
Briefing steht noch aus.
---
## 2. Wichtige Hinweise für die Nutzung
- **Produktion benötigt eine Hersteller-Rezeptur.** Ist für ein Produkt keine
gepflegt, lässt es sich nicht produzieren außer es ist ausdrücklich als
Eigenprodukt ohne Rezeptur markiert.
- **Chargen-Auswahl in der Produktion** zeigt nur Chargen mit Restbestand,
in der Reihenfolge des frühesten Mindesthaltbarkeitsdatums (FEFO).
- **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
letzten 90 Tage gemittelt. Ein Rohstoff gilt als **kritisch** (rot), wenn der
Restbestand den am Rohstoff gepflegten **Meldebestand** unterschreitet, und als
**„bald nachbestellen"** (gelb), wenn der Bestand voraussichtlich vor Ablauf der
Lieferzeit aufgebraucht ist.
- **Bestand = nur eingegangene Ware.** Ein neuer Einkauf ist zunächst „offen"
(bestellt) und erhöht den Bestand erst, wenn beim Einkauf der **Wareneingang
gebucht** wird (Stufe 2: eingegangen, mit Menge/Charge/MHD). Bis dahin erscheint
die Menge nur unter „Offen bestellt".
- **Produktbestand wächst automatisch durch Produktion.** Jede gebuchte
Produktion erzeugt einen Eingang in Höhe der produzierten Stückzahl; eine
spätere Mengenkorrektur der Produktion wird als Differenz nachgebucht. Manuelle
Korrekturen erfolgen ausschließlich über Gegenbuchungen (`+`/``) Einträge
der Historie werden nicht gelöscht. Verkaufsabgänge folgen mit der
Shop-Anbindung.
---
## 3. Festgehaltene Entscheidungen (mit Ausbaupotenzial)
Diese Punkte sind bewusst zunächst einfach umgesetzt und können bei Bedarf
später erweitert werden:
- **„Nicht vorrätig":** Vorerst nur ein **Hinweis** der Kauf bleibt möglich.
Eine echte **Kauf-Sperre** kann künftig optional ergänzt werden.
- **Bestandsabzug im Shop** erfolgt **beim Versand** (erst mit gebuchtem Versand
gilt die Ware als „aus dem Regal" entnommen). Stornos/Retouren werden als
Gegenbuchung abgebildet.
- **Blockbasierte Rechte** gelten zunächst **nur für Warenwirtschaft und
Produktmanagement**. Bei Bedarf können sie später auf weitere Bereiche
ausgebaut werden.
---
## 4. Offene Briefings
- **Produktentwicklung:** Funktion und Ablauf sind noch nicht final
beschrieben. Sobald ein Briefing vorliegt, wird der Platzhalter durch die
tatsächliche Funktionalität ersetzt.