← All modules
Documentation Blog Sign in to your licenses Contact
codingrow.com — Human thought, digital logic. Multi-supplier catalog import for Magento 2

Massive Multifeed Import&Sync (MMIS)

Import and keep in sync huge supplier catalogs — products, prices, stock, images — from any feed, on a schedule, without touching your hand-made products. Built for catalogs with tens or hundreds of thousands of items.

€499.00 + VAT
Indicative total, incl. Italian VAT: €608.78 — the exact amount is calculated at checkout and is waived for EU business buyers with a valid VAT number (reverse charge).
one-time payment · one domain · perpetual license, 1 year of updates & support (renew at −35%)

✓ License active immediately after payment, sent by email

✓ Instant installation via Composer

✓ First domain change included and instant (handy for staging → production)

✓ Compatible with Magento 2.4.x (tested on 2.4.9) and with the Hyvä theme

What it does

Fully translated admin, in 7 languages

The whole admin interface — every label, tooltip and guide — is available in:

English Italiano Español Français Deutsch Português Nederlands

Magento automatically shows the module in whichever language each admin user has configured — no setup needed.

Built for real catalog sizes

These are real measurements from a production deployment, not lab estimates — a live store syncing a genuine large supplier catalog (hundreds of thousands of SKUs, hundreds of thousands of images) on ordinary, non-exotic server hardware.

TestVolumeResult
Full catalog sync (products, prices, stock, categories)339,707 feed rows2m 01s, 0 errors
Stock & price-only sync340,467 feed rows7.2s, 0 errors
Direct-write throughput (SQL strategy, batched)500 products/batch~600 products/second
Parallel image downloads vs sequentialsame image set3.9x faster
Catalog scale handled in productionup to 708,000 imagescompressed & queued without blocking catalog sync

Test server: 12-core Intel Xeon E5-2690 @ 2.90GHz, 10GB RAM, PHP 8.5, with the database on a separate dedicated server — a standard mid-range setup, not high-end hardware. The 600 products/second figure compares to roughly 1 product/second with Magento's native import mechanism on the same data.

Two problems you only meet once the shop is running

Neither of these appears while you are configuring an import. They appear weeks later, with real orders and real customers, and by then the catalogue is in production. We build these modules from behind the counter, so they are handled — with a switch, and with the trade-off stated up front.

The order you cannot ship

You sold two pieces on Monday. You have them, boxed, on the bench. On Wednesday you go to create the shipment and Magento refuses: the product is not available. Nothing is wrong with your stock — overnight the supplier ran out, the sync did its job and set the quantity to zero.

WhenWhat happens
Monday, 10:14Customer orders 2 pieces. Stock goes 5 → 3.
Tuesday, 02:30Supplier feed says 0. Sync writes quantity 0 and marks the item out of stock.
Wednesday, 09:00You create the shipment. Magento blocks it: the product is unavailable.
MeasuredOn a live catalogue, 45 of the 700 out-of-stock items had orders still to ship.

With “Keep items with orders still to ship available” the quantity still drops to zero — that figure is true and stays true — but the stock row is not marked out of stock while an order is waiting to be shipped. You ship. Nobody else can buy it, because the quantity really is zero.

The usual workaround found in forums — turning off stock management on that product — makes it sellable forever, including when it really is finished, and nobody remembers to turn it back on. This switch does not do that. It gets sharper the more often you sync: updating stock every half hour means meeting this case 48 times more often than updating it once a night.

Your photo, somewhere else every morning

You photographed the product better than the supplier did, or added the shot with the measurements — the one that stops the phone calls. You put it last. Next morning it is in the middle. The morning after, somewhere else again. The feed numbers its own images 1 to N without knowing one of those slots is yours: two images end up claiming the same position, and which one wins is decided by an internal id.

GalleryBeforeWith the switch on
1Feed photo 1Feed photo 1
2your photo (or feed photo 2 — it changes)Feed photo 2
3Feed photo 3Feed photo 3
4Feed photo 4Feed photo 4
5Feed photo 5Feed photo 5
6—your photo, every night

With “Keep images you added by hand” your photo is placed after the ones from the feed and stays there. An article with 5 feed photos plus yours: yours is number 6, tonight and every night. Turn the switch off instead and the gallery mirrors the feed exactly — images that are not in the feed are detached from the product, while the file itself is kept, because it may belong to another product too.

One thing said up front, rather than discovered later: if the article disappears from the feed and the module deletes it, your photo goes with it. It is the same product page — there is no way to delete the product and keep one of its images attached. If you want to keep it, download it first, or turn off automatic deletion of articles that left the feed.

Documentation

Full installation steps and a complete field-by-field user guide (mapping, formulas, configurable and grouped products, categories, images, scheduling, CLI) live on their own reference page:

→ Read the full documentation

Money-back guarantee

Not satisfied within 30 days of purchase? Request a refund yourself from your account area (codingrow.com/login), no questions asked. The refund is processed instantly, automatically, and the license is deactivated upon confirmation.

Changelog

Current version: v3.21.0

v3.21.0Maintenance
Two products with the same URL no longer steal each other’s page: the one already using it keeps it, the other gets its SKU appended.
v3.20.1Maintenance
Configurable product variants show again on Luma-based themes even when their values are new. A catalogue sync is all it takes.
v3.20.0New
  • The image file name built from the feed now works for variant parent products too.
  • A warning in the log and in the preview when the file name finds no data: the import carries on.
  • A repair command for products that were showing another item's photo.
  • Important fix: every parent product shows its own photo again, the same across the whole store.
v3.19.1Maintenance
Catalogue import no longer stops when two products generate the same web address. Anyone who was blocked can run the synchronisation again.
v3.19.0New
  • In roles, the Import Profiles checkbox: profiles for a collaborator, without Configuration.
  • Whoever already opened the module keeps access after the update.
  • The Global settings button appears only to those who can open it.
v3.18.0New
  • Items at zero stay purchasable if you chose to sell them: no more carts that refuse the order.
  • A command lists the ones the cart would refuse, and puts them right.
  • If any turns up after a sync, the summary email says so.
  • New field: the feed column that declares availability, if your supplier sends one.
Important fix: availability is decided in one place, and a parent no longer takes it from the supplier.
v3.17.1Maintenance
The page of a product with variants no longer offers another item's options. Catalogues already hit are put right by a forced import.
v3.17.0New
  • An item stays shippable while an order is waiting, even if the stock has dropped to zero.
  • The photo you added sits after the supplier's and stays there.
  • Both have a switch, on by default.
v3.16.1Maintenance
The count of failed images and the count of images actually missing are now two separate numbers.
v3.16.0New
  • New button to requeue the failed images.
  • Before pressing it you see the causes grouped by frequency, and can retry just one.
  • All six languages of the module now cover the whole admin.
v3.15.2Maintenance
Maintenance: a flawless image run could send an email announcing errors, and the notification choices did not behave as selected. Fixed.
v3.15.1Maintenance
On catalogues with variants the attributes you configured reach the parent product, and images shared by several products no longer interfere.
v3.15.0New
  • You decide how a product's address is built and how the image files are named.
  • You also decide where the category tree starts.
  • The defaults match the old behaviour exactly: updating changes nothing.
  • The preview shows address, path and file names before you save.
v3.14.2Maintenance
Maintenance: large catalogues no longer risk interrupting the import for lack of memory.
v3.14.1Maintenance
A product that comes back in the feed goes back on sale by itself. Catalogues imported with 3.14.0 recover those products with a forced sync.
v3.14.0New
  • Feed changes are applied field by field: only what really changed gets rewritten.
  • If only the stock moves, the product address stays and so do the texts.
  • No images requeued because of a stock movement.
  • The update asks nothing of you.
v3.13.0Maintenance
Maintenance: deleting all downloaded images now frees all the space it promised.
v3.12.0New
  • You get back the space of resized copies of images no longer linked to any product.
  • Removed copies regenerate by themselves on the first visit that asks for them.
  • Completed queue entries are cleared after a period you choose.
  • Disk space running out is flagged earlier.
v3.11.1New
  • The image queue says why an image was not downloaded, instead of one message for everything.
  • It tells an image the supplier removed from a supplier that was not reached.
v3.10.2Maintenance
Maintenance: products that had disappeared from the feed were not deleted even with the option enabled. Now they are.
v3.10.0Maintenance
An updated image no longer lands in the wrong position when only some of the photos change. Products already hit are put right by support.
v3.9.0New
  • Allowed categories can be picked at any level of the feed tree, not just the first.
  • Pick a deep branch or a single leaf to import only that.
  • It is only a filter on what comes in: the shop's category tree does not change.
v3.8.0New
  • Mapping formulas now have three roundings: up, down and to the nearest.
  • It is how a selling price ends on the next whole unit instead of 23.40.
v3.4.0Maintenance
Maintenance: further alignment between category redirects and the sitemap.
v3.3.9Maintenance
Maintenance: product addresses now follow Magento's own Catalog SEO setting for category paths.
v3.3.8New
  • It accepts the subscription key: one subscription activates this module along with the others.
  • Single-module licences keep working exactly as before.
v3.3.7New
  • The Strip HTML tags transform is now available on every text field of the feed.
  • Handy when the supplier sends descriptions already laid out.
v3.3.6New
  • New Strip HTML tags transform on mapping rows.
  • It takes the formatting out of a supplier column's value.
v3.3.5Maintenance
Maintenance: installing the module for the first time on a brand-new store could fail. Fixed.
v3.3.4Maintenance
Maintenance: products whose feed left the thumbnail column empty no longer appear without an image on category and listing pages.
v3.3.3Maintenance
The count of updated rows now counts only real changes, and syncs with few changes are faster.
v3.3.2Maintenance
Maintenance: the sync log messages now appear in the language of the administrator reading them.
v3.3.1Maintenance
Maintenance: the image queue history now shows the figures of each individual run instead of a running total.
v3.3.0Maintenance
The image queue is much faster on large catalogues, and the estimated time left can be trusted.
v3.2.6New
  • The wait before downloading a supplier's feed again is now a setting.
  • It keeps repeated tests from eating a supplier's daily download allowance.
v3.2.5Maintenance
Maintenance: a profile with no SKU prefix is now a fully supported choice in every situation.
v3.2.4Maintenance
Maintenance: the image queue messages now appear in the language of the administrator reading them.
v3.2.3Maintenance
Maintenance: the image queue progress message could stay in English on a store in another language. Fixed.
v3.2.2Maintenance
Maintenance: sync messages now follow the language of the store view instead of the server's.
v3.2.0New
  • Image compression is a per-profile choice, no longer one setting for everyone.
  • Each supplier can be compressed differently, or not at all.
v3.1.1New
  • New per-profile option that notifies M2E Pro at the end of a sync.
  • For those who also sync the same products to marketplaces.
v3.0.1Maintenance
Maintenance: some texts still appeared in Italian on stores in other languages. Fixed.
v3.0.0New
  • First public version, under the new name MMIS (Massive Multifeed Import&Sync).
  • Import and sync of several supplier feeds into a single shop.
  • Import Profiles: each supplier/feed is its own independent profile (mapping, schedule, settings), replacing a single shared configuration
  • Grouped products: independent items sold together as a kit
  • Multi-attribute configurable products, verified with several variant attributes changing at once
  • Mapping engine: math formulas, multi-field text replacement before mapping, 7 template functions (ucase/lcase/proper/trim/left/val/replace)
  • Live mapping preview, next to the downloadable output file
  • Three feed sources (URL, Magento file system, FTP) and three formats (CSV/XML/JSON)
  • Automatic category tree creation, plus one-click orphaned-category cleanup
  • Configurable image download queue: shared compression, adjustable concurrency, disk-space watchdog
  • Profile tools: duplicate, export/import (admin and CLI), delete with optional queued rollback
  • Admin fully translated into 7 languages, auto-selected per admin user
  • Per-domain licence, activated on the spot
v2.4.0 – v2.7.0New
  • Internal development phase: the import profiles architecture is born.
  • Feed and category discovery per profile, and a log of its own.
v1.0 – v2.2.1New
  • First internal steps: reading feeds in several formats.
  • First engine matching feed columns to product fields.

Frequently asked questions

Which feed formats does it support?
CSV, XML and JSON feeds plus direct API sources; you map columns to Magento attributes.
Can it create configurable products automatically?
Yes, it groups variants into configurable products and keeps the simple products in sync.
Can imports run on a schedule?
Yes, you can schedule recurring imports so the catalog stays in sync automatically.
New guides, when they go live

One hands-on Magento 2 guide per email, only when we publish one. Nothing else.

Articles are written in English. One click to unsubscribe, in every email. · privacy