To import products and services into QuickBooks Online, open Settings > Import data > Products and Services, download the sample file and fill one row per item with its name, type, income account, price and cost. Upload the sheet, map its columns and fix any red cells. Each import takes up to 1,000 rows and cannot be undone.
Which item types can a products and services import create?
QuickBooks Online has four kinds of item: service, non-inventory, inventory and bundle. Intuit's guide to adding product and service items in QuickBooks Online describes all four and says inventory features come only with the Plus and Advanced plans.
The type decides what an item does in the books:
- Service. Work you sell, such as an hour of consulting. It posts sales to an income account and, if you buy the service in, costs to an expense account.
- Non-inventory. Goods you sell or buy without counting stock, such as packing supplies or items bought to order.
- Inventory. Goods you count. QuickBooks tracks quantity on hand and moves the cost to cost of goods sold when each one sells.
- Bundle. A group of other items sold together. A bundle has no account of its own, because each item inside it carries its own.
Choosing a type before you import
Changing a type later is not always simple. An inventory item has quantity history behind it, so turning it into a non-inventory item rewrites how past sales were costed. Decide the type in the spreadsheet, where a change costs nothing. On Simple Start or Essentials, use service and non-inventory types only, since the plan has no inventory tracking.
Income and expense accounts on an imported product list
Every item names an income account for its sales, and items you buy also name an expense account for their cost. Intuit's guide to importing products and services into QuickBooks Online says neither can be a subaccount. Point each item at a parent account.
That rule surprises people whose chart of accounts has "Sales" with subaccounts such as "Sales:Wholesale" and "Sales:Retail". The import will refuse the subaccounts in the income account column. There are two ways round it. You can import against the parent account and edit the items afterward, one by one, to point at the subaccounts. Or you can make the detailed accounts top-level accounts, which keeps the import and the reports simple.
Why the account column matters most
A sale's place on the profit and loss comes from the item's income account, not from the invoice. If 200 items import with the wrong income account, every future sale of them lands in the wrong line. Read the account column twice before you upload, and sort the sheet by account to spot strays.
Prices, costs and SKUs in the product spreadsheet
The price column holds what you charge, the cost column what you pay, and the SKU column your own stock code. QuickBooks fills these into each new sale or purchase as defaults that you can change on the form. Intuit's import guide caps a SKU at 100 characters and asks you to avoid special characters.
On the newer import screen, a product name can run to 512 characters and a description to 4,000. The older screen allows 100 characters in the name. Long names are rarely a good idea anyway, because they get cut off on invoices and in drop-down lists. Short names with detail in the description read better for customers and staff.
An example product sheet
The values below are examples, and your column headings should come from the sample file you download, not from this table.
| Name | Type | SKU | Description | Price | Cost | Income account | Expense account |
|---|---|---|---|---|---|---|---|
| Website audit | Service | SVC-AUD | Two-hour site review | 240.00 | Service Income | ||
| Gift wrap | Non-inventory | NI-WRAP | Wrapping per order | 4.00 | 0.90 | Sales | Supplies |
| Ceramic mug, blue | Inventory | MUG-BL | 12 oz stoneware mug | 18.00 | 6.25 | Sales | Cost of Goods Sold |
Leave a price blank for items whose price changes every time. A blank is better than a zero, which drops a zero-priced line onto each invoice until someone types over it.
Quantity on hand and the as-of date for imported inventory
Inventory items take two extra values: the quantity on hand and the date that count was true. Intuit's import guide gives the date format as MM/DD/YYYY on the new screen, with DD/MM/YYYY also accepted on the old one. Together they set the starting point that every later sale and purchase counts from.
Pick an as-of date on or before the first sale you will record. If the date falls after a sale, that sale draws on stock QuickBooks thinks you did not yet have, and the cost of goods sold for it comes out wrong. Many businesses use the last day of the month before they start using QuickBooks for inventory.
Counting before you import
The quantity should come from a real count, not last year's spreadsheet. Count on the as-of date, or as close to it as you can, and adjust the figure for anything sold or received in between. A wrong opening quantity does not fix itself. It shows up months later as stock that cannot be found or sales of items QuickBooks says you never had.
Mapping product columns on the old and new import screens
Intuit currently runs two versions of the product import. On Settings > Import data > Products and Services, the new version opens a spreadsheet-style batch screen, and the old version asks you to upload a CSV, Excel or Google Sheets file. Both have you map your columns to QuickBooks fields and fix red cells before saving.
On the new screen, select Create products, then either paste rows or choose Import CSV. Map each of your column headers to a QuickBooks field, confirm the date format and select Next. Cells highlighted in red need fixing, either on screen or by editing the file and uploading it again. On the old screen, browse for the file, map "Your Field" entries to QuickBooks fields and correct red cells in the spreadsheet before importing again.
Categories and sub-items
Intuit's guide shows categories written with a colon, such as Clothing:Jackets, nested up to four levels deep. The guide also notes that product variants stopped being supported on June 1, 2026, and that existing variants became standard products or services. Write each size or colour as its own item rather than relying on variants.
Spot-checking the imported items
After the import finishes, open the products and services list and pick three items: one of each type you imported. Open each one and read the type, the income account, the price and, for inventory, the quantity and its date. Then start a draft invoice, add the three items and confirm the default prices fill in as expected. Delete the draft afterward. This takes two minutes and catches a shifted column, such as costs landing in the price field, before a customer sees it on a real invoice. If you work from a shared sheet, importing Google Sheets into QuickBooks Online covers the file-format traps of that route.
Can an overwrite of existing products be reversed?
No. Both import screens offer a box that overwrites existing products and services with the values in the file, and Intuit's guide warns that this cannot be undone. Nor can the import itself. A wrong price or account in the file replaces the right one on every matching item.
Before ticking overwrite, export the current product list so you have a copy of every price and account as it stands. Then run the import on a small file first, five or ten items, and open those items to check the result. Only then run the full list.
Working within the 1,000-row limit
Intuit's guide limits each import to 1,000 rows. A larger catalogue needs several files. Split by category rather than at an arbitrary row, so each file is easy to check on its own, and keep the same column layout in every file.
Product names that line up with Shopify and Etsy sales
When sales arrive from an online store, the item names in QuickBooks should match the names the store uses. A matching name lets each imported sale find its item, with the right income account and cost. A near-miss creates a new item, or sends the sale to a catch-all.
Before building the product sheet, export the store's product list and copy names from it. Importing Shopify sales into QuickBooks Online and importing Etsy sales into QuickBooks show what those sales files look like and how their lines reach the books. If the store sells many variations, settle on one naming rule, such as "Mug, blue, 12 oz", and use it everywhere.
Store payouts end up as deposits on the bank statement, and those deposits are what the sales have to add up to. SimpleBankConvert is being built to turn a PDF bank statement into a file the QuickBooks Online bank upload accepts, for months the bank feed does not cover. It is not open yet; Get started puts your name down.