# How do I import invoices and bills into my accounting software in bulk (for example from Excel or CSV)?

Applies to: United States · Updated 2026-09-27

Set up the customers, vendors, products, accounts and tax codes first. Then shape a CSV following the platform's own sample file (for QuickBooks Online invoices, one row per invoice line, each carrying the invoice number). Map the columns, import a few documents, and fix rejected rows in the file itself. Every document posts to receivables or payables and to revenue or expense, and cleanup may run one document at a time, so agree counts, totals and open balances afterwards.

## What does an invoice or bill import actually create?

It creates transactions, not list entries. Importing customers, vendors or products fills the lists that documents refer to; importing invoices and bills creates the documents, and each one posts to the ledger as it lands. Intuit's help on managing outstanding balances in QuickBooks Online says that invoices affect Accounts Receivable and income accounts.

The posting is ordinary double entry. A customer invoice debits accounts receivable, because the money will be received later, and credits revenue. A vendor bill credits accounts payable, and each line debits the account it is coded to: an expense, or an asset such as supplies. A file of 300 documents is 300 journal entries. One invoice and one bill post like this:

| Document | Account | Debit | Credit |
|---|---|---|---|
| Invoice 1042 | Accounts receivable | 1,250.00 | |
| Invoice 1042 | Service revenue | | 1,250.00 |
| Bill 7731 | Office supplies expense | 480.00 | |
| Bill 7731 | Accounts payable | | 480.00 |

Bank and card transactions, receipts and scanned bills arrive by other routes and are separate questions.

## Which records have to exist before the documents can land?

Every document points at records that must already exist: the accounts its lines post to, the customer or vendor, the products or services, payment terms, sales tax codes and any classes or locations the file names. Intuit's common questions on importing to QuickBooks Online say to import lists first, in an order running from the chart of accounts through customers and vendors to products and services, and transactions after them.

What the utility does with a reference it can't match is platform-specific. Intuit's help for the QuickBooks Online invoice import describes an optional checkbox that adds new customers that don't already exist, and says missing products and services are filled with a generic item called "sales". With the checkbox ticked, a spelling variant such as "Harbor Cafe LLC" for an existing "Harbor Café LLC" is the kind of name that can turn into a near-duplicate customer holding its own invoices. Leave the checkbox off unless every new name has been confirmed as new. Zoho's help describes a similar Zoho Books option: mapping customers' addresses to existing records updates a matched customer's address and makes an unmatched name a new customer, so treat it the same way. Merging duplicate records that already exist is a separate job, covered for vendors in the related question.

To confirm the dependencies, copy each reference column, remove duplicate values, and match what remains character for character against the platform's lists.

Leave the opening balance blank when you set up customers and vendors, as Intuit's help on managing outstanding balances recommends. Before importing, check that no opening balance or conversion entry already holds amounts in the file: that help says an opening balance becomes a generic invoice or bill in receivables or payables, so importing the documents too counts them twice. Decide which one stays before building the file.

Where your utility accepts documents carrying sales tax, confirm that every tax code in the file already exists in the software, and put a document with each tax treatment into the sample. How the books should track taxable and exempt sales is a separate question.

## How should the source file be shaped?

Check first that your plan has a utility for the document type. Intuit's invoice-import help says the QuickBooks Online invoice import can't be used once sales tax is set up in the account, whether or not the invoices carry tax. Intuit's common questions on importing say the U.S. bill import needs QuickBooks Online Advanced or higher, and point other tiers to Upload multiple bills on the Bills page. If either bars you, see "What if the import utility can't express your data?" below.

Start from the platform's own sample file rather than your export's layout; Intuit's invoice-import help offers a sample CSV for invoices under Import data.

Intuit's help for the QuickBooks Online invoice import sets these rules:

- Each line row carries its own invoice number, customer, invoice date, due date and item amount, so a three-line invoice is three rows repeating the same number, customer and dates.
- Keep each file below 1,000 rows (this help says up to 1,000; Intuit's common questions on importing say less than 1,000), and one import takes at most 100 invoices.
- Negative charges, such as discounts or credit memos, can't be included.

Don't assume a bill file follows these invoice rules. Intuit's common questions on importing say only specific fields can be imported for each type of data and point to the sample files in your QuickBooks account: download the one for bills, follow its columns, and put a bill with several lines into the sample. The same common questions add that the first row is used for mapping and isn't imported, so it must be the header row.

Dates and amounts go wrong silently. Intuit's invoice-import help has you select the date format the file uses, so every row must follow it. A date such as 03/04/2026 is valid read either way, so a file mixing conventions puts some documents in the wrong month. Keep amounts as plain numbers such as 1200.00, with a period as the decimal point and no thousands separators or currency symbols, unless the utility lets you set another format to match. Zoho's help gives 1234567.89 as the default decimal format of Zoho Books' invoice import, which you can edit. After saving the CSV, open it in a plain text editor and confirm that dates, amounts and document numbers read as intended.

Keep each document's number from the source system. It ties a posted document to its rows, and it is how you catch duplicates and agree the result. Don't let the utility renumber history: Zoho's help for Zoho Books says that when auto-generated numbering is chosen on an invoice import, the invoice numbers in the import file are ignored.

How much preparation the file needs depends on where the documents come from:

| Where the documents come from | What the file usually needs |
|---|---|
| A spreadsheet prepared by hand | Nothing checked the names, dates or numbers as they were typed, so test every reference value against the platform's lists and look for repeated or missing numbers. |
| An export from another accounting or billing system | Fields are mostly complete and numbers stable; rename the columns to the target's fields and convert the date and amount formats. |
| An export from an operational system that doesn't model the ledger | Accounting fields are usually absent, so add the product or account, due date or terms and tax code, and assign document numbers if there are none. |

## How do you map the columns and choose the accounts?

Mapping is where the file becomes accounting. In QuickBooks Online you match each column header to an invoice field; Intuit's invoice-import help says fields with an asterisk are required, and you choose Not applicable for fields the file doesn't have.

Then check what decides each line's account. Intuit's help on adding product and service items says a product or service's Income account is the account QuickBooks uses to categorize sales income for it, so on a QuickBooks Online invoice each line's revenue account follows the product or service it carries. Review those accounts before importing; a line with no product falls back to the generic "sales" item and posts wherever that item points. On bills, map the account or product column to names that exist exactly in the chart of accounts or product list.

A wrong mapping repeats on every row it touches, so save a mapping for reuse only after the sample has proved it.

## How do you test a sample before committing the whole file?

Run the sample in this order:

1. Take five to ten documents from the real file, including one with several lines, one for each new customer or vendor, one for each tax treatment, and the earliest and latest dates.
2. Import them, reading the summary before committing. Intuit's invoice-import help has you review a summary of the import before starting it and note why any invoices failed.
3. Open each sampled document in the software and compare it with its source rows: party, dates, line amounts, total and the account each line posted to. A swapped day and month shows up here.
4. Fix every failure and mismatch in the source file, delete any sampled document that posted wrongly, and re-import only the failed and deleted documents, each with all its rows.
5. Once the sample is clean, delete its rows from the main file so they can't go in twice.
6. Run the rest in batches within the platform's limits, logging which document numbers went into each batch.

## How do you re-run a partly failed import without creating duplicates?

A partial failure is a normal result of a first full run. Re-running the same file is how documents get imported twice, and a duplicate looks exactly like the original. Work in this order:

1. Record which document numbers failed and why.
2. Establish which documents from the batch did post by searching the software for their numbers. In QuickBooks Online, Intuit's audit-log help says the log records who made changes and can be filtered by user, date and events, which shows what a run added. It needs admin access; that help says to contact your primary admin if you can't see it.
3. Build a re-run file holding only the documents that did not post, with all their rows and the fixes applied.
4. Import it, then repeat the count and total check for the batch.

Don't count on the utility to refuse a number already in the books. Unless your platform's documentation says it rejects or skips an existing document number, assume a second copy would post.

## What should you do with documents already paid or dated in a closed period?

Decide how much history to bring in before building the file, because each choice posts differently:

| How much history | What it does to the books |
|---|---|
| Outstanding documents only | Receivables and payables open at what is actually owed, document by document, for the least work, provided part-paid documents are handled as below. |
| Full history, including settled documents | Balances are right only if each settled document comes in with the payment that settled it, and those payments post too, so the job turns into a conversion of the books. |
| A summarised balance instead of documents | One figure per customer or vendor. Intuit's help on managing outstanding balances says an opening balance creates a generic invoice in Accounts Receivable or a generic bill in Accounts Payable, assigned to a nonspecific income account (like Sales) or expense account. Totals can be right, but the detail is lost, and the balances post as income or expense. |

A part-paid document is not settled: brought in at its original amount without the part payment, it overstates what is owed or owing by the amount already paid. Decide with whoever keeps your books whether it comes in at its original amount with its part payment or at its open amount, and check that open amount afterwards.

Intuit's help on bringing outstanding balances into QuickBooks Online says to add only unpaid invoices and unpaid bills, not transactions paid and closed before you started using the software. It says to date each invoice with the actual date you provided the products or services, and each bill with the actual date you received it.

Leaving out settlements is the costliest silent error here. Receivables come down when a customer's payment is recorded, and payables when a bill is paid, so a paid invoice imported without its payment sits in receivables as if still owed. It often surfaces only when someone chases a customer for money received long ago.

When the file is part of a move onto new software, split it at the cut-over date, import the open documents, and keep the settled history in the old system's records. Carrying across opening balances and a trial balance for the whole ledger is a full conversion, a larger job than importing documents.

Intuit's help for QuickBooks Online says to lock your books to stop changes to past transactions, which helps keep your financial data accurate for tax filings, audits, and reports. Intuit's help on locking your books says QuickBooks Online warns or asks for a password, depending on your settings, when someone tries to change or delete a transaction dated on or before the lock date. Don't rely on that to stop or flag imported documents dated in a locked period; check the file's earliest dates against the lock date before importing. Agree how such documents are to be dated with whoever closed and reported the period before the file is built. If anything did land in a locked period, Intuit's help on editing closed books says the Exceptions to Closing Date report shows changes made after the books were closed.

## How much of a bad import can you undo?

Find out before committing, because the answer decides how careful the sample must be. Intuit's help on voiding or deleting transactions in QuickBooks Online describes two ways to take out a posted transaction: voiding keeps a record of it in the books without affecting totals and can't be undone, and deleting removes it everywhere except the audit log. Its lists of what can be voided include invoices but not bills, so an imported bill can only be deleted. Customers brought in by an import are harder to take back, since Intuit's common questions on importing say there is currently no option to bulk undo or delete imported contacts.

Unless your plan's help documents a batch undo or batch delete for the document type you are importing, plan on removing a bad import one document at a time, and try any batch action on the sample before relying on it. To find what a run created, filter the audit log by the user who ran it and the date.

For a wrongly imported document with nothing applied to it yet, such as a payment, deleting it and re-importing its corrected rows keeps the books and the file in step. Voiding it instead would leave the void document beside the corrected one.

## What should be checked off before the full file goes in?

Confirm each item before committing the full file:

- **Dependencies.** Every customer, vendor, product, account, term and tax code in the file exists in the software, matched character for character.
- **Opening balances.** No customer or vendor opening balance or conversion entry already carries what the file brings in.
- **Mapping.** Every column maps to the intended field, the date format matches the file, and each line posts to the account you intend.
- **Sample.** A sample with a multi-line document and each tax treatment has landed clean and matched its source line by line.
- **Duplicate reference.** Every document carries its source number, no number repeats where it should be unique, and none is already in the software.
- **History.** The file holds only the documents you chose to bring in, and no settled document is there without its settlement.
- **Reversal route.** You know how a wrong document would be removed and whether your plan can remove documents in bulk.
- **Agreement.** The file's document count, total and open-items listing are ready to compare afterwards.

## How do you prove that what landed matches what you sent?

A partly applied import looks successful, so agree the result to the source:

- **Count.** The number of documents created equals the number in the file, batch by batch.
- **Totals.** The total of the created documents equals the file's total, overall and per customer or vendor.
- **Open balances.** The aging report, in QuickBooks Online the accounts receivable aging summary, agrees with the source system's open-items listing at the same date.
- **Accounts.** A profit and loss report for the imported dates shows revenue and expense in the accounts you mapped.

Trace any difference to document numbers, correct the source rows, and re-import only the documents that are missing or were removed.

## What if the import utility can't express your data?

Some documents won't fit a given utility, like the discounts and credit memos that Intuit's invoice-import help says can't be added to a QuickBooks Online invoice import. Don't force them into a shape that posts wrongly, such as a discount entered as a positive line. Use one of these routes instead:

- **Staging in parts.** Import what fits, enter the rest individually, and run the agreement on the combined result.
- **A third-party import tool.** Read that tool's own documentation on unmatched references, existing document numbers, tax and reversal, and put it through the same sample and agreement.

## How do you fix a rejected row and a wrongly mapped row at the source?

A bookkeeper imports 40 invoices from a caterer's billing export into a QuickBooks Online account with no sales tax set up. The run reports one failure, and the comparison finds an invoice line posted to the wrong revenue account because its product cell was empty. The product list holds "Event Staffing", linked to staffing revenue, and "Catering", linked to catering revenue. The rows as first imported:

| Row | Invoice no. | Customer | Invoice date | Due date | Product/service | Amount | Result |
|---|---|---|---|---|---|---|---|
| 12 | 1043 | Linden Books | 03/31/2026 | | Catering | 1200.00 | Failed: no due date |
| 13 | 1044 | Ortiz Dental | 04/02/2026 | 05/02/2026 | | 640.00 | Posted to the generic sales item |
| 14 | 1044 | Ortiz Dental | 04/02/2026 | 05/02/2026 | Catering | 900.00 | Posted |

The correction runs in this order:

1. In the file, give row 12 its due date, 04/30/2026 under the customer's 30-day terms.
2. In the file, put "Event Staffing" in row 13's product column.
3. In the software, delete invoice 1044 before anything is applied to it.
4. Import a re-run file holding rows 12 to 14 only.

The same rows as re-imported:

| Row | Invoice no. | Customer | Invoice date | Due date | Product/service | Amount | Result |
|---|---|---|---|---|---|---|---|
| 12 | 1043 | Linden Books | 03/31/2026 | 04/30/2026 | Catering | 1200.00 | Posted |
| 13 | 1044 | Ortiz Dental | 04/02/2026 | 05/02/2026 | Event Staffing | 640.00 | Posted to staffing revenue |
| 14 | 1044 | Ortiz Dental | 04/02/2026 | 05/02/2026 | Catering | 900.00 | Posted |

The batch now holds all 40 invoices, invoice 1044 totals 1,540.00 with 640.00 in staffing revenue and 900.00 in catering revenue, and the file and the books agree. Editing invoice 1044 in the software instead would have fixed the books but left row 13 blank in the file, so any re-run from that file would post the line to the generic sales item again, and the file would no longer show what the books hold.

## Sources

1. Intuit Inc. — *Manage outstanding balances for customers and vendors in QuickBooks Online*, last updated 8/3/2026. https://quickbooks.intuit.com/learn-support/en-us/help-article/customer-statements/enter-outstanding-balances-customers-vendors/L90uWlIBd_US_en_US
2. OpenStax, Rice University — *Principles of Accounting, Volume 1: Financial Accounting, 3.5 Use Journal Entries to Record Transactions and Post to T-Accounts*, publication date Apr 11, 2019. https://openstax.org/books/principles-financial-accounting/pages/3-5-use-journal-entries-to-record-transactions-and-post-to-t-accounts
3. Intuit Inc. — *Common questions about importing data to QuickBooks Online*, last updated 8/3/2026. https://quickbooks.intuit.com/learn-support/en-us/help-article/import-export-data-files/common-questions-importing-data-quickbooks-online/L4OYJRFdj_US_en_US
4. Intuit Inc. — *Import multiple invoices at once*, last updated 8/5/2026. https://quickbooks.intuit.com/learn-support/en-us/help-article/import-export-data-files/import-multiple-invoices/L7E9Xrd8l_US_en_US
5. Zoho Corporation — *Invoices | Help | Zoho Books*, undated. https://www.zoho.com/us/books/help/invoice/
6. Intuit Inc. — *Add product and service items*, last updated 5/26/2026. https://quickbooks.intuit.com/learn-support/en-us/help-article/small-business-processes/add-product-service-items-quickbooks-online/L9yEFWaNM_US_en_US
7. Intuit Inc. — *Use the audit log in QuickBooks Online*, last updated 8/4/2026. https://quickbooks.intuit.com/learn-support/en-us/help-article/audit-log/use-audit-log-quickbooks-online/L2WoVnW6I_US_en_US
8. Intuit Inc. — *Lock your books in QuickBooks Online*, last updated 9/15/2026. https://quickbooks.intuit.com/learn-support/en-us/help-article/close-books/close-books-quickbooks-online/L59LelyPM_US_en_US
9. Intuit Inc. — *Edit your closed books in QuickBooks*, last updated 8/5/2026. https://quickbooks.intuit.com/learn-support/en-us/help-article/customer-company-settings/edit-closed-books/L76xHuaZ5_US_en_US
10. Intuit Inc. — *Void or delete transactions*, last updated 9/7/2026. https://quickbooks.intuit.com/learn-support/en-us/help-article/list-management/void-delete-transactions-quickbooks-online/L5sZV8GYh_US_en_US
11. Intuit Inc. — *Run an accounts receivable aging report in QuickBooks*, last updated 8/5/2026. https://quickbooks.intuit.com/learn-support/en-us/help-article/accounts-receivable-reports/run-accounts-receivable-aging-report/L4N7PC2hg_US_en_US

## Related questions

- [How do I get bank and credit-card transactions or statements into my accounting software (e.g., QuickBooks)?](https://uppago.com/resources/how-to-get-bank-and-credit-card-transactions-into-accounting-software)
- [How do I manually enter or record a transaction in my accounting software, including adding it directly to the account register?](https://uppago.com/resources/how-to-enter-a-transaction-manually-in-accounting-software)
- [How should a small business manage and automate its accounts-payable vendor-invoice and document workflow?](https://uppago.com/resources/how-a-small-business-can-manage-and-automate-its-accounts-payable-workflow)
- [How do I find and merge duplicate vendor records in my books, and what do I have to repair afterwards?](https://uppago.com/resources/how-do-i-find-and-merge-duplicate-vendor-records-in-my-books-and-what-do-i-have)
