- Patryk Marek
- News
- 0 likes
- 14 views
- 0 comments
The supplier has sent a new price list, but your store is still using the previous prices? Bulk price updates in PrestaShop from a CSV file let you make changes without opening each product separately. Before you run the import, however, determine what the amounts in the file mean and how you will identify the products. An incorrect identifier, a gross price read as net, or the full variant price entered as a surcharge can turn a correct price list into incorrect selling prices.
Below, we go from the supplier’s file to a verified update: column mapping, price calculations, simulation, and result verification. We also show where CSV Price Update Pro for PrestaShop helps and which settings require your decision.
Do you need to install a module to change prices in PrestaShop?
PrestaShop has its own built-in CSV importer, available in the Advanced Parameters → Import section. It allows field mapping and updating data for existing products. It can use the product reference as the key, as described in the official PrestaShop import guide. For a one-time price change, it is worth starting by checking these capabilities in your store version.
A separate module is justified when price lists come back regularly and you need a repeatable procedure: saved supplier settings, markup on purchase cost, limits for acceptable changes, simulation, and history with rollback capability. CSV Price Update Pro focuses these tools around the prices of already existing products and combinations.
How should you prepare the CSV so the price goes to the correct product?
The simplest price list contains an identifier and a price. A sample file for product references may look like this:
reference;price
PROD-001;94.90
PROD-002;139.00
PROD-003;64.90
In this example, the column separator is a semicolon, the first row is the header, and a dot separates the decimal part. In the module, you select the reference as the identifier, assign the second column to the price, and enable header skipping. Save the file in UTF-8. An XLSX sheet must first be exported to CSV.
If the supplier sends more columns, mapping lets you indicate the identifier, selling price, and optionally the purchase cost, while ignoring the remaining fields. There is no need to rearrange columns just so the identifier appears at the beginning. The module can suggest roles based on headers, but the suggestion must be checked and saved.
The key must refer to the same product on both sides. The supplier’s symbol does not automatically become the store reference, and their item number does not have to be the product ID in PrestaShop. Before import, check a few matches, duplicate codes, and identifiers with leading zeros. In the module, you can use, among others, the reference, EAN, or ID appropriate for the selected update mode.
Net, gross, or purchase cost — what does the price list actually contain?
The column name “price” does not define either the tax or the purpose of the amount. The supplier may send a net purchase cost, a gross recommended retail price, or an amount in another currency. These data require different settings.
| Data in the file | What to determine before import |
|---|---|
| Net selling price | Set net mode and check whether you want to copy the price without additional rules. |
| Gross selling price | Select conversion according to the product tax or one specified rate. A fixed rate only makes sense for the appropriate set of products. |
| Purchase cost | Assign the column as cost and set the method for calculating the selling price, e.g. markup. |
| Price in a foreign currency | Convert it before import. The module does not perform exchange rate conversions. |
Calculation example: assuming a 23% VAT rate, an amount of PLN 123 gross corresponds to PLN 100 net. Saving PLN 123 as a net price gives PLN 151.29 gross, before taking any discounts into account. Conversion in the module depends on the selected mode and the tax configuration in the store.
Net/gross mode also applies to how the cost from the file is interpreted. If the supplier mixes a gross retail price with a net purchase cost, the data used for calculations must be standardised. Simply indicating the correct columns does not resolve this difference.
A 30% markup is not a 30% margin
The markup rule in the module calculates the price as purchase cost × (1 + markup percentage). With a net cost of PLN 100 and a markup of 30%, you get PLN 130 net. The difference is PLN 30, but it represents about 23.08% of the selling price. That is the margin calculated against that price.
To achieve a 30% margin with a net cost of PLN 100, the price would have to be about PLN 142.86 net: 100 / (1 - 0,30). This is an example of the difference between the concepts, without taking other selling costs into account. Entering 30 in the markup field will not give the same result.
CSV Price Update Pro lets you base calculations on the price from the file, the cost from the file, or the cost saved in the catalogue. For base products, markup, percentage reduction, exclusion from import, and rounding are available. Rule conditions may concern brand, supplier, default category, or price range. The first matching rule decides — percentages from several rules are not added together.
After setting markup and rounding, check the result in the simulation. Safeguards based on cost require a correct purchase cost; without it, there is no basis for assessing sales profitability.
Combination prices: when does PLN 120 mean a surcharge?
In PrestaShop, a combination affects the price of the base product. If the product costs PLN 100 net and the selected variant is to cost PLN 120 net, its impact is PLN 20. Entering PLN 120 as the impact will give PLN 220 net. The example ignores promotions and other price adjustments. The mechanism is described in the PrestaShop product and combination documentation.
In combination mode, the module imports the price impact itself. It also has a base price reset option, which changes how the price list must be prepared. Before using it, check all variants of the given product, including those not present in the file: the base price is shared. Markup and rounding rules for base products are not applied to combination impacts.
How do you carry out a price update step by step?
- Select the scope. Determine the target store, products or combinations, identifier, currency, and the meaning of the amounts. In multistore, check the specific store before each run.
- Keep a reference point. Export the current price list and enable saving previous prices. Before the first large import, also make a copy of the store database.
- Upload the file and set mapping. Check the separator, header, identifier, and price source. For cost-based rules, also check its availability.
- Set safeguards. The module provides, among others, limits for price increases and decreases, zero-price blocking, and cost-based checks for base products. For example, a 20% decrease limit may catch a suspicious reduction, but adjust it to your own price list.
- Run a simulation. Check prices before and after the change, unmatched items, skipped items, and blocked items. The simulation calculates the result without saving prices in the catalogue.
- Perform the actual import and verify the result. Compare the report with several product pages and the basket, taking variants and active discounts into account. The processed rows counter alone does not confirm that all prices match your intention.
The response to limit violations can be configured either as skipping problematic rows or stopping the run. In stop mode, the module first analyses the file against the safeguards. Choose this option consciously: a partially updated price list may be a correct result in the case of a single error, but not when you require a consistent change across the entire offer.
Can the supplier’s price list be downloaded automatically?
Yes. The module supports downloading the file from an HTTP/HTTPS address and via FTP or SFTP, depending on the settings and server capabilities. Supplier profiles save the settings needed for subsequent imports, including column mapping.
Cyclic downloading and updating is triggered by an external CRON scheduler calling the address provided by the module. Simply saving the price list address does not start regular synchronisation. After configuration, check the last call, import history, and report. The module can also send email summaries; determine who will respond to them.
Profiles do not store supplier passwords. Therefore, with several protected sources, the authentication configuration must be agreed separately. Enable automation only after checking a specific file in simulation and completing a correct manual import.
After import, also check prices outside the store panel
If you use Google Merchant Center, compare the new price in the store with the price in the product data sent to Google. Google requires the price in the data source and on the landing page to match. The check should concern the same variant and currency.
In practice, plan feed generation and retrieval after the price update is completed. The CSV module changes prices in the catalogue, but it does not manage the schedule of a separate Merchant Center integration. This sequence reduces the period in which the store already shows the new price while the external channel is still using the old one.
CSV price update — frequently asked questions
Will the module create products that do not exist in the store?
No. It updates existing products and combinations. An unmatched item must be checked in the report; the module does not create a new product card on that basis.
Can an incorrect update be rolled back?
The module has run rollback in its history. Restoring saved prices requires a preserved copy of their previous values. Make sure price saving is enabled and the limit of stored copies is set appropriately. Before rolling back, check later imports and manual edits, because restoring older values may overwrite them.
Can I update stock levels and descriptions together with prices?
No. This module is used for price updates. The presence of columns with quantity, description, or image in the CSV does not mean that these data will be imported.
Why does the customer see a different amount after import than in the CSV?
Check net/gross mode, pricing rules, base price and combination impact, active discounts, and the customer and currency context. The amount from the file may be the basis for calculations, not the final price visible in the basket.
CSV Price Update Pro is useful when you want to introduce price lists regularly and control the result of every change. Start with correct product matching and one verified simulation. Only then move the same procedure to the schedule.
Comments (0)