Import a Etsy monthly statement CSV into Xero

In short: Etsy's monthly statement CSV lists sales, listing fees, transaction fees, processing fees, ads, shipping labels and sales tax as separate rows, with dates written out and "--" where a value is empty. Xero's statement import uses its own CSV template: a Date and a signed Amount on every line, plus Payee, Description, Reference and a cheque number column. Money out is negative. Drop the file below. It is converted on your device and never uploaded.

Convert your file

Etsy to Xero (CSV)

etsy_statement_YYYY_M.csv (best), EtsySoldOrdersYYYY-M.csv, EtsyDepositsYYYY-M.csv

Your file stays on this device

It is read and converted by this page, inside your browser. Nothing from the file is uploaded, and the converter keeps working offline once the page has loaded.

One email when it ships. The address is used for nothing else. Details.

1. Export the file from Etsy

  1. Best for your books: Shop Manager > Finances > Monthly statements > View all monthly statements.
  2. Pick the year and month and click Generate CSV; Etsy emails you when it is ready.
  3. Click Download Now in the email, then Download CSV.
  4. Sold Orders and Deposits CSVs: Shop Manager > Settings > Options > Download Data, choose the CSV type, month and year.

Why a raw Etsy export fails in Xero

Xero would import every fee and tax row as a statement line in your bank account, which only ever received the deposits. Etsy also shows the sales tax it collects for the state, which is not your income.

Xero imports the CSV line by line, so title rows above the table, balance rows, currency symbols in the amount, or separate gross, fee and net columns end up rejected or imported as the wrong amount.

What is unusual about the Etsy file

  • The monthly statement has a byte-order mark, currency symbols in amounts ("-€0.19") and "--" for empty values.
  • Dates are written out ("January 30, 2025" or "16 January, 2024" depending on your locale).
  • Deposit rows have no amount in the amount columns; the amount is only in the title ("$120.00 sent to your bank account").
  • Buyer-paid sales tax is included in the sale and removed again by a separate Tax row, because Etsy pays it to the state.
  • Sold Orders has two-digit years (10/04/25) and no listing, transaction or ad fees.
  • Etsy does not link deposits to the sales they pay out, so journal entries are grouped by month.

What Xero requires

  • Header matches Xero's template: *Date, *Amount, Payee, Description, Reference, Check Number.
  • One signed amount column: money out negative, decimal point, no symbols.
  • Up to 100,000 rows per file.

2. Before and after

Before: the Etsy monthly statement CSV as downloaded

Date,Type,Title,Info,Currency,Amount,"Fees & Taxes",Net,"Tax Details"
"March 31, 2025",Deposit,"$1,208.35 sent to your bank account",,USD,--,--,--,--
"March 28, 2025",Marketing,"Etsy Ads","Bill for click-throughs to your shop on Mar 27, 2025",USD,--,-$0.86,-$0.86,--
"March 20, 2025",Refund,"Refund to buyer for Order #3600000002",,USD,-$17.37,--,-$17.37,--
"March 20, 2025",Fee,"Credit for processing fee","Order #3600000002",USD,--,$0.89,$0.89,--
"March 20, 2025",Tax,"Refund to buyer for sales tax","Order #3600000002",USD,--,$1.30,$1.30,--
"March 9, 2025",Fee,"Listing fee ($0.20 USD)","Listing #1500000001",USD,--,-$0.20,-$0.20,--
"March 8, 2025",Fee,"Transaction fee: Shipping","Order #3600000001",USD,--,-$0.31,-$0.31,--
"March 8, 2025",Fee,"Transaction fee: Hand-thrown mug, ""speckled"" glaze...","Order #3600000001",USD,--,-$2.73,-$2.73,--

After: what Xero receives

After: etsy-2025-03-08-to-2025-03-31-xero.csv
*Date*AmountPayeeDescriptionReferenceCheck Number
03/08/20251250.00Payment for Order #3600000001
03/08/2025-1.62Processing fee (Order #3600000001)
03/08/2025-3.36Sales tax paid by buyer (Order #3600000001)
03/08/2025-2.73Transaction fee: Hand-thrown mug, "speckled" glaze... (Order #3600000001)
03/08/2025-0.31Transaction fee: Shipping (Order #3600000001)
03/09/2025-0.20Listing fee ($0.20 USD) (Listing #1500000001)

Synthetic sample data that follows the real export layout, not a real account. The "after" output was produced from it by the same converter this page runs.

3. Import the converted file into Xero

  1. In Xero open Accounting > Bank accounts and choose the account.
  2. Click Manage account > Import a statement.
  3. Choose this CSV and click Import.
  4. Check the column mapping (Date, Amount, Payee, Description, Reference) and confirm the date format if asked.

Questions

Is the sales tax in my Etsy statement my income?
Where Etsy collects and pays sales tax to the state itself, the statement adds that tax to the sale and removes it again with a separate Tax row, so it nets to zero in the converted file. Check with your tax preparer how to treat any tax you collect yourself.
Which date format does Xero need?
Xero lists both month-first and day-first dates as accepted and asks you to confirm the format when it is unclear. Choose United States for MM/DD/YYYY or Elsewhere for DD/MM/YYYY, and confirm the same format in Xero if it asks.
Why does my Etsy deposit not match my sales?
Etsy deducts listing fees, transaction fees, payment processing fees, shipping labels and ads from your balance before it deposits. The journal entry lists each kind of fee, so the difference between sales and deposits is accounted for.
Can I import more than one month at once?
Yes. Xero imports the whole statement file you give it. Keep each file to one bank account in Xero, and avoid overlapping a period you already imported so you do not have to delete duplicate statement lines.

Other ways to convert Etsy

Other exports to Xero (CSV)

Common import problems