gruene-seele/resources/docs/hinweise.md
Kevin Adametz f4256bfc89 Warenwirtschaft: Review-Fix — Hinweis auf kritische Rohstoffe außerhalb der Rezepturen
Der Default-Scope 'recipe' blendet rezepturlose Rohstoffe aus, das
Sidebar-Badge zählt aber alle aktiven kritischen — Badge und Seite
konnten sich widersprechen. Die recipe-Ansicht zeigt jetzt einen Hinweis
mit 'Alle anzeigen', sobald das Badge mehr zählt; Empty-State-Text
scope-abhängig.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-20 12:43:20 +00:00

19 KiB
Raw Blame History

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: 16.07.2026 — ein geführter Rundgang durch die neuen Funktionen steht unter Einstellungen → Leitfaden.


1. Überblick / Entwicklungsstand

Bereits nutzbar

  • Einstellungen → Allgemein: Umsatzsteuersätze, Lieferzeit-Vorlagen (inkl. Tageswert), Ausschuss-Gründe sowie die Lagerort-Bausteine Räume, Regale und Fächer pflegbar. Die Ausschuss-Gründe erscheinen im Ausschuss-Formular (nur aktive, in gepflegter Reihenfolge).

  • Stammdaten: Lagerorte (Standorte), Rohstoffqualität, Verpackungsmaterial, Lieferanten-Kategorien.

  • Lieferanten: Bestellweg (E-Mail / Online-Shop), Bestell-Adresse, Lieferzeit (Freitext + Tage).

  • INCI / Rohstoffe: mehrere Lieferanten je mit eigener Bestell-URL (leer = per Mail), Alternativer Name (Handelsname), Lagerort Raum | Regal | Fach, Umsatzsteuersatz, eigene Lieferzeit, Häkchen „Kein Rohstoffbestand" und Listen-Filter „nur aktive".

  • Einkauf & Wareneingang: zweistufig (bestellt → eingegangen), Charge & MHD, Netto-/Brutto-Automatik mit USt-Snapshot, Einkauf duplizierbar. Beim Buchen erkennt die Maske bereits vorhandene Chargen und belegt MHD/Qualität vor.

  • Produktion: rechnet ausschließlich auf Basis der Hersteller-Rezeptur (inkl. Rezeptur-Phasen mit Notizen). Die Maske zeigt die INCI-Liste mit Alternativname und Regal; gebucht wird der Produktbestand aus dem Produktionsergebnis (auch mehrere Produkte je Produktion), die geplante Stückzahl ist nur Planung. Chargen-Nrn. werden aus dem Produkt-Präfix + Produktionsdatum vorbelegt. Fehlt die Hersteller-Rezeptur, 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. Umschalter „Alle" / „Nur aus Herstellerrezepturen", 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 (je Chargennummer summiert, Einzel-Einkäufe als Unterzeilen) sowie die zugeordneten Lieferanten mit Bestell-Link (Shop / Per Mail) und dem letzten Einkaufspreis (Netto/kg) je Lieferant. 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.

  • Rohstoffbestand — kritische außerhalb der Rezepturen (Hinweis, 20.07.2026): Die Standardansicht zeigt „Nur aus Herstellerrezepturen", das Sidebar-Badge zählt aber alle aktiven kritischen Rohstoffe. Liegt ein kritischer Rohstoff außerhalb der Rezepturen (z. B. Neuentwicklung), erscheint über der Liste ein Hinweis mit „Alle anzeigen", damit Badge und Liste nicht auseinanderlaufen.

  • Shop-Bestandsabzug beim Versand (neu 16.07.2026): Wird eine Bestellung auf „versendet" oder „abgeschlossen" gesetzt, bucht das System je Bestellposition automatisch einen Abgang im Produktbestand (Grund „Verkauf", mit Verweis auf die Bestellung). Sets werden dabei in ihre Einzelprodukte aufgelöst (auch verschachtelt). Wird der Versandstatus zurückgesetzt oder die Bestellung storniert, führt eine automatische Gegenbuchung den Bestand zurück – auch beim automatischen Storno durch die Zahlungserinnerung. Doppelte Statuswechsel buchen nie doppelt. Gilt für alle Bestellquellen (WooCommerce-Fulfillment, Whitelabel-Shop, direkt im Partnercenter angelegte Bestellungen). Alt-Bestellungen, die vor dem 16.07.2026 versendet wurden, sind geschützt: erneutes Speichern ihres Status zieht nicht rückwirkend vom heutigen Bestand ab. Der Schutz ist seit 20.07.2026 als unveränderliches Merkmal an der Bestellung hinterlegt (einmalig beim Update gesetzt) und übersteht damit auch Storno und erneutes Versenden einer Alt-Bestellung.

  • API-Bestellungen (neu 16.07.2026): Unterpunkt von Bestellungen in der Warenwirtschaft. Jede über die Partnercenter-API eingehende Bestell-Übertragung (WooCommerce-Fulfillment) wird protokolliert – auch abgelehnte. Kann eine Position keinem Produkt zugeordnet werden (WP-Nummer/SKU unbekannt), ist der Eintrag rot markiert; ein Klick auf „Ansehen" öffnet den Inhalt der Übertragung (SKU, Produkt, Menge, Preis, Meldung je Position). Zusätzlich warnt die Seite bei doppelten WP-Nummern aktiver Produkte und listet aktive Produkte ohne WP-Nummer auf.

  • Bestell-Abwicklung (neu 16.07.2026): Menü Bestellungen → Abwicklung — kompakte Tagesübersicht für Versand-Mitarbeiter. Vier Kacheln als Filter (Heute eingegangen / Zu konfektionieren / Versandfertig / Heute versendet), je Bestellung eine Zeile mit aufklappbarer Packliste (Sets mit Einzelkomponenten), Gewicht, Zahlstatus, Dokumenten und den Aktionen „Konfektioniert" (→ in Bearbeitung) und „Versendet" (→ bucht den Bestandsabzug). Versandfertig = bezahlt: Zahlart Rechnung gilt sofort, Vorkasse erst nach Zahlungseingang, API-Bestellungen immer. Dokumente: Rechnung + Lieferschein werden per Klick erstellt (ohne E-Mail-Versand) und als PDF geöffnet — einzeln oder kombiniert zum Druck. API-Bestellungen bekommen keine Rechnung im System – der Link zur externen Shop-Rechnung wird angezeigt. Das Board erlaubt nur Vorwärts-Schritte; Storno/Zurücksetzen läuft weiter über Verkäufe. Sammel-Druck: Über die Checkboxen mehrere Bestellungen auswählen (Haken im Tabellenkopf = alle sichtbaren) und mit „Lieferscheine drucken" bzw. „+ Rechnungen" ein einziges PDF für den Stapeldruck erzeugen — fehlende Dokumente werden dabei automatisch miterstellt (ohne E-Mail).

  • DHL-Label aus dem Shop (Brückenlösung, neu 17.07.2026, überarbeitet 20.07.2026): Wird das Versandetikett im WooCommerce-Shop erstellt (Plugin „DHL for WooCommerce") und die Bestellung danach übertragen, kommen Label und Sendungsnummer mit: Der Shop-Connector (ab Version 1.5.0) schickt die Label-PDF direkt mit (der Label-Ordner im Shop ist zugriffsgeschützt, daher kein Link/Download über die Shop-URL); das System speichert eine eigene Kopie (bleibt verfügbar, auch wenn das Label im Shop gelöscht wird) und zeigt in der Abwicklung und den Bestell-Details einen „Label"-Download plus die Sendungsnummer. Wird das Label im Shop erst später (neu) erstellt, reicht der Shop es automatisch nach. Die Sendungsnummer wird über die Status-Abfrage auch an den Shop zurückgemeldet (Tracking-Link für den Endkunden). Wichtig fürs Deployment: Das Label kommt erst an, wenn im Shop der Connector 1.5.0 installiert ist. Die vollständige DHL-Anbindung im Partnercenter (Labels direkt hier erzeugen, AP-32) bleibt geplant.

In Vorbereitung / geplant

  • Versand im System (DHL-Etiketten per API, AP-32 — bis dahin gilt die Brückenlösung „DHL-Label aus dem Shop", s. o.), Audit-Trail, blockbasierte Rechte, 2FA für Admins, WaWi-Einstellungsseite (Schwellwerte/Defaults zentral).
  • 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).
  • 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 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 — aus dem Produktionsergebnis. Die Stückzahl oben in der Produktions-Maske ist nur Planung und bucht nichts. Ganz unten unter „Produktionsergebnis" wird erfasst, was real entstanden ist — auch mehrere Produkte je Produktion (z. B. Plan 50×50 ml → Ergebnis 40×50 ml + 50×5 ml). Jede Ergebniszeile hat eine Chargen-Nr., die aus Produkt-Präfix + Produktionsdatum (ttmmjj) vorbelegt wird und editierbar bleibt. Eine spätere Korrektur des Ergebnisses wird je Produkt als Differenz nachgebucht. Manuelle Korrekturen erfolgen ausschließlich über Gegenbuchungen (+/−) – Einträge der Historie werden nicht gelöscht. Verkaufsabgänge buchen automatisch beim Versand (siehe Shop-Bestandsabzug) und zählen in „Verbrauch/Monat" mit.
  • Positionen ohne Produktzuordnung fehlen in Bestellung und Bestandsabzug: Überträgt WooCommerce eine SKU, die im Partnercenter keinem Produkt zugeordnet ist, wird die Position nicht übernommen – die Bestellung entsteht ohne sie. Solche Fälle sind unter API-Bestellungen rot markiert und sollten zeitnah geprüft werden (WP-Nummer am Produkt ergänzen, Position ggf. manuell nachpflegen).
  • Partner-Eigenversand berührt das Lager nicht: Bestellungen, die Partner selbst versenden, übertragen keinen Warenkorb ins Partnercenter und erzeugen bewusst keinen Bestandsabzug – der Partner versendet aus eigenem Bestand (Kundenentscheid 16.07.2026: bestätigt).
  • Versand-Mail enthält immer den Lieferschein (Fix 16.07.2026): Die Logistik-Mail („Rechnung/Lieferschein an den Versand") hängt jetzt immer Rechnung und Lieferschein an — unabhängig davon, ob die Bestellung White-Label-/Logo-Produkte enthält. Vorher fehlte der Lieferschein bei Bestellungen ohne eigenes Etikett, was zu Fehlversänden an die Rechnungsadresse führen konnte. Fehlt eine der beiden PDF-Dateien auf dem Server (Altdaten), wird sie beim Mailversand automatisch mit der bestehenden Rechnungsnummer neu erzeugt.
  • Status-Vorrang der Warenwirtschaft (Kundenentscheid 16.07.2026 — wichtig): Das Öffnen einer Bestell-Detailseite setzt eine offene Bestellung bislang automatisch auf „in Bearbeitung". Sobald der Status einmal über die Bestell-Abwicklung (Warenwirtschaft) gesetzt wurde, greift dieser Automatismus für diese Bestellung nicht mehr – der WaWi-Status hat Vorrang und wird von den Detailseiten nicht überschrieben. Bewusste manuelle Statuswechsel über das Verkäufe-Modal (z. B. Storno) bleiben möglich.
  • Produktions-Maske: zeigt die Hersteller-Rezeptur als INCI-Liste mit Alternativname, Qualität, Anteil %, Gesamt-Gramm und Regal (Lagerort); die Chargen-Zuordnung ist nach Rezeptur-Phasen gegliedert (inkl. Phasen-Notiz), mit Status-Ampel je Rohstoff (grün = Soll erfüllt). Der Rohstoffbestand berechnet sich unverändert aus den je Charge eingetragenen Ist-Mengen — unabhängig vom Produktionsergebnis.
  • Bestellweg je INCI-Lieferant: Am Inhaltsstoff wird pro Lieferant eine Shop-URL gepflegt („+ weiteren Lieferanten anlegen"). Ist die URL leer, gilt für diesen Lieferanten Bestellung per Mail – der Rohstoffbestand zeigt entsprechend „Zum Shop" (mit der hinterlegten URL) oder „Per Mail".
  • Alternativer Name am INCI: Handelsname der Packung (z. B. LECITHIN → Phospholipon 80 H), sichtbar in der INCI-Liste und im Rohstoffbestand-Detail, damit Mitarbeiter den Rohstoff finden.
  • Lagerorte folgen dem Schema Raum | Regal | Fach/Buchstabe. Die Bausteine werden zentral unter Einstellungen → Allgemein gepflegt und am INCI ausgewählt; Änderungen an einem Baustein wirken übergreifend.
  • INCI-Liste „nur aktive": Der Filter zeigt nur Inhaltsstoffe, die in der Hersteller-Rezeptur mindestens eines aktiven Produkts vorkommen – nicht zu verwechseln mit dem Aktiv-Häkchen am INCI selbst.
  • Rohstoffbestand-Filter: Die Übersicht kennt zwei Modi – „Nur aus Herstellerrezepturen" (aktiver Produkte, Standard seit 17.07.2026) und „Alle" (auch Rohstoffe ohne Rezeptur-Bezug, z. B. für Neuentwicklungen eingekauft). INCI mit dem Häkchen „Kein Rohstoffbestand" (z. B. Allergen-Angaben) erscheinen nie im Rohstoffbestand und zählen nicht im Kritisch-Badge.
  • Rezeptur-Phasen: Die Hersteller-Rezeptur ist in Phasen gegliedert (Phase A, B …) — je Phase Rohstoffe mit Anteil %, eine optionale Notiz (z. B. „auf 70 °C erhitzen") und Drag-&-Drop-Sortierung; Rohstoffe lassen sich auch zwischen Phasen verschieben. Die Gesamtsumme über alle Phasen muss 100 % ergeben. Bestehende Rezepturen ohne Phasen funktionieren unverändert weiter; das Kopieren eines Produkts übernimmt die Phasenstruktur. Für Soll-Mengen der Produktion sind Phasen rein darstellend — gerechnet wird wie bisher über alle Zeilen.

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. So umgesetzt (16.07.2026) – am Versand-Statuswechsel, Sets werden über ihre Komponenten aufgelöst.
  • Blockbasierte Rechte gelten zunächst nur für Warenwirtschaft und Produktmanagement. Bei Bedarf können sie später auf weitere Bereiche ausgebaut werden.
  • Chargen-Nr.-Format (Kundenentscheid 06.07.2026): Präfix auf Produktebene (Kategorie-Kürzel + Produkt-Nr., z. B. TP1) + Produktionsdatum als ttmmjj – Beispiel TP1150626 = Charge vom 15.06.2026. Die Chargen-Nr. wird in der Produktion vorbefüllt, bleibt aber editierbar (alte Etiketten). So umgesetzt: Präfix im Produktformular (Karte Warenwirtschaft), Vorbelegung je Ergebniszeile der Produktion.

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.