Bulk-edit · 25+ fields with snapshot & revert
The core of PIM: set filter, select all, change fields - with snapshot before every operation and one-click revert for emergencies.
Bulk operation workflow
- Select products in the listing
- Click Bulk-edit in the footer toolbar
- In the dialog: pick target fields, enter new values (multiple actions combinable)
- Live preview shows the result per product
- Confirm - operation runs in two phases:
- Snapshot phase: current values are saved
- Apply phase: new values are written
- Live progress with counter, phase, ETA - cancellable any time
Editable fields (overview)
Master data
- Name, description, meta title, meta description, keywords (per language)
- Active status, manufacturer, EAN, SKU, tax rate, delivery time
- Product unit (piece, litre, kilogramm, …) - dedicated bulk action
Prices and base price
- List price and RRP, tier prices
- Purchase price gross + net as two separate actions - the other value is automatically calculated via the product's tax class. Existing currency and linked status are preserved
- List price/RRP, lowest 30-day price (Omnibus)
- Re-assign tax class (gross price stays, net is recalculated)
- Base price (dedicated bulk action): content quantity + base unit
Stock and shipping
- Stock, delivery time, free shipping flag
- Weight, height, width, length
Sales channels and categories
- Sales channel visibility, main category per channel, additional categories, cross-selling
Properties and custom fields
- Properties (assign/remove), custom fields, tags
For products with variants, assigning properties also writes them to all variants so they appear in the storefront (in Shopware a variant only inherits the parent's properties while it has no property rows of its own). Removing propagates to variants too.
Action "Limit to filter"
When you filter by a variant field and bulk-edit, you usually only want to touch the filter-matching variants. The "Limit to filter" toggle makes the bulk action follow the filter exactly - the parent stays untouched.
Data inheritance parent → variants
A dedicated bulk action transfers fields from the parent to all variants:
- Take over description and meta texts
- Apply tier prices to all variants
- Transfer cross-selling streams
- Pass images and media gallery
- SEO fields (title, description, keywords)
Complete filter display before the operation
Before every bulk-edit, the PIM shows all active filters from the selected preset as readable chips - making it crystal clear which products will actually be touched:
- Visible filters: manufacturer, categories, tags, properties, stock, price range, weight range, date ranges (created/modified/release), visibility, tax class, delivery time, dynamic product groups, sales channel, EAN status, closeout, free shipping, SEO meta status
- Readable resolution: IDs are resolved to clear names (e.g. sales channel name instead of UUID)
- "With variants" appears as its own chip - you immediately know whether variants will be included
- "No filters active" is marked with red background and red border - an intentional warning against accidental bulk operations on the entire catalogue
Language selection for translatable fields
In bulk-edit, a language dropdown appears for translatable fields as soon as a value is entered. The value is set in the default language and additionally written to every selected language - one action, multiple languages simultaneously.
Fields with language selection
- SEO tab: meta title, meta description, SEO URL
- Custom fields: all custom fields marked as translatable in Shopware
- Shipping tab: packaging unit (singular/plural) - the only translatable shipping field
Fields deliberately without language selection
- Product unit / unit of measure (
unitId): only a reference to a unit (piece, litre, kg). The translation lives on the unit itself, not on the product - Language-independent fields: price, stock, EAN, weight, manufacturer, active status, dimensions, delivery time - these exist only once per product
Snapshot & revert
Before every bulk operation a snapshot of the previous state is saved automatically. Snapshots are kept for 30 days, viewable under PIM → Snapshots.
Revert options
- Full operation revert - all products back to previous state
- Per-product revert - only single products
- Diff view - before/after per field per product
Live preview before saving
Before confirmation, a table shows per product: current value, new value, diff marker for text fields and notes for non-editable fields.
Scope: selection or preset
- From current selection - selected listing rows
- From preset - all filter-matching products
- With/without variants
- Variants only with filter restriction
Validation modal with scroll-to-section
Save with empty required fields: a modal opens listing all errors. Clicking an error jumps directly to the relevant section - it expands, the field is briefly highlighted with an indigo outline.
Limits
- No hard maximum - tested with 10,000 products in one operation
- Snapshot retention: 30 days, then automatically deleted
- Editable fields are controlled by the config matrix
Assignment - fix missing property translations on the spot
If a property option is missing in a language, Shopware shows the name from another language through the fallback chain. In the assignment this looks like mixed languages, without the cause being visible. The assignment tab makes it visible and fixable right there.
- Marking: Options without a translation are highlighted and labelled "no translation"; a summary with the count sits at the top.
- Translation dialog: The pencil icon on each option lets you enter the translated name directly - without leaving the Shopware property catalogue. Several languages can be maintained at once, each with its own text field and the associated sales channels for orientation.
- Sales channels are the benchmark: The check runs against the languages of the channels the affected products are actually assigned to - not the admin language, and not all channels of the shop. A sales channel filter takes precedence.
- "Also assign to the master product": The checkbox additionally writes the selected options to the parent product of the affected variants, and removes them there in removal mode. Can be preset permanently via a configuration option.
Clear fields - now including custom fields
Besides master data, SEO and link fields, the custom fields of the products can be cleared selectively as well. As custom fields are translatable, the existing language selection applies here too; the values are included in the snapshot before clearing and can be restored. Deliberately without a select-all switch - a shop quickly has dozens of custom fields, and clearing all of them by accident would be far too sweeping.
Copy from default language
In the AI & texts section, the function "Copy from default language" transfers name, description, meta title, meta description and keywords from the default language into the selected target languages. Intended for sales channels with their own language that have no own texts yet: copy first, then maintain in detail or rewrite with AI. By default only empty fields are filled; overwriting can be enabled optionally.
What's next
Continue to the Variant generator to create variants from properties automatically.