So yesterday I placed an order with Ocado. The order was for just two boxes of branded water filters to fit a specific kettle. The order cost at checkout was very specific stating that the final total would be £44.10. Great, I knew I had plenty of money in my account, so there was no issues with them taking the payment.
Then this morning I logged into my account and noticed that there was a payment pending for £46.35 for Ocado. Logged back into my Ocado account, and sure enough, the order total is still £44.10. So I contacted Ocado to find out what is going on, why they were holding funds over the agreed amount. Their response was, and I quote "This is done to cover any additional costs, such as any potential substitutions or catch-weight items." Only problem is, (1) I don't have any catch weight items! (2) I didn't agree to this and was not informed of this during checkout.
If they are going to do this, it should be made clear in bold lettering as a pop-up or state "Estimated total" at the end of the transaction with an explanation of what additional charges could be applied. It should not come as a surprise the following day when you go to check your bank account to find that they are holding more than you authorised.
Think about it this way, If I had only had £100 in my account and £55 was scheduled to be taken out as a Direct Debit for a bill, and I had ordered specifically just the £44 worth of shopping because I knew I couldn't afford more, then Ocado tries to put a hold on more than I had allotted for my shopping, that could have stopped my Direct Debit going out. I could have ended up then paying bank fees for bounced transaction or overdraft fees, and some banks charge more for unplanned overdraft fees.
Luckily that didn't happen to me, but there are plenty of other people who are in that situation. Companies should not be allowed to put a hold on your account for more than was agreed at checkout. If they are going to do so, it should be made clear at checkout that "We may add an extra XX for possible substitutions and catch-weight items".
This should be fairly easy to implement as you could just make a line of code that checks for items that need to be weighed and when you select one of these products, it pops up with the message. As for substitutions, it should ask you during checkout if you are happy to accept substitutions, and make you tick a checkbox to say you are happy for this, but send you a message prior to the order being send out to confirm you are happy for those specific items.
I know that Tesco already does this. I have had email's from them in the past asking if I was happy with certain alternate products if the one I asked for was out of stock. Sometimes I accept the alternate item, sometimes I don't, but at least I knew in advance exactly how much they were going to try to take from my bank account.
The cost of my shopping shouldn't be a surprise. If I checkout and it says £44.10, it should only be £44.10 be held on my account.
In this case, Ocado has lost me as a customer, and I think everyone should boycott companies like this until they get the message that the way they are doing business is unethical and should not be allowed!