Build & Replatform · Magento development
B2B Magento agency for catalogs that need more than a cart.
A B2B Magento agency builds wholesale features on Magento: company accounts, customer-specific catalogs and prices, quotes, quick order and requisition lists, tied to your ERP. Adobe Commerce ships most of them in a B2B extension Adobe licenses separately; Magento Open Source needs extensions or custom code. Our edition table shows, feature by feature, what you'd license and what you'd build.
Last reviewed
On this page
- Open Source plus extensions, or Adobe Commerce B2B?
- Magento B2B development: what we build
- Magento quotes and configure-to-order
- Magento and your ERP: who owns price, credit and stock
- Punchout and EDI on Magento
- Where Magento B2B projects go wrong
- What drives the cost of Magento B2B
- Magento B2B questions
- Sources
- Related services
Open Source plus extensions, or Adobe Commerce B2B?
If your must-haves are company accounts, contract pricing and quick order, Open Source plus focused modules can cover them; need most rows natively, and Adobe Commerce B2B earns its license.
Adobe's extensions page, not its B2B feature list, labels B2B "Adobe Commerce only, requires a separate license" and says: "For provisioning, contact your Adobe Account Representative." Its modules aren't in the Open Source codebase.
| Feature | Adobe Commerce B2B | Magento Open Source | What it needs from the ERP | Our note |
|---|---|---|---|---|
| Company accounts and roles | Native Unlimited users, divisions and permissions by role. 3 | Extension Not in core; extension or custom module. 4 2 | Company, ship-to and terms records. | Turn on first: catalogs and quotes need it. 5 |
| Company hierarchy License you'd pay for but not use | Native Parent companies manage child companies, one parent each (B2B 1.5.0 and later). 6 7 | Extension Not in core; some company-account extensions add sub-companies, or custom. 2 | The ERP's parent and bill-to tree. | Only for customers that buy as several companies: subsidiaries, franchises, multi-branch groups. 6 |
| Shared catalogs and custom pricing | Native Per-company prices and assortments; one catalog per company. 8 9 | Extension Customer groups, tier prices and price rules in core; no per-company catalogs. 10 11 2 | Contract prices, synced or looked up live. | Each catalog adds price-index load. 12 |
| Negotiable quotes | Native Requested from the cart, or, from B2B 1.4.0, started by a rep. 13 7 | Extension Not in core; core's Quote module handles carts, not negotiation. 14 4 | Accepted quotes become sales orders. | Configure-to-order needs a rules layer on top. |
| Requisition lists | Native Multiple lists, kept after items go to the cart. 15 | Extension Reorder and a wish list in core; no requisition lists. 16 17 2 | Live price and stock per line. | Best for buyers with standing orders. |
| Quick Order | Native SKU or name entry, SKU lists, file upload; guests too. 18 | Extension Reorder in core; no SKU-entry form. 16 2 | Clean SKUs and part-number cross-references. | Adobe Commerce's core Order by SKU does SKU entry without B2B. Only as good as your part-number search. 19 |
| Purchase-order approvals License you'd pay for but not use | Native Approval rules such as order total or SKU count. 20 | Extension A purchase-order payment method in core; no approvals. 21 2 | Nothing until the order is approved. | Punchout buyers approve in their own procurement system; multi-buyer web accounts may still want it. 20 |
| Payment on account and company credit | Native Pay on Account up to each company's credit limit, unless you let it be exceeded. 22 5 | Extension No credit line in core. 21 2 | Credit limit and open balance. | No ERP feed means admins key in payments. 22 |
Native: Adobe documents the feature in its B2B extension, and each Adobe cell links that page, checked on the last-reviewed date. Extension: a third-party module adds it. Custom: code written for your store. ERP and note cells describe how we build. The flag marks rows that often go unused; check them against how your buyers order. Adobe licenses B2B as one extension, so flagged rows come with the license whether you use them or not.
Every Native cell comes in Adobe's one B2B license; every Extension or Custom cell is code you'd add and maintain.
Magento Open Source ships under the Open Software License 3.0 and the Academic Free License 3.0, both "royalty-free." Adobe Commerce is licensed from Adobe, on the terms of your Adobe sales order.
Magento B2B development: what we build
Magento B2B store development comes down to eight jobs, on either edition. As a Magento B2B agency, we build them around how your buyers already order:
- Company accounts and roles. One account per customer, with buyers, approvers and invoice payers, each tied to the ERP's customer number.
- Customer-specific catalogs and price lists. Shared catalogs on Adobe Commerce B2B, or category permissions by customer group on Adobe Commerce alone. On Open Source, core customer groups and catalog price rules, plus a module for per-company assortments.
- Tier and contract pricing. Quantity breaks on the core's tier prices; contract prices from the ERP, by price group or per account.
- Quick order and reorder. A SKU pad, pasted lists and file upload, plus reorder from order history, which Open Source already ships.
- Purchase-order approvals. Spending limits and approvers set per buying company, so a big order waits for the right person.
- Payment on account and credit. Pay on Account against the credit limit the ERP holds. Open Source's core has a purchase order payment method, but no credit line.
- Net terms. Each account's terms read from the ERP, shown at checkout and carried onto the order.
- Sales-rep ordering. Reps order on behalf of their accounts, built on the core's Login as Customer module and the ERP's rep assignments.
Our Magento B2B developers write the account and pricing model before the storefront, because every item above reads from it. Storefront speed comes next: Hyvä, once every B2B module you rely on has a Hyvä-compatible version. For Adobe's B2B modules, Hyvä's compatibility layer is Hyvä Enterprise, "a stand-alone commercial product" licensed on top of Hyvä Commerce or Hyvä Checkout, whose B2B package needs 2.4.6 or later and B2B 1.4.0 or later. The rest of the platform work sits on our Magento development page.
Magento quotes and configure-to-order
Adobe Commerce B2B handles the simple quote. The buyer requests one from the cart, or, from B2B 1.4.0, a sales rep starts one on the buyer's behalf; the two sides negotiate, and an accepted quote goes to checkout at the negotiated price, with no further discounts and shipping locked. On Open Source, an extension or custom module supplies the workflow.
Quotes don't always start in the store. A rep may build one in the ERP or CRM; we decide per project where quotes begin, and an accepted one always ends as an ERP sales order.
Configure-to-order is a different animal: the rules are the product. When we build one, it does three things:
- Impossible builds can't be chosen. The rules engine checks each choice against the others as the buyer configures, so carts and quotes only ever hold buildable products.
- Contract price and ship date while configuring. As options change, Magento asks the ERP for the account's contract price and a ship date based on component stock.
- A negotiable quote, then a sales order. The finished build travels in a Magento negotiable quote, which Adobe's B2B modules allow for configurable and bundle products; once accepted, it lands in the ERP as the sales order.
We keep the rules as versioned data with tests, so a new option is one more rule, not another pile of exceptions.
Proof: Sprawling hand-maintained configurator rule sets replaced by a small declarative rules engine.
Magento and your ERP: who owns price, credit and stock
Your ERP usually holds each account's prices, credit and stock; Magento should read them, not keep a drifting copy. We set direction record by record:
- ERP to Magento: contract prices (synced, or looked up live when the account-by-SKU matrix is too big to sync), stock (from the ERP or WMS), credit limits and open balances, invoice status.
- Magento to ERP: orders, new account registrations for approval, and accepted quotes as sales orders.
- Magento only: buyer logins, roles and approval rules.
Prices and credit land through documented Magento interfaces: shared catalog prices through the REST-enabled SharedCatalog module, quantity breaks through the core's tier-price storage, and balances through the REST-enabled CompanyCredit module. Wire credit first: Adobe's credit guide says "when customers make payments, administrators update credit information in the Admin." Our sync takes that job.
Bulk writes use Magento's asynchronous endpoints (core module WebapiAsync), which queue each request with a trackable bulk UUID, so failures surface. NetSuite is where we go deepest, over SuiteTalk REST and SuiteQL; our ERP integration page has the full method. The complete ownership table is on B2B ecommerce on any platform.
Proof: ERP syncs made several times faster, with silent data loss eliminated.
Punchout and EDI on Magento
Some trade buyers may only order through their own procurement system. Punchout isn't on Adobe's B2B feature list, so on either edition it's an extension, middleware or a custom build.
- Punchout. The session should drop the buyer into their own Magento company account, so the cart carries their shared-catalog or ERP contract prices, not the public list. The protocols: cXML ("the widely-used PunchOut feature," per its site) and SAP's Open Catalog Interface, which "transfers the product data back." A cXML buyer's approved order usually returns as a cXML purchase order; an OCI buyer's arrives separately, by EDI, email or cXML, since OCI hands back only the cart.
- EDI. Trading partners transmit X12 850 purchase orders and receive 855 acknowledgments, 856 ship notices and 810 invoices in reply. We decide per partner whether those orders also post to the buyer's Magento order history.
Where Magento B2B projects go wrong
B2B Magento development rarely fails on features. It fails in four places, three of them in Adobe's own docs:
- Price-index load. Adobe's indexer guide says "each website, customer group, shared catalog, and product SKU must all be indexed against each other," so per-account catalogs multiply the work. Its implementation playbook advises "alternative product features for custom pricing." We model price groups and look up true one-off prices from the ERP.
- Hierarchies that don't match the ERP. In Adobe's model a child company belongs to one parent at a time. We map the ERP's bill-to and ship-to tree onto that before anyone builds.
- Extension conflicts on Open Source. Two B2B extensions rewriting checkout or pricing can collide, and on Hyvä each Luma-based module needs a compatibility module. We test checkout with everything enabled.
- Upgrades. As of October 16, 2026, Adobe's B2B release notes support B2B 1.5.3 on 2.4.8 and 2.4.9 and 1.5.2-p5 on 2.4.7, though its availability table lists 1.5.3 for 2.4.7 too; older lines take older releases (1.3.3 on 2.4.4). 2.4.7 through 2.4.9 are the lines in standard support. A platform upgrade is a B2B upgrade, so our upgrade method checks B2B module compatibility at upgrade with the rest.
What drives the cost of Magento B2B
We don't publish prices. Licenses come first: none for Open Source itself, though B2B extensions may carry their own; for Adobe Commerce B2B, Adobe's license on your sales order's terms plus the separate B2B license; and, for Adobe B2B on Hyvä, Hyvä Enterprise on top of Hyvä Commerce or Hyvä Checkout. Then the build:
- Native versus built: how many table rows you need, and how you get each.
- ERP and pricing complexity: price groups, contract prices, credit rules and sync directions.
- Catalog size and data quality: SKUs, attributes and part-number cross-references.
- Punchout or EDI partners, each connected and tested.
- Customizations: configure-to-order rules, approval chains, anything the modules don't do.
- Your team: who owns the data, testing and sign-off.
Ask each bidder which rows their quote builds, which it buys as extensions and which it assumes Adobe covers. What the market typically charges, with sources, is in our Magento cost guide.
Magento B2B questions
What B2B features does Magento have?
On Adobe Commerce, the B2B extension adds company accounts, company hierarchy (from B2B 1.5.0), shared catalogs with per-company prices, negotiable quotes, requisition lists, Quick Order, purchase-order approvals, and Payment on Account against company credit. Adobe marks the extension Adobe Commerce only and licenses it separately. Open Source adds these with extensions or custom modules.
How is Magento B2B priced?
It depends on the edition. Adobe Commerce is licensed from Adobe, on the terms of your Adobe sales order, and Adobe labels its B2B extension "Adobe Commerce only, requires a separate license," provisioned through your Adobe account representative. Magento Open Source is royalty-free under the Open Software License 3.0 and the Academic Free License 3.0, so B2B there costs extensions and build work instead. Build cost follows features, ERP complexity, catalog data and integrations.
Can Magento Open Source do B2B?
Yes, with extensions or custom modules. Adobe's B2B modules aren't in the Open Source codebase, and Adobe supports them on Adobe Commerce only. But Open Source's core has customer groups, tier prices, catalog price rules, reorder and a purchase-order payment method. Company accounts, per-company catalogs, quotes, quick order and credit go on top. You skip Adobe's license and take on the modules' upkeep.
Which Magento B2B extension should we use?
On Adobe Commerce, Adobe's own if you need most of its features; for one or two, Adobe Commerce's core Order by SKU or a focused module may do without the B2B license. For any module, check before buying: a release for your exact Magento and PHP versions, Hyvä compatibility if needed, which core classes it rewrites, readable source code, and a clean checkout with your other modules enabled.
Does Magento 2 B2B have quick order?
Yes, on Adobe Commerce with the B2B extension: Quick Order takes a SKU or product name, a pasted SKU list or a file built from Adobe's template, for logged-in customers and guests. Adobe Commerce without B2B already has Order by SKU, with SKU entry or a CSV upload. Magento Open Source's core has reorder from order history but no SKU-entry form; an extension or custom module adds one.
How do quotes work in Magento B2B?
In Adobe Commerce B2B, quotes need company accounts and B2B quotes switched on. A buyer asks for one from the cart, or, from B2B 1.4.0, a rep opens one for them in the Admin, and the two negotiate. Accepting sends the buyer to checkout at the agreed price; discounts can't be added and shipping can't change. A quote the buyer doesn't answer in time expires. On Open Source, an extension handles it.
Can customer pricing come from our ERP?
Yes. Contract prices sync from the ERP into shared catalogs or tier prices, or get looked up live when the account-by-SKU matrix is too big to sync. Watch the price index: Adobe indexes every website, customer group, shared catalog and SKU against the others, so we design price groups first.
Sources
- 1 Adobe Experience League: Extensions from Adobe (page updated October 8, 2026) · checked
- 2 Magento Open Source on GitHub: core modules (app/code/Magento) · checked · ↑ back
- 3 Adobe Experience League: Company accounts (page updated October 8, 2026) · checked · ↑ back
- 4 Adobe Commerce developer docs: B2B integrations (module list and REST-enabled modules) · checked · ↑ back
- 5 Adobe Experience League: Introduction to Adobe Commerce B2B (page updated October 1, 2026) · checked · ↑ back
- 6 Adobe Experience League: Manage companies, company hierarchy (page updated October 8, 2026) · checked · ↑ back
- 7 Adobe Experience League: Adobe Commerce B2B release notes (page updated October 13, 2026) · checked · ↑ back
- 8 Adobe Experience League: Shared catalogs (page updated October 8, 2026) · checked · ↑ back
All 40 sources
- 9 Adobe Commerce developer docs: Integrate with the SharedCatalog module · checked · ↑ back
- 10 Adobe Experience League: Catalog price rules (page updated October 8, 2026) · checked · ↑ back
- 11 Magento Open Source on GitHub: TierPriceStorageInterface (tier prices) · checked · ↑ back
- 12 Adobe Commerce developer docs: Indexer optimization (customer group limitations by websites) · checked · ↑ back
- 13 Adobe Experience League: Negotiable Quotes (page updated October 8, 2026) · checked · ↑ back
- 14 Magento Open Source on GitHub: Quote module (cart management) · checked · ↑ back
- 15 Adobe Experience League: Requisition lists (page updated October 8, 2026) · checked · ↑ back
- 16 Magento Open Source on GitHub: Sales reorder controller · checked · ↑ back
- 17 Magento Open Source on GitHub: Wishlist module · checked · ↑ back
- 18 Adobe Experience League: Quick Order (page updated October 8, 2026) · checked · ↑ back
- 19 Adobe Experience League: Order by SKU (page updated October 8, 2026) · checked · ↑ back
- 20 Adobe Experience League: Purchase orders for companies (page updated October 8, 2026) · checked · ↑ back
- 21 Magento Open Source on GitHub: OfflinePayments module · checked · ↑ back
- 22 Adobe Experience League: Manage company credit (page updated October 8, 2026) · checked · ↑ back
- 23 Adobe Experience League: Install the Adobe Commerce B2B extension (page updated October 8, 2026) · checked
- 24 Magento Open Source on GitHub: Open Software License 3.0 (LICENSE.txt) · checked
- 25 Magento Open Source on GitHub: Academic Free License 3.0 (LICENSE_AFL.txt) · checked
- 26 Adobe: Product Specific Licensing Terms, Adobe Commerce on Cloud (2025v1) · checked
- 27 Adobe: Product Specific Licensing Terms, Adobe Commerce On-premise Software (2023v1) · checked
- 28 Adobe Experience League: Category permissions (page updated October 8, 2026) · checked
- 29 Magento Open Source on GitHub: LoginAsCustomer module · checked
- 30 Hyvä Docs: Hyvä Enterprise, getting started · checked
- 31 Adobe Commerce developer docs: Asynchronous web endpoints · checked
- 32 Magento Open Source on GitHub: WebapiAsync module · checked
- 33 Oracle NetSuite: Overview of SuiteTalk REST Web Services · checked
- 34 cXML.org: Commerce XML resources · checked
- 35 SAP: Open Catalog Interface (OCI), Release 5.0 · checked
- 36 X12: Transaction sets · checked
- 37 Adobe Experience League: Implementation playbook, catalog management (page updated October 8, 2026) · checked
- 38 Hyvä Docs: Compatibility modules · checked
- 39 Adobe Experience League: Product availability, Adobe-authored extensions (page updated October 12, 2026) · checked
- 40 Adobe Commerce lifecycle policy (page updated September 18, 2026) · checked
Last reviewed