Question

We are selling articles that should be sold cheaper if sold in specific multiplies (10 pieces, 20 pieces, ...).

When setting a tier price, it is only possible to set this price for "> 10" items and 11 items would also get an discount.

Is there an "easy" way to set this in the Magento backend or a simple approach for an own module?

Was it helpful?

Solution

I don't think there is a builtin functionality to cover this.

But anyway a module shouldn't be that hard.

There are 2 events, checkout_cart_product_add_after and checkout_cart_update_items_after, observe both and inside the observer do something like:

$item = $observer->getItem();
if (($item->getQty() % 10) == 0) {
    $item->setCustomPrice($item->getPrice() * 0.9); // or whatever ;-)
}

I would suggest this way to solve the problem.

OTHER TIPS

I think this can be achieved easier using 'Shopping cart discount rules'. I assume that if the customer buys 11 items he should get a discount for 10 of them and 1 full price. This can be done via rules using 'Discount Qty Step (Buy X)'. You can even set a max qty for discount and what is over that is paid full price.
The only downside of this is that the customer won't see this discount until he/she adds the product to the cart.

Licensed under: CC-BY-SA with attribution
Not affiliated with magento.stackexchange
scroll top