Get in touch
  • OpenCart
  • Import and export
  • v1.0.1

Supplier Price List Import for OpenCart 2.3, 3 and 4

Update OpenCart prices and stock from a supplier price list: XLSX, CSV, XML/YML, file or URL, tiered markup, a "before → after" plan, rollback and scheduled runs. 2.3, 3.x, 4.x.

Download Free
Pro · lifetime licence The more sites, the less each one costs
Compatibility
OpenCart 2.3.0.x, 3.0.2 – 3.0.5.0 and 4.0.2 – 4.1.x
Version
v1.0.1 (OpenCart 4)
v1.0.1 (OpenCart 3.x)
v1.0.1 (OpenCart 2.3)
Licence
two sites, lifetime
Trial
7 days, no card, one per site
Updated
26.10.2026
Or all 173 Pro modules with All Access — 4 990 ₴ / year

The module in action — 43 sec

Clear even without sound: Ukrainian subtitles

What Free has,
and what Pro adds

The free version works with no time limit. Pro adds the rest of the features in the table.

Feature Free Pro
Price list in XLSX, CSV (UTF-8 and windows-1251), XML and YML ✔ ✔
Upload as a file or fetch automatically by URL ✔ ✔
Automatic column detection from the price list header ✔ ✔
Product matching by SKU, model or barcode ✔ ✔
Tiered markup from the supplier price plus a fixed amount ✔ ✔
Price list currency with the shop's rate or your own ✔ ✔
Rounding to the hryvnia, to a ten, or …,99 / …,95 / …,50 ✔ ✔
Text stock values: "in stock", "on order", "none" ✔ ✔
Protection from suspicious price changes (percentage limit) ✔ ✔
A "before → after" plan before writing to the catalogue ✔ ✔
Batch processing — files with tens of thousands of rows ✔ ✔
Products missing from the price list: zero out or disable within a manufacturer or category ✔ ✔
Log of every change and one-click rollback of any run ✔ ✔
Multiple suppliers with their own rules — ✔
Automatic scheduled updates via cron — ✔

What it looks like

Automatic detection of price list columns: SKU, price, stock
Price list columns are detected automatically, with the first rows of the file shown alongside
Import plan with a 'before → after' table before writing to the catalogue
Import plan: how many rows were found, which prices and stock levels will change

Key points

Any supplier file

The module reads XLSX (ordinary Excel, no need to re-save as CSV), CSV in UTF-8 or windows-1251 with any delimiter, and also XML and YML — the format Rozetka, Prom and most Ukrainian distributors use for price feeds.

Columns are detected on their own

The module reads the file’s header and finds the SKU, price and stock columns itself: it recognises “Артикул”, “Код товара”, “Цена закупочная”, “Наличие”, “vendorCode”, “stock_quantity” and dozens of other spellings.

Plan first, then write

The module never writes to the catalogue immediately.

The trial starts when you ask

A fresh install is the free version, nothing switches on by itself. The “Try Pro for 7 days” button → e-mail → the key right in the window and by e-mail.

One key — two sites

Moving the store? Unbind the licence on the old domain and activate it on the new one yourself. For studios — keys for 5 or 25 sites, or unlimited.

Technical requirements

  • OpenCart 2.3.0.x, 3.0.2 – 3.0.5.0 or 4.0.2 – 4.1.x, PHP 7.0 – 8.3, the zip and xml extensions enabled, cURL for downloading a price list by URL. Installation is standard: Admin → Extensions → Installer → Upload, then activation in the list of modules.

Version history

v1.0.1 Current 26.10.2026

A purchased licence keeps Pro for good.

v1.0.0

Import of price lists in any supplier format, automatic column detection, price calculation rules, a preview plan of changes, handling of products outside the price list, log and rollback…

Frequently bought with Supplier Price List Import for OpenCart 2.3, 3 and 4

4 modules in one order — 40% cheaper than separately

“Store starter” bundle Supplier Price List Import Nova Poshta Premium LiqPay Telegram notifications and Viber/SMS for customers Need more — all 173 modules in All Access for 4 990 ₴.
4 090 ₴ lifetime instead of 6 760 UAH bought separately
Buy the bundle →

Full module description

Supplier Price List Import updates prices and stock in OpenCart from a file sent by the supplier — Excel, CSV or XML/YML, from your computer or by URL. There are three builds: for OpenCart 4.0.2 – 4.1.x, 3.0.2 – 3.0.5.0 and 2.3.0.x; the functionality is identical, only the package differs. The code is open, ionCube isn’t required, and no core files are changed.

Any supplier file

The module reads XLSX (ordinary Excel, no need to re-save as CSV), CSV in UTF-8 or windows-1251 with any delimiter, and also XML and YML — the format Rozetka, Prom and most Ukrainian distributors use for price feeds. The delimiter, encoding and format are detected automatically; the Excel sheet, the number of header rows, and the product tag in XML can be set manually if needed.

A price list can be uploaded as a file or given as a URL — the module then fetches it from the supplier’s site itself on every run.

Columns are detected on their own

The module reads the file’s header and finds the SKU, price and stock columns itself: it recognises “Артикул”, “Код товара”, “Цена закупочная”, “Наличие”, “vendorCode”, “stock_quantity” and dozens of other spellings. Any mapping can be overridden manually — the first rows of the file are shown alongside so you can see exactly what will land in the shop.

A product is matched by SKU (or MPN or model), separately by model, or by barcode (EAN, UPC, JAN, ISBN) — whichever field is actually filled in in your catalogue.

Plan first, then write

The module never writes to the catalogue immediately. First it reads the file, matches it against products, and shows a full plan: how many rows were read, how many were found in the catalogue, which prices and stock levels will change — a “before → after” table for each product. Rows with unknown codes, suspicious changes, errors, and rows with no change are shown separately.

Only after your confirmation is the plan applied — in batches, so 40,000 rows don’t depend on whether a single request survives the server timeout.

Log and rollback

Every run is stored: when, from which file, how many rows were read and how many products were updated. All changes are recorded field by field — old and new price, old and new stock — so any run can be rolled back with one click to the values it had before. This isn’t “restore a database backup” — it’s an exact rollback of precisely the products the import touched.

Automatic updates on a schedule

A supplier profile with a price-list URL can be put on a schedule — hourly, every 6 hours, daily or weekly. The module fetches the file itself, calculates prices by your rules and updates the catalogue; the result of each run stays in history with the same rollback available. The run happens at a cron URL with a secret token, so no one else can trigger the import.

Why a shop needs this

A supplier’s price list is almost always someone else’s Excel file with arbitrary columns, arriving once a week and slightly different each time. Reconciling such a file with the catalogue by hand takes hours and ends up with pricing mistakes.

The module takes over this work: it recognises the columns itself, calculates prices by your rules, and shows a plan of changes before anything is written.

How to install

1. Upload the archive via “Extensions → Installer” and install the module.

2. Upload one price list and check that the columns were detected correctly.

3. Set the price rules and behaviour for products outside the price list.

4. Look over the plan of changes, and only then trigger the write.

Questions
about the module

Didn't find the answer? Message us on Telegram and we'll reply within a business day.

@catcode_support Setup, compatibility, activation
Do I need to convert Excel to CSV?

No. The module reads .xlsx directly, including formulas (it takes the calculated value) and multiple sheets.

The supplier sends the price list in windows-1251 — will it come out garbled?

No, the encoding is detected automatically, and can be set manually if needed.

What happens if there's a mistake in the price list and prices are 100 times too low?

Turn on the percentage change limit — such rows won't be written, they'll land in the "Suspicious change" list for review.

Can an import be rolled back?

Yes. Every run stores the old and new values for each field; a rollback restores exactly the products that import touched.

Does the module create new products?

No, it updates prices and stock for existing ones. This is a deliberate choice: creating product cards without descriptions and images damages the catalogue and SEO.

Can the price list update automatically every day?

Yes, in Pro: give it the price list URL and a schedule, and the module fetches the file and updates the catalogue on its own.

Does one licence cover both 3.x and 4.x?

Yes, the licence includes builds for 2.3, 3.x and 4.x — moving the shop to a different version costs nothing extra.

Not quite what you are looking for?

We build custom modules for WordPress, WooCommerce, OpenCart and Shopify. Tell us about the task and we'll prepare an estimate.

Order a custom module