Magento 2 migration
@mercentia/magento-migrator reads from the Magento 2 REST API
(/rest/V1/...) and writes the data into Mercentia’s normalised
schema. It targets Magento Open Source and Adobe Commerce 2.4+.
What’s migrated
| Entity | Notes |
|---|---|
| Configurable + simple products | Configurable parents become Mercentia products with variants; simple children become the variants |
| Custom attributes | Mapped to product metafields |
| Categories | Tree imported as collections (parent → child preserved) |
| Customers | With addresses, default billing/shipping, group membership |
| Orders | With line items, refunds, and invoice numbers |
| CMS pages | Imported as Mercentia pages with slug normalised |
| Tax classes | Surfaced as Mercentia tax categories you can map post-import |
Setup
In Magento Admin:
- System → Integrations → Add New Integration. Name it “Mercentia” and select all REST API resources under Catalog, Sales, Customer, and CMS.
- Activate the integration and copy the Access Token.
In Mercentia:
- Open Settings → Migration and pick Magento 2.
- Paste the base URL (e.g.
https://store.example.com) and the access token. - Pick what to import. The default is everything.
- Click Start migration. The run executes in the background; you can close the tab.
Mapping decisions
- Magento “configurable” products map 1:1 to Mercentia products
with
option_typesderived from the configurable attributes. - “Bundle” products are imported as a single Mercentia product with a metafield holding the bundle composition — convert to Mercentia’s native bundle once imported.
- “Grouped” products become a Mercentia collection holding the child products.
Post-import checklist
The dashboard shows a checklist after import:
- Re-map tax classes onto Mercentia’s tax categories.
- Re-publish customer-group pricing as B2B price lists (the migrator imports the prices but leaves them disabled until you assign them to a B2B tier).
- Run Tools → Re-index to rebuild the search index across the imported catalogue.
Idempotency
Each run is keyed by Magento entity id, so re-running the migration is safe — existing rows are upserted, new rows are inserted, missing-on-remote rows are flagged but not deleted locally.