1. Export the file from Square
- Sign in to the Square Dashboard on a computer.
- Open Transactions and choose the date range.
- Click Export and choose Transactions CSV.
- Upload the downloaded file here.
Why a raw Square export fails in Xero
Xero would import every row, including cash sales that never passed through Square, and needs one signed amount where the export has gross, fee and net columns.
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 Square file
- One row per payment or refund, newest first, with Gross Sales, Tax, Tip, Total Collected, Fees and Net Total columns.
- Amounts look like "$1,234.56" and "-$184.28"; fees are negative and Net Total is Total Collected plus Fees.
- Sales paid in cash, by Square gift card or another non-card tender never reach a Square deposit, so they are left out; mixed payments keep only their card part. Gift card payments are not new income: the money came in when the card was sold.
- Tips and gift card sales are not sales revenue: journal entries book them to their own accounts (Tips owed to staff, Gift card liability).
- A non-zero Partial Refunds cell gets a warning, because it is not confirmed whether Square also lists that refund as its own row.
- Deposit ID and Deposit Date say which deposit paid each row; rows not yet deposited have none.
- Dates and times are in the Square account time zone and are used as written.
- The file does not name its currency; amounts are treated as US dollars unless they show pounds or euros.
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 Square transactions CSV as downloaded
Date,Time,Time Zone,Gross Sales,Discounts,Service Charges,Net Sales,Gift Card Sales,Tax,Tip,Partial Refunds,Total Collected,Source,Card,Card Entry ... 2024-08-24,15:20:01,Pacific Time (US & Canada),$19.05,$0.00,$0.00,$19.05,$0.00,$0.95,$0.00,$0.00,$20.00,Point of Sale,$20.00,Tapped,$0.00,$0.00,$0.... 2024-08-24,12:00:00,Pacific Time (US & Canada),$15.00,$0.00,$0.00,$15.00,$0.00,$0.00,$0.00,$0.00,$15.00,Point of Sale,$0.00,N/A,$15.00,$0.00,$0.00,... 2024-08-23,18:30:00,Pacific Time (US & Canada),$50.00,$0.00,$0.00,$50.00,$0.00,$0.00,$0.00,$0.00,$50.00,Point of Sale,$30.00,Keyed,$20.00,$0.00,$0.... 2024-08-23,10:00:00,Pacific Time (US & Canada),-$35.00,$0.00,$0.00,-$35.00,$0.00,$0.00,$0.00,$0.00,-$35.00,Point of Sale,-$35.00,Tapped,$0.00,$0.00... 2024-08-22,09:15:00,Pacific Time (US & Canada),"$1,234.56",$0.00,$0.00,"$1,234.56",$0.00,$0.00,$0.00,$0.00,"$1,234.56",Point of Sale,"$1,234.56",Ke... 2024-08-21,08:00:00,Pacific Time (US & Canada),$0.00,$0.00,$0.00,$0.00,$0.00,$0.00,$0.00,$0.00,$0.00,Point of Sale,$0.00,,$0.00,$0.00,$0.00,,,$0.00...
After: what Xero receives
| *Date | *Amount | Payee | Description | Reference | Check Number |
|---|---|---|---|---|---|
| 08/22/2024 | 1234.56 | '=HYPERLINK("http://example.invalid") | '=HYPERLINK("http://example.invalid") - Table, oak | PAYSQ0005 | |
| 08/22/2024 | -32.72 | Fee | Fee: =HYPERLINK("http://example.invalid") - Table, oak | PAYSQ0005 fee | |
| 08/23/2024 | -35.00 | Scarf | PAYSQ0004 | ||
| 08/23/2024 | 30.00 | Lamp | PAYSQ0003 | ||
| 08/23/2024 | -0.80 | Fee | Fee: Lamp | PAYSQ0003 fee | |
| 08/24/2024 | 20.00 | Ana Placeholder | Ana Placeholder - Brooch | PAYSQ0001 |
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
- In Xero open Accounting > Bank accounts and choose the account.
- Click Manage account > Import a statement.
- Choose this CSV and click Import.
- Check the column mapping (Date, Amount, Payee, Description, Reference) and confirm the date format if asked.
Questions
- What happens to cash sales in the Square export?
- Cash, Square gift card and other non-card payments never pass through your Square balance or a Square deposit, so the converter leaves them out and gives the total for each kind. When a sale was paid partly by card, only the card part is kept. Record cash with your cash takings. A gift card payment is not new money: it came in when the card was sold, so move it from your gift card liability account to sales instead of recording it again.
- 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.
- Is the sales tax in the Square export my income?
- Sales tax you collect through Square is part of the totals in the export. The converter keeps it inside the sale amount and tells you how much it is, so you can move it to a sales tax account. How to treat it is a question for whoever prepares your return.
- 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 Square
- Convert a Square transactions CSV to QuickBooks Online
- Square payouts to a QuickBooks journal entry
- Square CSV to QBO for QuickBooks
Other exports to Xero (CSV)
- Import a Venmo statement CSV into Xero
- Import a Cash App CSV into Xero
- Import a PayPal activity CSV into Xero
- Import a Stripe balance report CSV into Xero
- Import a Etsy monthly statement CSV into Xero
- Import a Airbnb earnings CSV into Xero
- Import a Gumroad payout CSV into Xero
- Import a Shopify Payments transactions CSV into Xero
- Amazon settlement report to Xero
- eBay transaction report to Xero
- Import a Wise statement CSV into Xero
- Import an MT940 statement into Xero
- Import a camt.053 statement into Xero