All guides

The Etsy CSV downloads: orders in one file, items in another, and the statement that explains the fees

Etsy does not export a sale as one row. The orders download has one row per order with the buyer, the totals and the shipping; the order items download has one row per item sold, with the listing, the quantity and the price, and the order id that ties it back; and the monthly statement from Etsy Payments lists every sale, fee, shipping label and refund as its own row with a type. Answering “what did I sell and what did it cost me” means joining those files on the order id, which the merge tool here does without a formula.

What each download usually contains

Orders: one row per order — order id, sale date, buyer, ship-to, the order total, the shipping charged, discounts, and the status. Order items: one row per item — the same order id, the listing title, the quantity, the item price, and any variation such as size or colour. A three-item order is one row in the first file and three in the second.

The statement download from Etsy Payments is a ledger for the month: sales, transaction fees, listing fees, processing fees, shipping labels and refunds, each a row with a type, a title and an amount, with fees as negative numbers. It is the file that explains the difference between what the orders total and what reached the bank. Dates in all three are written the American way, month first.

Join items to their orders

Drop the order items file and the orders file on the merge tool here, pick the order id column in each, and choose to keep every item row. The result is one row per item with its order’s date, buyer and totals beside it — the shape a spreadsheet can pivot by listing, by month or by buyer. The tool counts the rows that found no match, which is how a stale export shows itself.

Every value stays as written: the order ids as ids, the prices with their decimals, the postcodes with their zeros.

What the fees came to

Filter the statement to rows whose type is a fee and total the amount column in the SQL console, or group by type to see listing fees, transaction fees and processing fees each as one line. The sales rows carry the order id in their title, so a merge on it puts each sale’s fees beside its order.

Refunds appear in the statement in the month they were issued, not the month of the sale, which is the usual reason a month’s statement does not match a month’s orders.

Questions

Why is a three-item order one row in one file and three in another?
Because the orders download is per order and the order items download is per item. Merge the two on the order id here and each item row gains its order’s date, buyer and totals.
Which file has the fees?
The monthly statement from Etsy Payments. Each fee is its own row with a type, an amount as a negative number, and a title naming the order or listing it belongs to.
Why do the dates come out wrong in Excel?
They are written month first, and a computer set to a day-first country reads 03/04 as 3 April rather than 4 March. The health check here flags dates it cannot tell apart; the SQL console rewrites them once you know the order.
How do I see what an order cost me in fees?
Merge the statement rows against the orders on the order id, or filter the statement to that order’s title. The fee rows sum to what Etsy kept for that sale.
Can I remove the orders that appear in two exports?
Yes. Two downloads for overlapping dates carry the same orders twice; the duplicate remover here, keyed on the order id, leaves one of each and shows what it would remove first.
Are my downloads uploaded anywhere?
No — neither of the two downloads. The order items are joined to their orders inside this page, and the browser refuses any outbound connection that could carry your buyers’ details elsewhere.