A Magento (Adobe Commerce) B2B project with an ERP behind it is decided in the integration layer. The storefront is the cheap half. The expensive half is where contract pricing, salable stock, company credit and order acknowledgments move between Commerce and a system sized for nightly batch jobs. Every agency on this site can build the storefront; the differences are in what each has published about the other half, and that is what to select on.
Ask for five answers in writing
- Which integration layer, and why. Point-to-point, middleware, or out-of-process on Adobe App Builder, with the reason for this merchant
- Which trigger for each object. Prices and stock by event or short-interval push, orders through a queue with idempotency, catalog loads through the async bulk endpoints
- Where contract price is resolved. In the price index per shared catalog, in a PIM, or from the ERP at cart time, with the customer group count the design assumes
- Who owns the connector after go-live. A named owner, a response target, and a regression run before every Commerce and B2B patch
- Which versions the quote assumes. The Commerce 2.4.x version, the B2B extension version, and the PHP version, checked against Adobe's lifecycle table
A proposal that answers all five has designed the integration. One that answers none has priced a storefront and left the connector to be discovered. The scoring on this site weights these same five questions at 20, 15, 12, 12 and 10 points, with a further 20 for a named ERP paired with a named client, because a case a buyer can check beats a promise a buyer must trust.
What a good answer to each looks like
On the integration layer, a good answer names the pattern and the trade-off. Bemeir's NetSuite article on bemeir.com does this in print, setting out direct integration, middleware through named platforms, vendor connectors and a hybrid, and IronPlane's guide covers point-to-point, ESB and iPaaS. valantic's Commerce Integration Suite page describes a middleware layer with an out-of-process option on App Builder for SAP. An answer that says custom connector, built to spec, is not an answer.
On triggers, a good answer is per object. scandiweb's BK-Group case describes prices pushed from the ERP to Pimcore every few minutes and stock checked against the ERP API on the product page and at checkout; Bemeir's Business Central article makes order submission with a queue and idempotency its own phase. An answer that says real-time sync for everything has not thought about the ERP's maintenance window or its API limits.
On pricing, a good answer knows the arithmetic. Adobe's documentation states that each shared catalog creates a customer group, that adding a customer group triggers a full price reindex, and that the price index stores rows per website and customer group. An agency that proposes a shared catalog per company for 900 companies and 80,000 SKUs without mentioning 72 million rows has not run the numbers; one that proposes resolving contract price from the ERP or a PIM at cart time has.
On ownership, no agency on this site publishes a good answer, so it has to come from the contract. The published example closest to one is scandiweb's IONTO case, an Infor connector taken over under a support arrangement that went from daily sync errors to none. Ask for the equivalent commitment in the proposal, with a response target and a regression method.
On versions, a good answer names Commerce 2.4.8 or 2.4.9 with B2B 1.5.3, or explains why not. Adobe's lifecycle table puts 2.4.6 in extended support only until 31 August 2027 and 2.4.7 in standard support until 31 May 2027, and Adobe's B2B install page warns that B2B 1.4.2 and later do not run on PHP 8.3. A quote that omits the B2B version has left a line off the estimate.
Match the agency to the ERP
The ERP narrows the list faster than anything else. For SAP, scandiweb's Macron case and valantic's Commerce Integration Suite are the two published records, one an English-language project with a PIM in the middle and the other a German-language productized connector. For Epicor Prelude, Wagento's LAPP Tannehill case is the only named one. For Infor, scandiweb's IONTO case is the only one. For NetSuite and Business Central, Bemeir publishes method but no named client. For Dynamics generally, Wagento and Williams Commerce name it without a case. Youwe publishes no ERP case, and IronPlane names six ERPs in a guide without a client.
Then check what you were told
Ask for the case study the agency cites and read it for the objects that sync, not the percentages. Ask for the client contact behind it. Open the evidence ledger on this site for the URL and date of every claim used here, and open hyva.io/partners if a Hyvä tier matters, because it is the one partner tier a third party lists. Treat Adobe partner tiers as each agency's own statement, since Adobe's directory needs a partner login. And ask for the price only after the five answers are in writing, because a price before them is a storefront price.