Product listing in PIM for Shopware: guide
The product listing in PIM for Shopware shows your entire product catalogue - with configurable columns, powerful filters, inline editing and a quickview modal for quick maintenance of variants.
Structure of the product listing in Shopware
The listing consists of these areas:
- Filters - quick filters, category tree, sales channel and freely defined custom filters
- Column header - sorting by clicking a column
- Rows - one row per product, variants can be expanded below
- Actions - bulk edit, CSV import/export, feed generator and categories
- Pagination - 10, 25, 50 or 100 rows per page
Filters with AND / OR
A custom filter consists of field, operator and value. You can create as many filters as you like and temporarily deactivate individual ones without deleting them.
Operators per field type
- Text (8): contains, does not contain, is exactly, is not, starts with, ends with, is empty, is not empty
- Number (8): =, ≠, >, <, ≥, ≤, is empty, is not empty
- Yes/no (2): is active, is inactive
Filterable fields: product number, name, description, meta description, meta title, search keywords, EAN/GTIN, manufacturer number (MPN), pack unit, stock, available stock, price, weight, width, height, length, number of variants, status (active) and top seller flag.
AND / OR linking
For the filter set you choose one mode: AND - products must match all active filters - or OR - products must match at least one. Nested bracket groups do not exist. Examples:
- AND: stock < 5 and status is active
- OR: description is empty or meta title is empty
Variant-aware
Filters also search the variants. If only a variant matches, PIM brings its main product into the list (see How the filters interact).
Configure columns
You set the visible columns centrally in the config matrix: General tab → "Visible columns in the product list". The setting applies to all users.
- Show and hide: one switch per column; product number and name are always visible
- Order: with the "Move up" and "Move down" buttons
- Sorting: in the list by clicking the column header
Custom columns
"Add custom column" in the same column configuration creates a column with its own name and source field - a master data field (release date, stock, dimensions, date fields, …) or any custom field. The source selection is a searchable dropdown with groups (master data / custom fields). Optionally sortable; for custom fields this depends on the field type. Values are formatted automatically (dates, yes/no for booleans). New columns can be positioned, removed and are saved in the configuration.
Filter presets
Save frequent filter combinations as a preset and load them with one click:
- For all users: presets are stored in the shop database and are available to every user; there is no separation per user
- Quick filter: a preset can appear as a quick filter directly above the list
- Reuse: presets serve as the source for bulk edit, feeds and the product assignment of categories
With "Keep filters persistent" (config matrix → General) active filters are kept for the next visit, optionally including the search term.
Inline editing
Editable directly in the listing row - also for variants:
- Stock - number field
- Price - gross input, the net value is calculated from the tax rate
- EAN and manufacturer number - text fields
- Weight - number field in kg
- Active status - switch
The value is saved immediately when you leave the field, and a message confirms it. Inherited values of a variant are highlighted. Switching products active or inactive can be locked for regular users with the "Set active/inactive" function switch.
Quickview modal
Clicking a variant in the listing opens a compact modal with its master data - without switching to the full detail view. Ideal for serial maintenance of variants. Holding Ctrl or ⌘ opens the product in a new tab.
Modal sections
- Basic data: product number, name, EAN/GTIN, MPN, active/inactive
- Prices: gross and net, purchase price, pseudo price, lowest price 30 days (Omnibus)
- Description
- Availability & dimensions: stock, restock time, clearance sale, free shipping, delivery time, selling and base price units, minimum and maximum purchase, purchase steps, weight and dimensions, release date
- SEO: meta title, meta description, search keywords
Which fields appear is set in the config matrix in the Variants tab under "Quickview fields (variant editing in the listing)".
Variant display
Variant products appear as a parent row with a variant count badge. Click the plus icon to expand variants inline - lazy-loading: variants load only when expanded.
Category filter
Besides the freely combinable conditions there is a dedicated filter based on the category tree. It renders the catalogue at any depth - five, six or more levels can be expanded and selected.
Ticking a category selects everything below it as well, and clearing it removes them again. That is the part that matters in practice, because products usually sit on the lowest level - selecting the parent category alone would have found nothing.
How the filters interact
All filters work together and narrow the result set - sales channel, categories, completeness, custom conditions, product groups, price range, images, description, visibility, properties and delivery time.
When a custom filter is set, the plugin additionally searches the variants and pulls their parent products into the list, so a match is not missed when only one variant fits. The selected sales channel is taken into account there as well.
Negating conditions such as "does not contain" or "is not" deliberately apply to the parent product only. Otherwise a single matching variant would be enough to pull in an article that actually contradicts the filter.
window.stawPimLastCriteria. With several filters set at once, this shows which conditions really arrive.Image filters: main product or variants
There are two separate filters for cover images. "Cover image (main product)" checks the image of the parent product, "Cover image (variants)" checks whether the variants have their own image.
The second filter finds parent products with at least one variant lacking its own cover image; the affected variants appear below. Product listing, saved presets and CSV export return the same result.
Missing text per language
This filter shows articles where text is missing in a particular language. Selectable are name, description, meta title, meta description and keywords; an article counts as soon as one of the chosen fields is empty. The dialog breaks the hits down per field.
Inheritance between languages counts as present - German (Switzerland) inherits from German. There is deliberately no fallback to the system language: text that only exists there counts as missing.
Variants dropping out of the channel
As soon as a variant has visibility rows of its own, they replace those of the parent product entirely. If the sales channel is missing there, the variant cannot be found in the shop - and nothing on the variant itself shows it.
The filter "variant in sales channel" reveals exactly these cases, either "variant missing in the selected channel" or "variant less visible than the article". The gap is closed with "transfer visibility to variants", individually in the master data or for many articles in bulk edit.
Filters apply to variants too
Around twenty further filters now also apply to variant rows: status, stock, price and price status, weight, EAN, images and cover image, manufacturer, tax rate, clearance, free shipping, top seller, delivery time and the article number list. Inherited values count along - a variant without its own price carries the one from the parent product.
Performance for large catalogues
For 1000+ products the browser only renders visible rows via content-visibility: auto. Smoother scrolling without visible UI change. Plus:
- Row count: 10 / 25 / 50 / 100 (default set in the config matrix under General)
- Scroll-to-top button, can be switched off in the config matrix
- Variants load leaner: When expanding, only the fields the list actually shows are loaded, along with preview image and variant options. Custom columns are still taken into account.
- Completeness comes from the server - following the same rule as the completeness filter. Description and meta texts of every variant no longer need to be loaded.
- Load timings: After loading, the times per phase are available in the browser console under
window.stawPimLastLoadTimings.
Checking translations - filter and completeness
- Filter "translation missing" with the variants name missing, description missing and both missing. Hits are resolved server-side against exactly the selected language and limited to master products; empty texts count as missing. Without an explicit language selection the active language applies.
- The filter chip names the language - for example "Translation: name missing (Alpendampf DE)". That makes clear at a glance what the result refers to.
- Language inheritance is taken into account: If a text only exists on the parent language it still applies in the storefront - filter and completeness therefore check the whole language chain. Products without any translation in the chain are still found reliably.
- Completeness follows the sales channel: Translatable fields are calculated against the language of the selected channel; without a channel selection against the system language.
- RRP status ("RRP missing", "RRP lower than gross") is resolved server-side across the entire catalogue, so hit count, paging and result match.
What's next
Continue with Bulk-edit, the core of the plugin - maintain many products in one step.
Frequently asked questions
How many filter conditions are possible?
As many as you like. Per filter set you combine them either with AND or with OR. Text fields offer 8 operators, number fields 8 and yes/no fields 2.
Are variants considered when filtering?
Yes. The search checks fields of parent products and variants and also finds parents whose variants match.
Can I change values directly in the list?
Yes. Stock, price, EAN, manufacturer number and weight can be edited directly in the row, also for variants.
Does the list stay fast with many products?
Yes. The browser only renders the visible area, variants are loaded only when expanded, and the page size can be set from 10 to 100 rows.