8

PricingBlog
All posts
engineering

How Our Magento PlentyONE Connector Was Born

2026-06-09 · Byte8 Team

Share

Most infrastructure starts as a workaround. Ours started with a UK retailer who had two systems that refused to talk to each other.

It began with one client and one problem

Years ago, before Byte8 existed as a brand, a UK retailer came to Soft Commerce with a familiar headache. Their storefront ran on Magento 1. Their back office — stock, orders, fulfilment, marketplace listings — ran on PlentyMarkets, the ERP later rebranded as PlentyONE. Between the two sat a person, copying numbers by hand.

Every oversell, every "we've actually shipped that already," every stock figure that was right yesterday and wrong by lunchtime traced back to the same gap: the shop and the ERP had no shared source of truth. They didn't need a bigger team. They needed the two systems to agree with each other, automatically.

So we built a Magento extension to do exactly that. Nothing grand at first — pull stock from PlentyMarkets, push orders back, keep the catalogue roughly in step. It was scoped to one merchant's setup, and it worked.

A one-off extension turns into a product

The thing about a problem this common is that it is never solved just once. The moment one Magento + PlentyMarkets store was synced cleanly, others wanted the same thing — and each brought an edge case the last one didn't have:

  • Configurable products with dozens of variations that had to map to PlentyMarkets variation IDs.
  • Multiple warehouses, which meant stock wasn't one number but several.
  • Marketplace orders flowing in from Amazon and eBay through the ERP, needing to land in Magento as real orders.
  • Third-party modules — gift cards, rewards, pre-orders, checkout fields, parcel-shop shipping — that the sync had to respect rather than trample.

What had been a single extension grew into a suite. Under the mage2plenty name, it turned into a maintained product: a set of Magento modules, each owning one entity — products, orders, stock, customers, categories, attributes, prices — with configurable profiles and conflict resolution instead of hard-coded assumptions about one store's data.

From Magento 1 to Magento 2 — and a rebuild

Then the ground moved twice at once. Magento 1 reached end of life and the ecosystem migrated to Magento 2. And PlentyMarkets became PlentyONE, with an evolving REST API.

A connector lives or dies on how well it tracks both platforms, so we rebuilt rather than patched. The Magento 2 generation runs on a streaming v2 pipeline that pulls variations through PlentyONE's PIM scroll API instead of loading an entire catalogue into memory — so imports that used to time out now scale to 100K+ SKU catalogs, item by item, with errors isolated to the row that caused them. Today the suite spans 13 dedicated modules and runs on Magento Open Source, Adobe Commerce on-premises, and Adobe Commerce Cloud.

Becoming the official PlentyONE Magento partner

Building alongside a platform for long enough changes the relationship. We weren't reverse-engineering PlentyONE from the outside any more — we were tracking their API changes as they shipped and feeding real-world Magento integration cases back to them.

That collaboration became formal: Byte8 is now the PlentyONE-appointed developer for their Magento integration. The product carries the heritage of that first mage2plenty extension, now maintained and distributed under the Byte8 brand, with roadmap alignment directly with PlentyONE so the connector tracks their changes as they happen rather than catching up afterwards.

Why native still wins

The lesson from that very first build still holds. There are three ways to connect Magento and PlentyONE:

  • External middleware / iPaaS (e.g. Synesty) — a cloud service that maps fields between the two REST APIs. Fine for simple flows, but it can only ever see what the APIs expose.
  • A custom in-house API integration — full control, but every flow, every edge case, and every API change is now your team's to build and own.
  • A native Magento extension — code that runs inside Magento itself, with access to its internal models and events.

That last approach is the one we backed into on day one, and it is still the reason the connector can do things middleware can't. Extensions like Amasty, Webkul, Swissup, and DHL Packstation expose no REST API surface at all — an external tool literally cannot read or write them. Only in-process Magento code can bridge them, which is why our suite ships dedicated bridges for exactly those modules.

A single merchant's manual-sync problem turned into a product, a platform partnership, and an answer to a question thousands of Magento merchants ask. If you're running Magento and PlentyONE — or still on PlentyMarkets and planning the move — that's the integration we've spent years getting right.

See the Magento PlentyONE Connector →


Enjoyed this? Share it with your team.

Share