← 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
Free one-time payment · one domain · perpetual license, 1 year of updates & support

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

✓ 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.

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.9.0

v3.9.0

Allowed feed categories can now be selected at any level of the feed tree, not just the top level: pick a deep branch (or a single leaf) — e.g. Furniture › Cabinets & storage — to import only that subtree instead of a whole root category. It only filters which products are imported; the Magento category tree is not changed (products keep their full path).

v3.8.0

Mapping formulas now support integer rounding functions ceil() (up), floor() (down) and round() (nearest): e.g. ceil({B2B price} * 1.30) applies the markup and rounds the final sale price up to the next whole number (23.40 → 24).

v3.4.0

Refinement of the sitemap alignment from 3.3.9: on the 301 category-path redirects the module now writes the same metadata Magento natively assigns to category-context URLs, so the sitemap generator correctly lists only the flat canonical URL instead of the one that 301-redirects. Products imported or updated after the upgrade are already fine; to realign existing rows in one pass on upgraded installations the mmis:fix-redirect-metadata command is available (then regenerate the sitemap).

v3.3.9

Product URLs now honour Magento's Catalog SEO setting 'Use Categories Path for Product URLs'. When it is off (Magento's default), the flat product URL is the only canonical one and the category-path URL is served as a 301 redirect to it, so the sitemap and the canonical tag agree and Google consolidates on a single URL. When it is on, the category-path URL stays active, as native Magento produces it.

v3.3.8

Now accepts the One-for-All subscription license key: a single Codingrow subscription activates this module together with all the others.

v3.3.7

New «Strip HTML tags» mapping transformation: removes HTML tags and decodes entities from the feed's text values, useful when the supplier sends descriptions already formatted in HTML.

v3.3.6

New "Strip HTML tags" transform for mapping rows: removes HTML markup and decodes entities from a source column's value, for text attributes (e.g. a supplier description feed that comes wrapped in <p>/<b> tags). Also available as a template function (striphtml{ColumnName}).

v3.3.5

Fixed an installation bug: setting up the module for the first time on a brand-new store could fail during Magento's setup with a database error, because a required file was missing from the release package.

v3.3.4

Products whose supplier feed left the image column normally used for the storefront thumbnail (Base/Small/Thumbnail) empty — while still having other image columns filled in — no longer end up with no thumbnail on category/listing pages. The module now promotes the first available image automatically (can be turned off per profile).

v3.3.3

The "updated" count in sync results no longer includes rows where price/stock stayed exactly the same as before — only real changes are now counted and written, which also makes syncs with few or no real changes noticeably faster.

v3.3.2

All batch sync log messages (main_sync/offer_sync) now follow the language of the admin who's reading them, instead of the language of the server process that ran the cron.

v3.3.1

The image queue's "Last runs" now reports the count and outcome for that specific run instead of a running total, with an accurate average; fixed two email notification labels that were never translated.

v3.3.0

The image sync queue is dramatically faster on large catalogs (a query rewrite removed a bottleneck that scaled with queue size), batch size now adapts automatically to the real processing rate, and MMIS cron jobs run in their own isolated group so they no longer compete with reindex/email/sitemap crons. The estimated time remaining for a running queue is now based on the actually measured rate instead of a simple linear extrapolation.

v3.2.6

The time the module waits before re-downloading a supplier's feed (to avoid wasting a supplier's daily download quota during repeated tests) is now a configurable setting under Stores > Configuration, instead of a fixed, undocumented 30 minutes — default 15 minutes.

v3.2.5

An empty SKU prefix on a profile is now always a safe, fully supported choice: fixed the one place where it could unintentionally affect another profile's cached files, and removed the safety check that used to block rollback for that reason.

v3.2.4

The image queue's log messages in "Ultime esecuzioni" now display in the language of the admin viewing the page, instead of always the store's default language.

v3.2.3

Fixed a translation edge case that could leave the image queue's progress message in English on non-English stores, and fixed the related time-to-completion estimate to work regardless of the admin's language.

v3.2.2

All sync log messages (progress, errors, email notifications) now follow the store view's language instead of always being in Italian. The estimated image storage size correctly distinguishes profiles with compression disabled, instead of showing a misleading "0% reduction".

v3.2.0

Downloaded image compression is now a per-profile setting (Mapping tab), no longer shared across all profiles — useful when one supplier needs to save disk space and another doesn't.

v3.1.1

New per-profile option (Advanced tab) to notify M2E Pro at the end of a sync, for anyone who also syncs the same products to marketplaces through that extension.

v3.0.1

Language polish: all remaining Italian text (CLI commands, log messages, configuration tooltips, error messages) was translated to English as the base for the other supported languages.

v3.0.0

First public release, renamed to MMIS (Massive Multifeed Import&Sync), with CLI commands under the mmis: prefix. Main changes:

  • 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 license system: offline signature plus a 24h-cached online revocation check
v2.4.0 – v2.7.0

Internal development phase: introduced the Import Profiles architecture, per-profile feed and category discovery, and a dedicated sync log tab.

v1.0 – v2.2.1

Initial internal milestones: multi-format feed reading (CSV/XML/JSON) and the first field-mapping engine.

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.