1

Bundle items don't seem to listen to the simple product tier pricings. Is it possible to set up a product to sell in this way at all with a fixed service charge and tier pricing?

I have the following tier pricing of a simple product

Price = £2 
10+ = £1
20+ = £0.75

Now I am wanting to sell this product as part of a bundle, with a fixed set up cost for the bundle of £10.

How is this possible to set up a product so the £10 is a fixed cost, but that magento also follows the tier pricing of the simple product in the bundle (which it does not seem to be doing)

Examples

Customer purchases 1 item = £12

Customer purchases 10 items = £20

Customer purchases 20 items = £25

Thanks for the help. I am figuring i am either missing something obvious, or this needs some sort of hack?

1

This needs some sort of hack or module. This is not possible out-of-the-box.

  • Any Suggestions? – eleven11 May 8 '13 at 14:54
  • No. I never used the tier prices til now. Sorry. – Fabian Blechschmidt May 8 '13 at 15:56
1

This is a bug in Mage_Bundle_Model_Product_Price::getSelectionFinalTotalPrice():

if ($bundleProduct->getPriceType() == self::PRICE_TYPE_DYNAMIC) {
    $price = $selectionProduct->getFinalPrice($takeTierPrice ? $selectionQty : 1);
}

Here the configured selection quantity $selectionQty is used for tier price calculation but the quantity of the bundle itself is ignored. By the way, the parameter of getFinalPrice() is only used for tier price calculation, the method always returns a unit price.

A fix would look like this:

if ($bundleProduct->getPriceType() == self::PRICE_TYPE_DYNAMIC) {
    $price = $selectionProduct->getFinalPrice($takeTierPrice ? $selectionQty * max(1, $bundleQty) : 1);
}

I.e. if the quantity of the bundle $bundleQty is known, it will be multiplied.

To save the price correctly not only in the bundle but also in the selection itself, we have to trigger a recalculation of their final price as well because at least in some cases it is already calculcated (wrong) at this point. To achieve this, I added the following lines at the beginning of the method:

if ($takeTierPrice) {
    $selectionProduct->setFinalPrice(null);
}

Attention: You should not change core files directly, always use class rewrites if possible or at least copy the patched file below app/code/local/Mage.

I wrote a little extension that fixes this together with another bundle tier pricing bug, you can get it from https://github.com/sgh-it/bundletierprices

Further reading: http://www.schmengler-se.de/en/2014/10/magento-buendelprodukte-staffelpreise-der-einfachen-produkte-nutzen/

-1

Think this might help you out -

http://www.webshopapps.com/uk/appshop/tiered-pricing-across-multiple-products.html

Used it myself a while ago to solve a similar situation.

  • This extension seems to solve an entirely different problem: tier prices across products, similar to shopping cart price rules. – Fabian Schmengler Jan 16 '14 at 8:26
  • Link doesnt work anymore. – sv3n Jan 9 '18 at 16:22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.