SKILLMERC tools

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):

What a Shopify refund can look like

Shopify lets you refund in several ways, and each one changes what the credit note should say:

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

  1. In FreeAgent, go to Work > Invoicing and open the invoice for the order.
  2. From the Actions menu, choose Create new credit note. FreeAgent copies the invoice lines into a draft credit note. (FreeAgent's guide.)
  3. 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.
  4. 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.
  5. Mark the credit note as sent.
  6. 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:

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

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.