One of my clients has the following need that I will try and describe as crisply as I possibly can as under:
The client wants to implement three levels of pricing for it’s customers. Based on loyalty, volumes, credit history, and a few other considerations, the client will assign each customer to one of these price lists. More details of the requirement:
Let’s consider 3 users: A, B & C
Let’s consider three price lists: Regular (Highest price), Gold (Intermediate pricing) & Platinum (lowest pricing)
So, my client’s requirement is the following.
A should only be able to work with the Regular price list
B should be able to assign the Gold pricing to a few customers and once assigned (and only when assigned), A should be able to work with Gold Price List for those customers (and only those customers).
Similarly, C should be able to assign the Platinum price list to a few customers and once assigned (and only when assigned), A & B should be able to work with the Platinum Price List for those customers (and only those customers).
The way I tried implementing it is the following:
I gave A Access to only the PriceList DocType = Regular
I gave B Access to both the PriceList DocType = Regular & Gold
I gave C Access to PriceList DocType = Regular, Gold & Platinum
Now only B can assign Gold Pricelist and C can assign Platinum pricelist. But when when assigned, A cannot work with those prices until I give A access to the Gold and Platinum pricelist. And if I give A access to the Gold & Platinum pricelist, it defeats the very purpose of this control as A can assign those price lists to any customer.
Is there someway to make this happen?
The trouble with using the pricing rule is that B & C need to get involved for every transaction that meets the pricing rule.