Inventory Control All Messed Up With Certain Payment Methods

While most of the time, the inventory control worked flawlessly, we've been experiencing ever more problems in the last few months, especially with a specific type of payment used, where an order is not finalized until the actual payment is done, that is , a customer is required to return to the webshop after payment.

For Paypal I get two email notifications:
1. order has been placed
2. order is in process and paid for.

No issues here

Neither are there issues for off-line payments by bank transfer

1. order has been placed

2. payment instructions for off-line bank transfer

However, for online payments towards iDEAL (bancontact or SoFort) I get two identical notifications!

This has been going on for the past 4-5 months already, which coincides with the ever increasing problem of DOUBLE inventory DECREASES where twice the amount of ordered items are subtracted from the inventory.

As I also get inventory warnings for low stock, I see this most clearly when e.g. a product has 4 items left and I get a 'low inventory' warning , there are 0 items left and then upon checking , a customer just ordered 2 !

Most of the time, when I check, the inventory will have jumped back from 0 to 2.

But sometimes, it stays on 0 .. or does the reverse and, even though a customer paid for 2 items, NO subtractions took place and inventory stays on 4!

I looked at the suggested order statuses in the demo shop and saw only one difference : backordered items, where the demo is set on 'increase'.
As we allow customers to order out of stock items (for a higher price, to accommodate extra shipping costs) we used the backorder status for delayed or partial shipments.

Thinking this could be the problem, I made another status for that kind of order, so the 'backorder' status is back on 'increase' (like cancelled, declined or failed orders).

I can't believe it is the problem as, like I wrote, Paypal or off-line bank transfer payments never gave rise to problems.

What can have gone wrong ? It sucks the joy out of me having to constantly check whether the shop inventory matches the actual inventory (which I also keep track of in a spreadsheet).

Edit: the problem seems to arise mostly when a customer changes his/her mind and backtracks to the shop in order to add/subtract an item to the cart or wants to apply reward points or erroneously chose the wrong payment method (iDEAL is the first and main payment in our country and as such is chosen by default)

Thanks for reading/listening

Yvana (partner of Anthony)

I don't know about other payment methods but a few have been complaining of the same thing with PayPal. You can set the order status for "Open" to increase the inventory and it will not subtract the inventory until the order status is "Processed" but with PayPal, if the customer returned to the store, they would see an error message stating that the order failed or something like that.

Darius posted the issue in the bug tracker and CSC modified the PayPal addon to allow you to choose the Incomplete status until the order is Processed. I haven't added the patch yet so I don't know how well it's working out. Maybe Darius will chime in.?

I am not entirely sure whether the problem doesn't happen with Paypal but my hunch is the problem with IDEAL could occur mostly because it is the default first choice if people don't pay attention and then panick , cancel their payment, come back and do something 'strange' with the order.

The main issue with Paypal is something entirely different, viz. orders not being visible when they aren't completed nor do I get a warning in the email, until I click on incomplete orders. Fortunately, that rarely happens.
With iDEAL, people sometimes leave right away and then I have to quickly cancel their order in order to get the inventory back to how it should be.
IF I do what you suggest, the problem would be that inventory stays up until an item is truly sold.. that would both solve and create problems.. I'd need to decide what is more important.

And IF I would set inventory to INCREASE , would this mean "NO change or inventory going up?

As 'open' is the first status, I'd expect inventory to go up, or am I totally wrong here?

No, the inventory will not increase. It will stay the same.

I've never really understood why there can't be a neutral choice instead of a decrease or increase.

From what I understand there will be a change in inventory if the choice in the order status is different from the last one.
So with order status OPEN being the first one, DECREASE results in subtracting that amount and INCREASE in adding that amount?

or is there another status right before this one that I am not aware of?

I don't know about other payment methods but a few have been complaining of the same thing with PayPal. You can set the order status for "Open" to increase the inventory and it will not subtract the inventory until the order status is "Processed" but with PayPal, if the customer returned to the store, they would see an error message stating that the order failed or something like that.

Darius posted the issue in the bug tracker and CSC modified the PayPal addon to allow you to choose the Incomplete status until the order is Processed. I haven't added the patch yet so I don't know how well it's working out. Maybe Darius will chime in.?

Hang on, wasn't incomplete chosen automatically for Paypal until the order was fully paid for?
This is why I (almost?) never see open orders for Paypal, unless I check the incomplete ones, which I hadn't even heard of.
Also, is incomplete the very first status an order goes through or is open the first one?

That is the way it used to work. I couldn't tell you now with the changes they have made.

Well, for now I changed the order status for open+unpaid from DECREASE to INCREASE.

No clue what effect it will have, but I will know after a few orders ..

When an order’s status is changed, the inventory adjustment of the current status is compared to the new status. If they’re the same, nothing happens to inventory. If they’re different inventory is adjusted based on the new status. If a payment method or manual operation cycles the status in an illogical order then odd results could occur. Suggest you use an add-on like our order status history add-on to see exactly what (and who) the status change history on an order is. You can find it on our site.

What can have gone wrong ? It sucks the joy out of me having to constantly check whether the shop inventory matches the actual inventory (which I also keep track of in a spreadsheet).


As we allow customers to order out of stock items


Does not make any sense, you keep track of inventory but allow it to be negative. I think as soon as you thick this, all your stock control goes to bin..

Order status - INCREASE means do nothing, leave it as it is, results in error order declined but order is actually placed but stock level not changed...
Order status - DECREASE means stock -1 (or other amount).

Yes I have requested to change functionality for paypal but only because it is real time payment method and it is logical no money no order, meaning stay incomplete till IPN is OK. But it is not a case on your payment method, probably order it placed only upon customer return..

As tbirnseth, it would be helpful to see actual log what exactly was happening to order statuses

Default settings should be such

Open - decrease

Backordered - increase (should not be assigned manually to orders)

Order negative amount disabled

Stock control enabled

Products inventory tracked with or without options

In most cases what can happen worse to placing order is customer hitting go back in browser.

OK gotcha on the backordered status, that is why I have now created a new status for 'delayed or to be sent in two installments' parcels" and left backordered to its own devices.

Does not make any sense, you keep track of inventory but allow it to be negative. I think as soon as you thick this, all your stock control goes to bin.

It seems like negative inventory but it is not how we make it work.
We do NOT allow negative inventory , instead we look at how many items we would re-order for that specific product, say 12 and then add those 12 items back into the store at a higher product price allowing for double shipping costs.

Order status - INCREASE means do nothing, leave it as it is, results in error order declined but order is actually placed but stock level not changed...

Order status - DECREASE means stock -1 (or other amount).

Your explanation for 'increase' as in being neutral now also makes sense.

PS: one more thing.. can it have to do with the fact we often get 2 or even THREE email notifications for orders being paid for??

When an order's status is changed, the inventory adjustment of the current status is compared to the new status. If they're the same, nothing happens to inventory. If they're different inventory is adjusted based on the new status. If a payment method or manual operation cycles the status in an illogical order then odd results could occur. Suggest you use an add-on like our order status history add-on to see exactly what (and who) the status change history on an order is. You can find it on our site.

Tony

Are you referring to this addon ? - https://ez-ms.com/status-history.html

Paid for is processed. Do you get it multiple times?

PS: one more thing… can it have to do with the fact we often get 2 or even THREE email notifications for orders being paid for??

Tony

Are you referring to this addon ? - https://ez-ms.com/status-history.html

Yes. It will display you date/time of change, who changed it and from what status to what status for ever status change event.

Paid for is processed. Do you get it multiple times?

Multiple paid confirmations only occur when customers choose a different payment option than PayPal.

MYSTERY SOLVED!

As the problem rarely /never happens with either bank transfer OR paypal, there is only 1 other payment channel!

The application was adapted late 2016 in order to get rid of some VAT-errors.
Ever since,we've beenr receiving double notifications.. chatted with the guy who made the adaptations and he noticed there are indeed double notifications sent out.

I notice it most for gifts that arent granted when there is only just 1 item left as it gets deleted from the cart.. but just yesterday somone paid for a product which was gone from the invoie when I compared it to the email confirmation and the actual payment as shown on the payment provider's website.

I hope to report good news in a few days! For now I keep the function Open+Unpaid to 'INCREASE'