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?

  1. 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.
  2. 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.
  3. Upload the file and set mapping. Check the separator, header, identifier, and price source. For cost-based rules, also check its availability.
  4. 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.
  5. 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.
  6. 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.

Related products

Data import and export

CSV Stock Update Pro — import quantities into PrestaShop

PrestaDev.pl
PDCQU
zł 79.00 zł 64.23no tax
3 Reviews
CSV Stock Update Pro is a PrestaShop module for bulk updating the stock levels of existing products and their combinations based on a CSV file. It allows you to replace current quantities with values from the file or add them to the current stock. Column mapping makes it possible to use datasets with different data layouts, and the selected identifier...
Import discounts from CSV to PrestaShop – specific prices | PrestaDev Import discounts from CSV to PrestaShop – specific prices | PrestaDev 2
  • -20%
zł 79.20 zł 64.39no tax zł 99.00
2 Reviews
Specific Prices Import from CSV Pro is a PrestaShop module for bulk creating and updating specific prices, i.e. discounts, on existing products and their combinations based on a CSV file. The value from the file can be a net amount, a gross amount, a percentage, or a fixed price — the reading method is selected in the settings. Column mapping allows you...
Updating prices from a CSV file for PrestaShop 1.5.x and 1.6.x Updating prices from a CSV file for PrestaShop 1.5.x and 1.6.x 2
  • -15%
Data import and export

Price Update from CSV File Pro module for PrestaShop

PrestaDev.pl
PDCPU
zł 85.00 zł 69.11no tax zł 100.00
1 Reviews
CSV Price Import Pro is a PrestaShop module for bulk updating the prices of existing products and the price impact of combinations based on CSV files. It allows you to upload a price list manually or download it from a supplier via HTTP, HTTPS, FTP, FTPS or SFTP, depending on the configuration and server capabilities. Column mapping makes it possible to...
See the author's articles
Patryk Marek

Patryk Marek is the owner of PrestaDev.pl and a developer specializing in PrestaShop. He designs and develops modules, integrations with wholesalers, and solutions that automate online sales. On the blog, he shares practical knowledge about creating, maintaining, and optimizing PrestaShop stores.

Comments (0)

No comments at this moment

New comment

You are replying to a comment