Seller Export Cleaner guide
How to get your sales files out of Etsy™, eBay™ and Vinted™, build one ledger from them in Google Sheets™, and what every cleaning rule does — including how you would do each one by hand. Features marked Pro need a Pro licence; everything else is free.
Step 1 — Get your files
The add-on never signs in to any platform. It reads the files each platform already lets you download. Menu names change from time to time; if a path below no longer matches, email support and we will update it.
| Etsy | The monthly payment account statement, as CSV: Shop Manager → Finances → Payment account, choose the month, then download the CSV. One file per month. The Orders and Order items CSVs from Shop Manager → Settings → Options → Download Data are read too, but use either the statements or the order files for the same months, not both: the statement already holds every sale. |
| eBay | The transaction report: Seller Hub → Payments → Reports. eBay limits the date range of each download, so a year may take several files. Download them with overlapping dates if that is easier: rows that appear in two files are counted once. The Orders report is read too. |
| Vinted | Vinted has no sales CSV. Request your account data (Settings → Privacy settings → Manage account data → Request data); Vinted emails a ZIP. The add-on cannot open the ZIP yet: unzip it, open the file with your sales or wallet history, and paste the rows into the Vinted: paste your sold history box in the sidebar. The columns it expects are Date, Item, Sold price and Status; if your rows have no header row, it adds one. |
| Anything else | Any CSV with a date and an amount per sale — Depop™, a craft-fair spreadsheet — can be read as a Generic CSV. |
Step 2 — Build the ledger
- Open a Google Sheet™ (a new one is best) and choose Extensions → Seller Export Cleaner → Open cleaner.
- Drop your files on the sidebar, or choose them. Each one is listed with what it was recognised as. If that is wrong, pick the right file type from its list.
- Choose Build ledger. The add-on cleans every file, checks that the ledger plus shop costs adds up to the platforms' own net total to the penny, and only then writes the tabs. If it does not add up, it writes nothing and says by how much.
Adding next month. Open the cleaner again, drop in the new file and build. Every file you have imported is kept in the spreadsheet, so the ledger is rebuilt from all of them: nothing earlier is lost, and a file you have already imported is skipped, whatever it is called.
Options. Keep buyer username adds the buyer's username to the ledger (addresses, emails and phone numbers are never copied). Share order postage across the items in it spreads an order's postage over its items by value instead of leaving it on one line. Reporting check rate is the one euro rate used for the €2,000 check; it is never looked up online. Your choices are saved with the spreadsheet.
Free limits. The free tier builds a ledger of up to 100 sales from one platform. Build first 100 builds the first 100 of a larger set so you can see the result. Pro builds every sale and merges all platforms into one ledger.
What you get
| Sales ledger | One row per sale: Sale ID, platform, date, order number, item, quantity, gross, postage charged, discount, refunds, platform fees, label cost, tax the platform collected (for information), net, currency and UK tax year. To the right, Cost and Notes are yours: type in them, add your own columns next to them, sort or filter the tab — they are kept against each sale every time the ledger is rebuilt. (A formula typed there comes back as its value.) Change the ledger's own figures and the next build asks before overwriting them. |
| Shop costs | Fees that belong to no single sale: listing fees, subscriptions, ads, bumps. Each has a reason. Nothing is ever dropped. |
| Payouts | Money paid out to your bank, for matching to your bank statement. Payouts are never counted as income. |
| Import log | Each file: what it was read as, rows read and kept, value repairs, and the reconciliation line. |
| Tax year summary Pro | Totals by UK tax year (6 April to 5 April) and platform, the £1,000 trading allowance line and the platform reporting check for every year in your files. The same totals and checks show in the sidebar on the free tier. |
| Trends and profit Pro | Fee % and profit by tax year and platform, a monthly trend, and your top 10 items by net. Profit is net minus the Cost you typed in the Sales ledger, for sales that have a cost; sales without one are counted and named as such, never given a guessed cost. |
The files themselves are kept in hidden tabs named sec_raw_1,
sec_raw_2 and so on. They are what lets the ledger be rebuilt. Hidden is not
private: anyone who can open the spreadsheet can unhide them. See
removing data.
Generic CSV
When a file is not recognised, it is read as a Generic CSV and the sidebar asks which column holds the date, the order or receipt number, the item, the sale amount, the fees and the net. It fills in its best guess from the column names; check each one. It also asks whether dates are written day/month (UK) or month/day (US), sets that from the dates when it can tell, and warns when every date in the file could be read either way, such as 03/04. The mapping is saved with the spreadsheet, so next month's file of the same name is read the same way.
Every cleaning rule
Each rule below says what goes wrong in a raw export, what the add-on does, and how you would do it by hand.
IN-01 · Which platform, which file
Problem: each platform has several exports with different columns. Add-on: matches the header row against a dated description of each export, in any column order; you can override it. By hand: check the header row against the platform's help page before you trust any totals.
IN-02 · Lines above and below the table
Problem: eBay puts a block of report details above the header, and some files end with totals. Add-on: starts at the real header row and stops after the last dated row. By hand: delete everything above the header and any totals rows before summing.
IN-03 · Encoding and separators
Problem: files saved in Europe use ; between columns, and a
pound sign can arrive as £. Add-on: detects the
separator, strips the byte-order mark and repairs the garbled characters, counting each
repair in the Import log. By hand: import with the right separator and
UTF-8 encoding, then find-and-replace the garbled characters.
IN-04 · The same sale in two files
Problem: overlapping eBay date ranges or a re-downloaded Etsy month count a sale twice. Add-on: keeps one copy of each identical row and lists the duplicates; a file already imported is skipped. By hand: sort by order number and date and delete exact repeats.
IN-05 · Missing months
Problem: a month with no file leaves a hole nobody notices. Add-on: names any month with no rows for a platform between its first and last dated row. A month with no sales is possible, so it tells you rather than guessing. By hand: list the months each file covers.
IN-06 · The wrong file
Problem: a listings export or a privacy download holds no sales. Add-on: recognises the common wrong files and names the download you need. By hand: check the file has one row per sale or transaction.
IN-07 · Vinted's export
Problem: Vinted's data export is a ZIP, not a sales file. Add-on: the paste box reads rows copied from it (see Step 1). By hand: copy each sale from your wallet history into a sheet.
CL-01 · Amounts written as text
Problem: £12.50, GBP 12.50,
--, (1.20), 1.234,56. Add-on: reads
each one as an exact amount in pence. By hand: strip the symbols, turn
brackets into minus signs and convert the text to numbers.
CL-02 · Dates written as text
Problem: Jan 5, 2026, 05-Jan-26, dates with
times and time zones, and 03/04 that could be March or April. Add-on:
reads each platform's format as that platform writes it, and asks for Generic CSV files.
By hand: convert every date to one format and check a few against the
platform.
CL-03 · Fees spread over several rows
Problem: an Etsy sale arrives with separate rows for the transaction fee, the processing fee, VAT on fees and offsite ads. Add-on: attaches each fee to its sale by order number. A fee it cannot tie to a sale with certainty goes to Shop costs with a reason, so the totals still match the platform's. By hand: sum the fee rows for each order number.
CL-04 · Refunds and cancellations
Problem: refunds, partial refunds and the fee credit that comes back with them are easy to miss. Add-on: links each to its sale, and puts a refund in the tax year it happened, even when the sale was in an earlier one. By hand: match each refund row to its order.
CL-05 · Orders with several items
Problem: postage and discounts are charged per order, not per item. Add-on: leaves them where the platform put them, or shares them across the order's items by value if you tick the option, in whole pence, keeping the order total exact. By hand: split the order's postage in proportion to each item's price.
CL-06 · Other currencies
Problem: a sale in euros or dollars added to pounds is wrong. Add-on: flags it and keeps it in its own currency. It never guesses or looks up an exchange rate. By hand: convert with the rate from your bank statement or HMRC's published rates.
CL-07 · Postage charged versus labels bought
Problem: what the buyer paid for postage and what you paid for the label get mixed up. Add-on: keeps them in separate columns so you can see whether postage made or lost money. On Vinted the buyer pays postage to Vinted, so it is not your income. By hand: keep two columns.
CL-08 · Tax the platform collected
Problem: VAT or sales tax the platform collected and paid over is not your income. Add-on: shows it in its own column and leaves it out of gross. By hand: subtract it from the sale amount.
CL-09 · Payouts counted as income
Problem: a payout to your bank is your own money moving, not a sale. Add-on: moves every payout to the Payouts tab. By hand: filter out rows of type Deposit or Payout.
CL-10 · Buyers' personal details
Problem: exports carry buyers' names, addresses, emails and phone numbers, which a ledger does not need. Add-on: leaves them out; the username only if you ask. See the privacy notice. By hand: delete those columns before sharing the sheet.
CL-11 · Titles that look like formulas
Problem: an item called =1+1 novelty mug or
+44 phone case becomes a formula or a number when pasted. Add-on:
always writes text as text. By hand: format the column as plain text before
pasting.
CL-12 · Untidy text
Problem: doubled spaces, line breaks and & in item
titles. Add-on: tidies them. By hand: TRIM, CLEAN and
find-and-replace.
CL-13 · Vinted specifics
Problem: the buyer protection fee is paid by the buyer, not you; bumps and wardrobe spotlight are your costs; wallet and bank payouts differ. Add-on: treats each as Vinted describes it. By hand: leave the buyer protection fee out of your income and list bumps as costs.
Tax years and the reporting check
The ledger gives each sale its UK tax year, and the summary shows gross, fees, refunds and net per tax year, the £1,000 trading allowance line and, for each platform and calendar year, whether your sales reach the 30 sales or €2,000 at which the platform reports them to HMRC. These are facts about your files, with links to GOV.UK, not tax advice. The UK tax notes explain the rules; see also what the platforms report and tax year vs calendar year.
Export for your accountant Pro
Export CSV copies the whole ledger as CSV to your clipboard. Paste it into a text
file saved as .csv, or straight into an email.
Removing data
Both of these are free in every tier.
- Remove raw data deletes the hidden
sec_raw_…tabs, and with them every buyer detail the files contained. The ledger stays, but it can no longer be rebuilt: to add more files later, use Remove add-on tabs and import every file again. - Remove add-on tabs deletes every tab the add-on made: the ledger, shop costs, payouts, the log, the summary and the raw tabs. Copy your Cost and Notes columns elsewhere first if you want to keep them.
Try it with sample files
Download the sample shop (a zip of 15 files). It is a fictional shop, Hollow Oak Ceramics: 12 monthly Etsy™ statements, 2 eBay™ transaction reports and a pasted Vinted™ sales list, 400 sales in all. Open a blank sheet, choose Extensions > Seller Export Cleaner > Open cleaner, and drop the files in. The import log finishes with a reconciliation line showing the ledger net equals the files' net.
How big a sheet can be
One sheet holds up to 30,000 sales (and up to 150,000 lines across all your files). That is the size we tested: a 30,000-sale build takes about three minutes. Above it the add-on stops before it writes anything and says so, so use fewer years or files in one sheet and start another sheet for the rest. This limit is the same on Free and Pro; Free also stops at 100 sales and one platform.
When something goes wrong
| “… column is missing. The platform may have changed its export format.” | The platform renamed or removed a column. The add-on stops rather than guess. Email support with the file's header row (not the sales) and we will update the add-on. |
| “This looks like …, which holds no sales.” | You have a listings or privacy file. The message names the download you need. |
| “MISMATCH … Nothing was written.” | The cleaned rows do not add up to the platform's own net. Nothing was changed. Email support with the Import log; this is a fault we want to fix. |
| “You edited the Sales ledger since it was built.” | A figure in the ledger's own columns was changed by hand (sorting, filtering and your Cost and Notes columns do not count). Choose Keep my edited tab to move it aside as Sales ledger (edited …) and write a fresh ledger, or Overwrite my edits. |
| “… already imported; skipped.” | That file is already in the spreadsheet. Nothing to do. |
| “Two platforms … needs Pro.” | The free tier builds one platform per spreadsheet. Use one spreadsheet per platform, or upgrade. |
| “… over the 50 MB the sidebar can read.” | Download a shorter date range and drop the pieces; overlaps are counted once. |
Support
Email support@appgarden.co.uk. Please never send a whole export: it contains your buyers' details. The header row and the Import log are usually enough.
Further reading
- Etsy payment statement CSV explained, column by column
- How to download your eBay transaction report (and join a whole year)
- How to get your Vinted sales history for a tax return
- Etsy fees in a spreadsheet: transaction, processing, offsite ads and VAT on fees
- Selling on Etsy, eBay and Vinted: one spreadsheet for all three
Google, Google Sheets™ and Google Workspace™ are trademarks of Google LLC. Etsy™ is a trademark of Etsy, Inc., eBay™ of eBay Inc. and Vinted™ of Vinted, UAB. Depop™, Shopify™ and Xero™ are trademarks of their respective owners. They are named only to say which files the add-on reads or works with. Seller Export Cleaner is not affiliated with or endorsed by Google, Etsy, eBay or Vinted.