Warenwirtschaft: AP-09 bis AP-13 (Produktbestand, Set-Produkte, Ausschuss, Konzepte)
- AP-09 Produktbestand inkl. Bewegungshistorie (product_stock_movements, ProductStockService) - AP-10 Rohstoffbestand-Ansicht je Lager (RawMaterialStockController) - AP-11 Bestandsschwellen / Out-of-Stock-Handling fuer Produkte und Shop - AP-12 Ausgang/Ausschuss (stock_disposals, StockDisposalController, InventoryService) - Set-Produkte (product_set_items) inkl. Aufloesung - Produktentwicklung & Hinweise-Verwaltung (Notices) - AP-13 Entwicklungskonzept Shop-Bestandsabzug im Plan dokumentiert - Feature-Tests fuer neue Module + aktualisierter Entwicklungsplan Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
parent
78679e0c55
commit
3ee2d756e9
63 changed files with 5968 additions and 901 deletions
124
resources/docs/hinweise.md
Normal file
124
resources/docs/hinweise.md
Normal file
|
|
@ -0,0 +1,124 @@
|
|||
# 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:** 03.06.2026
|
||||
|
||||
---
|
||||
|
||||
## 1. Überblick / Entwicklungsstand
|
||||
|
||||
### Bereits nutzbar
|
||||
|
||||
- **Einstellungen → Allgemein:** Umsatzsteuersätze und Lieferzeit-Vorlagen
|
||||
(inkl. Tageswert) pflegbar.
|
||||
- **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 Tagesangabe →
|
||||
„In ca. X Tagen wieder da!") oder auf unbestimmte Zeit als nicht vorrätig
|
||||
markierbar. Im öffentlichen Shop erscheint nur ein Hinweis, der Kauf bleibt
|
||||
möglich. In der **internen Bestellliste** ersetzt der rote Hinweis die
|
||||
Mengen-Buttons – dort ist das Produkt also vorübergehend nicht bestellbar.
|
||||
- **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.
|
||||
- **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). 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.
|
||||
Loading…
Add table
Add a link
Reference in a new issue