The background here is that my client is looking to create a B2B e-commerce website with Magento that he wants to integrate with his ERP.

In B2B world, companies sell to companies, not individuals. One company might have several employees who can place orders for the company in the e-commerce website.

This means that I need to figure out if and how it's possible to do the following in Magento:

  1. Create "Company" accounts and have several users for each company
  2. Per-company pricing
  3. Each "Company" should have multiple addresses
  4. Manage permissions within a Company for each user (for ex: one user can only create cart, but not submit the order, the other has rights to submit the order, etc)

For 1 and 2 I though about using Customer Groups, this would effectively solve the per-company pricing issue.

For 3, I thought about building a mechanism that syncs addresses between users that are in the same Customer Group (ie in the same company). This way, when one user changes or adds an address, it is reflected for each user.

For 4... I have no answer so I'm hoping someone can give me some insights...

  • Community or Enterprise edition?
    – benmarks
    Commented May 28, 2013 at 16:22
  • Hey, Community Edition. Are there any features in the EE that might help me?
    – ragulka
    Commented May 28, 2013 at 16:31
  • In EE there are category restrictions (but there is a CE module for this as well), shared wishlist, and gift registry.
    – benmarks
    Commented May 28, 2013 at 16:34

1 Answer 1


What a fun project! Yes, you can do this in much the way that you've determined. For #4 it will require custom development as you've realized. You'll definitely want to look into Magento's event-observer system as a means for limiting access to various routes. Note that there are targeted preDisptach events which you can use to hook various actions.

I recommend evaluating the Wishlist feature as a means for allowing non-checkout users to create pseudo-quotes. These could then be presented to other customers.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.