Skip to content
Stone & Water
Doc · 03 Bulk-edit

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

  1. Select products in the listing
  2. Click Bulk-edit in the footer toolbar
  3. In the dialog: pick target fields, enter new values (multiple actions combinable)
  4. Live preview shows the result per product
  5. Confirm — operation runs in two phases:
    • Snapshot phase: current values are saved
    • Apply phase: new values are written
  6. 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

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
Info block layout: Product count (products + variants) and active filters appear as a coherent block — comparable to a definition list "term: values".

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
Example: "Set packaging unit" with value "Box of 12" and languages "German + English + French" → writes to all three languages simultaneously. No triple execution required.

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
Caution: Three fields are not snapshot-capable: SEO URL (generated), tier prices → variants, cross-selling → variants.

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