Skip to content

Record a customer return

Reverse a sale: choose how many units came back, the refund and whether to restock. Trackost reverses stock, COGS and revenue through your ledger.

How-toLast updated

A return records units a buyer sent back and the money you gave back. Trackost takes the refund off your revenue, and either puts the units back into stock with their cost or writes their cost off as a loss. The order itself keeps its original figures; the return is listed under it.

Recording a return needs money access. Without it, the order's page has no Record return button, the return page shows 'Money access required', and the action refuses with 'Recording a return requires money access.' If your trial or plan has ended, every page opens behind the plan wall, and a page left open in another tab refuses with 'Your plan has ended — subscribe to continue making changes.'

Before you start: fulfill first

A return needs a recorded cost. Only lines that have their COGS can be returned, so on an open order Record return can't be clicked, and the order's page says 'Only lines with a recorded cost can be returned. Record the order's cost first.' A Shopify order whose cost Trackost records by itself when Shopify marks it fulfilled doesn't show that sentence. On an order with a line that isn't matched to a product yet, the return page offers only the lines that were costed.

If the goods left and you never fulfilled the order, fulfill it first, then record the return.

Record the return

  1. Open the fulfilled order from Orders and click Record return.

    The action row of the fulfilled order SEED-1001: the ship date box and Fulfill & mark shipped greyed out, Record return circled in red, then Invoice and Packing slip
    Record return stays available while any unit can still be returned.
  2. The page lists every line that has its COGS and still has units to return. Each one is filled in with all of its whole units and a refund of its unit price times that quantity, and restock is ticked.

    The Record a return form for SEED-1001 as it opens: the gift set line filled in with 1 and a 12.00 refund, the soap line with 2 and a 6.00 refund, restock ticked, the reason empty, and Cancel and Record return at the bottom
    Every line starts filled in with all of its units and its refund, with restock on.
  3. Set Qty to return on each line to the number of units that came back. Set it to 0 on every line that didn't come back. A line left as it is gets returned in full.
  4. Check Refund ($) on each line. It follows the quantity until you type in it. Type what you refunded, even if it is less than the price, or 0 for an exchange.
  5. Leave Restock the returned units (add them back to inventory) ticked if the units can be sold again. Untick it if they are damaged or gone. The choice covers every line in this return.
  6. Type a Reason if you want one, for example damaged in transit.

    The return lines of SEED-1001: the gift set set to 0 with a 0.00 refund, its quantity circled in red; the soap line at 2 with a 6.00 refund; restock ticked; the reason damaged in transit
    Set every line that didn’t come back to 0.
  7. Click Record return. You see 'Return recorded' with the refund and the cost, for example 'Refunded $6.00 · COGS reversed $3.50.' With restock off, it reads 'COGS written off' instead. You are back on the order, which is now Partially refunded, or Refunded once every unit has come back. The return is listed under Returns history.

    Order SEED-1001 after the soap return: its status reads Partially refunded, and the Returns history table lists 2 Lavender Soap Bars with a $6.00 refund, Restocked, reason damaged in transit
    The order is Partially refunded, and the return is listed with its refund.

To restock some lines and write off others, record two returns, one with restock ticked and one without.

What changes, and what doesn't

The return is dated the day you record it; there is no date field. It isn't checked against your inventory start date.

With restock ticked:

  • the units go back into the variation's stock;
  • the COGS the order recorded for those units is taken back, at the cost the order was fulfilled at;
  • revenue goes down by the refund.

The units come back at that same cost, and blend into the variation's weighted-average cost. If the variation is still at zero or below on hand after the return, only its count changes.

With restock unticked:

  • stock doesn't change;
  • revenue goes down by the refund;
  • the units' cost is written off as a loss.

Say a candle sold with a COGS of $3.29 comes back broken. Profit & Loss, Schedule C (COGS) and the Profit dashboard each count its $3.29 once, in cost of goods sold, where the sale put it. Profit & Loss also shows the $3.29 under No-restock returns, and the Profit dashboard in its Write-off column, both for reference only.

What never changes after a return:

  • the order's five cards, its lines table and its True profit on the Orders page, which keep the fulfilled figures;
  • the fees on the order, because a return doesn't give fees back.

Once the order has a return, a note under its cards says so: 'These figures and the lines below are gross of returns: a return doesn't change them. The net-of-returns view is the all-time ledger Profit report.' The Orders list shows a similar note above the table while it holds an order that has a return.

The reports that read your ledger include the return: the Profit dashboard, Profit & Loss, Sales vs Expenditure and Schedule C (COGS). The order reports, such as Orders Margin, show the sale as it was fulfilled.

Full and partial returns

You can return an order in several goes. Each line offers the units not yet returned, so you can never return more than was ordered. The return that brings a line back in full takes back exactly the COGS still left on it, so the returns on a line always add up to its COGS to the cent. Once every unit is back, Record return can't be clicked.

Quantities to return are whole numbers. A line sold in a fraction, such as 1.5, can never be returned in full, so sell in whole units.