Zum Inhalt springen
Stone & Water

Häufige Fragen zum PIM für Shopware

Antworten auf die häufigsten Fragen zum PIM für Shopware 6 - sortiert nach Themengebiet.

Allgemeines

Was ist das PIM für Shopware?

Das PIM (Product Information Management) ist ein Plugin für Shopware 6, das die Produktpflege drastisch beschleunigt - mit Mehrfachänderung über mehr als 40 Aktionen, mehrsprachigem CSV-Import, Varianten-Generator, KI-Textgenerierung mit ChatGPT, Claude, Mistral und Gemini. Alles direkt im Shopware-Admin, ohne ETL-Tool oder Drittsystem.

Mit welchen Shopware-Versionen ist es kompatibel?

Shopware 6.6 und 6.7. Seit Version 1.11.48 deckt ein einziges Paket beide Reihen ab - die Administrationsdatei liegt zusätzlich unter js/, von wo 6.6 sie lädt, während 6.7 weiterhin den Weg über das Vite-Manifest nimmt. Getrennte Pakete je Shopware-Version entfallen damit.

Brauche ich einen externen Dienst dafür?

Nein. Das PIM läuft auf deinem Shopware-Server, Produktdaten verlassen ihn nicht. Für die Lizenzprüfung fragt das Plugin den Lizenzserver von Stone & Water mit Pluginname, Lizenzschlüssel und Shop-Domain ab. Externe KI-Anbieter (ChatGPT/Claude/Mistral/Gemini/DeepL) werden nur kontaktiert, wenn du sie aktiv anstößt - und mit deinen eigenen API-Keys.

Wie installiere ich das Plugin?

Über den Shopware Store: Unter Erweiterungen → Store nach „PIM für Shopware" suchen, installieren, aktivieren. Oder manuell: ZIP herunterladen und unter Meine Erweiterungen hochladen.

Welche PHP-Version brauche ich?

PHP 8.2 oder neuer. Datenbank: MySQL 8 oder MariaDB 10.11. Memory: mindestens 256 MB, 512 MB empfohlen für große Kataloge.

Mehrfachänderung

Welche Felder kann ich bulk-bearbeiten?

Über 40 Aktionen in bis zu zehn Tabs: Stammdaten (Status, Topseller, Abverkauf, Versandkostenfrei, EAN, Erscheinungsdatum, Listing-Konfiguration, Freigabe), Zuordnung (Hersteller, Wesentliche Merkmale, Garantie, Kategorien, Tags, Eigenschaften, Sichtbarkeit, Cross-Selling), Preise & Lager (Preis mit Festpreis, Prozent, Betrag oder EK-Aufschlag, Pseudopreis, Bestand, Steuerklasse, Bestellmenge, Staffelung, Staffel-Verkettung), Versand (Maße, Gewicht, Lieferzeit, Wiederauffüllzeit, Verpackungseinheit, Grundpreis, Produkteinheit), SEO (Meta-Title, Meta-Description, SEO-URL, Hauptkategorie, Canonical-Variante) und Zusatzfelder. Dazu KI & Texte, Varianten generieren, Felder leeren und Löschen. Name, Beschreibung, Artikelnummer, Einkaufspreis und Listenpreis gehören nicht zu den Setzen-Aktionen. Details auf der Seite Mehrfachänderung.

Kann ich die Garantieangaben (GARAN-Label) pflegen?

Ja. Shopware kennt ab 6.7.14 die Garantiedauer in Monaten und die Bestätigung des Händlers; das PIM pflegt beide in einem eigenen Bereich der Stammdaten, je Variante vererbbar und über die Aktion „Garantie" auch in der Mehrfachänderung. In Installationen unter 6.7.14 ist der Bereich sichtbar, aber gesperrt und erklärt warum - die Angaben werden dort auch nicht mitgeschrieben. Damit Shopware das Label ausgibt, braucht es mehr als 24 Monate Garantiedauer, bestätigte Angaben und einen gepflegten Hersteller samt Herstellerproduktnummer.

Kann ich auch Zusatzfelder leeren?

Ja. Im Bereich „Felder leeren" lassen sich neben Stammdaten-, SEO- und Verknüpfungsfeldern auch die Zusatzfelder der Produkte auswählen. Da Zusatzfelder übersetzbar sind, greift die vorhandene Sprachauswahl; die Werte werden vor dem Leeren im Snapshot gesichert und bleiben rückholbar. Einen Sammelschalter „Alle Zusatzfelder" gibt es bewusst nicht, weil ein Shop schnell mehrere Dutzend davon hat.

Wie pflege ich fehlende Eigenschafts-Übersetzungen nach?

Direkt im Zuordnungs-Tab der Mehrfachänderung. Optionen ohne Übersetzung werden markiert und oben gezählt; über das Stift-Symbol öffnet sich ein Dialog, in dem sich der übersetzte Name für mehrere Sprachen gleichzeitig hinterlegen lässt - ohne den Shopware-Eigenschaftskatalog zu verlassen. Geprüft wird gegen die Sprachen der Verkaufskanäle, denen die betroffenen Artikel zugeordnet sind. Property-Übersetzungen gelten in Shopware pro Sprache, nicht pro Kanal.

Wie funktioniert der Einkaufspreis brutto/netto?

Eine eigene Aktion zum Setzen des Einkaufspreises gibt es in der Mehrfachänderung nicht. Den Einkaufspreis pflegst du in der Detailansicht, im Quickview oder per CSV (Spalten purchasePrice für brutto und purchasePrice_net für netto - wird nur einer angegeben, berechnet das PIM den anderen über den Steuersatz). In der Mehrfachänderung dient der Einkaufspreis als Basis der Preis-Modi „EK + %" und „EK + €".

Was passiert wenn ich versehentlich etwas Falsches setze?

Vor jeder Bulk-Operation wird automatisch ein Snapshot der vorherigen Werte gespeichert. In der Konfigmatrix im Tab Snapshots kannst du ihn mit Diff vergleichen und wiederherstellen. Snapshots werden standardmäßig 90 Tage aufbewahrt, höchstens 50 Stück; beides ist einstellbar.

Welche Filter werden vor der Mehrfachänderung angezeigt?

Wählst du als Quelle ein Preset, zeigt das PIM dessen aktive Filter als lesbare Chips, zum Beispiel Status, Lagerbestand, mit/ohne Varianten, Hersteller, Kategorien, dynamische Produktgruppe, Verkaufskanal, Tag, Steuer, Lieferzeit, Preis und Gewicht. IDs werden in Klarnamen aufgelöst. „Keine Filter aktiv" wird rot markiert.

Welche Felder unterstützen Sprachauswahl in der Mehrfachänderung?

Übersetzbare Felder zeigen die Auswahl „Kanäle & Sprachen": Meta-Title, Meta-Description, SEO-URL (SEO-Tab), übersetzbare Zusatzfelder und Verpackungseinheit (Versand-Tab). Der Wert wird in der Standardsprache gesetzt UND in jede gewählte Sprache geschrieben - eine Aktion, mehrere Sprachen.

Gibt es eine Aktion „Auf Filter beschränken"?

Einen Schalter „Auf Filter beschränken" gibt es nicht. Welche Produkte betroffen sind, ergibt sich aus der Quelle (Auswahl oder Preset-Filter). Ob die Varianten gewählter Produkte mitgeändert werden, legt „Varianten standardmäßig einschließen" in der Konfigmatrix (Tab Mehrfachänderung) fest.

Kann ich in der Massenbearbeitung mehrere Aktionen in einem Lauf kombinieren?

Ja. In einem Vorgang kannst du z.B. Hersteller setzen + Steuersatz ändern + Sales-Channel-Sichtbarkeit + Produkteinheit gleichzeitig - alles in einem Lauf mit einem gemeinsamen Snapshot.

Wie viele Produkte kann ich gleichzeitig ändern?

Über die Auswahl alle markierten Produkte, über einen Preset-Filter standardmäßig bis zu 500 Produkte - einstellbar in der Konfigmatrix bis „Unbegrenzt". Bei großen Mengen siehst du den Fortschritt mit Zähler, Phase (Snapshot/Schreiben) und voraussichtlicher Restzeit - jederzeit abbrechbar.

Was bedeutet „Daten-Vererbung Parent → Varianten"?

In der Mehrfachänderung kopiert „Auf Varianten übertragen" Preisstaffel und Cross-Selling vom Hauptprodukt auf alle Varianten; dazu kommen „Sichtbarkeit auf Varianten" und „Eigenschaften auf Varianten". In der Detailansicht überträgt „Auf Varianten übertragen" ausgewählte Felder wie Preis, Pseudopreis, Einkaufspreis, Bestand, Lieferzeit, Versandkostenfrei, Gewicht & Maße, EAN und Aktiv-Status; für Bilder und Eigenschaften gibt es eigene Schaltflächen.

Warum erscheinen im Frontend weniger Eigenschaften als gepflegt?

Die Vererbung in Shopware wirkt pro Feld nach dem Prinzip alles-oder-nichts: Sobald eine Variante eine eigene Eigenschaft hat, erbt sie in diesem Feld gar nichts mehr vom Stammartikel. Das PIM macht das sichtbar - solche Eigenschaften werden orange hervorgehoben und gezählt - und die Schaltfläche „Eigenschaften auf Varianten übertragen" ergänzt die fehlenden. Ein zweiter häufiger Grund: Bei der Gruppe ist „Auf Produktdetailseite anzeigen" abgeschaltet; solche Gruppen sind als „Nicht in Storefront" markiert.

Was passiert beim Duplizieren eines Varianten-Artikels?

Ein Dialog fragt vorab, welche Felder die Varianten vom Hauptartikel erben sollen: Bilder, Name, Preis, Gewicht und EAN. Geerbte Felder übernehmen spätere Änderungen am Hauptartikel automatisch, nicht geerbte werden als eigener Wert kopiert. Bestand und Artikelnummer bleiben systembedingt variantenspezifisch. Der Duplikat-Stammartikel bekommt eine eigene, korrekte SEO-URL nach Kanal-Vorlage. Bei einfachen Artikeln ohne Varianten erscheint die Abfrage nicht.

Was lässt sich nicht über Snapshots zurückholen?

Nicht über Snapshots rückholbar sind erzeugte Varianten (sie bleiben bestehen), gelöschte Varianten und gelöschte Produkte. Die Dialoge weisen jeweils darauf hin.

CSV-Import & Export

Kann ich mehrere Sprachen in einer CSV-Datei haben?

Ja. Die Hauptsprache des Exports steht in den Hauptspalten wie name, weitere Sprachen als Spalten trans_<kanal>_<sprache>_<feld>, etwa trans_hauptshop_en_GB_name. Sprachbezogene Zusatzfelder heißen cf_<name>__<Sprachcode>. Welche Kanal-Sprachen erscheinen, legst du in der Konfigmatrix fest.

Wie funktionieren die Einkaufspreis-Spalten brutto und netto?

Zwei getrennte Spalten: purchasePrice (brutto, im Import auch als purchasePrice_gross) und purchasePrice_net. Beim Import sind alle Kombinationen möglich - nur brutto angeben (netto wird über den Steuersatz berechnet), nur netto angeben (brutto wird berechnet) oder beide (1:1 übernommen). Aliase wie ek_brutto oder cost_net werden erkannt.

Wie funktionieren die Einkaufspreis-Spalten brutto und netto?

Zwei getrennte Spalten: purchasePrice (brutto, im Import auch als purchasePrice_gross) und purchasePrice_net. Beim Import sind alle Kombinationen möglich - nur brutto angeben (netto wird über den Steuersatz berechnet), nur netto angeben (brutto wird berechnet) oder beide (1:1 übernommen). Aliase wie ek_brutto oder cost_net werden erkannt.

Wie werden Varianten exportiert?

Als eigene Zeilen. Der Varianten-Export ist pro Profil oder global in der Konfigmatrix aktivierbar. Parents und Varianten erscheinen mit klar identifizierbaren productNumber-Werten in derselben Datei.

Muss ich UUIDs für die Variant-Parents kennen?

Nein. Varianten lassen sich über die Spalte parentProductNumber ihrem Stammartikel zuordnen - UUIDs sind nicht zwingend nötig.

Wie funktioniert die Spalte „Produkteinheit (Name)"?

Statt einer kryptischen UUID exportiert das Plugin die Produkteinheit als Klarname („Liter", „Kilogramm", „Stück"). Beim Import wird der Name automatisch in die richtige Shopware-Einheits-ID aufgelöst - Excel-freundlich.

Werden Zusatzfelder (Custom Fields) beim Import zerstört?

Nein. Custom-Field-JSON wird gemerged, nicht überschrieben. Wenn nur eine Spalte cf_xy in deiner CSV steht, werden andere Custom-Field-Einträge des Produkts nicht angerührt.

Wie viele Produkte kann ich pro Import verarbeiten?

Der Import läuft in Paketen über die Shopware-Sync-API mit Fortschrittsanzeige. Batch-Größe, parallele Bild-Uploads, Rate-Limit und Indexierung stellst du in der Konfigmatrix (Tab Import / Export) passend zum Server ein.

Kann der CSV-Import abgebrochen werden?

Einen Abbrechen-Button für einen laufenden Import gibt es nicht. Mit „Import bei Fehleranzahl abbrechen" (Konfigmatrix) stoppt der Import nach einer gewählten Fehlerzahl, und im Strict Mode werden bei Fehlern alle bereits importierten Änderungen automatisch zurückgesetzt. Zusätzlich lässt sich der letzte Import im Änderungslog rückgängig machen.

Wer darf importieren?

Superadmins immer, normale Benutzer solange der Funktionsschalter „CSV-Import" in der Konfigmatrix (Tab PIM-Superadmin) eingeschaltet ist - das ist der Standard. Eigene Shopware-Rechte für CSV-Import oder -Export gibt es nicht.

Varianten-Generator

Wie viele Varianten kann ich auf einmal erzeugen?

Praktisch unlimitiert. Getestet mit 100+ Varianten in einem Lauf in unter 10 Sekunden. Bei sehr vielen Optionen empfiehlt sich die Live-Vorschau, um die exakte Anzahl vorab zu prüfen.

Was ist die „vereinheitlichte Suche"?

Eine einzige Suche oben im Varianten-Generator durchsucht Eigenschaften und Optionen gleichzeitig. Tippst du „rot", bleiben alle Eigenschafts-Gruppen sichtbar, die irgendwo „rot" als Option haben, und die Treffer werden hervorgehoben.

Was sind „Pattern-Akkordeons"?

Artikelnummer- und Variantenname-Muster werden als getrennte Akkordeons angezeigt. Eingeklappt sehen sie aktuelle Pattern als Chip; aufgeklappt erscheint das Eingabefeld plus klickbare Variable-Chips. Klick auf einen Chip fügt die Variable direkt ein.

Was kann die Variantenmatrix?

Ab zwei Eigenschaftsgruppen zeigt die Matrix-Ansicht alle Varianten eines Produkts in einer Tabelle: Zeilen sind die Optionen der einen Gruppe, Spalten die der anderen. In jeder Zelle bearbeitest du einen Wert direkt - Preis, Bestand oder Aktiv.

Welche Variablen gibt es in Mustern?

{parentNumber}, {firstVariantNumber}, {parentName}, {options}, {option1} bis {option3}, {group1}, {group2} und {counter}. Das ältere {number} wird als {parentNumber} gelesen.

Was passiert wenn ich Varianten lösche?

In der Mehrfachänderung (Tab „Varianten generieren", Aktion „Varianten löschen") werden im empfohlenen Umfang „Nur ohne Bestellungen" Varianten mit Bestellbezug übersprungen und bleiben bestehen. „ALLE Varianten löschen" löscht auch diese - Vorsicht. Das Löschen ist unwiderruflich.

KI-Textgenerierung

Welche KI-Anbieter werden unterstützt?

Vier Anbieter, alle parallel nutzbar mit Anbieter-Auswahl pro Generierung: OpenAI ChatGPT (GPT-5.6 Sol, GPT-5.6 Terra, GPT-5.6 Luna, GPT-5.5, GPT-5.4 mini, GPT-5.4 nano), Anthropic Claude (Haiku 4.5, Sonnet 5, Sonnet 4.6, Opus 4.8, Fable 5), Mistral AI (Large 3, Medium 3.5, Small 4) und Google Gemini (3.1 Pro, 3.5 Flash, 3.1 Flash-Lite). Zusätzlich DeepL für Übersetzungen. In der Mehrfachänderung stehen ChatGPT, Claude und DeepL zur Verfügung.

Brauche ich eigene API-Keys?

Ja. Du erstellst die Keys beim jeweiligen Anbieter (console.anthropic.com, platform.openai.com, console.mistral.ai, Google AI Studio oder DeepL) und trägst sie in der Konfigmatrix im Tab Texte & Übersetzungen ein. Die Keys liegen in der Plugin-Konfiguration in deiner Shopware-Datenbank; Anfragen laufen über deinen Shop-Server direkt zum Anbieter.

Welche Texte kann die KI generieren?

Produktname, Beschreibung (HTML), Meta-Title (max 60 Zeichen), Meta-Description (max 155 Zeichen) und Keywords (Komma-Liste). Einzeln oder zusammen, für ein Produkt oder per Mehrfachänderung für viele. Der Produktname ist bewusst nicht vorausgewählt, damit bestehende Namen nicht versehentlich überschrieben werden; überlange Namen werden auf 255 Zeichen gekürzt.

Wie lang werden die KI-Texte?

In der Konfiguration lassen sich unter „Texte & Übersetzungen" Längenvorgaben je Feld in Wörtern und Zeichen hinterlegen. Voreingestellt sind 120 Zeichen für den Artikelnamen, 60 für den SEO-Title, 155 für die Meta-Description und 250 Wörter bzw. 1500 Zeichen für die Beschreibung - die Längen, die Suchmaschinen üblicherweise ungekürzt anzeigen. Der Wert 0 bedeutet keine Vorgabe. Die Werte gehen in den Prompt ein und bestimmen zugleich das Token-Budget, sodass die Antwort bei vielen gewählten Feldern nicht mehr mitten im JSON abbricht.

Was ist der Masterprompt?

Eine zentrale Vorgabe in der Konfiguration, die jeder Anfrage an die KI zusätzlich mitgegeben wird - in der Detailansicht, in der Mehrfachänderung und bei der Übernahme aus der Standardsprache, unabhängig vom gewählten Anbieter. Damit lassen sich dauerhafte Regeln einmal festlegen, etwa Anrede, Markenschreibweise, Pflichtangaben oder Formulierungsverbote. Anweisungen im jeweiligen Dialog bleiben erhalten und ergänzen den Masterprompt.

Was macht „Aus Standardsprache übernehmen"?

Verwendet ein Verkaufskanal eine eigene Sprache, sind dort zunächst keine eigenen Texte hinterlegt - im Shop greifen zwar die geerbten Inhalte, aber die KI hat in dieser Sprache keinen Ausgangstext. Die Funktion überträgt Name, Beschreibung, Meta-Titel, Meta-Description und Keywords aus der Standardsprache in die gewählten Zielsprachen. Standardmäßig werden nur leere Felder gefüllt; das Überschreiben lässt sich optional aktivieren. Es gibt sie in der Mehrfachänderung (Bereich KI & Texte) und als Sammelaktion in der Kategorien-Verwaltung.

Wer zahlt für die KI-Nutzung?

Du, direkt beim Anbieter. Stone & Water erhebt keine zusätzlichen Kosten oder Margen. Das Plugin proxyt nur die Calls.

Wie kontrolliere ich die Kosten?

Über das Budget und die Limits bei deinem KI-Anbieter. Das PIM zeigt in der Mehrfachänderung einen festen Hinweis, dass jedes Produkt einzeln an die API geht. Eine Kostenanzeige in Euro, ein Bulk-Limit oder eine Kostenschwelle mit Bestätigung gibt es nicht. Über die Zahl paralleler Anfragen und die Auswahl der Felder und Sprachen steuerst du den Umfang.

Kann ich mehrere KI-Anbieter parallel nutzen?

Ja. Sind mehrere Anbieter aktiv, wählst du im Generator-Modal pro Aufruf den passenden - Claude für anspruchsvolle Beschreibungen, ein Flash-Modell für schnelle Meta-Daten zum Beispiel.

Was sind die fünf Stilvorlagen?

Professionell (sachlich), Locker-modern (jüngerer Ton), Premium/Luxus (sensorisch), Technisch (Fachterminologie), Emotional (Storytelling). Standard pro Shop in der Konfigmatrix setzbar, Override pro Operation.

Konfiguration & UX

Was steckt in der „Konfigmatrix"?

Die zentrale Steuerung des Plugins mit 13 Tabs: Allgemein, Dashboard, Produkte, Varianten, SEO-URLs, Texte & Übersetzungen, Import / Export, Mehrfachänderung, Freigabe, Änderungshistorie, Snapshots, Fremdsysteme und PIM-Superadmin. Du öffnest sie über den Menüpunkt „PIM Konfigurationsmatrix" im Stone & Water-Menü; Strg+K durchsucht alle Einstellungen.

Wie ändere ich die Reihenfolge der Abschnitte?

Die Reihenfolge der Abschnitte in der Produkt-Detailansicht (Stammdaten, Preise, Medien, SEO, …) und in der Varianten-Ansicht legst du in der Konfigmatrix in den Tabs Produkte bzw. Varianten fest - über die Schaltflächen „Nach oben" und „Nach unten".

Was bedeutet „Eigenes SEO-URL-Pattern pro Shop"?

Beide SEO-Generatoren unterstützen Pro-Verkaufskanal-Patterns: Schritt 1 ein eigenes Token-Pattern, Schritt 2 ein eigenes Twig-Pattern. Shop-Patterns sind eine Liste mit Stift (bearbeiten) und Papierkorb (entfernen). Shops ohne eigenes Pattern verwenden das Standard-Pattern. Details in der FAQ-Sektion „SEO-URL-System".

Werden auch SEO-URLs für Varianten erzeugt?

Ja, beide Generatoren verarbeiten Parent und Varianten. Geerbte Felder werden aus dem Eltern-Produkt aufgelöst (inkl. übersetzter customFields mit Vererbung). Die Tokens {options}, {properties} und {tags} liefern sprachübersetzte Werte - Pattern wie {mainCategoryPath}/{name}-{options} erzeugen pro Variante eindeutige URLs.

Wie lade ich Bilder hoch?

Per Drag & Drop: In den Stammdaten und in der Varianten-Ansicht gibt es in der Bilder-Sektion eine Drop-Zone (unterhalb der Bilder). Dateien ablegen oder klicken für den Datei-Dialog - Uploads landen in der Shopware-Mediathek (Produkt-Ordner) und werden sofort zugeordnet, mit Fortschrittsanzeige. Das erste Bild wird automatisch Titelbild, falls keins gesetzt ist.

Wie funktionieren Varianten-Bilder beim Upload?

Ein auf eine Variante hochgeladenes Bild wird zum eigenen Bild der Variante und überschreibt das geerbte. Entfernt man das eigene Bild, werden wieder die Bilder des Hauptprodukts geerbt - beides bleibt jederzeit möglich.

Was ist der Status „In Bearbeitung"?

Ein Freigabe-Status, den Bearbeiter selbst setzen können - als Signal ans Team, dass gerade jemand am Produkt arbeitet. Parallel zu Freigeben/Ablehnen/Einreichen. Sichtbar als Badge + Button im Detail, als Filter und Indigo-Indikator in der Produktliste und in der Freigabe-Statistik.

Wie sehe ich, welche Kategorien zugewiesen sind?

Zugewiesene Kategorien werden als entfernbare Chips unter dem Kategoriebaum angezeigt (kleines × zum Entfernen) - auf einen Blick sichtbar, ohne im Baum suchen zu müssen.

Kann ich eigene Spalten in die Produktliste aufnehmen?

Ja. In der Konfigmatrix im Tab Allgemein legst du unter „Sichtbare Spalten in der Produktliste" über „Eigene Spalte hinzufügen" eine Spalte mit eigenem Namen und Quellfeld an - entweder ein Stammdatenfeld (Erscheinungsdatum, Bestand, Maße, Datumsfelder, …) oder ein beliebiges Zusatzfeld. Optional sortierbar. Die Spalten gelten für alle Benutzer.

Gibt es eine kompakte Variantenansicht in der Produktliste?

Ja. In der Konfigmatrix unter Allgemein → Produktliste lässt sich „Kompakte Variantenansicht" aktivieren. Varianten werden dann platzsparend dargestellt - ohne große Einrückung, ohne Vorschaubild und mit deutlich flacheren Zeilen; Name und Optionen bleiben erhalten. Nach dem Umstellen in der Konfigmatrix „Speichern" klicken.

Kann ich DATANORM-Dateien importieren?

Ja. Der Importer liest DATANORM 4.0 und 5.0 (automatische Versions-/Herstellererkennung über den V;-Header), akzeptiert beliebige Volume-Endungen von .001 bis .999 (z.B. DATANORM.500) und verarbeitet die Satzarten A (Artikel), B (Warengruppen), T (Langtext) und P (Preise/DATPREIS). Danach gelten dieselbe Zuordnung, Validierung und Import-Logik wie beim CSV-Import.

Wo sind die Aktions-Buttons in der Produktliste?

Feed-Generator, CSV Import/Export und Produkt anlegen stehen in einer eigenen Zeile oberhalb der Suche - auf allen Viewport-Größen. Das Suchfeld behält seine volle Breite. Die Preis-Spalte ist per Klick auf die Kopfzeile sortierbar (serverseitig), und der Hersteller-Filter lädt alle Hersteller paginiert (kein 500er-Limit mehr).

Kann ich Kategorien direkt im PIM verwalten?

Ja. Der Button „Kategorien" (links neben dem Feed-Generator) öffnet ein Modal mit Kategorie-Baum je Verkaufskanal: anlegen, umbenennen, aktivieren/deaktivieren, löschen, per Drag & Drop verschieben. Name/Beschreibung/SEO werden je Sprache gepflegt (Beschreibung als WYSIWYG-Editor), dazu Typ, Layout (CMS-Erlebniswelt), externer Link, Hauptnavigations-Schalter und Zusatzfelder. Ein Button „KI-Texte" generiert Beschreibung/Meta/Keywords über alle vier Anbieter - optional für den gesamten Unterbaum. Abgesichert über die Berechtigung „Kategorien verwalten". Alle Details in der Kategorien-Anleitung.

Kann ich Kategorien-Bilder, SEO-URLs und Produktzuordnungen pflegen?

Ja. Jede Kategorie hat ein Cover-Bild (Mediathek/Upload, mit Alt-Text), einen eigenen SEO-URL-Slug je Kanal/Sprache (alte URL bleibt als 301, neue wird Canonical und überlebt den Reindex) sowie eine Produktzuordnung über eine Dynamische Produktgruppe (Stream) oder ein StawPim-Preset-Filter. Dazu ein Vollständigkeits-Score (Beschreibung/Meta/Bild) im Baum und Bulk-Aktionen mit Snapshot/Verlauf.

Kann ich den kompletten Kategoriebaum exportieren und importieren?

Ja. Über „Import/Export" exportierst du den Baum des Kanals als mehrsprachige CSV (je übersetzbarem Feld eine Spalte pro Sprache im Format feld.locale, Zusatzfelder als cf.-Spalten) oder als vollständiges JSON-Backup. Der Import löst die Eltern über die Spalte parentPath auf, legt fehlende Kategorien an und aktualisiert bestehende - mit Vorschau, Validierung und CSV-Sicherung vor dem Import.

Muss ich das StawPim-SEO-System nutzen, oder geht auch die Shopware-Standard-URL?

Beides. In der Konfigmatrix gibt es die Option „Shopware Standard SEO-URL" (getrennt für Produktdetail, Varianten-Modal und Quickview). Aktiv zeigt das Feld die native Shopware-SEO-URL und ist direkt editierbar (schreibt per PATCH in seo_url, ohne Duplikate). Das StawPim-Canonical-System wird dann ausgeblendet. So kannst du wahlweise regelbasiert über die zwei Generatoren arbeiten oder die native URL einfach direkt im PIM bearbeiten.

Wie lege ich ein neues Produkt an?

Der Button „Produkt anlegen" öffnet ein geführtes Modal, das die Grundlagen abfragt: Name, Artikelnummer (aus dem Nummernkreis reserviert, editierbar) und Verkaufskanal-Sichtbarkeit. Preis (0), Standard-Steuersatz und Inaktiv-Status werden still als Defaults gesetzt; das Produkt wird vollständig angelegt und direkt geöffnet. So entstehen keine unsichtbaren, kategorielosen Karteileichen mehr - Kategorien und Preis pflegst du auf der Detailseite.

Wo finde ich das Erscheinungsdatum?

Auf der Detailseite im Abschnitt „Lieferbarkeit" (früher unter „Sichtbarkeit"). Es heißt jetzt überall einheitlich „Erscheinungsdatum" (Shopwares releaseDate) - statt des früheren Mix aus „Erscheinungsdatum", „Freigabedatum" und „Veröffentlichungsdatum". Pro Variante setzbar in der Schnellpflege und im Varianten-Detail-Modal (leer erbt vom Hauptartikel). Das frühere separate Feld „Verfügbar ab" gibt es nicht mehr; beim CSV-Import wird eine alte availableAt-Spalte aber weiterhin auf das Erscheinungsdatum gemappt, falls dieses leer ist.

Kann ich den Meta-Title automatisch generieren?

Ja. Neben dem Feld-Pattern (Schritt 1 der SEO-Generierung) lässt sich ein Meta-Title-Pattern konfigurieren. Es wird in Klartext aufgelöst (keine Slugifizierung - Umlaute und Groß-/Kleinschreibung bleiben) und pro Sprache in den Produkt-Meta-Title geschrieben; berücksichtigt „nur leere" und kürzt bei 255 Zeichen. Umgekehrt steht der gepflegte Meta-Title als Token {metaTitle} auch als Quelle im Feld-Pattern und in den KI-Templates zur Verfügung.

Wie funktioniert der Standard-Steuersatz?

Beim Anlegen eines neuen Produkts wird automatisch der erste Steuersatz aus dem System vorausgewählt (sortiert nach position ASC). Brutto/Netto-Berechnung funktioniert sofort, ohne Klick.

Was bewirkt das Validation-Modal?

Speichern bei leeren Pflichtfeldern: statt einer Warn-Banner-Wand öffnet sich ein Modal mit allen Fehlern. Klick auf einen Fehler springt direkt zur Sektion - sie wird aufgeklappt, das Feld wird mit indigo Outline hervorgehoben.

Was tut das Quickview-Modal?

Ein Klick auf eine Variante in der Produktliste öffnet ein kompaktes Modal mit ihren Stammdaten: Basisdaten, Preise (brutto/netto, Einkaufspreis, Pseudopreis, Omnibus), Beschreibung, Lieferbarkeit & Maße und SEO. Welche Felder erscheinen, legst du in der Konfigmatrix im Tab Varianten unter „Quickview-Felder" fest. Der Header zeigt den Variantennamen groß und die Artikelnummer dahinter.

Was kann ich inline im Listing bearbeiten?

Bestand, Preis (brutto), EAN, Herstellernummer, Gewicht und Aktiv-Schalter direkt in der Zeile - auch für Varianten. Gespeichert wird sofort, sobald du das Feld verlässt; eine Meldung bestätigt das Speichern.

Feed-Generator

Was ist ein Feed und wofür brauche ich das?

Ein Feed liefert deine Produktdaten unter einer eindeutigen, tokenisierten URL aus - automatisch aktualisiert, ohne manuellen Export. Typische Empfänger: Google Shopping, idealo, Billiger.de, ERP-Systeme oder Auswertungs-Pipelines.

Wie lege ich einen Feed an?

Oben im Feeds-Tab gibt es den Selektor „Feed anlegen aus Vorlage / Profil". Du wählst eine Built-in-Vorlage (Stammdaten, Preise & Lager, SEO, Bilder, Übersetzungen, Varianten, Vollexport) oder ein eigenes gespeichertes Export-Profil. Ein Klick legt einen neuen Feed mit der Feldauswahl an.

Wie sieht die Feed-Liste aus?

Alle Feeds als kompakte Akkordeon-Liste. Pro Zeile siehst du: Name, Status-Pille („Feed aktiv"/„kein Feed"), Feed-URL-Vorschau, Filtervorlage-Chip, Produktanzahl-Chip (live aus dem Katalog), Stift-Symbol zum Bearbeiten und Papierkorb-Symbol zum Löschen. Klick auf die Zeile öffnet und schließt den Editor zuverlässig (Chevron rechts dreht sich).

Kann ich einen Feed umbenennen?

Ja. Im aufgeklappten Editor gibt es ein Namensfeld. Der Name muss eindeutig sein - Kollisionen mit vorhandenen Feeds oder Built-in-Profilen werden abgelehnt. Aktives Profil, Anzahl-Chip und Editor-Zustand wandern automatisch auf den neuen Namen.

Wie lösche ich einen Feed?

Über das Papierkorb-Symbol rechts in der Zeile. Es kommt eine Sicherheitsabfrage. Der Lösch-Button reagiert separat vom Klick auf die Zeile - du klappst also nichts versehentlich auf, wenn du löschst.

Kann ich mehrere Feeds für dasselbe Profil anlegen?

Ja. Feeds sind über einen eigenen Storage-Key (exportFeeds) vom Quell-Profil entkoppelt. Du kannst beliebig viele Feeds für dasselbe Profil anlegen - z.B. ein „Stammdaten"-Profil als Basis für mehrere Feeds mit unterschiedlichen Filtervorlagen pro Verkaufskanal oder Zielmarkt.

Welche Filterkriterien werden im Feed angewendet?

Im Feed-Editor wählst du eine gespeicherte Filtervorlage (Preset). Der Feed filtert damit wie die Produktübersicht. Nicht abbildbar sind nur der Freigabe-Status und „UVP ungültig". Unter „Im Feed angewendet" zeigt der Editor, welche Kriterien greifen.

Welche Filterkriterien lassen sich im Feed nicht anwenden?

Inzwischen filtert der Feed mit der gewählten Filtervorlage wie die Produktübersicht. Ausgenommen sind nur der Freigabe-Status und „UVP ungültig", die sich im Feed nicht abbilden lassen. Enthält eine Vorlage diese Kriterien, liefert der Feed mehr Produkte als die gefilterte Liste.

Wie sehe ich die Produktanzahl pro Feed?

In jeder Feed-Zeile steht ein Produktanzahl-Chip. Dieser Wert wird live aus dem Katalog ermittelt (über die Filtervorlage-Kriterien) und aktualisiert sich, wenn du eine andere Filtervorlage wählst.

Was passiert mit meinen bisherigen Feeds beim Update?

Bestehende Feeds, die am Export-Profil hingen, werden beim ersten Laden automatisch in die neue Liste übernommen. Bestehende Feed-URLs in deinem ERP, Google-Shopping-Konto oder bei Preisvergleichsportalen bleiben gültig - kein Re-Konfigurieren nötig.

Welche Formate liefert ein Feed?

CSV, XML und JSON - TSV gibt es im Feed nicht. Die URL lautet https://dein-shop.de/staw-pim/export/{token} (die Endung .csv wird zusätzlich akzeptiert), alternativ https://dein-shop.de/api/staw-pim/export/{token}. Zeichensatz (UTF-8, Windows-1252, ISO-8859-1), BOM und Dezimaltrennzeichen sind je Feed einstellbar.

Wie ist die Sicherheit des Feeds?

Feed-URLs sind tokenisiert und nicht öffentlich indexierbar (kein Eintrag in der sitemap.xml, noindex-Header). Wer den Token nicht hat, sieht nichts. Der Token kann jederzeit per Klick regeneriert werden - die alte URL wird damit ungültig.

Wie performant ist der Feed bei großen Katalogen?

Sehr - der Feed ist gezielt für große Kataloge ausgelegt. Vier Performance-Layer arbeiten zusammen: (1) DBAL-Streaming in 2.000er-Batches (Daten werden per PHP-Generator zeilenweise ausgegeben, kein Komplett-Laden im Speicher). (2) Keyset-Pagination über die Artikelnummer statt LIMIT/OFFSET (bleibt linear schnell, auch auf tiefen Seiten). (3) gzip-Komprimierung mit ~80-90 % Reduktion bei Text-CSVs. (4) Datei-Modus mit vorgenerierter Datei alle 15 Min. Damit laufen auch Kataloge mit zehntausenden Produkten ohne Memory-Probleme durch.

Wird der Feed komprimiert ausgeliefert?

Ja, automatisch. Wenn der Client Accept-Encoding: gzip sendet (alle modernen ERP-/Crawler-/Browser-Clients tun das), wird die Antwort serverseitig per gzencode() komprimiert und mit Content-Encoding: gzip + Vary: Accept-Encoding ausgeliefert. Feed-CSVs komprimieren typisch um 80-90 % - eine 50 MB CSV wird zu ~5-10 MB übertragen. Der Client dekomprimiert transparent.

Was ist der Unterschied zwischen Modus „Live" und „Datei"?

Live bei Abruf: Feed wird bei jedem Aufruf direkt aus der Datenbank generiert. Immer tagesaktuell, geeignet für seltenes Polling oder kleinere Kataloge. Datei: Ein Scheduled Task generiert die Datei vorab (alle 15 Min, atomar geschrieben), und der Controller liefert die fertige Datei aus. Keine DB-Last, sehr schneller Response - ideal für ERPs, die alle paar Minuten pollen. Wenn die Cron-Datei noch nicht existiert, fällt der Controller automatisch auf Live-Generierung zurück.

Funktionieren Feeds auch im Wartungsmodus?

Ja. Die Storefront-Feed-Route setzt allow_maintenance, zusätzlich beantwortet ein früher Kernel-Subscriber Feed-Anfragen, bevor Shopwares Storefront-Maschinerie greift. Google Merchant und ERP-Polling laufen auch während Deployments und Wartungsfenstern weiter - statt eine Redirect-Seite zu bekommen.

Was ist die alternative API-Feed-URL?

Zusätzlich zur Storefront-URL gibt es die domain-unabhängige Route /api/staw-pim/export/<token>.csv (ohne Login). Nützlich, wenn die Storefront-URL umleitet - z.B. bei Sprachpfad-Domains oder Weiterleitungen. Die alternative URL wird in den Feed-Einstellungen angezeigt.

SEO-URL-System (2 Generatoren)

Wie funktioniert das Zwei-Generator-System?

Zwei Schritte mit einem Zusatzfeld als Brücke: Schritt 1 „URL im Zusatzfeld generieren" löst ein Token-Pattern (z.B. {mainCategoryPath}/{name}) variant- und sprachgenau auf und schreibt es in das Pro-Shop-Feld staw_pim_canonical_<shop>. Schritt 2 „SEO URLs generieren" setzt ein Twig-Pattern als Shopwares native SEO-Vorlage je Verkaufskanal und indexiert über Shopware neu - die URLs kommen aus dem Zusatzfeld und überstehen jede Neu-Indexierung.

Warum zwei Schritte statt direktem Schreiben?

Direkt geschriebene seo_url-Zeilen kann Shopwares eigener Indexer beim nächsten Lauf mit der Standard-URL überschreiben. Das Zwei-Schritt-System setzt das Pattern als Shopwares eigene Vorlage - Shopware erzeugt die URLs dann selbst aus dem Zusatzfeld, bei jedem Reindex aufs Neue. Die URLs sind damit dauerhaft stabil.

Was ist mit migrierten URLs aus einem Vorsystem?

Typisches Twig-Pattern: {% if staw_url_product_detail %}{{ staw_url_product_detail|raw }}{% else %}{{ product.customFields.staw_pim_canonical_shop|raw }}{% endif %} - migrierte Produkte behalten ihre bestehende URL aus dem Custom Field, neue Produkte nutzen das von Schritt 1 gefüllte Feld. Das migrierte Feld wird strikt in der aktuellen Sprache geprüft, ohne Übersetzungs-Vererbung.

Werden bestehende URLs überschrieben?

Nur wenn du es willst. Option „Nur fehlende SEO-URLs erzeugen" lässt bestehende unangetastet. Geänderte Pfade bleiben als 301-Weiterleitung erhalten (Option „Alte URLs als 301 behalten"). Für einen kompletten Neuaufbau gibt es „Alle Produkt-URLs entfernen (Reset)" - löscht alle URLs der gewählten Kanäle/Sprachen inkl. Shopwares globaler Detail-URLs und baut frisch auf.

Wie wähle ich Kanäle und Sprachen aus?

Im Modal sind die Kanäle nach Shop gruppiert - jede Kanal-Karte mit ihren Sprachen als Akkordeon darunter (initial zugeklappt, nichts vorausgewählt). Je Gruppe „Alle (ab)wählen" mit Zähler, plus globaler „Alle auswählen"-Button. Pro Kanal zeigen Badges die Produktanzahl (nur tatsächlich im Kanal sichtbare Produkte) und die Anzahl ohne SEO-URL.

Gibt es eine Vorschau und einen Probelauf?

Beides. Die Vorschau wählt Beispielprodukte, die im Kanal sichtbar sind und deren Pattern auflöst - bis zu drei echte Beispiel-URLs. Der Probelauf läuft den kompletten Prozess durch, ohne zu schreiben - mit farbcodierten Ergebniskarten: Neu = grün, Änderung = blau, Übersprungen = grau, Warnung = amber, Fehler = rot.

Was bedeutet „N ohne gerenderten Pfad" im Bericht?

Die Anzahl Produkte, deren Pattern nichts ausgibt - z.B. weil weder das Migrations-Feld noch das Canonical-Feld gefüllt ist. So ist sofort sichtbar, warum für diese Produkte nichts geschrieben wurde. Sicherheitsnetz: Liefert das Canonical-Feld bei der finalen Generierung ein leeres Ergebnis, fällt die URL auf den Produktnamen zurück statt einen leeren Pfad zu erzeugen.

Was passiert bei Pfad-Konflikten?

Pfade, die bereits belegt sind (auch von anderen Routen wie einer Kategorie mit gleichem Slug), werden sauber übersprungen und als „Pfad bereits anderweitig vergeben" gemeldet - kein Duplicate-Key-Abbruch. Konflikte werden mit Produktnummern statt internen IDs angezeigt. Wichtig: Die gleiche URL in verschiedenen Shops ist kein Konflikt - Eindeutigkeit gilt pro Shop + Sprache. Lösung: Pattern eindeutiger machen, z.B. {mainCategoryPath}/{name}-{options}.

Wie werden Varianten-URLs eindeutig?

Die Tokens {options}, {properties} und {tags} liefern die jeweiligen Werte je Sprache übersetzt. Ein Pattern wie {mainCategoryPath}/{name}-{options} erzeugt pro Variante und Sprache eine eindeutige URL. Varianten lösen ihr Pro-Kanal-Canonical-Feld inkl. Vererbung vom Elternprodukt auf.

Wie funktioniert der Sprach-Fallback?

Fallback-Kette: angefragte Sprache → Eltern-Sprache → System. Leere oder geerbte Übersetzungen werden übersprungen. Gilt für Token- und Twig-Generierung - eine englische URL bekommt keinen deutschen Produktnamen mehr, nur weil die englische Übersetzung leer war.

Was passiert mit Umlauten, Schrägstrichen und Punkten?

Umlaute und Sonderzeichen werden konvertiert (ä→ae, ß→ss, „&"/Leerzeichen → Trennzeichen) - auch in statischem Pattern-Text wie einem wörtlichen „für/". Schrägstriche und Punkte bleiben erhalten - Kategoriepfade mit „/" und .html-Suffixe laufen unverändert durch. Shopwares SEO-Escaper würde Schrägstriche normalerweise zu „-" slugifizieren - Pfad-Felder bekommen deshalb automatisch |raw injiziert. Vorschau und Server-Generierung verhalten sich identisch.

Kann ich Tokens und Twig im selben Pattern mischen?

Nein, der Editor warnt explizit davor - Shopware slugifiziert die Twig-Ausgabe und entfernt dabei die Token-Klammern. Empfehlung: entweder ein reines Twig-Pattern oder ein reines Token-Pattern. Der Editor hat einen Live-Twig-Syntax-Check: Ungültiges Twig wird rot gemeldet und Speichern ist gesperrt.

Kann jeder Shop ein eigenes Pattern haben?

Ja, für beide Generatoren: Schritt 1 kann ein eigenes Token-Pattern je Verkaufskanal erhalten, Schritt 2 ein eigenes Twig-Pattern. Shop-Patterns sind eine Liste - bearbeiten per Stift, entfernen per Papierkorb, „Pattern für Shop hinzufügen" öffnet das Editor-Modal. Shops ohne eigenes Pattern verwenden das Standard-Pattern.

Wie wird der Kategorie-Pfad aufgelöst?

{mainCategoryPath} nutzt die Hauptkategorie des jeweiligen Verkaufskanals. Ist keine gesetzt, bevorzugt der Fallback deterministisch die tiefste zugewiesene Kategorie (längster Pfad) statt einer beliebigen. Bei leerer category.path-Spalte (Indexer-Rückstand nach Importen) wird die Ahnenkette über parent_id rekonstruiert.

Ist die Generierung schnell genug für große Kataloge?

Ja. Kanal-Zählungen laufen über set-basierte Aggregat-Abfragen, Produktlisten über index-freundliche UNIONs statt OR-Self-Joins - die Dialoge öffnen ohne Wartezeit, die Generierung schreitet auch bei zehntausenden Produkten normal voran (chunked, ohne Timeout). Fortschrittsbalken mit Prozentanzeige.

Performance & Sicherheit

Funktioniert das PIM bei 50.000+ Produkten?

Ja. Browser-native Virtualisierung via content-visibility: auto sorgt für flüssiges Scrolling. Server-side Filtering, Lazy-Loading der Varianten, Bulk-Operations in Batches mit Progress.

Warum sind Mehrfachänderungen jetzt so viel schneller?

Drei Hebel: (1) Produkt-Schreibvorgänge nutzen Shopwares asynchrone Queue-Indexierung statt synchroner Indexierung im Request, (2) die Schreib-Batchgröße wurde von 10 auf 25 erhöht, (3) Freigabe- und Audit-Log-Requests werden gebündelt (ein Batch alle 600 ms bzw. ein Request pro 200 Produkte statt einem pro Produkt). Konfigurierbar über bulkIndexingBehavior (queue / disable / sync).

Indexiert der CSV-Import noch den ganzen Katalog neu?

Nein. Importe nutzen standardmäßig Queue-Indexierung - nur die importierten Produkte werden asynchron nachindexiert. Der frühere Komplett-Reindex nach jedem Import entfällt (läuft nur noch bei importIndexingMode = 'disable').

Wie diagnostiziere ich Probleme ohne Server-Log-Zugriff?

Das Plugin führt ein Sitzungs-Fehlerprotokoll: Die letzten 50 Fehler stehen in window._stawPimErrLog (Browser-Konsole). Bisher stille Fehlerpfade - Audit-Flush, Batch-Freigaben, Snapshot-Laden - protokollieren Fehlschläge jetzt. Ideal für Hosting ohne Log-Zugriff.

Werden meine Daten an Stone & Water gesendet?

Produktdaten nicht. Änderungshistorie und Snapshots werden in deiner Shopware-Datenbank gespeichert. Für die Lizenzprüfung fragt das Plugin den Lizenzserver von Stone & Water mit Pluginname, Lizenzschlüssel und Shop-Domain ab.

Wer hat Zugriff auf was?

Die Rechtegruppe „StawPim (Produkte)" hat vier Rollen: staw_pim.viewer (Ansehen), staw_pim.editor (Bearbeiten), staw_pim.creator (Anlegen) und staw_pim.deleter (Löschen); darüber hinaus gelten die Shopware-Rechte auf die Daten. Einzelne Funktionen wie CSV-Import, Mehrfachänderung oder Feed-Generator schaltest du für normale Benutzer im Tab PIM-Superadmin der Konfigmatrix. Superadmins sehen alles. Details: Rechte & Superadmin.

Wie sicher sind meine API-Keys?

Die Keys liegen in der Plugin-Konfiguration in deiner Shopware-Datenbank - so geschützt wie die übrige Shop-Datenbank. Der Admin schickt KI-Anfragen an einen Endpunkt deines Shops, der sie serverseitig direkt an den Anbieter weiterleitet; über Server von Stone & Water laufen sie nicht. Auch der Verbindungstest prüft den Key gegen den Anbieter.

Wo finde ich das Audit-Log?

In der Detailansicht eines Produkts im Tab „Änderungen" (Änderungshistorie). Aufbewahrung und maximale Einträge pro Produkt stellst du in der Konfigmatrix im Tab Änderungshistorie ein. Mehrfachänderungen und CSV-Importe findest du zusätzlich als Snapshots im Tab Snapshots.

Lizenz, Update & Support

Wie wird das Plugin lizenziert?

Standardlizenz über den Shopware Store. Updates kommen ebenfalls über den Store automatisch zur Verfügung.

Werden Updates kostenlos sein?

Updates innerhalb der gleichen Major-Version sind kostenlos. Stone & Water erweitert das Plugin kontinuierlich um Funktionen, die aus echten Pflege-Workflows entstehen.

Wie lange dauert der Support-Antwort?

In der Regel 1-2 Werktage. Bei kritischen Bugs gibt es auch außerhalb eines Releases einen Hotfix.

Kann ich eigene Features vorschlagen?

Ja, gerne. Per Feature-Request-Formular. Die meisten konkreten Wünsche landen innerhalb weniger Wochen im Plugin.

Wo bekomme ich Hilfe?

E-Mail an pim@stoneandwater.online oder über das Kontaktformular. Bei Fragen zur Doku ergänzen wir gerne den entsprechenden Artikel.

Weitere Fragen

Frage nicht dabei?

Schreib uns über das Kontaktformular oder direkt an pim@stoneandwater.online. Wir antworten in der Regel innerhalb von 1-2 Werktagen.