According to the Satchmo documentation at http://www.satchmoproject.com/docs/rel/latest/pricing.html, ProductVariation prices work as follows:
- You can set a default price on your Product.
- You can set a price adjustment for an option.
- You can set a price override for a variation.
The price code looks through these backwards. If the variation has a price then that is used. Otherwise the Product price is used +/- the adjustment for the chosen options (IE: XL shirts are +$1.00)
Unfortunately, when explicitly setting the price on a ProductVariation, ProductVariation.get_qty_price mistakenly applies price adjustments to price overrides. The most obvious manifestation of this inconsistency that I've seen is: when it comes time to view items in your cart, the line item total doesn't jive with the individual item price. For example, the individual item price may correctly show "$49.00," but the line item total would show "$59.00," assuming the variation in question has a delta of +$10.