Chat on WhatsApp
Magento glossary

What is the Companies Module ?

The Companies module is the B2B feature in Adobe Commerce (the paid edition) that puts several buyer accounts under one company. Each buyer gets role-based permissions, large orders can go through purchase order approval rules, and the company sees its order history in one place. The shape is simple: one company, many buyers, one Company Admin. Magento Open Source does not include it, so on Open Source I use a third-party extension or build a lighter version.

How it works

Five things the Companies module actually does

Companies is more than a setting you switch on. It adds a new entity above the Magento customer, with its own tables, roles and approval flow. These are the five parts I explain to every B2B client.

  1. 01

    Each company has one Company Admin and any number of buyers

    The module adds a company entity that sits above the customer. Each company has one Company Admin (the "super user", who is also a normal Magento customer) and any number of buyers. Every buyer logs in with their own customer account, but their orders and credit belong to the company. In the database the company table links to customer_entity through company_advanced_customer_entity, which also holds the user’s status and job title. A customer belongs to one company at a time.

  2. 02

    Roles define granular per-buyer permissions

    Every company starts with a Default User role. From My Account → Roles and Permissions the Company Admin can add roles such as "Procurement Lead" or "Read-only Auditor" and tick what each one may do: see all company orders or only their own, place orders, view quotes, manage users and teams, see the credit balance, and so on. On every B2B build I spend real time on this screen with the client, because a role that is too open shows people orders and prices they should not see.

  3. 03

    Shared catalogs and customer groups drive per-company pricing

    A company has no price fields of its own. Pricing comes from the shared catalog the company is assigned to. Each custom shared catalog creates its own customer group, and every buyer in the company sits in that group. Inside the shared catalog you choose which products the company can see and set custom prices. Catalog and cart price rules that target the customer group apply to every buyer too, so a new buyer added next month gets the same prices on their first login.

  4. 04

    Purchase order approval rules gate large orders

    When Purchase Orders are enabled for a company, checkout creates a purchase order instead of a sales order. The Company Admin sets approval rules in My Account → Approval Rules, for example "order total above 5,000 needs approval from the Finance role". A matching purchase order waits in Pending Approval and the approvers get an email. Once approved, it is converted into a normal Magento order and goes into fulfilment.

  5. 05

    Company-level payment methods and credit

    On the company record in the admin (Customers → Companies) you can limit which payment methods its buyers see at checkout. With Company Credit enabled, the merchant sets a credit limit on the company and buyers can use Payment on Account. Each order uses up part of the limit, and the merchant records reimbursements to give it back. Buyers can see the balance in My Account but only the merchant can change the limit.

When to use

Four B2B scenarios where Companies is the obvious answer

Building any of these four setups from scratch is slow and easy to get wrong. If your B2B model looks like one of them, the Companies module saves you that custom work.

  • Wholesale distributor with N buyers per dealer

    Restaurants, retailers, dealers, contractors: any channel where each customer is an organisation with several staff placing orders. Without Companies every one of those people is a separate customer account with no link to the others. With it, orders, credit and pricing roll up to the dealer, and each buyer still has their own login and order history. This is the most common reason I see merchants move to Adobe Commerce B2B.

  • Multi-location enterprise (HQ plus N branches)

    Head office procurement plus several branches buying through one account. I model the branches as teams inside the company structure. The Company Admin at head office sees every branch order, each branch has its own buyers, and the price agreed centrally applies everywhere. Without Companies you get a pile of separate customer accounts, no combined order view, and an ERP integration that has to guess which account belongs to whom.

  • Trade programs (designer, contractor, architect)

    Trade programs where a design firm has a few designers and an office manager all buying for client projects. Each designer logs in personally, so the order history is theirs, while the firm gets the trade prices and the credit line. Companies, a shared catalog and approval rules cover this with configuration. Without the module you end up building a second customer model in custom code.

  • Rep-managed accounts (one rep, many client companies)

    Field sales reps who each look after a set of client companies. In Adobe Commerce each company has a Sales Representative field that points to an admin user, so the rep owns the account on the merchant side. With Login as Customer switched on, the rep can place orders for the client, and approval rules still apply. It fits well with B2B quotes: the rep negotiates the quote, the buyer accepts, and the order goes through.

Common mistakes

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.

FAQ

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.
B2B build

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.