Any store with returns
Returns log
A returns log records every return with the day it arrived, the product, the reason, the condition it came back in and what the round trip cost. Kept for a quarter it shows where returns concentrate, which is almost always a handful of products rather than the catalogue.
The file
nouz-returns-log.csv · 9 columns · one example row
Two dates, not one, because the gap between them is the whole reporting problem. A return arrives two to four weeks after its order, so a strong month's returns drain the month that follows. Recording both lets you read a return rate at matched maturity instead of comparing a young month against a finished one, and it settles which day a refund belongs to for the statement: the day it was issued.
The reason and condition columns are what make the file worth keeping. A store average tells you returns are 8%; a reason breakdown tells you one product returns at three times that for fit, which is a page fix rather than a policy. And condition decides the write-down: a unit that comes back unworn goes straight out again, while an opened one may only sell at a markdown.
The cost columns exist because a refund is not the damage. Adding the return label and the minutes at the bench to the margin already handed back gives the real figure, which the return cost calculator works out row by row and which is reliably higher than merchants expect.
How to use it
- 01Add one row per returned order line as it is processed.
- 02Record the original order date as well as the return date; the gap is the maturity of your return rate.
- 03Use a short, fixed list of reasons so the column can be counted rather than read.
- 04Mark resellable honestly: goods that go out at a markdown are not resellable at full price.
- 05Every quarter, sort by SKU and count. The concentration is the finding.
What is inside
| Row | return_date | order_date | sku | reason | condition | refund_amount | return_shipping | handling_cost | resellable |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 2026-08-20 | 2026-08-02 | AW-TEE-BLK-M | size too small | unworn, packaging opened | 49.00 | 4.95 | 2.50 | yes |
| 2 | |||||||||
| 3 |
Every column, explained
| return_date | The day the refund was issued, which is the day it belongs to. |
|---|---|
| order_date | The day the original order was placed. |
| sku | The variant that came back, not the parent product. |
| reason | From a short fixed list: fit, damaged, not as described, changed mind. |
| condition | What arrived: unworn, opened, used, damaged. |
| refund_amount | What the customer got back, including VAT. |
| return_shipping | The label back, when you pay for it. |
| handling_cost | Inspection, repacking and restocking, in money. |
| resellable | yes when it goes back on the shelf at full price. |