ofBiz svn'ed to within last hour or so...

We were getting ready to make a second pass at importing our products more correctly (we'll still need several more passes), and started to look at how we will import items that get different discounts based upon product classification and party classification.

What's weird is that the discounts work just fine if the LIST price is the same as DEFAULT PRICE. For example we created two price rules that give us an effective 10% discounts on certain items for customers that normally get 50% off most everything in our catalog.

It looks like ProductPriceAction is the table that does the lifting...
productPriceRuleId productPriceActionSeqId productPriceActionTypeId     amount  
        
10000              01                      PRICE_POD                    -50.0
10001              01                      PRICE_POD                     40.0

In this case the first rule subtracts 50%, and the second one adds back 40% giving us our effective 90%. It seem to work just fine with GZ-9290 if we made the List and Default prices $100. The retail customer saw $100 and DemoCustomer who was made part of a 50% Discount category saw it as $90 if we had rule 10001 in place or $50 if we removed the action for rule 10001.

What we did discover is that if we changed the list price of GZ-9290 to $200, and left the default price as $100, that we got results that we didn't expect.

GZ-9290 List Price: $200.00 Your Price: $190.00 Save: $10.00 (5%)

What it seems to do is that price rules only apply values to the list price. In this case it figures out what to subtract and then subtracts that from the list price. We were expecting that it would compute the price based solely upon the default price and use that for "Your Price".

I don't think this is a bug (except in my brain). I know you cannot delete default price, however if you have a list price, that's the price that is displayed, and all calculations are applied to the List price rather than the calculated result.

If I change the actions at the top to PRICE_POL I get...
GZ-9290  List Price: $200.00   Your Price: $180.00   Save: $20.00 (10%)
which is correct (in that it's the correct discount for an item at $200 list)

If I delete the list price for GZ-9290 and change the rules to reflect against default price I get...
GZ-9290   Your Price: $100.00
which is wrong, in my thinking, should it not say $90? Price rules don't apply unless you have a list price?

If put only put the list price back in at $100 I get...
GZ-9290  List Price: $100.00   Your Price: $90.00   Save: $10.00 (10%)

I understand what's happening. All the calculations are correct, I just don't understand how/why the list and default prices were decoupled the way they were.

Can anyone shed some light on this for us?

--
Walter

Reply via email to