WooCommerce 2.2 was released today! There's a lot of improvements like the new Simplify Commerce payment gateway and extra functionality in the REST API, but by far, the improvement I'm most excited about is the refunds. The order detail page itself has improved and we've added an API to allow payment gateways to automatically refund customers instead of forcing store owners to manually refund the customer through the payment gateway. This is a huge time saver for store owners and since it's my favorite feature for this release I wanted to make a video to show you exactly how the slick new refunds work.
Refunds Step By Step
If you don't want to watch the video or you prefer reading I've outlined the steps below.
1) On the Order Detail page press the Refund button.
2) Enter the amount you want to refund. You could refund the entire order or just part of it. Totally up to you. If you have a gateway that support automatic refunds you'll see two refund buttons. One is manual and the second will be the one you use to automatically refund the customer the money through the payment gateway.
And that's it! Just two steps. Once you've refunded the customer the order page will update to show the refund.
So as you can see it's quite easy to do. Hopefully you won't have too many refunds to make but when you do I hope they go much quicker. Happy refunding!
[…] WooCommerce 2.2 was released this week! We’ve already got a detailed review available to give you the scoop on the major changes, and Patrick Rauland wrote a bit more about refund support. […]
Hi Patrick, love this functionality and this very detailed post outlining this feature.
I am having an issue with it though unfortunately, I can’t seem to find the refund button any where on my order view. I am using the Neighborhood WordPress theme (http://themeforest.net/item/neighborhood-responsive-multipurpose-shop-theme/5086341) that comes with WooCommerce so I am thinking that their file overrides may have hidden or removed this functionality. When I contacted them they said they wouldn’t have done that. Is there a work around or another way to perform a refund?
Hi Patrick…great post. I was wondering if an automated email is sent out to the customer informing them of the refund. If so, where can I modify the automated email. Thanks.
If you look at the PayPal gateway built into WooCommerce you can see that we do send out a refund notice. If you checkout the
successful_requestmethod you’ll see we use the
send_ipn_email_notificationmethod to load the New Order Email with a custom subject:
Payment for order %s refunded/reversed.
If you want to change the subject or the content I’d use the gettext filter. This is a bit tricky for someone who isn’t familiar with code. Someone like Codeable would be able to help you get this done in an hour or two.
What about SimplifyCommerce or if we are using Receiptful?
In WooCommerce 2.4 (which should be out in a couple months) an email will be fired to all customers regardless of which gateway they used.
we are playing with this too using the PIP-Extension. Emailcommunication and VAT-Calculations are not running very smoothly, yet. Where can I find more info about features, bugs and solutions regarding the refunding issues?
Also: I cannot refund in status “completed” WC forces me to switch back to “pending”. Why?
There aren’t any known bugs at this time and I’m unfamiliar with Emailcommunication. Sounds like a 3rd party plugin? I’d reach out to WooThemes Support for help with this.
Do you know if this works with Account Fund plugin ? Lets say customer purchased an item using account fund and a refund is raised for that purchase. The fund will be returned to customer ?
Looking at that products changelog I don’t believe so. Keep in mind that you may not want to refund someone’s fund. Maybe you just want to refund the product they purchased along side account funds. Or maybe there was some kind of technical difficulty and you want to give them store credit for their hassle.
Hi Patrick, great video! Do you know of a way to not include refunds in the sales total? Thanks!
Hi Fred, what exactly do you mean? Refunds shouldn’t be included in the WooCommerce reports if that’s what you mean.
Thanks for the reply and sorry I wasn’t clear before – In the reporting section we’re seeing that the refunded amount is being included in the ‘sales in this period’ graph.
Hi Fred. Looking through the WooCommerce 2.3 changelog it looks like this has been taken care of.
If i do a refund the tax is still the same on the sale, how do I get the total tax amount to change to the new total amount after a refund?
You can always press the calculate taxes button.
Refund button always comes up with ‘refund failed’, is there an error with this?
I’ve seen this once – was it with PayPal? You can’t automatically refund an order that was made before 2.2. I’d reach out to WooCommerce support.
Yes this was with Paypal and the order was only yesterday so nothing to do with being before 2.2. Hopefully they can fix this as it makes life easier.
Yeah, I had this error too. Of course you can do it manually, but it would be nice if the automatic option worked all the time.
when I do a manual refund and go to ‘My Account’ page, there is not indication of the refund applied. It doesn’t update the total or add a note that a refund was done. I am looking for a way to show the client the refund has been added to the system.
When you refund an order it isn’t always a full refund. Could be a partial refund for being really late for example. For that reason WooCommerce doesn’t automatically change the order status. You have to manually change the order status to
On my My Account page I see the order plus the original amount. If you click into the order details you’ll see how much was refunded.
I hope that helps! 🙂
I’m now finding huge amounts showing under my “Amount Refunded” on my sales report. When I look into the actual orders for the day, no / only a few small refund amounts showing. The total on the report is more than 10x … Any advice on what to do / where to look?
I am running a few plugins including Cost of Sales from Skyverge. Any known incompatibilities?
Something is definitely going on there. I would definitely reach out to WooThemes support for help with this.
I’m seeing the same issue with refunded amount in “Reports” being way more than what’s been actually refunded. Can’t figure out the cause at all.
@Brian – did you figure this out yet? I’m still looking into possible incompatibilities with plugins.
I figured “something” out. In this partocular website, one order got refunded a specific amount of the total that month. The total refunded $ amount in reports was exactly equal to the actual refunded amount on that one order multiplied by the number of items in the order :/
I haven’t looked at it further since then but after figuring that out I racked my brain for why that was happening and came up with nothing.
Thanks – that’
s exactly what happened on my site. refunded a 10-item sale and the refund is shown as 10x the total. Bizarre. I’m going to disable plugins and functions.php stuff tonight and see if anything brings it back to normal. Let me know if you find out anything more.
Any ideas where to change the recipient of the order refund email? So that the notification is send to a different person, not the admin of the website.
+1 with Lenny Kipkem
I receive the refunds but my customer don’t. I’d like to cusomize the recipient.
Is there any way to add a button on customer’s My Account page so that they can request Refund easily?
This will improve credibility of the store for sure.
Unfortunately not all stores would want it to be that easy. I’d take a look at WooCommerce Returns & Warranty Requests.
Thanks Patrick for your prompt response!
Yeh.. Return & Warranty is my list of consideration.
You are a good man!
great post, thanks
do you know how to disable refunding option for my shop managers?
do you know what specific capabilities (or somewhere to find it) allow a user role to issue refunds so I can limit a user role thanks.
Hi, Patrick, why i cannot refund orders via Paypal? There was a pop up saying “Security headers are not valid”.
I’m also getting the “Security headers are not valid” when trying to refund in woocommerce. Payments are made through paypal ok… did you find out Serena why this happened?
When we try to make a refund via woocommerce through paypal, it says ” security header not valid” , we already have API credentials fed into our woocommerce, can you please explain this.
Please tell me how did you solve this issue?