Square CSV to QBO
Square reports gross sales, fees and a net total on one line; the converter below turns each sale into a collected amount plus a separate fee, and writes the QuickBooks .qbo file in your browser.
Drop a CSV or Excel statement here
.csv, .txt, .xlsx and .xls — or choose a file
Your file never leaves your browser.
The Square Transactions preset is selected for you. Switch the Format dropdown to Auto-detect if you are converting a file from somewhere else.
How to export a CSV from Square
- Open the Square Dashboard and go to Reports, then Transactions. Screenshot: square-export-1
The Square Dashboard transactions report with the export button top right. - Choose the date range. Matching it to a deposit period rather than a calendar month makes the next step much easier.
- Select Export, then Transactions CSV — not the summary or the items report, which aggregate rather than list. Screenshot: square-export-2
The export menu with the transactions CSV option. - Save the downloaded file.
- Drop it into the converter on this page. The Square preset is preselected and fee splitting is on.
- Check the preview — collected amounts positive, fees negative — and download the .qbo.
Online banking screens change; if a label has moved, look for a download or export control above the transaction list.
Known quirks of the Square export
- The transactions CSV is wide: Date, Time, Time Zone, Gross Sales, Discounts, Service Charges, Net Sales, Gift Card Sales, Tax, Tip, Partial Refunds, Total Collected, Source, Card, Fees, Net Total, Transaction ID and more. The converter reads only what a ledger needs and ignores the rest.
- Amounts come from Total Collected, which includes tax and tips — the money that actually changed hands. Fees come from the Fees column, which Square usually already writes as a negative number; the converter takes the negative of its absolute value either way, so a double negative cannot turn a fee into income.
- Whether the export has a Description column, and what it is called, varies between Square versions and report types. When it is absent the converter detects the columns generically and warns you, so a register of blank payees is a sign to re-export with descriptions included.
- Square has no official Intuit bank id, so the file borrows the generic 3000 and the converter warns about it. If QuickBooks refuses the upload, try another id in the account settings.
Import the .qbo file into QuickBooks
- Open the upload screen. In QuickBooks Online, go to Transactions, then Bank transactions, and choose Upload from file (on older layouts: Banking, then the arrow next to Update, then File upload).
- Pick the .qbo file. Drag the .qbo file the converter produced into the drop area and select Continue.
- Choose the QuickBooks account. Select the bank or credit card account the transactions belong to, or add it first. The account type has to match the one used when converting: a card statement belongs to a credit card account.
- Let QuickBooks read the file. Web Connect files carry their own column layout, so there is no column-mapping screen — QuickBooks reads the dates, amounts, payees and memos straight from the file.
- Review and accept. The transactions land in the For review tab. Categorise or match them there; nothing hits the books until you accept them.
QuickBooks Online accepts up to 1,000 transactions per upload. Larger statements are split automatically into numbered files by the converter. Import errors are covered in the import error guide.
A clearing account, then a transfer
Square, like any card processor, sits between your customer and your bank. Money arrives in a Square balance, fees come out, and what is left is deposited a day or two later. If you import only the deposits, your books show one figure a day and nothing about what was sold or what it cost to collect it.
Set up a Square clearing account in QuickBooks, import the converted transactions there, and record the deposit as a transfer from that account to the bank. The clearing account should trend towards zero, and anything left in it is money Square is still holding — which is genuinely useful information rather than a rounding mystery.
Tax and tips ride along
Total collected is the honest number for a register: it is what the customer paid, including sales tax and any tip. Both create obligations rather than revenue, so once the transactions are in QuickBooks, split the tax out to your sales tax liability and tips to whatever account you use for them. The converter deliberately does not guess at that split — it depends on your jurisdiction and your payroll arrangement.
Match the export period to the deposits
Square deposits on a rolling schedule, so a calendar-month export will almost always contain sales whose deposit falls in the next month. That is fine, and the clearing account absorbs it, but it is easier to reconcile if the export starts and ends at a deposit boundary rather than at midnight on the first.
Frequently asked questions
- Should I import Square sales or Square deposits?
- Sales and fees into a Square clearing account, and the deposit to your bank as a transfer out of it. Importing only the deposits hides both your gross sales and the processing fees.
- Why does Total Collected differ from Gross Sales?
- Gross sales are the price of the goods. Total collected adds tax and tips and subtracts discounts — it is the money that moved. A ledger wants the money that moved.
- How are tips handled?
- They are inside Total Collected, so they arrive as part of the transaction. If you owe tips to staff, record the liability in QuickBooks; the converter does not attempt to split them out, because Square reports them per transaction rather than per employee.
- What about refunds?
- Partial and full refunds show as negative amounts in the export and convert as negative transactions, so they reduce the register the same way they reduced your balance.
- Is my Square report uploaded anywhere?
- No. The CSV is read in your browser and the .qbo file is built there too.
Related banks
Other formats: QBO to CSV · Bank statement to QBO
Last updated .