Q: 1500 different catalogs in Magento. How to achieve this? 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?


A: 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!
