Author |
Topic  |
|
jack208
VP-CART New User

Malaysia
116 Posts |
Posted - February 10 2016 : 05:03:59
|
Am trying to get a sense of how we can combine the various discounting options in VPCart - or maybe we can''t?
We''ve two types of customers; Customers (end-users) and Retailers.
For Customers, the pricing is straight forward - retail price is set by the RetailPrice field (this price applies to walk-in customers) - if they are already our memeber, we sell using Member Price set in CPrice field
For Retailers, we give a 30% margin except for a few items where we give only 20% margin. These items do not belong to any specific category
We set up for Retailers using the Customer Group table - create a group called "Retailers" - set Product Price Field = RetailPrice - set Discount = 0.3
This works for the general 30% off retail price margin we provide to Retailers. However for those few items where we can only give 20%, I am thinking of using Customer Prices table to define them such as - create a CustomerPrices record for each of these 20% items - set CustomerId = Retailer Customer ID - set CatalogID = Item ID for 20% - set Discount = 0.2
This approach kinda works for us due to i) we do not have a lot of Retailer customers (so can create customerprices at customer-level) and ii) those 20% margin items are only a few.
I set this up and did a test. It seems if there''s already a Customer Group for the customer, VPCart will take the discounted pricing based on the Customer Group setting and ignore any CustomerPrices setting. Is this correct?
Is it possible to have CustomerPrices setting override any Customer Group discounts?
Lastly, I und turning on these low-level settings would impair database performance. Would having both Customer Group and CustomerPrices in play degrade the performance too much? We are using MSSQL as the backend and hoping it''ll compensate for the performance.
TQ |
|
carfin
VP-CART Expert
  
United Kingdom
948 Posts |
Posted - February 10 2016 : 11:08:52
|
Hi,
I found the individual customer/product discounts were very difficult to manage and yes, the group discounts will override them. Keeping track of who got what discount was messy and exclusions or special offers for certain products were a nightmare to implement. So I only use customer groups now
At the moment you have 2 groups - members and retailers Use cprice as your base price for everyone who is not in a group Let''s say the members should see a 5% discount on the base price, so you need to assign the members group their own price field eg. price1 (If not, then they should see cprice field) If the retailers should see a 30% discount on the base price then they need their own price field too eg. price2 Leave both groups'' overall discount field empty. You now need to set the discounts for price1 and price2 in the products table Just use an update sql statement in the Database tool in the admin panel eg for this example you would use something like UPDATE products SET products.price1=cprice-(cprice*5/100), products.price2=cprice-(cprice*30/100) But you have 12 products that you want to have a 20% discount only for the Retailers group. Use one of the extra fields (maybe use pother3) in the product record to add a ''flag'' eg DISC20 Run another update sql statement eg for this example use something like UPDATE products SET products.price2=cprice-(cprice*20/100) WHERE products.pother3="DISC20"
I have to use this method of discounting because some of our groups only get discounts on certain ranges of products Also worth noting that any product group dicounts will be overridden by the customer group discounts. If you are using a SQL database the site performance should barely be affected.
Carrol www.deanston-electrical.co.uk |
 |
|
jack208
VP-CART New User

Malaysia
116 Posts |
Posted - February 10 2016 : 15:31:44
|
Hi Carrol, that''s a very useful response! Thanks.
Good that you validated my own assumption that it''ll too wieldy to manage this thru customerprices so we''ll definitely that idea for now.
I''d wanted to see if there''s a way to manage this discount "by exception"; part of that reason is due to us having already made use of most of the spare fields you mentioned (hehe) but anyway since your approach is about using an update stmt to populate custom price fields, I can just add a few more fields into the PRODUCTS table and use them for this purpose.
I''m already using Customer Groups to do discounting (just that it''s not handling the exceptions for now) and do not feel any impaired performance, but since I was thinking of extending to CustomerPrices, thought I check with others to see if performance will get hit. Anyway this is moot since your workaround should work for me (without having to go into CustomerPrices).
Let me put this in place and post an update here on how it''s going for us. Thanks again for your most helpful input, Carrol. |
 |
|
|
Topic  |
|