View Full Version : Product Attributes combined with Separate Pricing Per Customer

05-12-2012, 10:28 AM
Just in case I am missing something obvious ... has anyone found a solution to this:

The store owner has two customer groups - one retail and one wholesale ... fairly normal!

Now some of the products listed have attributes ... again fairly normal!

However, the change in price based on the attribute is NOT the same and I am wondering if anyone has tried this before?

Retail Price: £5 + attribute price £3 = £8
Wholesale Price: £3 + attribute price £2 = £5

Any ideas? I have thought of listing the product twice and hiding one from each of the groups (but again I would need to duplicate all of the attributes as well)

05-12-2012, 01:51 PM
I think I understand where you're coming from. I think that you are seeing the effect of rounding errors: I may of course be totally wrong.

05-12-2012, 01:57 PM
I have found this at osCommerce - osCommerce: Separate Pricing Per Customer (http://www.oscommerce.com/community/contributions,716) - looking at the 7th November 2006 does what I need.

Now the question is - has anyone installed this before?

Annoyingly this will not work with AJAX Attribute Manager ... so I am wondering if anyone has a work around?


05-12-2012, 01:59 PM
Sorry Ridex - it is not rounding - I want to have multiple attribute prices for the same attributes by customer group id.

For example:

Attribute 1 for Retail costs £5 and for wholesale costs £3.


05-12-2012, 03:54 PM
OK. There's actually a business case for a number of scenarios.

Attribute price is stagnant. Example: a specialist coating which costs the same regardless of who orders.
Attribute price in independent of 'main' product price.
Attribute price is reduced by the same percentage as for the 'main' product - it's a 'global' discount.

There are no doubt other variations, however for simplicity alone, that last one is obvious. Maintaining a set of attribute prices for different customer groups could become mighty complicated. I dare say that there are some that may benefit from such a granular approach to pricing by why not just compensate in the margin?

Or am I still wide of the mark?

05-12-2012, 10:28 PM
No you are not wide of the mark - it just what this store owner is looking for.

Generally, the wholesale to retail mark up on 95% of UK products is 2.4x.

So, for example, if you are using your attributes for a tablecloth which comes in 190x220cm, 190x240cm and 190x260cm.

The base wholesale cost is £20 for 190x220cm and then +£5 and +£8 for the larger sizes.

The base cost for retail is £20 x 2.4 = £48 and then £5 x 2.4 = £12 and £8 x 2.4 = £19.20.

Typically they will also round these to more saleable prices like £19.99 or £24.99!

I have considered changing the base cost to allow the attributes to be the same price for both customer groups but this only works when there is one attribute. Eg.
Wholesale £0 + Attribute +£10 = £10
Retail £14 + Attribute +£10 = £24 (ie. £10 x 2.4)

I have also considered putting in a second £ currency which is 2.4x the original one - but again this does not allow for price tweaking to £19.99 etc.

The final option I have thought about is to only have attributes which are not price sensitive - eg. colour and then list the products separately for any that have an attribute which changes the price. (Not what they want to do)

I have the coded solution in the link I posted but annoyingly this will not work in the AJAX manager (unless I rewrite it)


05-13-2012, 12:50 AM
What you are looking to do is not uncommon in trade outlets that also sell to retailers and I am surprised that it hasn't been addressed before.
Having said that, I can't see a way of doing this in oscMax other than your last suggestion, i.e. not having price-sensitive attributes.

05-13-2012, 08:30 AM
After a few hours with cold towels wrapped around my head ... I have this sort of working! You can now do multiple attribute prices by customer group.

However, I am not going to commit this to the core as it not stable nor tested properly.

Attribute prices are used everywhere in the code and I do not want to break anything for a feature that not many people need.

If anyone else needs this code - send me a PM. Otherwise, I will continue to work on it until it is safe to commit.