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>
133 lines
7.3 KiB
Markdown
133 lines
7.3 KiB
Markdown
# 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.
|