Refunds from WooCommerce
You refund in WooCommerce (Orders > the order > Refund). Odoo turns each refund into a credit note.
What Odoo reads from a WooCommerce refund
When the order is updated, Odoo reads each new refund of the order (orders/<id>/refunds/<id>):
| WooCommerce refund | Odoo credit note |
|---|---|
| Refunded line items (quantity, total, taxes) | One credit note line per item, on the original order line, with its taxes |
| Refund amount | Total of the credit note; anything not covered by item lines (shipping, a manual amount) becomes one line with the refund reason |
| Reason | Line label and Reason on the refund |
| Refunded payment (money returned through the gateway) | The refund payment is registered, when the payment method registers payments |
The refund is listed on the order's Online Store tab and in Online Stores > Sales > Refunds.
From refund to credit note
With Import Refunds as Credit Notes on, each refund made in WooCommerce becomes a credit note in Odoo, linked to the order. Refunds are read when the order is imported or updated.
How the credit note is built
- Odoo records the refund (amount, reason, From the store) on the order's Online Store tab and in Online Stores > Sales > Refunds. Each refund is recorded once.
- No posted invoice yet: nothing else happens. The log notes that there is no invoice to credit; handle it when you invoice.
- Posted invoice: Odoo creates a credit note for the customer of the invoice, in the same journal and currency, reversing that invoice:
- one line per refunded order line, with the refunded quantity and amount and the line's taxes (the mapped store taxes, or the order line's taxes);
- when the refund is more than those lines (for example refunded shipping or an amount-only refund), one more line with the rest, without tax, on the account of the invoice's first line, labelled with the refund reason.
- The credit note is posted. It is not sent back to WooCommerce.
- When the money went back to the customer in WooCommerce and the payment method registers payments, Odoo also registers the refund payment in the payment method's journal.
Good to know
- The credit note is not reconciled with the invoice automatically. When the refund payment is registered (step 5), the credit note is paid. Otherwise reconcile it as you would any credit note (on an unpaid invoice Odoo shows it as an outstanding credit you can add).
- To refund in Odoo first and send it to WooCommerce, post a credit note yourself (see sending refunds).
FAQ
I refunded in WooCommerce but no credit note appeared. The order had no posted invoice yet: the refund is recorded on the order only. Or Import Refunds as Credit Notes is off.
The order status became Refunded. Odoo keeps the sales order confirmed and adds the credit notes. A full refund does not cancel the Odoo order.