PIM for Shopware
Description
Highlights
- Bulk editing with automatic snapshots and one-click revert
- AI text generation (ChatGPT & claude.ai) and DeepL translation for all product texts
- Advanced filtering with 25+ criteria and saveable presets
- Full CSV/TSV/XML import and export with column mapping and rollback
- Fully configurable layout, field visibility, permissions, and approval workflows
Features
- Dedicated PIM dashboard with catalog health analytics and completeness scoring
- Variant generator with matrix view for quick price and stock editing
- Product preview for inactive articles with temporary activation and auto-revert
- Translation dashboard with bulk DeepL translation across all shop languages
- Drag-and-drop section ordering via configuration matrix
- Property and group management with color swatches, images, and translations
- Cross-selling management with product lists and dynamic product groups
- Tiered pricing with multiple quantity-based price rules
- Inline image management with upload, reorder, cover selection, and alt texts
- Change history and audit log with field-level diffs and user attribution
- Edit lock with heartbeat-based concurrency protection
- Granular role-based permissions for all PIM features
- SEO template engine with variables for meta titles, descriptions, and URLs
- Product duplication including all variants, images, and assignments
- Automatic redirect from default Shopware product list to PIM
About the Extension
PIM for Shopware - Professional Product Information Management for Shopware 6
PIM for Shopware transforms your Shopware 6 administration into a powerful product management hub. Designed for merchants who manage large catalogs, PIM for Shopware replaces the default product list with a feature-rich PIM interface that puts every product detail at your fingertips — without ever leaving the page.
Streamlined Product Editing
Edit master data, prices, descriptions, SEO fields, images, properties, cross-selling, and custom fields directly in a clean, single-page detail view. Every section is organized in collapsible accordions with a fully configurable layout — drag and drop sections into your preferred order via the configuration matrix.
Powerful Variant Management
Create, edit, and manage product variants with ease. StawPim provides a dedicated variant generator with group and option management, a matrix view for quick price and stock editing across all combinations, and the ability to propagate data from the parent product to all variants — including tiered prices, cross-selling assignments, descriptions, images, and SEO fields.
Category Management
Manage your entire category structure directly within the PIM — without switching to the default Shopware administration. A category tree per sales channel shows your navigation starting from each channel's entry category. Create categories, edit them, activate or deactivate them, move them under a different parent via drag and drop, and delete them.
- Fields per language — name, description (WYSIWYG editor), meta title, meta description, and keywords
- Types — page, folder (structure only), or link with an external URL
- Layout assignment — assign a CMS layout to any category or create a new one on the spot
- Show in main navigation, custom fields, and parent category set with ease
- AI texts for categories — generate description, meta title, meta description, and keywords, optionally for an entire subtree of a top-level category
Protected by a dedicated "Manage categories" permission.
Bulk Editing
Select multiple products and apply changes in one operation. Supported bulk actions include:
- Status — activate or deactivate products
- Prices — set fixed prices, increase or decrease by percentage or amount
- Stock — set, increase, or reduce inventory
- Tax class — reassign tax rates (gross price stays, net recalculates)
- Categories, tags, properties, manufacturers — add or remove assignments
- Sales channel visibility — control where products appear
- EAN/GTIN — set, prefix, suffix, or clear
- Listing configuration — main product vs. variant display
- Shipping, delivery time, packaging units, order quantities
- SEO fields — generate meta titles, descriptions, and SEO URLs from templates with variables
- Main category — set per sales channel for SEO URL generation
All bulk operations include automatic snapshots with full revert capability — undo any bulk change with a single click.
AI Text Generation & Translation
Generate product descriptions, meta titles, meta descriptions, and keywords using your preferred AI provider: OpenAI (ChatGPT), Anthropic (Claude), Mistral AI, and Google Gemini — directly from the product detail view or in bulk for multiple products at once. Choose from multiple tones (professional, casual, technical, emotional, luxury) and provide custom additional instructions. An "Overwrite existing texts" toggle decides whether only empty fields are filled or existing texts are replaced. Combine AI generation with DeepL integration for automatic translation of product texts into all configured shop languages.
CSV Import & Export
A full-featured CSV module with built-in and custom profiles, column mapping, field validation, and preview. Import supports multiple modes: create new products, update existing, or both. Export supports all product fields including variants, images, translations, custom fields, and cross-selling. Additional formats supported: TSV, XML, and DATANORM. Every import creates a backup with one-click rollback.
Advanced Filtering & Presets
Find exactly the products you need with over 25 filter criteria: status, variants, topseller, closeout, shipping free, manufacturer, category, sales channel, visibility level, tags, properties, images, description, EAN, SEO completeness, price range, stock range, tax class, delivery time, weight, creation date, and modification date. Save any filter combination as a named preset for instant reuse. Quick filter badges provide one-click access to common views like "without images" or "without description".
Approval Workflow
Enable a multi-stage approval process for product changes. Products move through draft, in progress, review, and approved states. Only authorized users can approve or reject products, with optional comments. The approval status is visible in the product list and detail view at all times.
Dashboard & Analytics
A dedicated PIM dashboard provides an instant overview of your catalog health: total products, active/inactive count, average completeness score, products without images, without descriptions, without SEO data, duplicate EANs, and more. A completeness distribution chart and lists of recently changed and least complete products help you prioritize your work.
Translation Management
A dedicated translation dashboard shows the translation status of all products across all shop languages. Filter by language, status (complete, incomplete, missing), and field. Translate individual products or trigger bulk DeepL translations for the entire catalog — with the option to only translate missing fields or overwrite existing translations.
Product Preview for Inactive Articles
Preview inactive products directly in the storefront without making them publicly visible. StawPim temporarily activates the product and sets visibility to "Direct link only", then automatically reverts both after a configurable duration (15s, 30s, 60s, or 120s).
Configuration Matrix
Every aspect of StawPim is configurable through a comprehensive configuration matrix:
- Section order — drag and drop to rearrange master data, variant, and sidebar sections
- Field visibility — show or hide any field, mark fields as required
- Column configuration — choose which columns appear in the product list, including custom columns from any field or custom field
- Filter visibility — enable or disable individual filters and quick filter badges
- Permissions — granular role-based access for creating, duplicating, deleting, bulk editing, CSV import/export, snapshots, audit log, approvals, and category management
- Sales channel filtering — restrict which shops appear in the PIM interface
- Edit lock — prevent concurrent editing with automatic heartbeat-based locking
- Dashboard KPIs — configure which metrics and quality checks appear
- Completeness scoring — customize field weights for the completeness calculation
All settings are persisted to the database and shared across all admin users.
Change History & Audit Log
Every product change is tracked in a detailed audit log with timestamps, user attribution, and field-level diffs. Configure retention periods and automatic cleanup to manage log size.
Additional Features
- Product duplication — clone products including all variants, images, and assignments
- Inline image management — upload, reorder, set cover images, and edit alt texts without leaving the detail view
- Property & group management — create and edit property groups and options directly within the PIM, including color swatches, images, translations, and display settings
- Cross-selling management — create, edit, and reorder cross-selling groups with product list or dynamic product group assignments
- Tiered pricing — manage quantity-based price rules with multiple price tiers per rule
- Keyboard navigation — navigate between products using arrow keys
- Automatic redirect — optionally redirect the default Shopware product list to StawPim
- Multi-language — full German and English localization with 3,764 translation keys
Compatibility
StawPim is compatible with Shopware 6.7. No additional dependencies or external services required — AI and translation features are optional and require separate API keys.
PIM for Shopware - Professional Product Information Management for Shopware 6
PIM for Shopware transforms your Shopware 6 administration into a powerful product management hub. Designed for merchants who manage large catalogs, PIM for Shopware replaces the default product list with a feature-rich PIM interface that puts every product detail at your fingertips — without ever leaving the page.
Streamlined Product Editing
Edit master data, prices, descriptions, SEO fields, images, properties, cross-selling, and custom fields directly in a clean, single-page detail view. Every section is organized in collapsible accordions with a fully configurable layout — drag and drop sections into your preferred order via the configuration matrix.
Powerful Variant Management
Create, edit, and manage product variants with ease. StawPim provides a dedicated variant generator with group and option management, a matrix view for quick price and stock editing across all combinations, and the ability to propagate data from the parent product to all variants — including tiered prices, cross-selling assignments, descriptions, images, and SEO fields.
Category Management
Manage your entire category structure directly within the PIM — without switching to the default Shopware administration. A category tree per sales channel shows your navigation starting from each channel's entry category. Create categories, edit them, activate or deactivate them, move them under a different parent via drag and drop, and delete them.
- Fields per language — name, description (WYSIWYG editor), meta title, meta description, and keywords
- Types — page, folder (structure only), or link with an external URL
- Layout assignment — assign a CMS layout to any category or create a new one on the spot
- Show in main navigation, custom fields, and parent category set with ease
- AI texts for categories — generate description, meta title, meta description, and keywords, optionally for an entire subtree of a top-level category
Protected by a dedicated "Manage categories" permission.
Bulk Editing
Select multiple products and apply changes in one operation. Supported bulk actions include:
- Status — activate or deactivate products
- Prices — set fixed prices, increase or decrease by percentage or amount
- Stock — set, increase, or reduce inventory
- Tax class — reassign tax rates (gross price stays, net recalculates)
- Categories, tags, properties, manufacturers — add or remove assignments
- Sales channel visibility — control where products appear
- EAN/GTIN — set, prefix, suffix, or clear
- Listing configuration — main product vs. variant display
- Shipping, delivery time, packaging units, order quantities
- SEO fields — generate meta titles, descriptions, and SEO URLs from templates with variables
- Main category — set per sales channel for SEO URL generation
All bulk operations include automatic snapshots with full revert capability — undo any bulk change with a single click.
AI Text Generation & Translation
Generate product descriptions, meta titles, meta descriptions, and keywords using your preferred AI provider: OpenAI (ChatGPT), Anthropic (Claude), Mistral AI, and Google Gemini — directly from the product detail view or in bulk for multiple products at once. Choose from multiple tones (professional, casual, technical, emotional, luxury) and provide custom additional instructions. An "Overwrite existing texts" toggle decides whether only empty fields are filled or existing texts are replaced. Combine AI generation with DeepL integration for automatic translation of product texts into all configured shop languages.
CSV Import & Export
A full-featured CSV module with built-in and custom profiles, column mapping, field validation, and preview. Import supports multiple modes: create new products, update existing, or both. Export supports all product fields including variants, images, translations, custom fields, and cross-selling. Additional formats supported: TSV, XML, and DATANORM. Every import creates a backup with one-click rollback.
Advanced Filtering & Presets
Find exactly the products you need with over 25 filter criteria: status, variants, topseller, closeout, shipping free, manufacturer, category, sales channel, visibility level, tags, properties, images, description, EAN, SEO completeness, price range, stock range, tax class, delivery time, weight, creation date, and modification date. Save any filter combination as a named preset for instant reuse. Quick filter badges provide one-click access to common views like "without images" or "without description".
Approval Workflow
Enable a multi-stage approval process for product changes. Products move through draft, in progress, review, and approved states. Only authorized users can approve or reject products, with optional comments. The approval status is visible in the product list and detail view at all times.
Dashboard & Analytics
A dedicated PIM dashboard provides an instant overview of your catalog health: total products, active/inactive count, average completeness score, products without images, without descriptions, without SEO data, duplicate EANs, and more. A completeness distribution chart and lists of recently changed and least complete products help you prioritize your work.
Translation Management
A dedicated translation dashboard shows the translation status of all products across all shop languages. Filter by language, status (complete, incomplete, missing), and field. Translate individual products or trigger bulk DeepL translations for the entire catalog — with the option to only translate missing fields or overwrite existing translations.
Product Preview for Inactive Articles
Preview inactive products directly in the storefront without making them publicly visible. StawPim temporarily activates the product and sets visibility to "Direct link only", then automatically reverts both after a configurable duration (15s, 30s, 60s, or 120s).
Configuration Matrix
Every aspect of StawPim is configurable through a comprehensive configuration matrix:
- Section order — drag and drop to rearrange master data, variant, and sidebar sections
- Field visibility — show or hide any field, mark fields as required
- Column configuration — choose which columns appear in the product list, including custom columns from any field or custom field
- Filter visibility — enable or disable individual filters and quick filter badges
- Permissions — granular role-based access for creating, duplicating, deleting, bulk editing, CSV import/export, snapshots, audit log, approvals, and category management
- Sales channel filtering — restrict which shops appear in the PIM interface
- Edit lock — prevent concurrent editing with automatic heartbeat-based locking
- Dashboard KPIs — configure which metrics and quality checks appear
- Completeness scoring — customize field weights for the completeness calculation
All settings are persisted to the database and shared across all admin users.
Change History & Audit Log
Every product change is tracked in a detailed audit log with timestamps, user attribution, and field-level diffs. Configure retention periods and automatic cleanup to manage log size.
Additional Features
- Product duplication — clone products including all variants, images, and assignments
- Inline image management — upload, reorder, set cover images, and edit alt texts without leaving the detail view
- Property & group management — create and edit property groups and options directly within the PIM, including color swatches, images, translations, and display settings
- Cross-selling management — create, edit, and reorder cross-selling groups with product list or dynamic product group assignments
- Tiered pricing — manage quantity-based price rules with multiple price tiers per rule
- Keyboard navigation — navigate between products using arrow keys
- Automatic redirect — optionally redirect the default Shopware product list to StawPim
- Multi-language — full German and English localization with 3,764 translation keys
Compatibility
StawPim is compatible with Shopware 6.7. No additional dependencies or external services required — AI and translation features are optional and require separate API keys.
Details
- Available: English, German
- Latest update: 20 June 2026
- Publication date: 11 May 2026
- Version: 1.8.28
- Category: Administration
Resources
Reviews (8)
Average rating of 5 out of 5 stars
Endlich ein PIM, das direkt in Shopware lebt
Average rating of 5 out of 5 stars
Mehrfachänderung: Das Herzstück. Felder wie Preise, Kategorien, Eigenschaften, Hersteller oder Cross-Selling lassen sich über hunderte Produkte gleichzeitig ändern – inklusive Snapshot-Funktion, mit der sich fast alle Änderungen wieder zurückrollen lassen. Gerade bei saisonalen Preisanpassungen oder Kategorie-Umstrukturierungen spart das Stunden. Auch Varianten werden sauber berücksichtigt (z. B. Staffelpreise vom Hauptprodukt auf die Varianten kopieren).
Feed Generator: Wir erzeugen damit Feeds für Google Shopping und Preisportale. Auch bei großen Katalogen läuft die Generierung dank Streaming performant durch, ohne den Server in die Knie zu zwingen. Spalten und Filter sind frei konfigurierbar, Varianten lassen sich gezielt ein- oder ausschließen.
SEO-URL-Generierung: Für uns das Killer-Feature. Über Patterns aus Artikelnummer, Produktname, Hersteller etc. generieren wir konsistente URLs für den gesamten Katalog – pro Verkaufskanal mit eigenem Pattern und Live-Vorschau vor dem Anwenden. Was vorher manuelle Fleißarbeit oder ein eigenes Skript war, ist jetzt ein Knopfdruck.
Dazu kommt ein aufgeräumtes, schnelles Admin-UI, das sich deutlich angenehmer bedient als die Standard-Produktverwaltung. Support reagiert schnell, Updates kommen regelmäßig. Klare Empfehlung für jeden Shop mit größerem Sortiment.
Das Plugin hat unsere Erwartungen mehr als erfüllt
Average rating of 5 out of 5 stars
Starkes Tool für mehr Produktivität
Average rating of 5 out of 5 stars
PIM + JTL
Average rating of 5 out of 5 stars
Ich bin gerade noch im Testmonat, aber ich denke, dass es aufgrund der Komplexibilität ein dauerhaftes Plugin bei uns werden könnte!
Stone & Water hat immer zeitnah auf (weniger als 10 mins) auf Rückfragen geantwortet!
Umfangreiches PIM mit vielen praktischen Funktionen
Average rating of 5 out of 5 stars
Besonders positiv finde ich das Dashboard mit der Übersicht zur Datenqualität und Produktvollständigkeit. Dadurch sieht man sofort, bei welchen Artikeln noch Bilder, Beschreibungen, SEO-Daten oder andere Informationen fehlen. Gerade bei größeren Sortimenten hilft das enorm dabei, strukturierter zu arbeiten und Fehler schneller zu erkennen.
Auch die allgemeine Produktverwaltung wirkt deutlich durchdachter als im Standard-Backend von Shopware. Varianten, Zusatzfelder, Preise und Medien lassen sich wesentlich effizienter pflegen und viele Änderungen können direkt gesammelt durchgeführt werden.
Man merkt, dass das Plugin auf den tatsächlichen Arbeitsalltag im Shop ausgelegt ist und nicht nur zusätzliche Funktionen ergänzt.
Support reagiert ebenfalls schnell und kompetent.
Klare Empfehlung für Shops mit größerem Produktkatalog und regelmäßigem Pflegeaufwand.
Top Erweiterung!
Average rating of 5 out of 5 stars
Gerade hinsichtlich der Bearbeitung von Zusatzfeldern in Verbindung mit der Mehrfachänderung, bietet uns das Tool alles was wir brauchen, um unseren Daten schnell, und vor Allem, sauber zu bearbeiten.
Auch ein Lob an Stone & Water, welche extrem schnell auf etwaige Fragen reagiert haben!
5 Sterne!!!
Mächtiges Tool, spart sehr viel Zeit bei Produktanlage und Produktpflege
Average rating of 5 out of 5 stars
Die Produktanlage und Pflege wird dadurch deutlich einfacher und schneller. Der Zeitaufwand reduziert sich enorm, gerade wenn viele Varianten, Texte, Eigenschaften und Medien gepflegt werden müssen.
Besonders stark ist die integrierte KI-Textgenerierung. Produkttexte lassen sich damit sehr schnell erstellen, optimieren und sauber formulieren. Auch die Übersetzung in mehrere Sprachen mit DeepL funktioniert hervorragend und spart zusätzlich sehr viel Zeit.
Insgesamt ein wirklich starkes Tool, das die Produktdatenpflege in Shopware deutlich vereinfacht und beschleunigt. Für Händler mit umfangreichem oder variantenreichem Sortiment eine klare Empfehlung!
MEGA hilfreiches PIM für die Produktpflege
Average rating of 5 out of 5 stars
Sehr praktisch ist die strukturierte Übersicht für Produkte, Varianten, Preise, Medien, Eigenschaften und Übersetzungen. So hat man alle wichtigen Produktdaten direkt im Blick und muss nicht ständig zwischen verschiedenen Bereichen wechseln. Außerdem sind die Produkte so super easy und schnell bearbeitet.
Dabei ist die Massenbearbeitung und der Import sowie Export von Daten ein große Hilfe. Gerade bei größeren Sortimenten spart das viel Zeit und macht die tägliche Pflege deutlich angenehmer. Auch die Funktionen für KI-Texte, Übersetzungen und SEO-Felder sind sehr nützlich, wenn man viele Produkte effizient bearbeiten möchte. Und alle Schritte werden immer gesichert, sodass eigentlich nichts schief gehen kann.
Wirklich sehr gut durchdacht. Man merkt hier auf jeden Fall, dass damit aktiv während der Entwicklung gearbeitet wurde, sodass das Tool sehr anwenderfreundlich geworden ist. Und es kommen regelmäßige Updates. Klare Weiterempfehlung und im Vergleich zu anderen Tools seinen Preis wert!
About the Extension Partner
Stone & Water
Partner Status
-
Shopware
Extension Partner
Details
-
Ø-Rating:
4.8
Average rating of 4.8 out of 5 stars
- Partner since: 2017
- Extensions: 4
Support
- Based in: Germany
- Speaks: German, English
https://pim-shopware.de/dokumentation.html
1.8.28
- New option "Compact variant view" (config matrix → General → Product list): variants are displayed space-saving – without large indentation, without preview image and with much flatter rows. Content (name + options) is preserved.
- DATANORM import significantly extended: support for DATANORM 5.0 (dedicated field layout for name, price and EAN), any volume file extension (.001 to .999) and additional record types (long text and prices/DATPREIS).
- Bulk edit: the "Restock time (days)" field can now be set and cleared via bulk edit – including undo/snapshot.
- Product list: fixed the display of variants with very long names (name and option lines no longer overlap).
- Category management: the language selection now follows the languages assigned to the active sales channel.
1.8.13
1.8.13
- AI providers reviewed and made more robust: the OpenAI proxy now handles deprecated or unsupported parameters of newer models (e.g. gpt-5 / o-series) – "max_tokens" is converted to "max_completion_tokens", and an unsupported "temperature" is automatically removed and the request retried once.
- Mistral uses the same OpenAI-compatible API and received the same defensive temperature safeguard.
- Anthropic, Google Gemini and DeepL were checked and require no changes.
1.8.9
- New: "Shopware standard SEO URL" mode – can be enabled in the SEO URL configuration. Instead of the StawPim pattern generation, the native Shopware SEO URL is edited directly per product.
- The SEO URL field is now directly editable in the master data, the variant modal and the quickview – per sales channel and language. Changes are written straight to the Shopware SEO URL.
- Two sub-options control whether the field additionally appears in the variant modal and the quickview.
- When the standard mode is active, the pattern steps and the StawPim canonical field are hidden accordingly; the main category stays available.
- Improvement: "Release date" is now correctly assigned to the "Delivery" group in the field configuration.
- Existing shops with their own SEO pattern remain unchanged – the standard mode is disabled by default.
1.7.69
Version 1.7.69
This update focuses on a substantially refined category management, an extended AI text generation and an editor bug fix.
Category management
- Sales-channel and language selectors now use the unified master-data style (with icons and field frames).
- New “New category” button right in the bar to quickly create a category in the selected sales channel.
- Action bar at the bottom of the detail area (Save, Delete, Cancel) – in addition to the buttons at the top.
- Detail sections (master data, layout, description & SEO, custom fields) are collapsed by default when opening a category.
- “Parent category” and “Type” are now stacked; the selector is full width so the indented category tree in the dropdown is clearly readable.
- Consistent button heights (refresh button, AI texts button).
AI texts for categories
- New “Additional instructions to the AI” field (free text, fed into the prompt).
- “Overwrite existing texts” toggle: when off, the AI only fills empty fields; when on, existing texts are replaced – with a warning that this action cannot be undone.
Bug fix
- WYSIWYG editor: switching to code view cleared the content when the editor had previously been used for another category, variant or language. Fixed in the category modal, product master data and variants.
1.7.41
1.7.41
- Release date – fully reworked
- Settable per variant: the release date can now be maintained per variant in the variant quick-edit and the variant detail modal (empty = inherits from the main product, shown greyed out). It can be toggled via the variant field configuration.
- Consistent position: the field sits in the “Delivery” section (after the dimensions) on the product detail page, in the variant quick-edit and in the variant detail modal – previously it was under “Visibility” on the detail page.
- Correct saving: the date picker now uses type “datetime” (like the Shopware standard) so the DAL DateTime field persists reliably. The variant detail modal's save patch now includes the field as well (it was never written per variant before).
- German display: the date is shown as DD.MM.YYYY without a time component, while the full datetime value is still stored internally.
- Unified naming: “Release date” everywhere (detail page, config matrix, bulk edit, feed generator, CSV, variants) instead of the previous mix of terms.
- Removed the dead “Available from” field (availableAt): it never persisted because the product entity has no such column. Removed from the detail page, config matrix, CSV export/import and the default migration. Old CSVs with an availableAt/“Available from” column are still mapped to the release date on import for backward compatibility (only when it is empty).
- Custom product list columns (new)
- New “Custom column” button in the column configuration: opens a dialog to add a column with its own name and source field – a master-data field (release date, stock, dimensions, dates, …) or any custom field.
- New columns appear in the column list, can be reordered with the arrows, removed again, and are stored persistently in the configuration. Values are formatted automatically (dates in German format, yes/no for booleans).
- Source-field picker uses a searchable dropdown (grouped into master data and custom fields) – long custom-field lists can be filtered by typing.
- Custom columns can optionally be marked as sortable (click the column header, like price or name), using the field's DAL path.
- Main product as preselection (new)
- New “Main product as preselection” button in the variants tab: sets the main product as the storefront listing (instead of a variant) – useful when the parent product should appear in the listing. Click again to clear it.
- Clean interplay: selecting a variant preselection (star) switches back automatically, and variant generation no longer overrides an intentionally set main-product listing. The button uses a star icon and sits in the variant list toolbar.
- Creating & duplicating products
- Duplicating a product now assigns the next free product number from the Shopware number range (same as creating one manually) instead of a -Copy suffix. The name keeps a “(Kopie)” suffix. Variants get their number as .. If the number range is unavailable, a -Copy suffix is used as a fallback.
- Stability
- The product list sort field is now validated against a whitelist – an invalid or outdated sort value falls back to “name” instead of causing a 400 error in the product search.
1.7.24
1.7.24
- SEO URL generation in the custom field
- New source variable {metaTitle}: the product's maintained meta title can now be used in the field pattern, the admin preview and the AI text templates – resolved with language fallback, variants inherit from the parent.
- Empty tokens (e.g. {options} on products without options) no longer leave separator remnants – leading, trailing and doubled separators are stripped on the server and in the preview, so the remaining variables are used cleanly on their own.
- The SEO preview now uses a real variant as the example (with parent fallback for name, manufacturer and categories) whenever variants exist – {options} and the variant product number are shown realistically.
- Fix: resolving {options}/{properties} crashed with “Unknown column 'pg.position' / 'pgo.position'” – the option position is a translated field in Shopware 6; sorting now uses the translation table and no longer references a plain position column.
- Fix: demoted canonical URLs (kept redirects) are written with is_canonical = NULL instead of 0 – a second rebuild otherwise failed with a duplicate-key error (1062) once a product had collected several redirects; existing 0-rows are repaired automatically at the start of each rebuild.
- Multi-language variant generation
- Variant names are now resolved per language – parent name, option names and group names are loaded with their translations and the name pattern is applied per language (fallback to the current name if a translation is missing). Previously the name was resolved once in the current language and copied identically into every language (e.g. German option names in the English name). Applies to bulk edit and the variants-tab generator.
- Fix: creating new property groups and options failed with HTTP 400 whenever the PIM language was set to a non-system language – all creation points (bulk edit and generator) now always create in the system language context; applies to selection and preset mode. Error messages now show Shopware's actual cause instead of “Request failed with status code 400”.
- Bulk edit & variant consistency
- Removing properties on a single product (“remove all” and de-selecting in the assignment modal) now also removes them from all variants that carry their own property rows – previously only the parent was cleaned; the success message shows how many variants were cleaned.
- “Assign cross-selling” now also creates the cross-selling for all variants of the selected products (batched via the sync API, incl. assigned products and translations) – product_cross_selling is not inherited in Shopware; the snapshot revert removes the variant cross-sellings as well.
- Create-product modal
- The “Create product” button now opens a compact modal with the essentials (name, product number reserved from the number range and editable, preselected sales channel visibilities) – the product is created completely and opened directly, no more invisible drafts without categories. Price (0), standard tax rate and inactive status are applied silently as defaults.
- Layout in the PIM CI (1.5px borders, 8px radius, indigo focus), uniform field heights and clean spacing between label and channel chips.
- Approval workflow
- The “in progress” / “in review” status can now be explicitly reset to draft on the product detail page (new “Reset status” action).
- Fix: failed status writes (e.g. an expired session) are no longer swallowed – the display reverts to the real server state and shows an error instead of pretending the new status.
- Variant generator (variants tab)
- After generating variants the storefront display is set automatically like the Shopware standard (“show single product → variant”). An existing preselected variant stays authoritative; otherwise the variant with the lowest product number becomes the preselection (incl. listing config, position on top, audit log entry).
1.7.10
1.7.10
- Variant generator (variants tab): after generating variants the storefront display is now set automatically like the Shopware standard (“show single product → variant”). An existing preselected variant stays authoritative; otherwise the variant with the lowest product number becomes the preselection (incl. listing config, position on top, audit log entry).
- Create product: the button now opens a compact modal with the essentials (name, product number reserved from the number range, sales channel visibilities preselected) – the product is created completely and opened directly in the detail view, no more invisible drafts; standard tax rate and price are applied as defaults.
1.7.3
1.7.3
- Performance: bulk edits run many times faster – async queue indexing, larger write batches, batched approval and audit-log requests (thousands of single requests reduced to a handful)
- CSV import: no more full-catalog reindex after every import – only the imported products are reindexed asynchronously
- Product/variant deletion, bulk translations and approval/audit-log writes use batched SQL statements (upserts, IN deletes)
- Product list: protection against stale responses on rapid filter/page changes; bulk snapshots are loaded only once per session
- Bulk edit fix: parent products that match the active filter now receive the change as well
- SEO URL generation: umlauts and special characters in static pattern text are converted correctly; slashes and dots are preserved in token values; path fields are printed with |raw so slashes survive Shopware's SEO escaper; preview and server generation behave identically; empty fields fall back to the product name
- Feed generator: feeds stay reachable in maintenance mode, plus a new domain-independent API route (/api/staw-pim/export/…)
- Product list: action buttons (feed generator, CSV, create product) now sit in their own row above the search – the search field keeps its full width
- Localization: ~55 hardcoded German texts (SEO generator UI, modals, notifications) converted to snippets – fully available in German and English
- Configuration cleanup: two dead settings removed, the AI “default tonality” setting is now applied
- Stability & diagnostics: session error log for support, internal test suite, removed dead routes/methods, added missing translations
- SEO URL generation fix: prevented silent creation of UUID-suffixed custom fields (staw_pim_canonical_<12 hex>). The per-channel field name is derived from the sales channel name; when the channel list was not loaded yet (or a channel has no name), the generator silently fell back to a channel-ID suffix and created new fields. The admin now uses the generation modal's channel list as a second name source, skips channels without a resolvable name with a clear message, and the server additionally rejects ID-fallback field keys.
- {mainCategoryPath}/{categoryPath} fix: when no main category is set for the sales channel, the fallback (“first assigned category”) had no ORDER BY – with products assigned to several categories it could pick an arbitrary flat category, reducing the path to a single segment. The fallback now deterministically prefers the deepest assigned category (longest category path). Additionally, when the category.path column is empty (indexer lag after imports), the ancestor chain is now reconstructed by walking parent_id instead of collapsing to the category's own segment.
- Step 1 fix: whether values are written into the per-channel fields (staw_pim_canonical_) was wrongly gated by the step-2 toggle (“Twig pattern per shop”) instead of the step-1 toggle (“field pattern per shop”) – with step 2 per-shop disabled, the per-channel fields were never updated.
- SEO template wrapper: the generated output is now trimmed ({{ ... |trim|raw }}) – multi-line patterns no longer leak newlines/spaces into seo_path_info via the set capture.
- “IF migrated / canonical” variable chip: the migrated field (staw_url_product_detail) is now checked strictly in the current language without Shopware's translation inheritance (product.customFields instead of product.translated.customFields, plus empty check) – values maintained in another language no longer win.
- Removed the dead {groups} token chip (it always resolved to an empty string).
1.6.83
1.6.83
- New two-step SEO URL system: step 1 generates the desired URL per sales channel and language into a canonical custom field (token or Twig pattern). Step 2 sets that pattern as Shopware's SEO URL template per sales channel and reindexes through Shopware – URLs then come straight from the custom field and survive every reindex.
- Generation is scoped strictly to the selected sales channels and languages. Variants get their own URL; changed paths remain as 301 redirects.
- Dry-run and per-channel/language preview before writing.
- New approval status "In progress" (alongside approve/reject) in the detail view, product list (filter and badge) and statistics.
- UI improvements: polished progress bar with percentage, clearer button and dialog labels, modal refinements.
1.6.72
SEO URLs
- New SEO URL system with two generators: (1) write the canonical URL into a custom field, (2) write SEO URLs directly into the database – each per sales channel and language.
- Custom patterns per sales channel (token- or Twig-based) including a live preview on a sample product.
- Full variant support: a variant's own or inherited (parent) values are correctly used per channel and language.
- "Remove all product URLs (Reset)" for a clean rebuild of all product URLs of a channel/language.
- Optimised for large catalogues: streaming, keyset pagination and set-based queries; robust handling of path collisions.
Approval workflow
- New "In progress" status that editors can set themselves to signal that an item is currently being worked on – shown in the detail view, the product list (filter & status indicator) and the approval statistics. Approve, reject and submit remain available in parallel.
Product maintenance
- Reworked image upload with a dedicated drag-and-drop zone (compatible with Shopware 6.7) in master data and variants.
- Assigned categories are shown as removable chips – instantly see which categories are set.
- Product overview: manufacturer pagination, sortable price column and various UI improvements.
General
- Faster loading of the sales channel statistics plus numerous stability and bug fixes.
1.6.9
1.6.9
- Feed generator: fixes a slightly blurry look of the import/export (feed) window on some monitors. The window was permanently promoted to a graphics (GPU) layer, which made text appear slightly fuzzy on non-scaled displays. Display-only, no functional change.
- Feed generator: new copy button right in the feed overview — the feed URL can now be copied per row without opening the feed first. The button only appears once a URL/token exists.
- Feed generator, "Access & URL" section: the "Copy" and "Generate token" buttons now sit on their own line below the URL field. Previously the field and both buttons shared one row, which made the token button very small.
- Feed generator: relabeled "All images (|)" to "All images (pipe-separated)" (column picker chip and selected column) so the parenthesis reads unambiguously. Cosmetic only, no effect on feed data.
- Feed generator: the "Custom fields (JSON)" field (the full raw customFields blob) was removed from the column picker (Basics) and from the feed output. The individual custom fields can be selected as dedicated cf_* columns anyway, which keeps the feed file much smaller. Existing feeds that still had the field selected now drop the raw blob automatically. The regular CSV export/import is unaffected.
- True streaming for feed delivery (especially for large catalogs): the file is now delivered memory-efficiently in chunks and the download starts immediately, instead of building the whole file in memory first. gzip compression runs incrementally alongside it, so flat memory usage and compression are combined. New per-feed "Streaming" toggle (on by default, live mode only): if a server environment has trouble with chunked delivery (e.g. a session conflict), you can switch back to the proven buffered delivery here. For very large catalogs, "File" mode remains the most resource-friendly option.
- Variant feed fix: when the "Export variants" toggle is on, the variants of a matching parent product are now reliably included in the feed — even when the filter (e.g. category/manufacturer) only matches the parent and the variants inherit their values. Per variant, "active" and "stock" are re-checked with a parent fallback so no variant the filter would exclude ends up in the feed. The admin count chip now uses the same value as the export (the toggle), so it matches the generated file.
- Performance for large catalogs: feed generation now uses keyset pagination instead of LIMIT/OFFSET — it stays consistently fast even with very many products (no slowdown on deep pages). The feed file is also delivered with gzip when the requesting client supports it (feeds compress ~80–90%, greatly reducing load time). Tip for very large catalogs: use feed mode "File" so the task-generated file is served instead of regenerating on every request.
1.6.8
1.6.8
- Feed generator: fixes a slightly blurry look of the import/export (feed) window on some monitors. The window was permanently promoted to a graphics (GPU) layer, which made text appear slightly fuzzy on non-scaled displays. Display-only, no functional change.
- Feed generator: new copy button right in the feed overview — the feed URL can now be copied per row without opening the feed first. The button only appears once a URL/token exists.
- Feed generator, "Access & URL" section: the "Copy" and "Generate token" buttons now sit on their own line below the URL field. Previously the field and both buttons shared one row, which made the token button very small.
- Feed generator: relabeled "All images (|)" to "All images (pipe-separated)" (column picker chip and selected column) so the parenthesis reads unambiguously. Cosmetic only, no effect on feed data.
- Feed generator: the "Custom fields (JSON)" field (the full raw customFields blob) was removed from the column picker (Basics) and from the feed output. The individual custom fields can be selected as dedicated cf_* columns anyway, which keeps the feed file much smaller. Existing feeds that still had the field selected now drop the raw blob automatically. The regular CSV export/import is unaffected.
- True streaming for feed delivery (especially for large catalogs): the file is now delivered memory-efficiently in chunks and the download starts immediately, instead of building the whole file in memory first. gzip compression runs incrementally alongside it, so flat memory usage and compression are combined. New per-feed "Streaming" toggle (on by default, live mode only): if a server environment has trouble with chunked delivery (e.g. a session conflict), you can switch back to the proven buffered delivery here. For very large catalogs, "File" mode remains the most resource-friendly option.
- Variant feed fix: when the "Export variants" toggle is on, the variants of a matching parent product are now reliably included in the feed — even when the filter (e.g. category/manufacturer) only matches the parent and the variants inherit their values. Per variant, "active" and "stock" are re-checked with a parent fallback so no variant the filter would exclude ends up in the feed. The admin count chip now uses the same value as the export (the toggle), so it matches the generated file.
- Performance for large catalogs: feed generation now uses keyset pagination instead of LIMIT/OFFSET — it stays consistently fast even with very many products (no slowdown on deep pages). The feed file is also delivered with gzip when the requesting client supports it (feeds compress ~80–90%, greatly reducing load time). Tip for very large catalogs: use feed mode "File" so the task-generated file is served instead of regenerating on every request.
1.6.0
Major update for the feed generator plus new permission controls.
- Feed generator: export product feeds as CSV, XML or JSON, retrievable via a permanent URL (ideal for price portals, marketplaces and ERP integrations).
- Reworked column selection: a clean, meaningful field list (internal UUIDs removed), drag-and-drop ordering and freely renameable column headers.
- Per-feed sales channel & language (language options depend on the channel; “All sales channels” as the default).
- New field types: availability, product URL (SEO deep link), absolute image URLs and custom fields as individual columns.
- Robust price and column resolution (currency-safe prices, guard against missing columns) across all profiles and output formats.
- Permissions: dedicated ACL group “StawPim (products)” with View/Edit/Create/Delete – menu items and functions are shown/hidden per role. Plus a toggle to grant the feed generator to normal users separately.
- Various stability and display fixes, including the correct product count in the feed overview.
1.4.0
Version 1.4.0
Version 1.4.0 adds a fully-featured CSV product feed via URL – ideal for connecting to ERP systems and portals.
New: CSV product feeds via URL
- Any number of feeds – each with its own field selection, name and token-protected URL.
- Two modes: "live on request" (always current, straight from the database) or file generation via cron for large catalogs.
- Connect ERP systems & portals (e.g. JTL) via a simple, copyable URL.
Full filter parity with the product overview
- Every filter from the product overview now applies in the feed too – including quality and completeness filters (cover, description, translation, SEO status and more).
- Supports dynamic product groups, price, tax, tags, properties, delivery time, visibility, weight, dates and custom filters.
- Matches are resolved live – the feed always stays in sync with the product overview.
Per-feed ERP format options
- Character encoding selectable: UTF-8, Windows-1252 (ANSI) or ISO-8859-1 (Latin-1).
- BOM can be toggled on/off (for Excel vs. strict importers).
- Decimal separator dot or comma for price and dimension columns.
Improvements & stability
- Feed list with name search and pagination – stays clear even with many feeds.
- Reworked feed editor with clearer layout and better spacing.
- Correctly centered dialog overlays (delete/save).
- General cleanup and stability work in the code.
Note: approval status and the "invalid RRP" filter cannot be represented in the feed, as they are computed within the administration.
1.3.0
Variant modal — language now consistent with the quickview
- Opens in the same language as the quickview (active admin language) instead of the channel default language
- Switching the language now fully reloads the delivery block — stock, dimensions, delivery time, units, sale unit plural, product unit
Bulk edit — sales channel chips for main category
- The channel picker for assigning the main category per sales channel is shown correctly again
- Works regardless of shop-specific channel type IDs
Listing — debounced search
- Search waits 350ms after the last keystroke before firing — no more one API call per character
- Enter and the clear button (X) trigger the search immediately
- Noticeably less load when typing article numbers
Variants tab — confirmation before "Add properties"
- A confirmation dialog now appears before patching the parent product, showing the number of selected options and groups
- Prevents accidental clicks when many options are selected
1.2.2
Listing display language follows the sales channel
- Language selector with globe icon in the listing header for manual override
- When a sales-channel filter is active, the channel's default language is used automatically
- The correct language is also applied on initial load with a persisted filter
Variant column inheritance now correct for all fields
- Bugfix: variants with an explicit value of 0 (weight, stock) incorrectly showed the parent value
- Inheritance logic expanded from 6 to 30+ standard product fields
Quickview — save is fast again
- After saving, only the edited variant is refreshed instead of reloading all variants of the parent
- Constant save time regardless of variant count, no listing flicker
Variant modal — refined inheritance preview
- The inherited description is shown as a grey preview directly in the editor area
- Clicking activates the real editor for overriding
DeepL translation more robust
- Smart endpoint selection based on API key type (Free vs Pro)
- Correct API parameter types for Shopware 6.7
- Multi-strategy save supporting different Shopware versions
Detail view — language dropdown stabilised
- No longer falls back to displaying a raw UUID instead of the language name
- Auto-correction of invalid language IDs
Listing UI improvements
- "Presets:" and "Active filters:" labels in front of the chip bars
- Performance: one fewer API call per listing page
1.0.10
Products are now completely deleted — including main products with variants and cross-selling
- Products could not be deleted in certain situations (e.g. when they have variants, are referenced in cross-selling lists, or when an installed plugin reacts to the product delete event).
- Completely new delete architecture: a direct backend endpoint removes the product and all its dependencies at the database level, so that plugin subscribers or indexers cannot interfere.
- Reliably cleaned up: variants (recursive), cross-selling lists and assignments, configurator settings, visibilities, categories, tags, properties, media, search keywords, product stream mappings, reviews, translations, prices, main categories and SEO URLs.
- Order line items are not touched — the link is set to NULL so the order history is fully preserved.
- Applies to all delete paths: single delete from the context menu, "Delete" toolbar button on selected products and "Delete products" tab in bulk edit.
- Success notification clearly shows what was cleaned up, e.g. "5 products deleted (incl. 23 variants, 47 links cleaned up)".
Fixed — delete error messages are now properly evaluated
- When deleting single or multiple products, the API response wasn't being checked — errors still produced a success notification, but nothing was actually deleted.
- Server responses on all delete paths are now properly evaluated and real error causes are shown directly, instead of being silently swallowed.
Fixed — purchase price gross/net ignored on CSV import
- The CSV columns "Purchase price gross" and "Purchase price net" weren't processed on import — values did not reach the product.
- Purchase prices are now imported correctly, including all variants: gross only / net only / both values 1:1 / single value. When gross and net are present together, it's automatically detected if the values don't match the tax rate and they're stored as unlinked accordingly.
Improved — CSV mapping dropdown finds all fields
- Fields disappeared from the dropdown as soon as they were assigned to another CSV column — fields like "Purchase unit" or "Base price unit" became hard to find once mapped elsewhere.
- All fields are now permanently visible in the dropdown. Already-assigned fields are marked in colour with the hint "already assigned to 'X'". Clicking a marked entry automatically replaces the previous assignment.
- Clearer names for the unit fields: "Product unit / pack unit" (instead of just "Purchase unit"), "Measurement unit ID" and "Measurement unit (name)" (instead of just "Unit ID/Name"), "Content quantity (base price)" and "Base price unit (reference quantity)".
Compatibility — Shopware 6.7 / Doctrine DBAL 4
- Plugin is now compatible with the new Doctrine DBAL 4 in Shopware 6.7. Backend code detects at runtime which DBAL version is active and uses the right API automatically. Works on Shopware 6.5, 6.6 and 6.7 alike.
1.0.9
CSV import: mapping dropdown significantly improved
- Dropdown much wider (720 px), items in two lines: label on top (readable), technical field name below — both now fully visible, even for very long custom field migration names.
- Search now supports multiple terms simultaneously — all words must appear (whether in the label, technical name or group name).
- Selected field clearly recognizable with indigo accent border and bold label — previously it looked like several fields were marked at once.
- Duplicate custom field entries in the dropdown fixed: when multiple sales channels share the same language and only one real CSV column would exist, it is now shown only once.
CSV import: prices applied correctly
- Gross and net prices are now both applied 1:1 from the CSV. Previously the net value was ignored and recomputed from the gross value via the tax rate — manual values were lost for unlinked prices.
- If the two values don't match the tax-rate relationship (difference more than 1 cent), the price entry is automatically marked as "unlinked" — Shopware then keeps the manual values.
CSV export: purchase price gross/net repaired
- The columns "Purchase price gross" and "Purchase price net" remained empty in exports (internal column-name mismatch). Values are now exported correctly.
More master data fields in import/export
- Newly importable and exportable: dynamic product groups, "Show in listing", variant listing configuration, feature set and CMS layout (each with validation).
- Full audit of all master data and delivery fields completed — both import and export are now fully covered.
Fixed — snippet on detail page
- The "Purchase unit (plural)" field on the detail page showed the snippet key instead of the translation — snippet was missing in the detail block, now correctly added for German and English.
1.0.8
Quickview modal from product listing overhauled
- Modal header now shows the variant name first (bold, dark), with the product number following as secondary information (small, gray) — matching the main-product variants modal.
- Input fields in the quickview unified with label on top, input below (42 px height) — consistent with the rest of the plugin.
- "Expand all / Collapse all" button in the modal header — same as in the master data detail view.
Bulk edit — filter display and layout
- Complete display of all filters from the selected preset (manufacturer, categories, tags, properties, stock, price, weight, date ranges, visibility and more) instead of just a few as before. IDs are resolved to readable names.
- Preset chips and item count on separate rows — no more awkward wrapping when many presets are present.
- "Item count:" and "Active filters:" now flush-left at the same horizontal position for a consistent layout.
- "No filters active" warning with clearly visible red border.
Config matrix — quickview fields section
- Complete migration of the quickview fields section to the standard config matrix pattern — visually identical to the "Variants view" and "Master data view".
- Each field group has its own accordion with "X / Y visible" badge.
Variant images in listing
- Variant images in the product listing now display as small 32 px thumbnails (instead of full size), main articles continue with 40 px.
- Variant rows indented by 32 px — hierarchy to the main product clearly visible.
CSV import/export — unified layout
- Export settings "Max. products" and "Decimal separator" now use the same setting pattern as the other options (label on the left, input/dropdown on the right).
- "Main export language" with label and dropdown side-by-side.
Modal boxes — scroll flicker fixed
- Root cause was the backdrop blur on the modal background being recomputed on every DOM change. Dedicated compositing layers on backdrop and panel; scroll container additionally isolated.
- Noticeable in the bulk edit, CSV import/export, filter modal and quickview modals.
CSS consistency — major audit
- 145 missing CSS class definitions added — all using the existing CI design tokens.
- Font sizes, colors, border widths and input field heights now unified across the entire plugin.
Variants generator — warning box cleaned up
- Title "Important before running" removed — only the warning icon, vertically centered with the hint text.
- Search icons removed from problematic modal search inputs — placeholder text now starts cleanly at the beginning.
1.0.7
Prices — independent gross/net control
- New "Set purchase price" action in bulk edit — choose either gross or net input. The other value is automatically calculated using the product's tax class.
- CSV import and export now support separate columns for gross and net purchase prices. On import, you can mix and match: gross only, net only, both, or the legacy combined column. Missing values are derived from the tax class. German and English column names are recognised automatically (e.g. "EK brutto", "Einkaufspreis netto", "cost gross", "cost net").
- In the config matrix, all four price types — sales price, purchase price, list price and lowest price over the last 30 days — can now be toggled independently for gross and net. Applies to both main products and variants. Existing user configurations with the old combined toggles remain valid.
Config matrix — new fields and consistency check
- Pack unit plural now available as a new field for main products and variants.
- Available stock has its own toggle — was previously coupled with stock level.
- Full consistency audit performed across the config matrix: every toggle is now connected to the corresponding input field in the detail or variant modal. No more toggles without effect.
- Removed non-functional fields from the config matrix: internal note, custom CMS layout, display variants in listing, and feature set.
Quickview fields (variant editing in the product listing)
- New config matrix section to control which fields appear in the quickview modal when clicking a variant in the product listing.
- Structure and styling identical to the master-data view and variants view: one accordion per field group with "X / Y visible" badge and "Deselect all" button.
Variants modal
- In the variant edit modal, the variant name now appears first (bold, dark), with the product number following as secondary information behind it (small, gray) — matching the smart bar of the main article.
- Form labels in master-data and variant views now styled uniformly.
Unified input field height
- All input fields in the master-data and variant master-data views now share the same height (42 px) — whether native dropdowns, custom selectors like tax rate, manufacturer and delivery time, or Shopware form components.
- Price fields were previously 48 px, now 42 px — matching the rest.
- Border thickness, color and radius unified for a consistent look across all fields.
WYSIWYG editor (product description)
- The frame now wraps the toolbar and content area as one cohesive field — previously the outer frame was visually offset from the content.
- Styling identical to all other input fields (border, radius, focus ring).
Bug fixes — appearance
- Search field in the config matrix ("Search setting…") is now fully styled — hit counter, prev/next buttons, clear button and keyboard shortcut hint (⌘K or Ctrl+K) were previously invisible or broken.
- Hint texts beneath input fields in the CSV import/export view (e.g. the main language hint on export, or the strict-mode explanation on import) now display correctly as small muted helper text. Previously they were shown in full body size.
- Status pill on the strict-mode toggle (Active / Inactive) now correctly rounded and colored.
1.0.6
Major feature release focused on AI text generation, branded admin UI, expanded bulk edit and performance improvements.
AI Text Generation
- Claude (Anthropic) as a second AI provider — dedicated section in the config matrix under "Translations" with API key, model selection (Haiku 4.5, Sonnet 4.6, Opus 4.6 / 4.7), tone preset and bulk toggle
- When both ChatGPT and Claude are enabled, you can pick the provider per call in the AI generator modal
- Connection test button for Claude, mirroring the existing one for ChatGPT
- Both providers operate fully independently — own keys, models, tones and bulk activation
Bulk Edit
- New action "Base price" — set content quantity and base-price unit on multiple products at once
- New action "Product unit" — assign product unit (Piece / Litre / kg / ...) to multiple products at once
- Live progress display with counter, phases (snapshot / apply), ETA and cancel button — no more black box when processing large batches
Master Data
- New field "Product unit" (dropdown Piece / Litre / Kilogram / ...) in the product detail view next to content quantity, base-price unit and purchase unit — configurable in the config matrix under "Fields"
CSV Import / Export
- New column "Unit (name)" — exports the readable name of the product unit (e.g. "Litre") alongside the unit ID so the CSV is directly readable in Excel
- Import detects "Unit (name)" / "Produkteinheit" as a column header and automatically resolves it to the matching unit ID
- CSV profile "Prices & Stock": defaults to unit name instead of unit ID (more readable)
- CSV modal: Import tab is now only visible to super admins (and when the permission is enabled). Export tab also permission-gated
- Longer field labels like "Match via" no longer overlap the dropdown next to them
Admin UI
- New Stone & Water branding bar at the top of every PIM page (dashboard, listing, product detail, config matrix) — with logo, "Stone & Water — PIM für Shopware" text and "Request feature" button with direct link
- Shopware smart-bar is hidden on PIM pages — creates more space for the actual product data
- Config matrix: search input and tab bar are now sticky together and stay visible while scrolling
- Listing: table, pagination and filter row have consistent horizontal inner padding
- PIM dashboard now uses the same layout as the other PIM pages
Performance
- JS bundle is minified during the build step (comments and redundant whitespace removed). Bundle size ~23 % smaller (2.5 MB → 1.9 MB) with identical functionality
- Listing table uses the CSS property "content-visibility: auto" as browser-native virtualization. With large product lists (1000+) the browser only paints visible rows — no behavior change in older browsers
1.0.5
Dashboard
- Clickable KPI cards open the listing pre-filtered
- New "Top issues" section with prioritised action list
- Trend arrows show change over up to 30 days
- New stock status section (out-of-stock, low stock, inactive with stock)
- Top-10 manufacturers and price distribution histogram
- Configurable thresholds and cache indicator
Filter presets
- Search field and favourites filter in the preset modal
Bulk edit
- Filter restriction is now automatic in Preset/Filter mode
- "Clear fields" now also operates on variants
- Clean reload of list and variant cache after changes
Listing
- Inline editing for stock, price, EAN, manufacturer number and weight — also for variants
CSV
- Configurable decimal separator (point or comma) for Excel
1.0.4
- Preselect variants during variant generation
1.0.3
- Bulk Update: Assign cross-selling groups in bulk (product stream or product list)
- Bulk Update: Variant preselection after generation (set main variant, hide main item)
- Configuration Matrix: Global defaults for variant preselection
Cross-Selling: productVersionId fix → Visibility in the storefront
- Revised CSV import/export: Batch API, significantly faster
- CSV export: Custom fields per language, main category names with tree resolution
- Filter improvements: notContains with parent products, AND combiner fix
- UI improvements: Variant generator layout, listing pagination
- Code cleanup: -73% noise comments
1.0.2
- User interface customization
- CSV import/export enhancement
- Batch update enhancement
1.0.0
- Release PIM for Shopware