Import Amazon and Costco purchases into QuickBooks Online
The Download for QuickBooks button in Order History Downloader produces a three-column CSV that QuickBooks Online accepts as-is, under Transactions, Bank transactions, Upload from file. It works for any of the 14 retailers the extension supports, not only Amazon and Costco.
There is no connector to authorize and no subscription to buy. Your order data is read, formatted, and written to disk inside your browser, and never leaves it.
What the file contains
Three columns, one header row, and one line per transaction. A file for a small month of mixed Amazon and Costco buying looks like this:
Date,Description,Amount
08/12/2026,Amazon 114-2939844-7272257 Brother TN-760 toner + 2 more,-111.00
08/15/2026,Costco 78912345 Kirkland paper towels,-24.99
08/20/2026,Amazon 113-1122334-5566778 refund USB-C cable,15.49- Date
- MM/DD/YYYY, the same format on every line. The file uses one date format throughout, which is what the upload wizard asks you to confirm.
- Description
- The retailer, the order id, and the first item title. Multi-item orders get a trailing count, for example + 2 more. The characters # % and & are removed because QuickBooks handles them inconsistently on import.
- Amount
- A signed plain decimal with two places. Purchases are negative, refunds are positive. No currency symbol and no thousands separator.
- One row per order
- A bank feed matches card charges, and the order total is the closest proxy for a charge. Line-item detail stays in the CSV and Excel exports.
- One currency per file
- QuickBooks reads one currency per upload. If the rows on screen mix currencies, the viewer stops the download and points you at the currency filter.
- 1,000 rows per file
- QuickBooks accepts up to 1,000 rows in a single upload, so larger exports are split into numbered parts with a -part2, -part3 suffix.
- Filename
- quickbooks-<retailer-or-all>-<scope>-<YYYY-MM-DD>.csv, so the retailer, the Include scope, and the download date are all readable at a glance.
Step 1: download the file from Order History Downloader
1. Open the viewer on the Orders tab
Run an import from the popup, then open the viewer and stay on the Orders tab. The QuickBooks download reads the Orders dataset.
2. Set the Include control
Include has three settings: All, Business only, and Personal only. Pick the one that matches the books you are working on. Orders that mix business and personal lines are left out of the business and personal scopes, and so are orders you have not marked yet.
3. Narrow the rows with the toolbar filters
Date range, amount range, currency, account, status, and search all apply to the download. The file covers whatever is on screen, so filter to the period you are posting before you download.
4. Click Download for QuickBooks
The button sits with the other export buttons and carries the subtext 3-column CSV for QuickBooks Online bank upload: Date, Description, Amount. If you have ticked individual rows, the button reads Download for QuickBooks (selected) and covers only those rows.
5. Read the toast
A single file reports: Saved {n} transactions. In QuickBooks: Transactions, Bank transactions, Upload from file.
A split export reports: Saved {n} transactions across {k} files. QuickBooks accepts up to 1,000 rows per upload.
Mixed currencies stop the download. If the rows on screen span more than one currency, the viewer shows This selection mixes currencies. QuickBooks needs one currency per file. Use the currency filter first. Set the currency filter, then download once per currency.
Step 2: upload it in QuickBooks Online
The upload flow is the same one QuickBooks uses for bank statements, so nothing here is specific to Order History Downloader.
1. Open Transactions, then Bank transactions
In QuickBooks Online, open Transactions in the left menu, then Bank transactions. In some company files the same page sits under Accounting, then Bank transactions.
2. Pick the account the purchases were paid from
Select the card or bank account you paid with. If that card already has a connected bank feed in QuickBooks, read Step 3 on this page before you upload anything, because uploading into a connected account records every purchase twice.
3. Choose Upload from file
Open the Link account dropdown and choose Upload from file. On older layouts the same flow lives under Banking, then Update, then File upload.
4. Choose the CSV and confirm the account
Select the file Order History Downloader wrote, then confirm which QuickBooks account the rows belong to.
5. Let QuickBooks map the columns
The file uses the three-column layout, so QuickBooks maps Date, Description and Amount without any work from you. Check the preview to be sure the columns landed where you expect.
6. Set the date format to MM/DD/YYYY
The file is always written in MM/DD/YYYY. Pick that format in the wizard even if your company file displays dates as DD/MM/YYYY.
7. Confirm the amount column
Amounts sit in one column, and negative values are money out. Leave the single-column option selected rather than the separate credit and debit option.
8. Review the rows and import
Look over the preview, then select Import. The rows land in the For review tab, where you categorize each one and select Add, exactly like a line from a connected bank.
Imported rows behave like any other bank line from that point on. They sit in For review until you categorize them, and they count toward the account balance once you add them.
Step 3: avoid duplicates with a clearing account
The decision is a short one, and it depends on whether the card is connected.
No connected feed for that card
Upload the file straight into the card’s account in QuickBooks and categorize the rows. There is nothing else to do, because the file is the only record of those charges.
The card is connected to a bank feed
Send the file into a clearing account instead, and let the real card feed point at it.
1. Create the clearing account
Open Settings, then Chart of accounts, then New. Name it OHD Import, set the account type to Bank, and pick a detail type such as Cash on hand. The account type has to be Bank or Credit card, because those are the only types QuickBooks lets you upload a file into.
2. Upload the file into OHD Import
Run the Step 2 flow, but pick OHD Import as the account. Categorize every row there. This is where the item detail and the business or personal split do their work, because these are the rows that carry the order description.
3. Record each card charge as a transfer
In the real card’s feed, take each Amazon or Costco charge and record it as a Transfer to the OHD Import account rather than as an expense. Once a transfer exists, QuickBooks may offer it as a suggested match on the feed line.
4. Check the balance at month end
The two sides net to zero inside OHD Import, so its balance should be zero when the month is closed. A leftover balance means an order with no card charge yet, or a card charge with no matching row from the export.
The result is that the expense is counted once, with the order detail attached to it, and the card feed still reconciles against the statement.
One thing not to rely on: the Match button on the card feed will not pair a feed line with a row sitting in the clearing account. QuickBooks matches a feed line against transactions recorded in that same account, so the transfer is the mechanism that connects the two sides.
Split shipments
Amazon sometimes charges each shipment separately. The card feed then shows two or three charges for one order, while the exported file holds a single row carrying the order total.
With a clearing account this is harmless. Record each partial charge as a transfer to OHD Import, and the partial charges net against the single row in there. Nothing needs splitting by hand.
Without a clearing account, expect to reconcile those orders yourself: keep one of the lines, exclude the duplicates, and adjust the amount so the expense matches what the card was actually charged.
One charge, several jobs: tags and one row per item
A single card charge often belongs to more than one job, client, or project. The default file cannot show that, because it carries one row per order. Two features work together to split it.
1. Tag the items
On the Items tab, each line has a Tags cell. Add as many labels as you need, for example a job name, a client, or a property. Tagging an order tags every item in it. The autocomplete reuses names you already used, so one job never turns into two spellings.
2. Switch the file to one row per item
Next to Download for QuickBooks, set Rows to Per item. Each item becomes its own line with its tags in the description, for example Amazon 114-2939844-7272257 [Smith kitchen] Brother TN-760 toner. One extra line per order, named shipping, tax and adjustments, carries whatever the item prices do not, so the order still sums to the card charge. A promotion larger than shipping and tax shows up as a positive line.
3. Categorize each line in QuickBooks
In the clearing account, assign each line to its job, class, customer, or project. The card charge is still recorded once, as a single transfer to the clearing account, and the account still nets to zero.
Item prices come from the order detail pages. For Amazon, turn on Line-item prices under Detail fields in the popup before importing. An order without item prices is written as a single line, and the download message says how many orders that applied to. GDPR ZIP imports and most other retailers carry item prices already.
Tags also appear as a column in the Items CSV and Excel exports, and in PDF filenames when your template includes the {tags} token, so a receipt can carry the job name in its filename.
Frequently asked questions
My QuickBooks uses DD/MM/YYYY. Will the dates be wrong?
No, as long as you pick the right format in the upload wizard. The file is always written in MM/DD/YYYY, and the wizard asks you which format the file uses, not which format your company file displays. Choose MM/DD/YYYY there and QuickBooks converts the dates for you.
How are refunds handled?
A refunded order contributes a second line with a positive amount, dated on the refund date when Order History Downloader captured one and on the order date otherwise. Positive means money in, so the refund line offsets the original purchase line once both are categorized.
Can I upload more than 1,000 rows?
Not in one file, because QuickBooks caps a single upload at 1,000 rows. Order History Downloader splits anything larger into numbered parts and tells you how many files it wrote. Upload each part in turn into the same account.
Does this work with QuickBooks Desktop?
This file is built for the QuickBooks Online bank upload. QuickBooks Desktop uses different import paths, and they are not covered on this page. If you need a Desktop format, send a note from the extension's Feedback tab so we can gauge demand.
Do I need an Amazon Business account?
No. Order History Downloader reads the order history of whichever account you are already signed into, business or personal. Intuit's own Amazon connector is limited to Amazon Business accounts, which is the gap this export fills for people buying business supplies on a personal account.
No column mapping
Date, Description, Amount, in the layout the upload wizard already understands. Nothing to rename, reorder, or reformat.
14 retailers, one format
Amazon and Costco are the common pair, but every supported retailer writes the same file, so the upload flow does not change.
Business and personal split
Mark items business or personal in the viewer, set Include, and the file covers only the side of the books you are posting.
Get the file QuickBooks accepts
Order History Downloader is a free Chrome extension. Import your orders, mark them business or personal, and download a file QuickBooks Online reads without editing. Nothing leaves your browser.
QuickBooks is a registered trademark of Intuit Inc., which is not affiliated with TinyFlash.
