ProductVariation.get_qty_price applies deltas from option groups even when ProductVariation prices are explicit

Create issue
Issue #1382 resolved
Joshua Pokotilow created an issue

According to the Satchmo documentation at, 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.

Comments (4)

  1. Adrian Elford
    • changed status to open
    • marked as minor
    • changed milestone to dev

    The quantity filter in configurable/ is preventing output of all quantity prices. ProductPriceLookup.create_for_variation() -> variation.get_qty_price_list() needs all prices to update lookup table.

    Edit: this bug occurs when quantity prices are set on the variation itself and execution drops into configurable/

  2. Log in to comment