Bulk editing
Change many products at once with a clear preview, batched progress and an audit trail.
A price rise arrives from a supplier and four hundred products need putting up by six per cent. A range gets a new prefix. A discontinued line has to come off the shelf without disappearing from last year's quotes. These are the jobs a catalogue actually generates, and doing them one row at a time is how a catalogue stops being maintained.
Choosing what to change
There are two ways to select in the Products tab, and the difference matters at scale.
- Tick the rows you want. Straightforward, and what you want when the set is small and specific.
- Select everything matching the current filter. The facets and the search box become the selection: filter to a category, a supplier prefix or a schema, then act on the whole match set. The count is shown before you commit, so you always know how many rows you are about to touch.
Select-all is not a hidden loop over the visible page. The match set is paged through by key, so the operation runs at constant memory whether it covers forty products or a million.
Available actions
| Action | What it does |
|---|---|
| Set a field value | Writes one value across the selection, to a core field or one of your schema's own attributes. |
| Adjust price | Up or down, by a percentage or a fixed amount in major units. A negative number decreases. Rounding is optional: leave it alone, round to .00, or round to .95. |
| Find and replace | Substring replacement inside a text field, for renaming a range or correcting a supplier's spelling across a whole import. |
| Change category | Recategorises the selection. |
| Change schema | Moves the selection onto a different schema. |
| Change status | Active or archived. |
One action per run. That is deliberate: a single change across a known selection is reviewable, and a compound one is not.
How a run behaves
Changes are applied on the server in batches of 1000 rows, with progress reported as it goes, so a large edit does not depend on your browser staying open and awake. Editing the catalogue needs the engineer role or above.
Every run writes one entry to the audit log recording the action, how many rows it affected, whether the selection was explicit or a whole filter, who ran it and when. If a price rise went further than anybody intended, the record of what happened exists.
Archive rather than delete
Archiving through a bulk status change keeps the product in the catalogue. Its attributes stay, and any quote or order line pointing at it keeps pointing at it. This is almost always what you want for a discontinued line: it stops being offered, and last year's paperwork still makes sense.
Deleting is permanent and is a separate action from archiving. Quote and order lines hold their own frozen snapshot of what was sold, so deleting a product does not corrupt a past quote, but the link from that line back into the catalogue is gone for good. Archive unless you actually mean to erase.