I will present a case I am having in my Woocommerce store. It is not an issue itself, but it is some behaviour I need to change.
When a client, let's say "Client A" makes a purchase but doesn't pay, the order remains in "Pending Payment" status. This status holds the stock but doesn't reduce it. Leading some cases where the stock available is not the real stock and affecting the user experience.
for example:
We have 10 units of "Product A" and the "Client A" order 5 units of that product and doesn't pay.
Then "Client B" see that "Product A" has 10 units in stock and adds 6 units or more to the cart. When goes to cart page a validation message appears and it says there are only 5 units in stock of "Product A". This happens because the "Pending payment" order of Client A is holding 5 units in stock. 10 - 5 = 5.
I think of two solutions for this matter:
Changing the behaviour of pending payment status so it reduces the stock instead of "holding it".
Changing the quantity stock number so it shows the actual stock minus the holding stock from Pending payment orders.
As far as I know this is a default behaviour of Woocommerce. What do you think I should do and how?
Thank you in advance.
I created a new woocommerce site without any other plugins and the behaviour it is the same.
Related
I have tried to use what I found in "Exclude variations with 2 specific attribute terms from coupon usage in Woocommerce" but I can't get it to work. My attribute $taxonomy is 'puroptions' for "purchase options" and the three $term_slugs = array('subscribe1','subscribe2','subscribe3'); for 10% discount subscription orders for one, two or three months. There is also the option for "one time purchase" at regular price.
I am trying to exclude the subscription discount attributes so customers don't get an extra 10% when we offer a 10% coupon. Either they subscribe to a product to get 10% or they use the coupon which only takes 10% from the one time purchase. Can anyone help.
I have default prices set for every product in the shop, but sometimes we agree on different prices per item with certain distributors, so I edit the prices in the order creation.
When editing, I would like to display the agreed price per item in the item_cost td and get the totals calculated in consecuence rather than editing the totals and getting the discount applied.
I thought this was a base feature of Woocommerce but apparently it isn't. Any ideas?
After so many time looking for a solution for the same problem, the support from Rednao team juste gave me the answer.
The light gray "before discount" field ("antes del descuento" in your case) is editable!
So just add your new price in the total field, add the same price in the "before discount" field, and that's it. The unit price will be OK now.
Is it possible to set a currency per user rather than based on a user's address. So that no matter where in the world a customer was looking at the site they would always see their "home" price? e.g a US based customer always sees the $ price, even if they are currently shopping from Europe.
Ideal solution would be to have a currency selection box in the user profile.
Option 1
Check this WooCommerce Plugin: "The Currency Converter Widget lets you offer a dynamic currency switcher for displaying product prices and totals." "... your customers will be able to change the currency". (It costs extra, though.)
https://woocommerce.com/products/currency-converter-widget/
https://docs.woocommerce.com/document/handle-multiple-regions-currencies-woocommerce/
Option 2
Another plugin. WooCommerce Multi-Currency: "Multi-Currency is a WooCommerce extension that provides switching currencies and re-calculating rates on-the-fly." The user can "Choose the currency using a sidebar widget" and "Pay in the selected currency" (Also costs extra.)
https://woocommerce.com/products/multi-currency/
Here is an overview on the topic:
https://docs.woocommerce.com/document/shop-currency/ -> text on Multiple Currencies
I received two orders and order status is automatically set to on hold.
When the order was ready to deliver, I tried to change the order status to Pending Payment (as you see in the picture) but unfortunately the Save Order button is not working and it is not doing anything. I don't have any problem for the other orders. I have processed more than 100 orders without any problem. I couldn't find any difference between these orders and others that don't have any problem.
I found that I can change the order status to processing, on-hold or complete from the bulk edit (see below picture) but there is no Pending Payment option in bulk edit.
Do you have any idea?
Finally, I found the problem.
The problem was because of the value with more than 1 decimal place in QTY field.
#Majid Nasirinejad
I guess you are using the plug-in WooCommerce Advanced Quantity.
I had the same issue and just found its cause.
Under "Edit Product" in the "Product data" section under 'WooCommerce Advanced Quantity' you can set "Minimum" and "Step" among others.
If in the 'Edit Order' page you edit the quantity and put any value outside those you defined in "Minimum" and "Step" etc., the "Update Button" will stop responding.
Solution:
e.g. Product C:
Weight (kg): 1
Minimum: 0.25
Step: 0.25
In this case, values allowed would be 0.25 - 0.50 - 0.75 - 1.00 - 1.25 etc.
if you put a value not covered by your settings, e.g. 0.4 or 1.17 your "Update Button" will not work.
I have set stock for a product to 1. But when I test this setting on front office, trying to buy it, I have this error message:
'Sorry, we do not have enough "product name" in stock to fulfill your order right now. Please try again in 60 minutes or edit your cart and try again. We apologise for any inconvenience caused.'
I don't understand why I have this error, because there is 1 item in stock for this product.
How to get rid of this issue?
For Stock / Inventory product purposes in WooCommerce:
1) Woocommerce settings > Products (tab) > Inventory (sub-tab):
Normally your stock management is enable.
You need to set the Out Of Stock Threshold to 0
You can disable Low Stock Thresold notifications too, if needed.
2) At individual product level (on product pages) > Product data meta box > inventory (tab):
You can "Enable stock management at product level" and have individual settings for a specific product. So you will have to check there too.
I had the same issue and after some digging found that one paypal payment for the product in question is 'pending' that means the person did not have sufficient funds in her paypal account and paypal is waiting to get verification from the bank. The seat will not be released for purchase or show out of stock until paypal secures the funds. Hope this helps.
This is not a perfect solution, but see:
WooCommerce > Settings > Products > Inventory
And clear this settings like this:
Like i said, this is not a perfect solution, since it disables one of the many functions of this plugin, but it helps till the wooteam fix this problem.
The solution is to leave blank "Hold Stock (minutes)"