Bulk Edit Products in PrestaShop 8 & 9: documentation
Install and use the bulk editor: grid, keyboard shortcuts, batch actions, discounts, CSV export and import, history and undo.
Overview
The module shows your catalog in an editable spreadsheet-style grid inside the PrestaShop 8 or 9 back office. You edit products or combinations with the keyboard, apply batch actions to hundreds of products, export and re-import a CSV file, and every saved change can be undone from the history.
Installation
- In Modules > Module Manager, click Upload a module and select
dfbulkeditor-1.0.0.zip. - Installation creates the Catalog > Bulk editor tab and the two history tables.
- The module Configure button opens the settings and a direct link to the editor.
Settings
- Rows per page (default): 50, 100, 250 or 500. Each employee can change it in the grid.
- Items per batch request: 10 to 500, 50 by default. Batch actions are sent in several requests of this size. Lower it if your server cuts long requests.
- Keep history for (days): 180 by default. Older changesets are deleted automatically once a day and can no longer be undone.
Access rights
Rights are set in Advanced Parameters > Team > Permissions, on the Bulk editor tab. The View right lets an employee browse the grid and the history and export CSV files. The Edit right is required to save, run a batch action, import a file or undo a changeset. Without it, the grid is read-only.
The grid
Products and Combinations views
The switch at the top left toggles between products and combinations. The Combinations view lists each combination with its product, attributes, price impact and final price tax excl. and incl. Combinations of the same product are grouped, and the product name is only repeated in grey.
Language, search and filters
The language list selects the language of the text fields shown and edited (name, meta title, meta description, friendly URL, availability labels). Search covers name, reference, EAN and ID. The Filters button opens the criteria: category with or without subcategories, brand, status, stock range, price range tax excl., missing data (EAN, reference, purchase price, meta title, meta description, image) and products with or without combinations.
Columns
The Columns button shows or hides each column. Drag the right edge of a header to change its width, double-click it to go back to the default width. These choices are stored in your browser, separately for each view. Clicking a sortable header sorts the grid.
Editing cells
Keyboard and mouse
- Arrows, Tab, Enter: move between cells.
- Typing, F2 or double click: edit the active cell. Enter confirms and moves down, Tab confirms and moves right, Esc cancels.
- Shift + click or Shift + arrows: select a range.
- Ctrl + C / Ctrl + V: copy and paste, also from and to Excel or Google Sheets. A single value pasted on a range fills the whole range.
- Ctrl + D: fill down the first value of the range.
- Delete: empty the selected text cells.
- Space: toggle a yes/no cell (status, available for order, etc.).
- Ctrl + Z: cancel the last unsaved edit.
- Ctrl + S: save.
Name, meta title and meta description are edited in a wider box with a character counter: 60 recommended for the meta title and 160 for the meta description.
Special cases
- Price tax incl.: the value entered is converted to the price tax excl. using the product tax rule.
- Categories and main category: these cells open a tree picker with search. If the main category is removed, the first remaining category replaces it.
- Stock of a product with combinations: locked in the Products view, it is edited in the Combinations view.
- EAN-13: 13 digits maximum, a warning flags a wrong check digit.
Saving
Edited cells are highlighted in amber and the Save button shows how many there are. Saving runs in chunks. A value refused by PrestaShop stays red: hover the cell to read the reason. If you change view, page or filter with pending changes, the module offers to save them first, discard them or cancel.
Batch actions
Scope and preview
The Batch actions button applies to the ticked rows or to every filtered result, up to 100,000 items. To select every result, tick the header box, then click “Select all N results”. The Preview button shows before and after for the first 20 items, plus skipped items and why. The action then runs in chunks with a progress bar.
Prices
Price to change: price tax incl., price tax excl. or purchase price for products; final price tax incl., final price tax excl., impact tax excl. or purchase price for combinations. Operations: increase or decrease by %, increase or decrease by an amount, set to a value, or purchase price multiplied by a coefficient. Rounding: 2 decimals, nearest 0.05 or 0.10, whole number, ending in .99, .95 or .90. For a product with combinations, the base price changes and the impacts stay the same.
Stock, status, brand and tax
Stock can be set, increased or decreased (products with combinations are skipped in the Products view). Status enables or disables. The brand can be set or removed. Changing the tax rule can keep prices tax incl. by recalculating the price tax excl.
Categories
Add to categories, remove from categories, replace all categories (tick the main category in the picker) or change the main category.
Names and SEO texts
Fields: meta title, meta description, name or friendly URL. Operations: fill from a template, add at the beginning, add at the end, find and replace. Placeholders are inserted with one click: {name}, {reference}, {ean13}, {manufacturer}, {category}, {price}, {shop}, {id}. Example: {name} | {shop} with “Only when the field is empty”. The action targets the language selected in the grid or all languages. Friendly URLs are cleaned and texts that are too long are cut.
Set another field
Visibility, condition, available for order, show price, online only, on sale flag, minimum quantity, low stock alert, additional shipping cost, weight, width, height, depth and availability labels. In the Combinations view: minimum quantity, low stock alert and weight impact.
Discounts
Add a discount creates a catalog specific price: percentage or amount (tax incl. by default, or tick “Amount tax excluded”), optional start and end dates, customer group and minimum quantity. A discount with exactly the same conditions is not created twice. Remove all discounts deletes the catalog specific prices of the items, without touching cart rules or catalog price rules. In the Combinations view, the discount targets each combination. The “Discounts” column shows the number of running or scheduled discounts.
CSV export and import
Export
The download button exports the selected rows or every filtered result, with every editable field of the view. Two formats: semicolon and decimal comma for Excel in most European languages, or comma and decimal point for Excel in English and Google Sheets. Headers are field codes (key, price, quantity…). Categories are listed as IDs separated by |.
Re-import
- Stay in the same view as the export (Products or Combinations) and choose the language of the text fields.
- Click the import button and drop the file. The separator is detected automatically.
- Choose how items are found: key (the
keycolumn of the export), ID, reference or EAN-13. A reference shared by several products is reported and skipped. - Click Preview to see the changes of the first 20 rows, then Import.
Empty cells are ignored and only values that differ from the current ones are written. For prices, a change of the price tax excl. takes priority over the price tax incl. Yes/no fields accept 1/0, yes/no and their equivalents in the module languages. Each import appears in the history and can be undone like a batch action.
History and undo
The History tab lists every grid save, batch action, import and undo, with the date, the employee and the number of products and values. Details shows each value before and after. Undo restores the previous values of the changeset. By default, a value changed again after the changeset is kept and reported. Tick “Overwrite later modifications” in the confirmation to restore it anyway. An undo can itself be undone.
Multistore
The grid shows and edits the selected shop only. From the “All shops” or a group context, a warning tells you which shop is shown. Pick another shop in the multistore menu to edit it.
Troubleshooting
- A batch action stops halfway: lower “Items per batch request” in the configuration. Items already processed stay in the history and can be undone.
- A cell stays red after saving: PrestaShop refused the value. Hover the cell to read the reason, fix it and save again.
- The imported file shows odd characters: save it as “CSV UTF-8” from Excel.
- A renamed product cannot be found in the shop search: the module reindexes active products that are visible in search. Check the product visibility.