Blog
February 2, 2026

Import CSV to QuickBooks Online: What Actually Works (2026)

How to import CSV files into QuickBooks Online without hitting the dreaded 'File upload failed' error. Format requirements, step-by-step instructions, and when you need third-party tools.

17 mins read

Import CSV to QuickBooks Online

How to Import CSV to QuickBooks Online

To import a CSV to QuickBooks Online, go to Settings (gear icon) > Import Data, select your data type (customers, vendors, products, or chart of accounts), then upload your CSV file and map the columns. For bank transactions, navigate to Banking > Upload from file instead. QuickBooks accepts CSV files up to 350 KB for transactions or 2 MB for lists, with a maximum of 1,000 rows per import.

That's the quick answer. But if you've ever stared at the "File upload failed" error wondering what went wrong, you know there's more to it. QuickBooks Online is picky about CSV formatting (honestly, frustratingly picky), and the error messages rarely tell you what's actually broken. I'll cover the exact format requirements, walk through each data type, show you how to fix common errors, and tell you when you actually need third-party tools.

What You Can (and Cannot) Import Natively

Before you spend time formatting your CSV, you need to know what QuickBooks Online actually supports. The native import capabilities are more limited than most people expect.

Supported Native Imports

Data TypeNative SupportImport Location
Bank TransactionsYesBanking > Upload from file
CustomersYesSettings > Import Data > Customers
VendorsYesSettings > Import Data > Vendors
Chart of AccountsYesSettings > Import Data > Chart of Accounts
Products/ServicesYesSettings > Import Data > Products and Services
InvoicesLimitedQBO Accountant only, max 100 invoices
BillsNoThird-party tools required
Journal EntriesLimitedUK/Canada versions only; unreliable in US
ChecksNoThird-party tools required
Purchase OrdersNoNot supported
Time SheetsNoNot supported

The most common frustration: you cannot import bills, checks, or purchase orders natively. If you need to import these transaction types, skip ahead to the third-party tools section.

There's also a weird limitation with subaccounts. QuickBooks Online won't let you import transactions directly to subaccounts. You have to either connect to a bank feed or enter those transactions by hand.

CSV Format Requirements for QuickBooks Online

QuickBooks Online is extremely particular about CSV formatting. Getting this right upfront saves hours of hair-pulling.

Bank Transaction Format Options

QuickBooks accepts two formats for bank transactions: 3-column and 4-column.

3-Column Format (simpler option)

DateDescriptionAmount
1/15/2026Office Depot supplies-245.67
1/16/2026Client payment - Invoice 10421500.00
1/17/2026Monthly rent-2000.00

Negative amounts = money going out. Positive amounts = money coming in.

4-Column Format (separate Credit/Debit columns)

DateDescriptionCreditDebit
1/15/2026Office Depot supplies245.67
1/16/2026Client payment - Invoice 10421500.00
1/17/2026Monthly rent2000.00

One thing that trips people up: don't include the word "amount" in your Credit or Debit column headers. QuickBooks will reject files with headers like "Credit Amount" or "Debit Amount." Just use "Credit" and "Debit."

Critical Formatting Rules

These rules apply to all QuickBooks Online CSV imports:

RequirementCorrect FormatCommon Mistake
Date FormatMM/DD/YYYY or DD/MM/YYYYIncluding day names (TUE 1/15/2026)
Amounts1234.56$1,234.56 (no currency symbols or commas)
Empty CellsLeave blankEntering 0 for zero values
Special CharactersRemove from descriptionsUsing &, #, @, <, >
Mac UsersSave as Windows CSVSaving as regular CSV
File EncodingUTF-8 or Windows-1252Other encodings

File Size and Row Limits

Limit TypeMaximum Value
Bank transaction file size350 KB
List file size (customers, vendors)2 MB
Rows per import1,000
Invoices per import (Accountant only)100
Customer resale number length16 characters
Vendor tax ID length20 characters

If you have more than 1,000 rows, you'll need to split your CSV into multiple files and import them separately. No way around this.

Customer Import Fields

When importing customers, QuickBooks Online supports about 15 fields via CSV import, compared to roughly 30 fields available through manual entry. The supported fields include:

  • Name (required)
  • Company
  • Email
  • Phone
  • Mobile
  • Fax
  • Website
  • Street Address, City, State, ZIP, Country
  • Notes
  • Tax Resale Number (max 16 characters)

Vendor Import Fields

Vendor imports support similar fields:

  • Name (required)
  • Company
  • Email
  • Phone
  • Mobile
  • Fax
  • Website
  • Street Address, City, State, ZIP, Country
  • Notes
  • Tax ID (max 20 characters)
  • Account Number

Step-by-Step Import Guide

Here's how to import each data type.

Importing Bank Transactions

Bank transaction imports are the most common use case. You'll typically use this when your bank doesn't offer a direct connection to QuickBooks or when you need to import historical data.

Step 1: Prepare Your CSV

Format your file according to the 3-column or 4-column format described above. Check these items:

  • Dates are in MM/DD/YYYY format
  • Amounts have no currency symbols or commas
  • No special characters in descriptions
  • No empty rows at the end of the file
  • File is under 350 KB

Step 2: Navigate to Upload

  1. Log into QuickBooks Online
  2. Click Banking in the left navigation
  3. Click the dropdown arrow next to Link account
  4. Select Upload from file

Step 3: Upload and Select Account

  1. Drag and drop your CSV file or click to browse
  2. Select the QuickBooks account where transactions should be imported
  3. If the account doesn't exist, you can create it during this step

Step 4: Map Your Columns

This is where most imports fail. QuickBooks will show you a preview of your data and ask you to map each column:

  1. For each column, select what it represents from the dropdown:

    • Column 1: Select "Date"
    • Column 2: Select "Description"
    • Column 3: Select "Amount" (3-column) or "Credit" (4-column)
    • Column 4: Select "Debit" (4-column only)
  2. Indicate whether your file has a header row

  3. Specify the date format your file uses

Step 5: Review and Import

QuickBooks will show you a preview of how transactions will appear. Check for:

  • Correct date parsing
  • Accurate amount values
  • Proper description text

Click Let's go to complete the import.

A note on credit card transactions

When importing credit card transactions, amounts may appear reversed from what you expect. Purchases show as positive (increasing your liability), and payments show as negative. This is accounting-correct but can be confusing if you're not expecting it.

Importing Customers

Step 1: Prepare Your CSV

Create a CSV with headers matching QuickBooks field names. At minimum, you need a "Name" column.

Example customer CSV:

Name,Company,Email,Phone,Street,City,State,ZIP
John Smith,Smith Consulting,john@smithconsulting.com,555-123-4567,123 Main St,Austin,TX,78701
Jane Doe,Doe Industries,jane@doeindustries.com,555-987-6543,456 Oak Ave,Houston,TX,77001

Step 2: Navigate to Import

  1. Click the Settings gear icon (top right)
  2. Select Import Data
  3. Click Customers

Step 3: Upload and Map

  1. Click Browse and select your CSV file
  2. QuickBooks will attempt to auto-map columns
  3. Review each mapping and correct any errors
  4. Fields that can't be mapped will be skipped

Step 4: Review and Import

  1. Review the preview of imported data
  2. Fix any flagged errors
  3. Click Import

QuickBooks will show you a summary of how many records were imported successfully and any that failed.

Importing Vendors

The vendor import process is basically the same as customer import.

Step 1: Prepare Your CSV

Example vendor CSV:

Name,Company,Email,Phone,Street,City,State,ZIP,Tax ID
Office Supply Co,Office Supply Co,billing@officesupply.com,555-111-2222,789 Commerce Blvd,Dallas,TX,75201,12-3456789
Tech Services LLC,Tech Services LLC,ap@techservices.com,555-333-4444,321 Tech Way,Austin,TX,78702,98-7654321

Step 2: Navigate to Import

  1. Click the Settings gear icon
  2. Select Import Data
  3. Click Vendors

Step 3: Upload, Map, and Import

Follow the same process as customer imports: upload your file, verify column mappings, review the preview, and complete the import.

Importing Products and Services

Step 1: Prepare Your CSV

Product/service imports require specific fields:

Name,Type,Description,Price,Cost,Income Account,Expense Account
Widget A,Inventory,Standard widget,29.99,12.50,Sales of Product Income,Cost of Goods Sold
Consulting Hour,Service,Hourly consulting rate,150.00,,Consulting Income,
Office Supplies,Non-inventory,Various office supplies,0,0,Sales of Product Income,Cost of Goods Sold

Step 2: Navigate to Import

  1. Click the Settings gear icon
  2. Select Import Data
  3. Click Products and Services

Step 3: Upload and Map

The mapping step for products requires extra attention:

  • Map the Type column carefully (Inventory, Non-inventory, Service)
  • Make sure income and expense accounts match existing accounts in your Chart of Accounts
  • For inventory items, provide opening quantity and as-of date if applicable

Importing Chart of Accounts

Step 1: Prepare Your CSV

Account Name,Type,Detail Type,Description
Checking,Bank,Checking,Primary business checking
Savings,Bank,Savings,Business savings account
Accounts Receivable,Accounts Receivable,Accounts Receivable,Customer receivables
Office Supplies,Expenses,Office/General Administrative Expenses,General office supplies

Step 2: Navigate to Import

  1. Click the Settings gear icon
  2. Select Import Data
  3. Click Chart of Accounts

Step 3: Map and Import

Account Type and Detail Type must match QuickBooks' predefined types exactly. Review the preview carefully because incorrect account types can cause headaches later.

Common Errors and How to Fix Them

The "File upload failed" error is everywhere in QuickBooks support forums. Here's what causes it and how to fix it.

Error: "File upload failed"

This generic error can mean several different things:

Cause 1: Incorrect Column Mapping

The file structure doesn't match what QuickBooks expects.

Solution: Make sure your columns are named exactly: Date, Description, Amount (for 3-column) or Date, Description, Credit, Debit (for 4-column). Remove any extra columns before importing.

Cause 2: Date Formatting Issues

Dates aren't in a recognized format.

Solution:

  1. Open your file in Excel
  2. Select the date column
  3. Right-click and select "Format Cells"
  4. Choose "Date" and select "MM/DD/YYYY" format
  5. Remove any day-of-week text (like "TUE" or "Monday")

Cause 3: Currency Symbols in Amounts

QuickBooks can't parse amounts with currency formatting.

Solution:

  1. Select the amount column(s) in Excel
  2. Right-click and select "Format Cells"
  3. Choose "General" or "Number" (not Currency)
  4. Use Find & Replace (Ctrl+H) to remove any remaining $ or , characters

Cause 4: Special Characters in Descriptions

Characters like &, #, @, <, > can break the import.

Solution: Use Find & Replace to remove or replace these characters. Common substitutions:

  • & becomes "and"
  • becomes "No."

  • Remove <, >, @ entirely

Cause 5: Header Row Problems

Sometimes QuickBooks rejects files with certain header formats.

Solution: Try removing the header row entirely. QuickBooks will ask you to identify columns during the mapping step.

Cause 6: Hidden Empty Rows

Empty rows at the end of your file or missing data in the middle can cause failures.

Solution:

  1. Press Ctrl+End in Excel to find the true last cell of data
  2. Delete any rows below your actual data
  3. Check for blank cells in required columns (Date, Amount)

Cause 7: Browser Cache Issues

Sometimes the issue is with your browser, not your file.

Solution:

  1. Try opening QuickBooks in an incognito/private browser window
  2. Clear your browser cache and cookies
  3. Try a different browser entirely

Error: "Some transactions could not be imported"

This error means part of your file succeeded but some rows failed.

Common causes:

  • Duplicate transactions (same date, description, and amount)
  • Invalid dates (like 2/30/2026)
  • Amounts that are too large

Solution: Review the error details QuickBooks provides. It usually indicates which rows failed and why.

Error: "Invalid file format"

QuickBooks doesn't recognize your file as a valid CSV.

Solutions:

  • Mac users: Save as "Windows Comma Separated (.csv)" not regular CSV
  • Check that file extension is .csv (not .xlsx or .txt)
  • Open in a text editor to verify comma-separated format
  • Re-save from Excel using "Save As" and selecting CSV format

Mapping Errors

If columns are mapping incorrectly:

  • Make sure column headers don't contain extra spaces
  • Check for invisible characters (common when copying from web pages)
  • Try renaming headers to exact QuickBooks field names
  • Remove any blank columns between data columns

Import Limits and Their Workarounds

Understanding QuickBooks' limits helps you plan your import strategy.

The 1,000 Row Limit

QuickBooks Online limits each import to 1,000 rows. For larger datasets:

  1. Split your CSV into multiple files of 1,000 rows or less
  2. Import each file sequentially
  3. Wait for each import to complete before starting the next

Tip: Number your files (import-1.csv, import-2.csv, etc.) and track which files you've imported.

The 350 KB File Size Limit

For bank transactions, your file can't exceed 350 KB. If your file is larger:

  1. Remove any unnecessary columns
  2. Shorten descriptions (keep them meaningful but concise)
  3. Split into smaller files by date range

The 100 Invoice Limit

If you have QBO Accountant access and need to import invoices, you're limited to 100 invoices per import. For larger invoice migrations:

  1. Batch your invoices into groups of 100
  2. Import chronologically (oldest first)
  3. Consider using a third-party tool for large-scale migrations

Field Limitations

Customer imports support about 15 fields via CSV, while manual entry offers around 30 fields. If you need to import data for unsupported fields:

  1. Import the basic data via CSV
  2. Use the QuickBooks API (requires development) for additional fields
  3. Update records manually after import
  4. Use a third-party tool with fuller field support

When You Need Third-Party Tools

Native QuickBooks imports have hard limitations. Here's when third-party tools become necessary.

You Need a Third-Party Tool If You Must Import:

  • Bills - No native CSV import option
  • Checks - No native import option
  • Purchase Orders - Not supported
  • Journal Entries (US version) - Limited and unreliable natively
  • More than 1,000 rows without splitting files
  • Complex transaction types with custom fields

Transaction Pro by Rightworks

Transaction Pro is one of the most established QuickBooks import tools.

Supported Transaction Types:

  • Bills, Bill Payments, Checks
  • Credit Card Charges, Credit Card Credits, Credit Memos
  • Estimates, Invoices, Journal Entries
  • Purchase Orders, Receive Payments, Sales Receipts
  • Time Activities, Customers, Vendors, Items

QuickBooks Desktop Pricing:

PlanPriceDetails
Importer Only$199 one-timeImport only, unlimited files, 1-year email support
Full Suite (Import/Export/Delete)$299 one-timeComplete functionality, 1-year email support

Note: Email support costs $99/year after the first year.

QuickBooks Online Pricing (Monthly):

PlanMonthly PriceCompaniesRow Limit
Essentials$13/month1200 rows/month
Growth$39/month3Unlimited
Premium$61/month5Unlimited

QuickBooks Online Pricing (Annual):

PlanAnnual PriceCompaniesSavings
Essentials$120/year1~23%
Growth$350/year3~25%
Premium$570/year5~22%

Best for: Users who need unlimited imports across multiple companies or require support for transaction types like bills and checks. The Essentials plan is limited to 200 rows per month, so most active users will need Growth or higher.

SaasAnt Transactions

SaasAnt offers a credit-based system with different capabilities than Transaction Pro.

Supported File Types:

  • XLS, XLSX, XLSM, CSV, TXT, Google Sheets, IIF
  • PDF, PNG, JPEG (for receipt and invoice scanning)

Single-Company Annual Pricing:

PlanAnnual PriceMonthly CreditsMax Rows per UploadUsers
TrialFree (30 days)100501
Growth$250/year25,0004,0003
Scale$500/year50,0005,00010
Automate$1,000/year100,00010,00015

Features by Plan:

FeatureTrialGrowthScaleAutomate
Bulk ImportYesYesYesYes
Bulk ExportYesYesYesYes
Bulk DeleteYesYesYesYes
Live EditNoYesYesYes
Customization RulesNo3 rules5 rules10 rules
Zapier IntegrationNo1 automation5 automations10 automations
Email/FTP/SFTP ImportNoYesYesYes
Phone SupportNoNoYesYes

Best for: Users who need automated imports via email, FTP, or Zapier integrations. The credit-based system works well for consistent, predictable import volumes. Higher tiers provide better per-transaction value.

Choosing Between Transaction Pro and SaasAnt

Use CaseRecommended Tool
One-time large migrationTransaction Pro (predictable cost)
Multiple QBO companiesTransaction Pro (multi-company plans)
Automated recurring importsSaasAnt (email/FTP/Zapier support)
Need bulk delete capabilityEither (both support this)
Budget-conscious, low volumeTransaction Pro Essentials ($13/mo)
High volume, single companySaasAnt Growth ($250/year = ~$21/mo)

Tips for Successful Imports

I've seen these issues come up repeatedly in QuickBooks support forums, so here's what actually helps:

Before You Import

  1. Back up your QuickBooks data - Run a backup before any major import
  2. Test with a small file first - Import 10-20 rows to verify formatting works
  3. Use a template - Create a working template from a successful small import
  4. Check for duplicates - QuickBooks doesn't always catch duplicate transactions

During Import

  1. Don't navigate away - Stay on the import page until it completes
  2. Use Chrome or Edge - Safari and Firefox occasionally have issues
  3. Import during off-peak hours - QuickBooks can be slow during business hours

After Import

  1. Verify totals - Compare imported totals to your source data
  2. Check random samples - Spot-check a few transactions for accuracy
  3. Run reports - Generate a report to confirm data appears correctly
  4. Document what you imported - Note dates, row counts, and any issues

Wrapping Up

Importing CSV files to QuickBooks Online works well when you understand the format requirements and limitations. For bank transactions, customers, vendors, products, and chart of accounts, the native import does the job if you follow the formatting rules. Keep your files under 1,000 rows and 350 KB (or 2 MB for lists), use the correct date and number formats, and avoid special characters.

When you need to import bills, checks, purchase orders, or journal entries in the US version, third-party tools like Transaction Pro (starting at $13/month for QBO) or SaasAnt (starting at $250/year) fill the gaps.

The most common import failure is the "File upload failed" error, which almost always comes down to formatting. Double-check your dates, remove currency symbols, and strip out special characters before you upload.

If you're building a SaaS application that needs to export data to QuickBooks or other accounting systems, you may first need to let users import their data via CSV. That's exactly what ImportCSV helps with, providing embeddable CSV import for SaaS developers so your users can get their data into your app cleanly.

Wrap-up

CSV imports shouldn't slow you down. ImportCSV aims to expand into your workflow — whether you're building data import flows, handling customer uploads, or processing large datasets.

If that sounds like the kind of tooling you want to use, try ImportCSV .