gruene-seele/resources/docs/testleitfaden.md
Kevin Adametz 0eed974576 Warenwirtschaft: AP-32-Brückenlösung — DHL-Label aus WooCommerce übernehmen
Bestell-Übertragung (wp/order) akzeptiert wp_label_url + wp_tracking_number:
Label-PDF wird als lokale Kopie im privaten Storage gespeichert (Shop-URL ist
öffentlich erratbar; Kopie überlebt Löschung im Shop), Sendungsnummer landet
in shopping_orders.tracking. Neuer Endpoint wp/label zum Nachreichen
(Connector-Hook pr_save_dhl_label_tracking), wp/status liefert die
Sendungsnummer an den Shop zurück. Abwicklungs-Board + Bestell-Details zeigen
Label-Download (copyreader-Dokumentroute type=label, Fallback Shop-Link) und
Sendungsnummer. Download-Fehler blockieren die Übertragung nie.

Doku: Connector-Update-Anleitung (dev/product management), Hinweise,
Testleitfaden §11, Plan-Protokoll. pint.json schließt dev/ (Fremdcode) aus.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-17 11:35:40 +00:00

12 KiB
Raw Blame History

Testleitfaden Warenwirtschaft — Anforderungsrunde 12.06.2026

Stand: 16.07.2026 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.


1. Einstellungen: Lagerort-Bausteine & Ausschuss-Gründe

Wo: Menü Einstellungen → Allgemein

Neu:

  • Drei neue Karten Räume, Regale, Fächer — die zentralen Bausteine für Lagerorte nach dem Schema Raum 1 | Regal 3 | A.
  • Karte Ausschuss-Gründe (aus Runde 12.06.): Gründe für Ausgang/Ausschuss selbst anlegen, umbenennen, deaktivieren.

So testen:

  1. Je einen Raum (z. B. „Raum 1"), ein Regal („Regal 3") und ein Fach („A") anlegen.
  2. Einen Eintrag umbenennen → die Änderung wirkt übergeordnet überall, wo der Baustein verwendet wird.
  3. Einen Ausschuss-Grund anlegen (z. B. „Verkleckert") — der taucht später in Schritt 8 auf.

2. INCI-Ebene: Lieferanten mit Bestellweg, Alternativname, Lagerort

Wo: Menü Produkte → Inhaltsstoffe, einen INCI öffnen (z. B. ZinClear XP)

Neu:

  • Lieferanten-Zeilen mit „+ weiteren Lieferanten anlegen": je Zeile Lieferant + URL. URL eingetragen ⇒ Bestellung im Online-Shop; URL leer ⇒ Bestellung per Mail.
  • Feld Alternativer Name (Handelsname, z. B. LECITHIN → Phospholipon 80 H).
  • Drei Dropdowns Raum / Regal / Fach (die Bausteine aus Schritt 1).
  • Checkbox „Kein Rohstoffbestand" (für Allergene u. Ä. — wirkt in Schritt 3).

So testen:

  1. Beim INCI zwei Lieferanten anlegen: einen mit URL (z. B. Dragonspice-Shoplink), einen ohne.
  2. Alternativnamen und Lagerort (Raum 1 | Regal 3 | A) setzen, speichern.
  3. Filter „nur aktive" oben in der INCI-Liste anhaken → es bleiben nur INCI übrig, die in der Herstellerrezeptur mindestens eines aktiven Produkts vorkommen.

Ergebnis prüfen: In der Rohstoffbestand-Detailansicht (Schritt 3) erscheint je Lieferant der Button „Zum Shop" bzw. „Per Mail"; Alternativname und Lagerort werden im Kopf angezeigt.


3. Rohstoffbestand: Filter & Ausblendungen

Wo: Menü Rohstoffbestand

Neu:

  • Umschalter „Alle" / „Nur aus Herstellerrezepturen" oben in der Übersicht.
  • INCI mit Häkchen „Kein Rohstoffbestand" erscheinen gar nicht (auch nicht im roten Kritisch-Zähler).

So testen:

  1. Auf „Nur aus Herstellerrezepturen" klicken → Rohstoffe, die nur für Neuentwicklungen eingekauft wurden, verschwinden; auf „Alle" sind sie wieder da.
  2. Bei einem Test-INCI „Kein Rohstoffbestand" anhaken → er verschwindet in beiden Modi.

4. Produktebene: Rezeptur-Phasen & Chargen-Präfix

Wo: Menü Produkte → Übersicht, ein Produkt bearbeiten (z. B. Tattoocreme)

Neu:

  • Hersteller-Rezeptur in Phasen (Phase A, B, …): je Phase eigene Rohstoffe, ein Notizfeld (z. B. „auf 70 °C erhitzen"), Umbenennen möglich; Rohstoffe lassen sich per Drag & Drop innerhalb und zwischen Phasen verschieben. Die 100-%-Summe gilt weiterhin über alle Phasen zusammen.
  • Feld „Chargen-Nr.-Präfix" in der Warenwirtschaft-Karte (z. B. TP1 = Tattoopflege + Produkt-Nr. 1).
  • Lieferbestand (aus Runde 12.06.): Feld „Wieder lieferbar ab" als Datum; das Produkt bleibt kaufbar, im Shop erscheint die tagesaktuell berechnete Anzahl Tage.

So testen:

  1. In der Hersteller-Rezeptur „+ Neue Phase" klicken, Rohstoffe zuordnen, eine Notiz eintragen, einen Rohstoff in eine andere Phase ziehen → Summe unten muss weiter 100 % ergeben.
  2. Präfix TP1 eintragen und speichern → wirkt in Schritt 7 (Produktion).
  3. „Wieder lieferbar ab" auf ein Datum in 12 Tagen setzen → Produkt im Shop ansehen: kaufbar, mit Tage-Hinweis.
  4. Produkt kopieren → Phasenstruktur wird mitkopiert.

5. Einkauf & Wareneingang: gleiche Charge zusammenführen

Wo: Menü Einkauf & Wareneingang

Neu:

  • Beim Buchen des Wareneingangs (Stufe 2) prüft die Maske beim Eintippen der Chargennummer automatisch, ob diese Charge für den Rohstoff schon im Haus ist: Hinweis „Charge bereits im Haus" mit Restbestand, Lagerort und MHD — MHD und Qualität werden vorbelegt (bleiben überschreibbar).
  • Der Einkaufsvorgang bleibt trotzdem separat erfasst (eigener Eintrag mit Preis und Datum).

So testen:

  1. Sonnenblumenöl bestellen und mit Charge XY-123 als eingegangen buchen.
  2. Sonnenblumenöl erneut bestellen und beim Buchen wieder XY-123 eintippen → der blaue Hinweis erscheint, MHD ist vorbelegt.
  3. Danach Schritt 6 ansehen: die Charge erscheint dort einmal mit summiertem Rest.

6. Rohstoffbestand-Detail: Chargen summiert

Wo: Menü Rohstoffbestand, den Rohstoff aus Schritt 5 anklicken

Neu: Tabelle „Verfügbare Chargen" zeigt je Chargennummer eine Zeile mit Summen-Rest und dem Vermerk „2 Einkäufe"; darunter die einzelnen Einkäufe als eingerückte Unterzeilen („Einkauf vom …"). Außerdem: Spalte „Letzter Einkauf (Netto/kg)" je Lieferant und die Bestell-Buttons aus Schritt 2.

So testen: Restbestand der Charge = Summe beider Einkäufe; beide Einkaufszeilen mit eigenem Datum sichtbar.


7. Produktion: neue Maske mit Produktionsergebnis

Wo: Menü Produktion → Produktionen → Neue Produktion

Neu (Kernstück der Runde):

  • Oben nur noch Planung: „Geplante Stückzahl (Planung)" — bucht keinen Bestand.
  • INCI-Liste der Herstellerrezeptur: Name, Alternativer Name, Qualität, Anteil %, Gramm gesamt, Regal — mit Summenzeile.
  • Chargen-Zuordnung nach Phasen gegliedert (inkl. Phasen-Notiz) mit Status-Ampel je Rohstoff (grün = eingetragene Menge entspricht dem Soll).
  • Das Chargen-Dropdown zeigt zusammengeführte Chargen mit Summen-Rest (z. B. „… — Rest 8.000 g (2 Einkäufe)"); der Verbrauch wird automatisch nach frühestem MHD auf die Einkäufe verteilt.
  • Ganz unten „Produktionsergebnis": Zeilen mit Produkt + produzierte Stückzahl + Chargen-Nr. (vorbelegt aus Präfix + Produktionsdatum, z. B. TP1150626 — editierbar), „+ weitere Ergebniszeile" für mehrere Output-Produkte.

So testen (Beispiel aus der Anforderung):

  1. 50 × „50 ml Deobalm" planen, Chargen zuordnen (Ampeln grün).
  2. Im Produktionsergebnis eintragen: 40 × 50 ml und (zweite Zeile) 50 × 5 ml — Chargen-Nr. wird je Zeile automatisch vorgeschlagen.
  3. Speichern → Detailseite zeigt die Karte „Produktionsergebnis".
  4. Produktbestand prüfen (Schritt 8): 50-ml-Produkt +40, 5-ml-Produkt +50 — nicht +50 aus der Planung.
  5. Produktion bearbeiten, Ergebnis ändern → der Produktbestand korrigiert sich als Differenz-Gegenbuchung (Historie bleibt vollständig).
  6. Rohstoffbestand (Schritt 6) prüfen: abgezogen wurden die je Charge eingetragenen Gramm — unabhängig vom Ergebnis.

8. Produktbestand & Ausschuss

Wo: Menü Produktbestand → Übersicht und Ausgang / Ausschuss (Historie: Produktbestand → Historie)

Neu:

  • Übersicht standardmäßig nach Dringlichkeit sortiert; alle vier Status-Kacheln oben sind klickbare Filter.
  • Spalte „Verbrauch pro Monat" (Durchschnitt der letzten 6 Monate).
  • Auf Produktebene Häkchen „Im Produktbestand anzeigen" — z. B. Logo-Etiketten-Abrechnungen ausblendbar.
  • Ausschuss-Erfassung nutzt die selbst gepflegten Gründe aus Schritt 1; Chargen-Auswahl setzt den Lagerort automatisch.

So testen: Kacheln durchklicken, ein Produkt per Häkchen ausblenden, einen Ausschuss mit eigenem Grund buchen und in der Historie wiederfinden.


9. Shop-Bestandsabzug beim Versand & API-Bestellungen (neu 16.07.2026)

Wo: Menü Verkäufe (Statuswechsel) und Bestellungen → API-Bestellungen (Warenwirtschaft)

Neu:

  • Beim Setzen einer Bestellung auf „versendet" oder „abgeschlossen" bucht das System je Position automatisch einen Abgang im Produktbestand (Grund „Verkauf"). Sets werden in Einzelprodukte aufgelöst. Zurücksetzen oder Storno bucht automatisch zurück.
  • Menüpunkt API-Bestellungen: Protokoll aller über die Partnercenter-API übertragenen Bestellungen. Einträge mit nicht zuordenbaren Positionen (unbekannte WP-Nummer) sind rot markiert; „Ansehen" öffnet den Inhalt der Übertragung. Oben warnt die Seite bei doppelten WP-Nummern und listet aktive Produkte ohne WP-Nummer.

So testen: Eine Bestellung mit bekanntem Produkt auf „versendet" setzen → im Produktbestand → Historie erscheint der Abgang „Verkauf"; Status zurück auf „offen" → Gegenbuchung. Danach unter API-Bestellungen eine Übertragung mit unbekannter SKU suchen (rot markiert) und per „Ansehen" die Positionen prüfen.


10. Bestell-Abwicklung (neu 16.07.2026)

Wo: Menü Bestellungen → Abwicklung

Neu:

  • Kompakte Tagesübersicht mit vier klickbaren Kacheln: Heute eingegangen / Zu konfektionieren / Versandfertig / Heute versendet — „versandfertig" heißt bezahlt (Zahlart Rechnung sofort, Vorkasse nach Zahlungseingang, API immer).
  • Je Bestellung: aufklappbare Packliste (Sets mit Komponenten), Gewicht, Zahlstatus, Dokumente (Rechnung/Lieferschein einzeln oder kombiniert; per Klick erstellbar, ohne E-Mail; API-Bestellungen verlinken die externe Rechnung) und die Buttons „Konfektioniert" und „Versendet" (bucht den Bestandsabzug).
  • Wurde ein Status über die Abwicklung gesetzt, überschreibt das Öffnen der Bestell-Details ihn nicht mehr automatisch.
  • Sammel-Druck: mehrere Bestellungen per Checkbox auswählen → „Lieferscheine drucken" oder „+ Rechnungen" → ein PDF mit allen Dokumenten öffnet sich im neuen Tab; fehlende Dokumente werden automatisch miterstellt.

So testen: Eine bezahlte offene Bestellung unter „Zu konfektionieren" finden → Packliste aufklappen → „Konfektioniert" → Bestellung wandert zu „Versandfertig" → Dokumente erstellen und drucken → „Versendet" → Kachel „Heute versendet" zählt hoch, Abgang steht in der Produktbestand-Historie. Danach zwei Bestellungen anhaken und den Sammel-Druck testen.


11. DHL-Label aus dem Shop (Brückenlösung, neu 17.07.2026)

Wo: Menü Bestellungen → Abwicklung und Bestell-Details unter Verkäufe

Neu:

  • Wird das DHL-Etikett im WooCommerce-Shop erstellt und die Bestellung danach übertragen, speichert das System eine eigene Kopie der Label-PDF und die Sendungsnummer an der Bestellung.
  • In der Abwicklung erscheint bei der Bestellung ein „Label"-Download (neben dem externen Rechnungslink) samt Sendungsnummer; ebenso in den Bestell-Details.
  • Wird das Label im Shop erst nach der Übertragung erstellt (oder neu erstellt), reicht der Shop es automatisch nach — es taucht dann ohne weiteres Zutun in der Abwicklung auf.
  • Voraussetzung: das kleine Update des Verbindungs-Plugins im WooCommerce-Shop ist eingespielt.

So testen: Im Shop eine Testbestellung mit DHL-Label versehen → Bestellung ins Partnercenter übertragen → in der Abwicklung bei der Bestellung auf „Label" klicken (PDF öffnet sich) und die Sendungsnummer prüfen. Danach einmal andersherum: Bestellung zuerst übertragen, Label im Shop erst danach erstellen → Seite neu laden, der Label-Download muss nachträglich erscheinen.


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.

Was bewusst noch nicht dabei ist (nachgelagert)

Versand im System (DHL-Etiketten per API), Audit-Trail, 2FA, blockbasierte Rechte und die WaWi-Einstellungsseite folgen in der nächsten Runde.