3

I'm architecting a solution to a customer that have the following requisites:

  • It will sell a catalog of products for 3 different public.
  • Each public will see different prices for the same products (it could be added more than once, if needed)
  • The customer groups would be identified after login or some kind of validation
  • One of this public (or group) could have up to 1500 different prices. The system will determine which catalog the user will see.

Given that, I thought about some possible solutions, but I guess there are limitations (mainly by performance).

  • Use customer groups and price group per product
    • Cons: load 1500 customer groups at the dropdown could be a problem / slow to process that
  • Use customer groups and catalog price rule
    • Cons: As far as I know, catalog rules with large catalog can shut down a store with performance issues.
  • Use Magento Enterprise Customer Segment and segment by customer attribute (customer group, or other customer attribute)
    • Cons: Performance could be a problem.
  • Use multi website approach and create different URL's
    • Cons: not sure how magento would handle 1500 websites with different catalogs / I can't imagine 1500 flat catalog tables / I can't imagine 1500 website options in configuration scope dropdown ( +1500 views scope option)

The questions are:

  • Does anyone has faced with this kind of challenge?
  • Did you succeed on doing that with Magento?
  • Can anyone share other approaches or interpretations about it?
  • And what about the catalog? The number of products, I mean... And the type of the products, all of them are simple? – Raul Sanchez Feb 16 '16 at 11:40
  • Hi @RaulSanchez. As far as I talked to the customer, all the products are simple. Up to 300 products. – Ricardo Martins Feb 16 '16 at 12:27
  • Do you mean just assigning customer groups and then prices depandant on that group? – Max Smith Feb 16 '16 at 12:41
  • So... you have a catalog of 300 products, and every single product can have up to 1,500 different prices. Is it? So, this means 450,000 prices... This is not extreme data. Main problem I see is to manage them based in customer_groups – Raul Sanchez Feb 16 '16 at 14:50
  • @MaxSmith, that's it. But in this approach, I would have 1500 customer groups. Imagine a combobox with 1500 option values. – Ricardo Martins Feb 16 '16 at 18:43
2

The best option would be to abadon the regular price index of Magento as it is not developed for a proper B2B website.

I usually write a custom index with a special price scope entity. This price scope entity is going to be used as a primary key for index building process.

Then this price scope entity can be assigned either on group level or even for each customer separately.

In this case you need to create a separate price scope only if you need a different price. You you might want to create a fallback mechanism of price groups like this: Company Price -> Retail Price -> Default Price. The main idea is to think outside the box and make more clever way to match your customers to pricing.

Hope this idea might give you a hint on implementation!

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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