How to record Shopify refunds in FreeAgent as credit notes
A customer returns something and you refund them in Shopify. If you record your Shopify sales in FreeAgent as invoices, that refund needs a matching document in FreeAgent too. Otherwise your sales and your VAT stay too high, and the money that left your account has nothing to match against.
In FreeAgent, the document for a refund is a credit note. FreeAgent calls it a negative invoice: it shows that the customer no longer has to pay all or part of an invoice.
First, which method do you use for sales?
There are two common ways to get Shopify sales into FreeAgent (we compare them in How to record Shopify sales in FreeAgent):
- One invoice per order. Each order becomes a sales invoice. Refunds then need credit notes. This guide is for you.
- One entry per payout. You explain each Shopify payout in your bank account as sales. In that case a refund is not a credit note. Shopify takes refunds out of your next payout, so the payout is simply smaller, and you show the refunded part as a sales refund when you explain it.
What a Shopify refund can look like
Shopify lets you refund in several ways, and each one changes what the credit note should say:
- Full refund of every item and the shipping.
- Partial refund. You can refund part of an order, then issue more partial refunds later until you reach the order total. The order shows as "Partially refunded".
- Shipping. Refunding shipping is optional and can be a part of the shipping charge.
- A changed amount, for example when you keep a restocking fee.
Each refund you issue in Shopify is a separate event. The cleanest way to keep FreeAgent in step is one credit note per Shopify refund, not one per order.
How to do it by hand in FreeAgent
- In FreeAgent, go to Work > Invoicing and open the invoice for the order.
- From the Actions menu, choose Create new credit note. FreeAgent copies the invoice lines into a draft credit note. (FreeAgent's guide.)
- Edit the draft so it matches the Shopify refund: keep only the refunded items and quantities, add a line for any refunded shipping, and remove anything you did not refund. Use the same VAT rate as the original line.
- Compare the credit note total and VAT with the refund in Shopify (Orders, open the order, look at the refund in the timeline). If the VAT is a penny out, see why Shopify and FreeAgent VAT can differ by a penny; the same fix works on a credit note.
- Mark the credit note as sent.
- When the money out shows in your bank account in FreeAgent, explain it with the type Credit Note Refund and pick the credit note. (FreeAgent's guide to money paid out.)
If no money changed hands, for example an order cancelled before the customer paid, you do not need step 6. Instead you apply the credit note to the invoice so both show as settled.
Two things people miss
The card fee does not come back. When you refund an order paid through Shopify Payments, Shopify does not refund the original card fee. The credit note should be for the amount the customer got back. The fee stays a cost of the original sale.
Where the refund money comes from. With Shopify Payments the refund is taken from your next payout, not paid from your bank account directly. If you keep a "Shopify" clearing account in FreeAgent for payments received, explain the refund in that same account, so the clearing account still balances against each payout.
If you are not sure how refunds should show in your VAT return, ask your accountant.
How Ledgerline handles refunds
We are building Ledgerline, a Shopify app that sends each paid order to FreeAgent as a sales invoice marked as paid. With the setting "Send refunds as credit notes" turned on (it is on by default), it also does the steps above for every refund:
- Each Shopify refund becomes its own FreeAgent credit note, numbered after the invoice: the first refund on SHOP-1001 becomes SHOP-1001-R1, the second SHOP-1001-R2.
- Refunded items appear as "Refund:" followed by the item name lines. Refunded shipping or a changed amount goes on a line called "Refund: shipping or adjustment".
- The credit note total and VAT are matched to the refund in Shopify, with the same penny fix Ledgerline uses on invoices.
- The credit note is marked as sent and recorded as money out of the FreeAgent bank account you chose for Shopify payments, so it shows as refunded.
- A refund on an order that was never sent to FreeAgent is not sent on its own. Ledgerline's sync log tells you to sync the order first.
Ledgerline does not record Shopify's fees. Record those from your payouts as you do today.
Ledgerline is in review for the Shopify App Store and not available yet. Leave your email below and we will tell you once when it is live. For the other options available today, see FreeAgent Shopify integration discontinued: what to do now.
Notify me at launch
Get one email when Ledgerline is live on the Shopify App Store.
We store your email, the shop URL if you give one, and the time you agreed. We use them to send one email when Ledgerline launches on the Shopify App Store, then delete the list. We send nothing else and share it with no one. To be removed at any time, use the delete link we show after you sign up or email kyle@skillmerc.com.
More Shopify and FreeAgent guides
- FreeAgent Shopify integration discontinued: what to do now
- How to record Shopify sales in FreeAgent (step by step, works today)
- Shopify and FreeAgent VAT a penny out? Why it happens and how to fix it
Ledgerline: Shopify to FreeAgent
Selling on WooCommerce instead?
Our free plugin Skillmerc Sync for FreeAgent sends paid WooCommerce orders to FreeAgent as invoices with VAT, marked as paid. Guides: send WooCommerce orders to FreeAgent and WooCommerce FreeAgent integration options.