PIM for Shopware 6 — Manual
This page bundles all functions of the PIM plugin for Shopware 6 at a glance. It serves as a compact reference — for detailed step-by-step guides with screenshots, please use the dedicated documentation pages for each area.
The PIM plugin is compatible with Shopware 6.5, 6.6 and 6.7. All functions described here are available identically in all three versions.
Show table of contents
System requirements
The PIM plugin runs in any standard Shopware 6 installation without additional server configuration.
- Shopware: 6.5, 6.6 or 6.7 (all three major versions are maintained in parallel)
- PHP: 8.2 or newer
- Database: MySQL 8 or MariaDB 10.11
- Memory: Shopware's standard recommendation is sufficient (256 MB+ PHP memory_limit)
- Permissions: Shopware admin access as administrator role
Installation
Installation works via the Shopware Store or by manual upload.
Via Shopware Store
- In Shopware admin, go to Extensions → Store and search for "PIM for Shopware".
- Load the plugin — it then appears under Extensions → My extensions.
- Click Install to install the plugin, then Activate.
Manual installation
- Download the ZIP file from the Shopware Store.
- In Shopware admin, go to Extensions → My extensions and upload the ZIP file.
- Install and activate as above.
Activate plugin
After installation, the plugin must be activated. Activation performs the following operations:
- Creates plugin configuration entries in the database.
- Registers ACL permissions (see Permissions).
- Registers menu items in the Shopware admin sidebar.
- Builds the initial config matrix with defaults.
Open PIM
After activation, the PIM menu item appears in the Shopware admin sidebar. The first call loads the listing of all products (visible according to the sales channel permissions of the logged-in user).
PIM does not replace Shopware's standard product management — it complements it with an alternative UI optimised for bulk operations.
Config matrix
The config matrix is the central control element of the plugin. It is located under Settings → System → PIM configuration and controls six areas:
- Visible fields in listing — which columns are shown by default.
- Editable fields in bulk-edit — which fields are available for bulk operations.
- Active languages — which languages can be maintained in the PIM.
- Default patterns for variant generator — SKU and name patterns as template.
- AI provider configuration — which providers are active, which models, with which tone.
- Export settings for CSV — which columns are included by default in exports.
Changes in the config matrix affect all users immediately, without requiring a browser reload.
Permissions
The plugin uses Shopware's standard ACL system. The following permissions are registered and can be granted per role:
staw_pim.viewer— open PIM and view listing (read-only)staw_pim.editor— inline editing and bulk-editstaw_pim.csv_export— CSV exportstaw_pim.csv_import— CSV importstaw_pim.variant_generator— variant generatorstaw_pim.ai_textgen— AI text generationstaw_pim.config— edit config matrix
Assign under Settings → System → Users and permissions → Roles.
Languages
PIM supports all languages configured in Shopware. Languages become visible and editable when marked as active in the config matrix.
Each language gets its own tab in the detail editor. In bulk-edit, the target language can be selected per operation.
9,99 for German, 9.99 for English).Sales channels
Sales channel visibility is displayed as a column in the listing and can be maintained per product via bulk-edit. For multi-channel setups, a sales channel filter shows the listing restricted to products visible in a specific channel.
Listing structure
The central product listing is the main view of PIM. It shows all products in your shop in a data-table-style view with the following elements:
- Filter bar at the top — arbitrary filter conditions with AND/OR linking
- Column headers — sortable, resizable, hide/show
- Data rows — one row per product, with variant expansion on-demand
- Footer toolbar — selection count, bulk actions, export/import buttons
- Bottom save bar — appears on active inline edits with save/discard
The listing uses native HTML table virtualisation, so even large catalogues (5,000+ products) scroll smoothly.
Filters with AND/OR
Filter conditions can be combined freely:
- 9 comparison modes per field: contains, does not contain, equals, not equal, starts with, ends with, is empty, is not empty, in list
- AND/OR logic between filter conditions — also nested
- Variant-aware — filters consider both parent products and variants
- Available for all fields including custom fields and multilingual fields
Examples
- All products with stock < 5 AND category "Sale"
- All products without description OR without image
- All variants with colour "red" AND manufacturer "Nike"
Configure columns
Visible columns can be configured individually per user:
- Add via plus icon at top right — all available fields are searchable
- Reorder by drag-and-drop
- Resize by dragging the column edge
- Sort by clicking the column header
All settings are stored per user in the database and remain available after login on a different device.
Filter and column presets
Frequently used filter and column configurations can be saved as presets:
- Personal presets — only visible to the own user
- Shared presets — visible to other users with the same role
- System presets — set by admin as templates, read-only
Presets can be activated by clicking and searched via keyboard shortcut (Ctrl+F).
Inline editing
Fields can be edited directly in the listing by clicking. Supported inputs:
- Text fields — click opens a simple input
- Numeric fields — with locale-aware thousands/decimal separators
- Boolean fields — toggle slider
- Select fields — dropdown with search
- Multi-select — chips with add/remove
- Date/time — native date picker
Changes are immediately reported to the bottom save bar. Save only on click — until then, all changes are local and discardable.
Keyboard shortcuts: Enter confirms, Esc cancels, Tab jumps to the next field.
Variant display
Variant products appear in the listing as a parent row. Click the plus icon to expand variants inline below, without page change.
When expanded:
- Variants appear indented beneath the parent
- Each variant gets its own inline editing
- Filters apply to variants (variant-aware)
- Multi-selection can combine parent products and variants
Bulk-edit — overview
Bulk-edit is one of the core functions of PIM. It allows changing fields on any number of selected products in a single operation.
Workflow
- Select products in the listing (via checkboxes or "Select all")
- Click Bulk-edit in the footer toolbar
- Dialog opens — pick target field, enter new value
- Live preview shows the result for each product
- Confirm — operation runs with progress indicator
- Snapshot is automatically created for revert option
Editable fields
25+ fields can be maintained via bulk-edit:
Master data
- Name (per language)
- Description (per language)
- Meta title, meta description, keywords
- Manufacturer
- EAN, SKU
Prices
- List price and RRP
- Tier prices (bulk-apply to all tiers)
- Base price and base price unit
- Tax rate
Stock and shipping
- Stock
- Delivery time
- Free shipping flag
- Weight, height, width, length
Sales channels and categories
- Sales channel visibility (multiple in parallel)
- Main category
- Additional categories
- Cross-selling assignments
Properties and custom fields
- Properties (assign and remove)
- Custom fields of all types
- Tags
Snapshot & revert
Every bulk-edit automatically stores a snapshot of the previous values. This lets you undo an accidental operation.
- Snapshots are kept for 30 days
- Overview of all snapshots under PIM → Snapshots
- Revert per product or for the entire operation
- Diff display: before/after directly in the snapshot detail
Live preview
Before saving, a table shows for each selected product:
- Current value
- New value after operation
- Diff marker for text fields
- Note when a field is not editable for a product (e.g. inheritance mode active)
Limits and notes
- Maximum number: no hard limit — tested with 10,000 products in one operation.
- Snapshot retention: 30 days. Then automatically deleted.
- Variant products: A change on the parent affects inheritance to variants. A warning shows this in the dialog.
- Config matrix: Which fields are editable is controlled in the config matrix — fields disabled there will not appear in the bulk dialog.
CSV export
The CSV export produces a file with all or filtered products. Configurable via Config matrix → Export.
- Columns freely selectable — standard fields, custom fields, properties, translations
- Separator selectable: comma, semicolon, tab
- Encoding: UTF-8 (with BOM option for Excel compatibility)
- Respects filters: Active listing filters apply to the export
Permission required: staw_pim.csv_export.
CSV import
CSV import reads a file and creates new products or updates existing ones. Match logic: by SKU (productNumber).
Workflow
- Upload file (drag-and-drop or file picker)
- Column mapping is shown — automatically detected from headers
- Adjust mapping if column names differ
- Inspect data type detection preview
- Dry run shows: how many new, how many updates, how many skipped
- Real import runs with progress bar and ETA
Permission required: staw_pim.csv_import.
Data type detection
The importer detects data types automatically per language and column:
- Boolean:
1/0,true/false,yes/no,active/inactive - Date: ISO notation (
2026-05-15) and German notation (15.05.2026) — both work - Number: comma or dot as decimal separator, thousand separators recognised
- Array: pipe separator (
|) for multi-select custom fields - JSON: for complex fields like translations
Multilingual fields
One column per language. Column names follow the pattern name_de-DE, name_en-GB.
On import:
- Language columns are detected automatically
- Existing translations are added, not overwritten (JSON merge)
- Empty cells do not cause data loss — they are ignored
Column mapping
If CSV headers do not match Shopware field names, the mapping can be overridden manually:
- Drag-and-drop between CSV column and Shopware field
- Mapping can be saved as a template (for recurring imports)
- Templates are available per user or shop-wide
Import log
Every import is logged. Overview under PIM → Import history:
- Timestamp, user, number of records
- Successes (new / updated / skipped)
- Errors with row number and reason
- Download of the original CSV file possible (30 days retention)
Variant generator — property selection
The variant generator creates variants from property combinations automatically for a parent product.
Selection mode
- Visual selection of all shop properties with search
- Property values are grouped (e.g. "Colour → red/blue/green")
- Values are added by clicking
- Live preview of combinations below
Example
Selection: Colour (red, blue, green) × Size (S, M, L) = 9 variants.
Patterns for SKU and name
Each variant can have its SKU and name generated automatically based on a pattern.
Available variables
{base}— SKU of the parent product{property:Colour}— value of property "Colour" for this variant{property:Size}— value of property "Size"{counter}— sequential number (1, 2, 3, …){counter:03}— with leading zeros (001, 002, …)
Examples
- SKU pattern:
{base}-{property:Colour}-{property:Size}→SW-1001-red-S - Name pattern:
{base} ({property:Colour}, {property:Size})→T-Shirt Basic (red, S)
Live preview
During configuration, a table shows the first 8 combinations with concrete SKU and name. For more than 8 variants, a "+ X more" hint appears.
Before generation, the exact total number is displayed.
Default patterns
SKU and name patterns can be set globally as defaults in the config matrix. They are then prefilled in the generator.
Per-product override is possible: In product detail under "Variant generator" you can save patterns that override the global defaults for this parent product.
Safe deletion
When deleting variants, the plugin checks for open orders.
- Mode "Safe" (recommended): Variants with open orders are not deleted. Instead, they are deactivated and removed from sale. Data is preserved for accounting and returns.
- Mode "Complete": Variants are deleted, even if orders exist. Caution: may affect accounting and return workflows.
AI text generation — providers and models
PIM integrates two AI providers directly in the Shopware admin. Both can be active in parallel — pick per operation.
- Anthropic Claude: Haiku 4.5, Sonnet 4.6, Opus 4.6 / 4.7
- OpenAI ChatGPT: GPT-4o Mini, GPT-4o, GPT-4.1 Mini, GPT-4.1
Calls happen server-side — your own API key is never sent to the browser.
Set up API key
Both providers require their own API key. Billing runs directly with the provider.
Setup
- Create an API key at console.anthropic.com or platform.openai.com.
- In PIM, go to Config matrix → AI and enter the key.
- Click "Test connection" to verify the key.
- Click "Enable bulk" to activate for bulk-edit.
What can be generated
The AI generator produces four field types, individually or together:
- Description (HTML): formulated product description with paragraph structure
- Meta title: max 60 characters, SEO-optimised
- Meta description: max 155 characters, SEO-optimised
- Keywords: comma-separated list
Generation works for a single product in the detail editor or via bulk-edit for many products in parallel.
Context control
Per generation, you control which data is sent to the AI provider:
- Name (always included)
- Existing description as inspiration baseline
- Properties from product properties
- Custom fields with relevant content
- Manufacturer, category
Set per field via chips ("With properties", "With description", "With custom fields"). This lets you control the token count per call.
Style templates
5 predefined tone templates are available:
- Professional: factual, fact-oriented
- Casual-modern: direct, younger tone
- Premium/luxury: elevated language, sensory wording
- Technical: precise, with technical terminology
- Emotional: storytelling approach, user experience focused
Default tone per shop in the config matrix, override per operation possible.
Costs and limits
Billing happens directly with the provider (Anthropic or OpenAI). PIM charges no additional fees.
- Token display: Per call, estimated tokens and costs in € are shown
- Bulk limits: Configurable upper bound (e.g. "max 100 products / bulk call") as safety net
- Cost warning: When the estimated bulk call exceeds a configurable threshold (default: €5), a confirmation dialog appears
Cross-selling
Cross-selling streams can be maintained per product manually or via bulk.
- Manually: Product detail → "Cross-selling" tab → drag-and-drop from product search
- Bulk: via bulk-edit — operation "Assign cross-selling stream"
- Inheritance to variants possible (with hint in dialog)
Prices and tiers
Prices can be maintained per product with all standard Shopware options:
- List price, RRP, net price per customer group
- Tier prices: from X units = price Y
- Base price and base price unit
- Tax rate
- Bulk apply: price changes on hundreds of products at once
Properties
Properties (Shopware "Eigenschaften") appear in the PIM listing as additional columns and can be maintained via bulk-edit.
- Assign property values: multi-select in bulk dialog
- Remove property values: bulk action "Remove property"
- Create new property: directly in detail editor (with permission)
Custom fields
All Shopware custom fields are automatically available in PIM — no additional configuration required.
- All types supported: text, number, boolean, date, select, multi-select, JSON
- Per-language custom fields are displayed with a language tab
- Filterable in the listing like standard fields
- Editable via inline-edit and bulk-edit
Categories
Categories are shown in the listing as a hierarchy path. Editing:
- Main category per sales channel assignable
- Additional categories (multi-assignment)
- Bulk apply: set category for 100+ products at once
- Hierarchy selection via tree picker
Media
Media (images, videos) are visible as thumbnails in the PIM listing.
- Upload images via drag-and-drop directly in the listing
- Reorder images by drag
- Mark cover image
- Alt texts per language
For mass media uploads, Shopware's standard media manager is still the better option — PIM only adds quick edits at the product level.
Performance
PIM is designed for large catalogues.
- Native virtualisation: The listing only renders visible rows — smooth even with 50,000+ products
- Server-side filtering: All filters run in the database, not in the browser
- Lazy loading: Variants are loaded only when expanded
- Bulk operations: Batch sizes are configurable — large operations save in batches with progress
Troubleshooting
Listing does not load
- Clear cache: Settings → Caches & Indexes → Clear cache
- Check browser console — JavaScript errors usually indicate a conflict with another plugin
- Check PHP memory limit — 512 MB recommended for very large catalogues
CSV import fails
- Check encoding — UTF-8 recommended
- Check separator — Excel exports often use semicolon instead of comma
- Check PHP limits:
upload_max_filesize,post_max_size,max_execution_time
AI generation fails
- Test API key under Config matrix → AI → Test connection
- Anthropic: top up credit at console.anthropic.com
- OpenAI: check billing status at platform.openai.com/billing
- Check server logs:
var/log/prod-*.login the Shopware installation
Contact & support
For questions about features, bug reports or feature requests:
- Feature request: via the form on pim-shopware.de
- Frequent questions: FAQ with 76 answers
- Email support: via the contact form or directly at pim@stoneandwater.online
- Vendor: Stone & Water — Shopware agency from Schöppingen, Germany
Response time: usually 1–2 business days.
