Migrate lists and transactions from spreadsheets or other software using QuickBooks Online’s Import Data tools—safely, accurately, and fast.
What You Can Import
| Data Type | Typical Source | Usual File Type |
|---|---|---|
| Customers & Vendors (Suppliers) | CRM, spreadsheets, exports from other accounting systems | CSV/XLS/XLSX/Google Sheets |
| Products & Services | Inventory lists or POS exports | CSV/XLS/XLSX |
| Chart of Accounts | Legacy accounting software or CPA-provided spreadsheet | CSV/XLS/XLSX |
| Invoices & Bills | ERP/accounting exports, billing spreadsheets | CSV/XLS/XLSX |
| Journal Entries | Consolidation workbooks, year‑end adjustments | CSV/XLS/XLSX |
| Bank & Credit Card Transactions | Bank website downloads | CSV, OFX, QBO, QFX |
Before You Start: Prep Checklist
- Decide your cut‑over date. Choose a start date for QBO (e.g., the first day of a month). Transactions before that date remain in your legacy system or archive.
- Back up your spreadsheets. Save read‑only originals and work on copies.
- Clean your data. Remove blank rows, deduplicate names, standardize date formats (YYYY‑MM‑DD or MM/DD/YYYY), and ensure amounts are numbers, not text.
- Set accounting defaults. In Settings → Account and settings, confirm home currency, first month of fiscal year, and sales tax settings before importing transactions that rely on them.
- Create required records that cannot be imported automatically. For example, if your invoice CSV references items or accounts that don’t yet exist, add those lists first so mapping is seamless.
- Collect bank files. Download recent transactions from your bank in CSV, OFX, QBO, or QFX format. If you’ll connect the bank feed, you can still upload historical transactions that pre‑date the connection.
File Format & Column Mapping
QBO accepts CSV, Excel (XLS/XLSX), and Google Sheets for most list imports. For bank data, it also accepts OFX, QBO and QFX. Keep headers in the first row and avoid merged cells. Common column suggestions:
| Import Type | Recommended Columns |
|---|---|
| Customers | Display Name, Company, First Name, Last Name, Email, Phone, Billing Address, Shipping Address, Terms |
| Vendors | Display Name, Company, Contact, Email, Phone, Billing Address, 1099 Eligible (Yes/No) |
| Products & Services | Name, Type (Inventory/Non‑inventory/Service), Income Account, Expense Account, SKU, Sales Price, Cost, Quantity on Hand (for inventory), Reorder Point, Taxable (Yes/No) |
| Chart of Accounts | Name, Type (Expense/Income/Asset/Liability/Equity), Detail Type, Number, Opening Balance, As of Date |
| Invoices | Customer, Invoice Number, Invoice Date, Due Date, Terms, Product/Service, Qty, Rate, Amount, Tax (if applicable), Memo |
| Bills | Vendor, Bill Number, Bill Date, Due Date, Terms, Product/Service or Account, Qty, Rate/Amount, Tax (if applicable), Memo |
| Journal Entries | Journal No., Journal Date, Line Account, Debit, Credit, Description, Class, Location |
| Bank Transactions | Date, Description/Payee, Amount (or separate Debit and Credit), Check/Ref No., Memo |
Choose the Right Import Method
- Import Data (Gear → Import data): Best for lists (customers, vendors, products & services, chart of accounts) and for transactions like invoices, bills, and journal entries.
- Bank Upload (Transactions → Bank transactions → Upload): Best for bank/credit‑card CSV, OFX, QBO, or QFX files—especially to add historical data before or beyond connected feeds.
- Spreadsheet Sync (QuickBooks Online Advanced/Accountant only): If you use those editions, you can push/pull data at scale from a spreadsheet template.
- Apps: If your prior system supports a direct migration or if you need complex, multi‑line imports with attachments, a specialized app can help. Always test in a sample company first.
Import Lists (Customers, Vendors, Products & Services, Chart of Accounts)
- In QBO, select ⚙ Settings → Import data.
- Choose the list type (e.g., Customers).
- Download the sample template from the import screen (optional but recommended), then shape your spreadsheet to match it.
- Click Browse to upload your file.
- Map your columns to QBO fields. QBO will suggest matches based on your headers; adjust as needed.
- Preview a few rows. If anything looks off (wrong accounts, names, or dates), cancel and fix the file.
- Start the import. QBO will confirm how many records were added or updated.
- Verify: open the related list (e.g., Sales → Customers) to spot‑check names and addresses.
Import Invoices & Bills
Invoices and bills import similarly, but you must ensure that referenced items/accounts already exist. If you invoice by Product/Service, set up those items first so QBO can match lines correctly.
- Go to ⚙ Settings → Import data and choose Invoices or Bills.
- Review the sample template to understand required/optional columns.
- Upload your file and map columns. For line‑detail imports, expect columns like Product/Service, Qty, Rate, and Amount.
- Confirm date formats and due dates. If you use Terms, ensure they exist in Account and settings → Sales/Expenses.
- Import and review a few transactions. Open an imported invoice/bill to confirm line totals, tax, and customer/vendor assignment.
Import Journal Entries
- Navigate to ⚙ Settings → Import data → Journal entries.
- Prepare a CSV with one row per line, ensuring each journal has at least one debit and one credit and that the total debits equal total credits.
- Use Account names exactly as they appear in your Chart of Accounts. For Class/Location tracking, include those columns if enabled.
- Upload, map, and import. Then run Reports → Journal for the import date to confirm balances.
Import Bank Transactions (CSV/OFX/QBO/QFX)
- Open Transactions → Bank transactions (or Banking).
- Choose the bank/credit card account and select Upload transactions (wording may vary).
- Drag‑and‑drop your CSV/OFX/QBO/QFX file or browse to upload.
- Map columns (for CSV): Date, Description/Payee, and Amount (or separate Debit/Credit columns).
- Review the preview, then complete the upload. Transactions land in the For review tab.
- Categorize and Add/Match transactions. Use bank rules to automate recurring patterns.
Verify, Reconcile & Post‑Import Checks
- Spot‑check lists. Open Customers, Vendors, and Products & services to confirm counts and sample records.
- Run reports. Use Customer Contact List, Vendor Contact List, Product/Service List, and Trial Balance to verify totals.
- Aging checks. After importing invoices/bills, run Open Invoices and Unpaid Bills to ensure due dates and balances look right.
- Bank reconciliation. Go to Accounting → Reconcile and reconcile each account from your cut‑over date forward.
Common Mistakes to Avoid
- Mismatched names and accounts. If an item or account name in your CSV doesn’t exist in QBO, the import may fail or create unintended records. Load lists first, then transactions.
- Mixed date formats. Keep a single date format across the file.
- Amounts stored as text. Remove currency symbols and commas from numeric columns.
- Including subtotals or blank header lines. Imports expect one header row and clean data rows. Delete subtotals and notes.
- Overlapping bank imports. Avoid duplicate transaction windows by checking your last imported date.
- Using journal entries for subledger activity. Prefer source documents (invoices, bills) to keep customer/vendor history intact.
Helpful Tips & Best Practices
- Start with a pilot import. Import 10–20 rows first and review the results before processing thousands.
- Use consistent IDs. If your lists have unique IDs, include them to help with updates later.
- Leverage bank rules. After a bank CSV upload, create rules to auto‑categorize future matches.
- Archive your import files. Store the exact files you used and the import confirmation for audit traceability.
- Document your mapping. Save screenshots or notes of column mappings so you can repeat them consistently.
- Scale with Spreadsheet Sync (Advanced/Accountant). Use templates to push/pull bulk changes for lists and certain transactions.
Real‑World Scenarios
1) U.S. Small Business Owner Reconciling Monthly Bank Transactions
- Download the prior month’s statement file from your bank as QBO/OFX (preferred) or CSV.
- Upload via Transactions → Bank transactions → Upload. Map columns if CSV.
- In the For review tab, use Match to pair imported lines with existing checks/deposits; use Add where needed.
- Create bank rules for recurring vendors to speed up future months.
- Reconcile the account for that month and save the reconciliation report.
2) Travel Agency Creating Recurring Invoices for Tour Packages
- Import or create the Products & services for each tour package (with default income accounts and optional SKU).
- Import customer list with emails and terms.
- Prepare an invoice CSV for initial balances or unbilled deposits—ensure items exist and tax settings are configured.
- After import, turn on recurring templates for future billing, and enable online payments if applicable.
3) Wellness Clinic Tracking Expenses Across Service Categories
- Confirm your Chart of Accounts reflects service categories (e.g., Supplies, Lab Fees, Rent, Marketing).
- Import vendor list with 1099 eligibility set where applicable.
- Upload historical card transactions via CSV and categorize by account/class. Build rules for recurring expenses.
- Run Expenses by Vendor and Profit and Loss by month to validate.
Legal & Compliance Considerations
- Data privacy. Only import data you have a right to store. Avoid sensitive personal data in free‑form fields.
- Audit trail. Keep copies of source files, mapping notes, and import confirmations. Imports contribute to your audit evidence.
- Sales tax consistency. Align tax settings before invoice imports so amounts calculate correctly. Verify tax‑exempt customers are flagged.
- Vendor compliance. Mark 1099‑eligible vendors so year‑end forms report correctly.
- Retention. Store your import files and reconciliations for your CPA and regulatory retention periods.
Troubleshooting
| Symptom | Likely Cause | Fix |
|---|---|---|
| “We couldn’t import row X” | Missing required field or invalid format | Check the template; ensure required columns and valid dates/numbers |
| Names duplicated after list import | Slight spelling differences | Deduplicate in the CSV first; consider merging records in QBO after import |
| Invoices imported with $0 tax | Tax not enabled or tax codes not assigned | Enable sales tax and re‑import with taxable flags or add tax codes manually |
| Bank duplicates | Overlapping date ranges or CSV without unique IDs | Adjust date range; use QBO/OFX/QFX where available; delete duplicate rows in For review |
| Journal won’t post | Debits ≠ Credits or invalid account names | Balance debits and credits; confirm account names exactly match your COA |
FAQ
Can I undo an import?
For lists, you can re‑import corrected files to update records. For transactions, delete the erroneous batch (filter by date or memo) and re‑import. Keep your original files to restore quickly.
How big can my files be?
Large files work, but performance is better if you split very large imports into chunks of 1–5k rows. Always pilot first with a small sample.
Do I need to connect my bank?
No. You can import bank files without connecting. However, connecting enables automatic daily feeds and reduces manual uploads.
What if my file has separate Debit and Credit columns?
Map both columns during the bank CSV upload. QBO will calculate the net effect when you add transactions to the register.
Can I import attachments?
Not in the basic CSV flows for invoices/bills. Upload attachments after import or use an app that supports attachments in bulk.
Which date format should I use?
Use a consistent format (MM/DD/YYYY or YYYY‑MM‑DD) across the file and ensure cells are true dates, not text.
Can I import opening balances?
Yes—either via a journal entry that mirrors your trial balance as of the cut‑over date, or by importing outstanding invoices/bills to carry A/R and A/P forward.
What if I use Classes and Locations?
Enable them first in Account and settings, then include Class and Location columns in your CSV where applicable.