Expresso Store - Exclude Product from Order Quantity - expresso-store

I'm using Expresso-Store to process product orders for a non-profit. In addition to selling a range of handmade products we are offering visitors an option to donate.
I have most of the donation stuff working just fine. I used Justin Long's advice posted here: http://iamjustinlong.com/blog/single/accepting_donations_with_expresso_store/
As suggested I have created a channel for all the products and then a separate channel which holds a single "Donation" product with a cost of $1.00. The visitor adjusts the quantity of this item which results in a donation amount of $1.00 * qty.
The specific problem I'm running into is displaying the total quantity of items in the cart when there's also a "Donation" product added. Since the donation amount is determined by quantity * $1.00 but in reality it represents a single donation, my {order_qty} is way off since it includes the many multiples of Donation products.
I have a small cart icon that is displaying a number above and next to it with the {order_qty} but I need to exclude the donation product from this calculation. How might I go about this?

This would be fairly difficult to do using the current version. The best I can suggest is not to display the {order_qty} on your checkout page (most sites only display the total anyway).
However, in saying that, the next version of Store has first-class donations support, so it will soon be possible.

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.

Shopify adding offers to items when checkout to change the total order price

I am looking to be able to add offers to my items in Shopify. E.G if a customer orders 3 items then the total order price would get set to something like $15 but if the customer orders like 5 items the total order price would be set to something like $20.
It would also need to work if 4 items were added to the checkout so the price would come out something like 3 items for $15 + $5.95 for the 4th item and so on for the other items.
Any help is appreciated.
Each variant in your Shopify store has a fixed price. At this time, you are unable to change what you charge for that variant item on an order-by-order basis.
The popular way around this, is to create multiple variants of the same product, with different prices for different quantities.
Example:
product: widget
variant: widget-3-or-less price: $10
variant: widget-4-to-10 price: $8
variant: widget-10-or-more price: $5
Clearly you don't want people to be able to add whichever variant they want, or else everyone would simply add the cheapest one without any regard to the required quantity. So you need some sort of backend application that will safeguard the variant selection, and automatically determine which variant should be in a customer's cart based on their desired quantity, and adjust their cart accordingly.
It's a lot of work to code from scratch. Completely possible, but, in most situations it is more viable to use a 3rd party Shopify App to handle it. In your case, the "Quantity Breaks" app by Bold Apps would work great. It has all of that functionality already made and ready to go.
https://apps.shopify.com/quantity-breaks

Can Magento handle large numbers of product prices

I am using Magento 1.7.0.2, with approximately 4,000 product items and 3000 customer accounts, recently I have been tasks with uploading a large amount of customer prices. The prices will be held against the product as group prices, and the customers price will be determined by the group they belong to - all standard magento and all working fine.
However the requirement will mean i will be required to upload 650 customer groups, and then associate a product price with each group
This yeilds 650 * 4000 = 2,600,000 - A lot of prices!
I'm aware that this will take some time to complete as a process the question is can Magento handle this number of prices?
thanks
Magento is able to handle this. Of course it depends on the hardware also :).
There might be some problems in the add-to-cart and checkout process. by problems I mean it might slow down the process a little.
For product listing Magento uses the index tables for prices (and others) so this shouldn't be an issue.
By the way...your indexing process will take longer. You might not be able to run it from the backend (but that is not recommended anyway).

Mixed currency products in Magento

I'm evaluating if Magento will be suited to a particular client. They have an unusual requirement where their products may have two price components, one in AUD and one in reward points. There are three combinations of prices: all AUD, all reward points and a fixed mix of both.
I was wondering if Magento supports such a scenario? That is, can it have products flowing through to the shopping cart which have multiple currencies?
My research indicates you can have different currency prices per store for a product in Magento, but you can only have a single price per product within the same store. Also, that the shopping cart only supports a single currency (though you can switch between currencies), so I'm guessing I couldn't add two products, one from each store to the same cart. Are these true?
If my research is correct, I may need to resort to some sort of custom field against the products. If I do that, am I going to have to toss the standard Magento shopping cart out and roll my own?
Actually this might simpler than you think. If you want reward points as currency you can use:
SweetTooth Reward points http://www.sweettoothrewards.com/learn/
It already does what you need, and I have used it in the past several times. The company is very professional and the extension is A++

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