Basket price rules - Magento - magento

I tried to set up a basket price rule: save 25 when you spend £300 or more on specific products.
condition:
subtotal equals or greater than 300
product attribute combination: category contains "the specific product"
Action
fix amount for the whole basket: 25
However, the rule always applies when customers spend more than £300 and contains the specific product. It doesn't require them to spend more than £300 on the specific products.
Anyone knows how to set up this kind of rule? I want customers spend £300 on the specific products, and the basket could contain a few different products??
Thanks

Related

WC: Negative Stock from Order while Backorder is disabled

This is my problem: a customer bought a product that was out of stock. So the stock went from 0 to -1.
My out of stock threshold is at 0 and back ordering is disabled with all products.
I tried to recreate the scenario on my staging site but it was not possible to me. The product is greyed out and not selectable when I set its quantity to 0.
I thought maybe some caching issue (I'm using Hummingbird) prevented it from updating the stock. So these were the further scenarios I tried:
- selecting product on single product page, set stock in back-end to 0 --> not possible
- product in basket, set stock in back-end to 0 --> not possible
- product in checkout, set stock in back-end to 0 --> not possible
Would anyone of you know how it could have happened? I'm not sure how to proceed.
thanks
Jan
After carefully reading the WooCommerce source code I think you can recreate the problem if you have two computers.
Consider a product P with stock quantity equal to 1. There are 2 different customers A and B. Customer A puts product P into his cart. Before customer A places his order customer B puts product P into his cart. Then customer A places his order reducing the stock quantity of product P to 0. Then customer B places his order reducing the stock quantity of product P to -1. Unfortunately to test this it requires two computers (or two browsers) since you need two simultaneously logged in customers. I only have one computer and don't want to install another browser.
The problem is in the function WC_Cart::add_to_cart(). It calls WC_Product::has_enough_stock() with references to only the stock quantity of the product and the quantity ordered in its cart. It doesn't not take into account the quantities of the product that exists in other carts. In fact WooCommerce should be able to do better as it has knowledge of the contents of customer A's cart when customer B adds product P to his cart A.
Of course there is a bit of a dilemma here because if WooCommerce prevents customer B from adding product P to his cart because customer A has it in his cart and customer A doesn't actual place the order then the company may have lost a sale.
Alternatively, WooCommerce can reject customer B's order when B places the order but unless I missed something I did not see any code to do that. That would seem to me to be a reasonable solution.

How do I find a Magento products primary category

I am using Magento 1.6.2.
I need to find an easy way of checking which category is the "default" category for any given product, where multiple categories have been assigned to that product.
The reason for this is as follows:
I have different discount amounts available on different categories in my store.
Where a product falls into two categories with different discounts applied, the highest discount should be applied to that product, but if that product has been added to the system (created) with a default category that has a lower discount, and then afterwards added into the higher discount category as well, the higher discount level is not being applied when that product is purchased.
If, however, I add the product to the higher discount category first, and then to the lower discount category afterwards (so the product appears on my website in all the right places), the correct (higher) discount level applies to that product.
I can only assume, therefore, that the default (or primary, or first, however you want to label it) category is the one that determines the outcome of the discount level to be applied to it. If this is wrong, then I need a lesson in understanding the mechanics behind this to see where I have gone wrong in the overall setup of this system...
If my assumption is correct, then I need a way to determine which category any given product (using the SKU) has been assigned to first, to ensure that the correct discount can be applied to that product.
I hope I have explained that clearly enough!
Does anyone have any suggestions. I have been unable to find information on this regardless of guessing specific search terms. The only things I can find are related to general category retrieval, and not this very specific task I need.
Cheers!
Im afraid your assumption is incorrect. Magento has no concept of a 'primary' category for a product. It only knows the product is in category id(s);
1, 12, 234
etc. The id's are stored numercially with no idea of which category might be more important than another.
What you could do instead is create a custom attribute and enter the id of the category you want to treat as 'primary' and retreive this attribute value when working out whether to give more discount or not.

Why doesn't my Magento shopping cart rule work with different product types?

I work for an ecommerce site.
We have a shopping cart rule that when a customer adds five items to their basket the cost of one of those items is removed from the balance. We advertise this as "Buy four items get one free."
However, we distinguish between "Standard" and "premium" product types on our back end and the rule does not activate for mixed baskets. The rule works for baskets of 5 premium products and baskets of 5 standard products but not mixed baskets of 5.
This is how the rule appears on the back-end:
http://i.imgur.com/vw4SDS4.png
And on the action tab:
http://i.imgur.com/tGdRWGn.png
What is wrong with this shopping cart rule?
Thanks for the new image.
Well looks like yo try to do this with Buy x get Y free method, what could be utilized only with the same product.
You could use an different approach to create your conditions, like:
Apply the rule only if the following conditions:
If total quantity equals or greater than 4 for a subselection of items
in cart matching ANY of these conditions:
type is ...
type is ....
After this modify you Actions tab, and apply an another rule type, like percentage, or fixed discount, what you want.
With this change, your mixed basket will work also!
Hope this helps!

Magento-Custom shopping cart price rule - Buy 2 different products and get those for flate rate?

I want to set up different kind of price rules(shopping cart price rules) for my client. I tried default magento's extension, but I couldn't. when I searched in the net, some solutions told that using observer can solve my problem. But those weren't enough for me. Let me explain one of my problem.
Buy 2 different products and get those for flat rate.
Say, Product X is 700 and Product Y is 500. When customer buys those 2 products (Total 1200), he can get both products for 1000.
is there any straight way to do this or should need to create custom module with database table and observer?
First Specified Your X and Y SKU and put this condition and action and apply discount amount.
If you don't found SKU in condition, then change in the SKU attribute to apply shopping rule to YES

Magento - Add configurable product option surcharge to tier pricing

When I set up configurable products and they have options that include surcharges (i.e. the 2XL costs +$2.00) and I select the option with the surcharge, the price itself updates, however, the tier pricing associated with that product does not. So, this is what my customer sees...
Product is $10, the 2XL is +$2.00. If they buy 10 or more, the product is $6. When they select the 2XL, the price updates from $10 to $12, but the tier pricing tells them they are still getting it for $6 each if ordering 10 or more. When they add 10 to their cart, they get the correct price of $8 (the $6 discounted price plus the $2 surcharge) but this is just a bad experience - they think they are getting a deal they were never intended to receive.
How can I add to it so that when the option with the surcharge is selected not only is the price updated, but so is the tier price that displays?
I would suggest looking at an extension called Simple Configurable Products:
http://www.magentocommerce.com/magento-connect/simple-configurable-products.html
It will allow you to make the product price dependent on the simple product that is related to the configurable product. You should be able to set up the tiered pricing on the simple product and have it reflected on the parent.
That extension is not 1.6 compatible out of the box, but the following addresses that issue:
http://www.magentocommerce.com/boards/viewthread/245061/
Magento allows tier prices for products and prices for individual options. However, tier prices for individual options are not supported. Still there are three ways of realizing tier prices for custom options. The last option is the best, from my point of view:
1. Displaying the surcharges on basket price rules:
It is the most elegant option if the products are imported with an import interface from an erp-system. In this case you can generate basket price rules, during or at the end of the import, which deliver discounts on each position. However, there is a major drawback: The discounts on the products are shown as one sum in the checkout. Therefore this option will only be useful in rare cases.
2. Better Configurable Products:
For each variant of the product an additional simple product is added. Better Configurable Product makes sure that the tier price is taken from the simple product. However, with many products and many variants, it will quickly become confusing. All these simple products must be assigned to a configurable product. Furthermore, all products have their own stock. Additionally both of the extensions use numerous rewrites that change the very core of the Magento system.
3. Generating additional individual options with prices:
An individual option only allows one surcharge, when 5 are needed - one for each tier price. So you add 5 individual options with different prices. The advantages of using this solution are moderate changes to the system while displaying the prices for the products in a reasonable way. The solution works with two observers – and additional rewrites of blocks for better visual appearance. Once passed the checkout, Magento just works with standard custom options. Therefore, it is very unlikely to experience problems in the later steps – e.g. invoice, shipment, credit memo and export to an erp-system. The disadvantages are additional options in the backend that are somewhat disturbing when maintaining the products by hand.
There is also a module as a sample for your own development. It requires entering of tier prices and individual options, in the backend. Finally, the prices of the individual options for each tier price are entered in the newly generated options. You can request a copy at http://www.code4business.de/kontakt-impressum/ free of charge.
For more information about tier prices in Magento with custom options or about the use of the module just have a look at http://www.code4business.de/tier-prices-for-magento-custom-options-en/

Resources