Banner for How to Manage Shopify Refunds in Sage 50 with Credit Memos
sagify
sage50
shopify
refunds
credit memos
accounting integration
sagify-us

How to Manage Shopify Refunds in Sage 50 with Credit Memos

How a Shopify refund should post in Sage 50 (US) - the credit memo, partial refunds, restocking fees, returned stock, and keeping A/R and payouts in balance.

Refunding an order in Shopify takes one click. Recording it in Sage 50 takes three things to go right: the sale has to be reversed, the stock has to come back (or not), and the money that left has to come out of the right account. Get one of them wrong and it surfaces weeks later, as a customer with a mystery credit on the aged receivables report, or a payout that is $64.20 short of what Sage 50 expects.

This guide is for Sage 50 US edition (Sage 50 Accounting, formerly Peachtree). It covers how a Shopify refund should be recorded, by hand or automatically, including partial refunds, refunds where nothing comes back, and restocking fees.

The short answer: record every Shopify refund as a credit memo against the original invoice, dated the day of the refund, with the refunded items, tax and shipping on their own lines. Then record the money going back out in the same place you record the Shopify payout. Never edit or delete the original invoice.

In this guide:

What a Refund Has to Undo

A Shopify order that became a Sage 50 invoice moved up to five things in your books. A refund has to move each of them back, by exactly the amount refunded:

What the sale did What the refund has to do
Credited a sales account Debit the same sales account (or a sales returns account)
Credited sales tax payable Debit sales tax payable by the tax Shopify actually refunded
Debited accounts receivable Credit A/R, so the customer is left owing nothing and owed nothing
Took the items out of inventory and booked their cost to COGS Put the items back and reverse the cost, but only if they came back
Brought the money into the account your Shopify payouts land in Take the refunded amount back out of that account

In Sage 50 the first four rows are one document, the credit memo. The fifth is a payment or a receipt, depending on how the money went back. Sage's own help describes processing a customer refund ↗ as three parts: enter the credit memo, enter the refund payment, then reconcile the two on a receipt so both clear. Shopify changes the second part, because there's no refund check: the money comes out of a payout. More on that below.

The Credit Memo, Line by Line

Enter it from Tasks → Credit Memos. Pick the customer the original invoice was billed to, then on the Apply to Invoice No. tab choose that invoice and type the refunded quantity in the Returned column. Sage 50 restores that quantity to inventory automatically. If there's no invoice to point at, the Apply to Sales tab takes free lines instead.

A credit memo that will survive month-end has:

  • A reference that ties it to the order. Sage's help suggests a suffix such as 106-C for invoice 106. Whatever you pick, use it every time, so searching for the order number finds both documents.
  • The refund date, not the order date. An order placed in March and refunded in April belongs to April. March stays the way you reported it.
  • One line per refunded product, on the same item and the same sales account as the invoice line, with only the refunded quantity.
  • The tax Shopify refunded. On a partial refund Shopify refunds the tax on the refunded lines only. If your invoices calculate tax through a Sage 50 sales tax code, the memo will calculate it too, so compare its figure with Shopify's.
  • Refunded shipping, when there is any, posted the same way the invoice posted it (in the Freight field or as a shipping line).
  • An adjustment line for any part of the refund the product lines don't explain, such as a restocking fee you kept.

Then one check: the memo total equals the amount Shopify shows as refunded on the order, to the cent. If it doesn't, a line is missing or a line is wrong.

A credit memo applied to an invoice in Sage 50

Partial Refunds

Shopify lets you refund part of an order in three different ways, and each needs a slightly different memo.

  1. Some of the items. The customer returns one of three mugs. Credit one unit on the mug line, with its share of the tax. The other two stay sold, and the invoice stays as it is.
  2. An amount, with no items. You refund $10 because a parcel arrived late. Nothing came back, so don't credit an item, or Sage 50 will put a mug back on the shelf that was never returned. Credit a sales returns and allowances account (or your sales account) for the $10.
  3. Shipping only. Credit the freight or shipping account by the amount refunded. No items, no stock movement.

An order can also be refunded more than once: a mug in week one, a goodwill amount in week three. However you number the memos, the rule doesn't change: the memos for an order add up to the total Shopify refunded on it.

Restocking: When Goods Come Back, and When They Don't

When you refund items, Shopify asks whether to restock them. Sage 50 asks nothing: a credit memo line on an inventory item puts the quantity back in stock and reverses its cost of goods sold. That's right when the item comes back sellable. It's wrong when:

  • the customer keeps the item (a "refund without return"),
  • the item comes back damaged and goes in the bin,
  • the item goes back to your supplier instead of your shelf.

There are two clean ways to handle those in Sage 50:

  • Credit the item, then write the units off with an inventory adjustment (Tasks → Inventory Adjustments) to a shrinkage or damaged goods account. Your sales by item still shows the return, and the loss lands where you can see it.
  • Credit a GL line instead of the item, on a sales returns and allowances account. No stock comes back and the original cost stays in COGS, which is correct when the goods are gone. It's simpler, but the item's sales history won't show the return.

Restocking fees. When you keep a restocking fee, Shopify refunds less than the item price. Credit the full item (it did come back), then add an offsetting line for the fee you kept, to an income account, so the memo total equals the refund. The fee then shows up as income instead of quietly reducing the item's revenue.

The Money Side: Refunds and Shopify Payouts

How you record the money depends on whether the original invoice was paid in Sage 50.

The invoice is still open. This is the case for B2B orders on net terms, for example. Apply the credit memo to the invoice and you're done: the open balance drops by the refund and no money moves.

The invoice was paid. This is the normal case for a Shopify order. The customer paid at checkout, and the invoice got its receipt when the order was posted or when the payout arrived. The credit memo now leaves the customer with a credit balance, and nothing yet records the money leaving. In Sage's standard process you'd write a refund check and clear it against the memo on a receipt.

With Shopify Payments there is no check. Shopify takes the refund out of the next payout, so the deposit that reaches your bank is smaller than the sales in it. Record the refund where you record that payout:

  • If you record payouts as receipts against invoices, add a negative receipt for the refund that applies the credit memo, dated the payout date and on the same deposit ticket as the payout's other receipts. The customer's balance goes to zero, and the deposit in Sage 50 equals the deposit on your bank statement.
  • However you record payouts, the test is the same: after the payout is booked, the customer's balance is zero, the memo is fully applied, and the Sage 50 deposit matches the bank to the cent.

A negative receipt applying a credit memo in Sage 50

If the refund went out through another gateway (PayPal, for instance), the same logic applies to that gateway's settlement account instead of the Shopify Payments one.

Five Mistakes That Break Month-End

  1. Editing or deleting the original invoice. It changes a period you may have closed and reported sales tax for, it breaks the link between the payout and the order, and it erases the audit trail. The sale happened. The refund is a second event.
  2. Dating the refund on the order date. It moves revenue and tax out of a month that's already closed. Date the memo when the money went back.
  3. Leaving the memo unapplied. An unapplied credit memo sits on aged receivables as a credit while the paid invoice next to it looks fine. Sage's own support team warns ↗ that a refund and its memo stay on the aged receivables report until they're reconciled, even when the customer's balance is zero.
  4. Restocking what never came back. Sage 50 shows more stock than the shelf does, and the next stock count produces a write-off nobody can explain.
  5. Booking the payout as one net deposit. If the payout goes in as a single "Shopify sales" amount, the refund disappears into it and the credit memo has nothing to clear against. That's how mystery credits pile up. Our guide to reconciling Shopify payouts in Sage 50 covers splitting a payout properly.

Automating It with Sagify

Sagify US turns each Shopify refund into a Sage 50 credit memo that follows the rules above:

  • Referenced to the order: 1470-REF for order #1470, dated the day of the refund, with the note "Refund for Shopify order #1470" and the original invoice's sales rep.
  • Line for line: each refunded product on the same item and sales account as the original invoice, with only the refunded quantity; refunded tax, shipping and product discounts on their own lines; and an Adjustment Refund line for anything the lines don't explain, such as a restocking fee. The memo total is always what Shopify refunded.
  • Applied when possible: the memo is applied to the original invoice when Sagify finds it, and otherwise posted unapplied, with the log saying which.
  • Refunded before it was posted: if Shopify already shows an order as fully refunded when you post it, Sagify asks whether to skip it, post the invoice anyway, or post the invoice together with its credit memo so the customer's balance ends at zero.
  • Payouts that balance: with the Smart Receipts payout method, the payout run books the credit memo and the negative receipt in the payout's deposit, so the Sage 50 deposit matches the bank.

A credit memo created by Sagify US

You can run refunds for any date range from the Dashboard. Orders that already have a memo are skipped, so a refund can't be booked twice.

Running Shopify refunds for a date range in Sagify US

One thing to know: Sagify credits refunded units back to their Sage 50 item, which returns them to stock. When the goods aren't coming back, write them off with an inventory adjustment, as described above.

The step-by-step version, with every screen, is in the help centre: Refunds and credit memos in Sagify US.

Want to see it with your own refunds? Book a demo and we'll walk through a refund from your Shopify store into Sage 50.

Not on Sage 50 US?

  • Sage 50 Canadian Edition: Sagify for Canada records refunds inside the payout, as lines on the payout invoice that matches your bank deposit. See Shopify payouts in Sagify Canada.
  • Sage Accounting (cloud): refunds become credit notes on the original invoice. See Refunds and cancellations.
  • Sage 50 Accounts (the UK desktop product) is a different program from Sage 50 US, and Sagify doesn't connect to it.

Frequently Asked Questions

Should I delete the Sage 50 invoice when a Shopify order is refunded?

No. Leave the invoice and record the refund as a credit memo. Deleting or editing the invoice rewrites a period you may already have closed, and it removes the record that the sale took place.

What date should the credit memo have?

The date of the refund. The sale stays in the period it happened in, and the refund reduces revenue and sales tax in the period the money went back.

Does a credit memo put the items back in stock?

Yes, when the line is on an inventory item. Sage 50 restores the returned quantity and reverses its cost. If the goods aren't coming back, either credit a GL line instead of the item, or write the units off afterwards with an inventory adjustment.

How do I record a refund for an order that was never posted to Sage 50?

If it was refunded in full before you posted it, you can skip it entirely: nothing to post, nothing to reverse. If you want the sale on record for your sales history, post the invoice and its credit memo together, so the customer's balance ends at zero.

Is a chargeback the same as a refund?

No. A chargeback is a dispute the customer raised with their card issuer. Shopify takes the disputed amount and a fee out of a payout, but there's no refund on the order. Handle it when you reconcile the payout, not with a credit memo.


Ready to get started?

Schedule a demo to see how we can help streamline your workflow.

Share this article