What is the Companies Module ?
The Companies module is a native Adobe Commerce (paid edition) B2B feature that lets one company-account contain multiple buyer-users, each with role-based permissions, purchase-approval thresholds, and visibility into the company’s order history. Default model: 1 company → N buyers → 1 admin who approves above-threshold orders. Adobe Commerce only — Magento Open Source needs Mageworx Companies (~$499) or similar extension.
Five things the Companies module actually does
Companies is not a settings flag — it is a new top-level entity above the Magento customer with its own data model, role engine, and approval workflow. Here is the architecture in five points.
-
01
Each Company has one Super User and 0 – N regular buyers
The Companies module introduces a new top-level entity above the customer. A Company has a Super User (the company admin who is also a Magento customer) and zero or more regular buyers. Every buyer in a Company logs in with their own customer account but their orders, addresses, and credit are scoped to the Company. From an ERD point of view:
company1:Ncustomer_entity, with acompany_advanced_customer_entitylink table holding role and status. One customer cannot belong to two Companies — the relationship is exclusive. -
02
Roles define granular per-buyer permissions
Adobe Commerce ships a default Company Administrator role with full access plus one default Buyer role with read-only company info. Inside the Company, the Super User can spin up custom roles — "Procurement Lead", "Site Manager", "Read-Only Auditor" — each with toggles for: view all orders or own orders only, place orders, approve orders above threshold, manage roster (invite/disable buyers), view credit limit, manage requisition lists, manage shared catalogs. Permissions are the single biggest configuration win — or biggest leak — on a Companies deployment.
-
03
Customer Segments wire per-company pricing rules
Companies do not have built-in pricing fields. To give Acme Corp a 12% off catalogue price you create a Customer Segment scoped to "customer is in Company = Acme Corp", then a Catalog Price Rule (or Cart Price Rule) targeting that Segment. Every buyer in Acme Corp inherits the discount automatically — new buyers added to the Company next quarter pick up the same pricing on their first login. This is also how shared catalogs work under the hood: the Shared Catalog UI is essentially a managed wrapper around Customer Segments + Catalog Permissions.
-
04
Order approval workflow gates above-threshold orders
Each buyer (or each role) gets a per-order approval threshold — for example, "auto-approve under $5k, queue for admin approval over $5k". When a buyer hits checkout with a $7k cart, the order is created with status
pending_approvalinstead ofprocessing; an email goes to the Super User; the buyer sees a "Awaiting approval" banner. Super User clicks Approve in the My Account → Approvals grid and the order moves to normal fulfilment. Multi-step chains (manager approves, then finance approves) are not native — need a paid extension or custom workflow code. -
05
Company-level shared addresses, payment methods, and credit
A Company stores its own ship-to and bill-to address books accessible to every buyer — HQ, warehouses, retail locations — without each buyer re-typing them. Payment methods configured at the Company level (Payment On Account, purchase order, ACH credit memo) appear in checkout for every buyer. Adobe Commerce B2B Credit Limit lets the Super User set a $50k revolving credit limit on the Company; every order draws from that pool, every payment replenishes it. Buyers see remaining credit on their dashboard but cannot raise the cap.
Four B2B scenarios where Companies is the obvious answer
The Companies module exists because building these four patterns from scratch is painful. If your B2B model matches any of them, Companies pays for itself in 2 — 4 weeks of saved dev time.
-
Wholesale distributor with N buyers per dealer
Restaurants, retailers, dealers, contractors — any reseller channel where each customer is itself an organisation with multiple staff placing orders. Companies lets you onboard 500 dealers, each with 2 – 20 buyers, without 10,000 disconnected customer accounts. Orders, credit, addresses, and pricing all roll up to the dealer; the buyer experience stays personal. The single biggest reason to adopt Adobe Commerce B2B in 2026.
-
Multi-location enterprise (HQ plus N branches)
Acme Corp HQ procurement plus 5 branch locations buying through one master account. Companies models this directly: HQ Super User sees every branch order; each branch has its own buyer pool, ship-to, and (optionally) sub-credit limit; pricing negotiated centrally applies to all locations. Without Companies you end up with 6 unconnected customer accounts and no consolidated reporting — finance hates it, sales hates it, the ERP integration hates it.
-
Trade programs (designer, contractor, architect)
Trade-pricing programs where a designer firm has 4 designers + 1 office manager all buying for client projects. Each designer logs in personally (so order history is theirs) but the firm gets the trade discount, the consolidated invoice, and the credit line. Companies plus per-segment pricing plus the order approval workflow makes this trivially configurable; without it you build a parallel data model from scratch.
-
Rep-managed accounts (1 rep, 5 – 50 client companies)
Field-sales reps each manage a book of 5 – 50 client companies. With Companies you can scope a rep as Super User (or a Company Manager external role) on multiple Companies, give them visibility into each client’s orders and credit, let them place orders on the client’s behalf, and gate above-threshold orders for client approval. Pairs naturally with Adobe Commerce B2B Quotes — rep negotiates a quote, client approves, order drops in.
Four traps that derail Companies module rollouts
Every overrun B2B Magento project I have been called in to rescue made one of these four mistakes early. Avoid them and the rollout runs on schedule.
-
Expecting Open Source has it — it does not
The Companies module is exclusive to Adobe Commerce (the paid edition, formerly Magento Commerce). Magento Open Source ships with no Company entity, no roles, no order approval workflow, no shared catalogs. Teams routinely scope a B2B build on Open Source assuming Companies will be there, then hit week 4 with no path forward. The two routes from Open Source: upgrade to Adobe Commerce ($22k+/year list, less if negotiated) or buy a third-party module like Mageworx Companies (~$499) which approximates the data model but with caveats around shared catalogs and credit.
-
Skipping the role-permission audit before onboarding
The default Company Administrator role grants full access to every buyer added with that role — including viewing all sibling buyer orders, raising the credit limit, and editing the company info. Onboard 200 dealers with default roles and you have effectively given every buyer in every dealer admin power. Always design the role matrix before the first Company is created, lock the defaults to least-privilege, and document a per-role permission grid. The audit takes 1 – 2 days and prevents an embarrassing data-leak email three months later.
-
Forgetting Customer Segments for per-company pricing
A Company with no associated Segment gets the same pricing as a guest. Teams configure the Company structure, invite buyers, then wonder why negotiated prices are not showing up — because no Segment was created and no Catalog Rule was wired to it. Always create the Segment in the same task as the Company; treat them as a pair, not as two separate admin steps. Shared Catalogs (the higher-level UI) hide this complexity, but if you are managing pricing manually the Segment-Rule pairing is non-negotiable.
-
Confusing Companies (B2B accounts) with Stores (storefronts)
A Company is a customer-side organisation with multiple buyer logins. A Store (in Magento’s Website → Store → Store View hierarchy) is a storefront with its own root category, currency, and language. They are orthogonal. You can have one Store serving 1,000 Companies; or two Stores (UK + DE) each serving the same Companies with localised content. Architects who treat them as alternatives end up either (a) spinning up one Store per dealer — an unmaintainable 500-Store nightmare — or (b) spinning up one Company per storefront and missing the entire point. Keep the two concepts separate from day one.
Companies module — frequently asked questions
-
How is the Companies module different from a simple multi-buyer customer account?
A simple multi-buyer customer account is one Magento customer record with multiple people sharing the same login — no per-person order history, no per-person permissions, no audit trail. The Companies module gives every buyer their own Magento customer account with their own login, while still rolling orders, addresses, credit, and pricing up to the Company. You get individual identity (who placed which order) plus shared org-level data. It is the difference between a generic shared inbox and a real corporate G Suite tenant. -
What is the Open Source equivalent of the Companies module?
There is no native equivalent. The two practical paths from Magento Open Source are (1) Mageworx Company Accounts (~$499 one-time) which provides Companies, roles, and order approval; (2) Aheadworks B2B Company Accounts or similar; (3) building it custom — budget 4 – 8 weeks of dev for a feature-complete Company entity, role engine, and approval workflow. None of the third-party options match Adobe Commerce’s integration depth with Shared Catalogs, Negotiable Quotes, and Credit Limit, so if those features are on the roadmap the upgrade to Adobe Commerce is usually the cheaper long-term path. -
Can I set per-buyer credit limits or spending caps inside one Company?
Adobe Commerce B2B sets credit at the Company level, not the buyer level — the whole Company shares one revolving credit pool. Per-buyer caps are achieved indirectly via the order approval threshold: set buyer A’s threshold to $1k (every order over $1k needs admin approval) and buyer B’s to $25k. Buyer A is effectively capped at $1k self-service. For true per-buyer credit limits with hard cutoffs you need a paid extension (Magecomp, Aheadworks) or custom approval logic that decrements a per-buyer counter on each order. -
Can I hide some products from some Companies (per-company catalog visibility)?
Yes — this is what Shared Catalogs are for. You create a Public Shared Catalog (the default catalogue every Company sees) and N Custom Shared Catalogs (each scoped to specific Companies). Each Custom Catalog can include or exclude specific products, categories, and even specific SKUs at custom prices. Behind the scenes Shared Catalogs are Customer Segments + Catalog Permissions; the Shared Catalog UI just makes the wiring less error-prone. Without Shared Catalogs you build the same effect manually with Catalog Permissions per Segment, which works but is more brittle. -
How does the Companies module sync with ERPs like SAP or NetSuite?
There is no out-of-the-box ERP connector — Adobe Commerce exposes the Company entity through REST and GraphQL APIs and you (or a paid connector) map it to the ERP’s organisation model. Typical mapping: Magento Company ↔ SAP Sold-To Party / NetSuite Customer; Magento Buyer ↔ SAP Contact / NetSuite Contact; Magento Address ↔ SAP Ship-To Partner. Two-way sync is non-trivial because the Company-Buyer relationship has its own lifecycle (invitations, role changes, deactivations) that ERPs do not always model. Plan for a 4 – 8 week ERP-integration phase as part of any Companies rollout above 50 dealers. -
Can I build custom multi-step approval workflow chains (manager approves, then finance approves)?
Native Adobe Commerce only supports single-step approval — one buyer threshold, one approver (the Super User). For a chain (manager → finance → CFO) you have three options: (1) paid extensions like Aitoc Multi-Level Approval (~$300) or Magedelight (~$200); (2) custom workflow built on Magento’s order placement events — budget 2 – 4 weeks of dev to wire approval state machine, email notifications, and admin grids; (3) push the approval out of Magento entirely — orders go to the ERP as draft, ERP runs the approval chain, ERP pushes the final approved order back to Magento for fulfilment. Path 3 is cleanest for enterprises that already run approvals through SAP / NetSuite / Coupa.
Building Adobe Commerce B2B with Companies?
Send your dealer / branch / trade-program scenario — I will draft a Companies role matrix, Shared Catalog plan, and approval-workflow design with a fixed-price quote and earliest start date. 24-business-hour turnaround.