Import Invoices into NetSuite from PDF, Excel, or CSV
Jun 16, 2026
Try it now: upload an invoice and get a clean Excel or CSV file in seconds.
PDF, JPG, PNG, BMP, HEIC, TIFF
Upload your invoices
Drop files here or click to upload
Up to 50 files
Uploading...
NetSuite will take a whole batch of vendor bills in one upload, but only as a CSV that matches its own layout. It will not read a PDF, a scanned image, or an Excel file you forgot to save as CSV. So the job really has two halves: turn your invoice data into clean spreadsheet rows, then run those rows through the Import Assistant. This guide walks both halves, with the exact menu path, the fields NetSuite requires, how it groups line items into one bill, and the errors that stop an import dead. If your invoices are still PDFs or photos, drop them into the converter at the top of this page first and you will have an import-ready file in a few minutes.
Can you import invoices into NetSuite?
Yes. NetSuite imports vendor bills and other transactions in bulk through the CSV Import Assistant, so you can post a whole stack at once instead of keying each one. It reads a CSV file mapped to NetSuite fields. It does not read PDFs or scanned images on its own, so those invoices have to be converted into spreadsheet rows before NetSuite can take them.
That split shapes the whole task. The NetSuite side is a guided five-step upload that takes a few minutes once your file is right. The work is in preparing accurate rows in the format the Import Assistant expects, which is where most failed imports actually start.
How do you import a vendor bill into NetSuite?
Go to Setup > Import/Export > Import CSV Records. Set Import Type to Transactions and Record Type to Bill, then upload your CSV. Map each column to the matching NetSuite field, choose whether to add or update records, validate, and run the import. NetSuite creates the vendor bills and reports any rows it could not post.
Before you start, make sure the vendors already exist in NetSuite and that you know whether your account is OneWorld, because OneWorld requires a Subsidiary on every bill. Line-level detail (account or item, amount, and any required Department, Class, or Location) belongs in your file too, so it lands on the bill the way your approvers expect.
How do I import a CSV into NetSuite?
Use the Import Assistant at Setup > Import/Export > Import CSV Records. Pick your import and record type, upload one file or several, set the character encoding (UTF-8 is safest), choose Add, Update, or Add or Update, then map columns to fields on the Field Mapping step. Save the mapping so you can reuse it on every future import.
The five steps are scan and select, import options, file mapping, field mapping, and save. The field mapping step is the one that decides success: it is where you tie your spreadsheet headers to NetSuite's Vendor, Date, Reference No., Account, and Amount fields. A saved mapping turns a ten-minute setup into a thirty-second repeat next month.
Does NetSuite have an import assistant?
Yes. The CSV Import Assistant is NetSuite's built-in tool for loading records and transactions from a spreadsheet, and it handles vendor bills, invoices, journal entries, customers, vendors, and many other record types. You reach it at Setup > Import/Export > Import CSV Records, and it walks you through upload, mapping, and validation step by step.
Using it needs the right permission. An Administrator role has it by default; a custom role needs the Import CSV File permission added before the menu item appears. If you cannot see the option, that permission is usually the reason.
Can NetSuite import PDF invoices?
No. The Import Assistant reads CSV files only, so a PDF or scanned invoice has to be converted into structured rows first. There is no native step that turns a PDF bill into a NetSuite transaction. You extract the header fields and line items into a spreadsheet, save it as CSV, then import that file. If most of your bills land in a shared inbox as email attachments, an email invoice parser can lift the attachments out automatically before you even reach the conversion step.
This is the step that eats the most time when teams do it by hand, because every PDF gets retyped field by field. Running the invoices through an extraction tool first gives you the vendor, date, invoice number, line items, and totals as columns, ready to map. The converter at the top of this page does exactly that, and you can pull invoice line item extraction into the same file so each line posts to the right account.
How do you import multiple line items into a NetSuite vendor bill?
Put one row per line item in your CSV and give every row that belongs to the same bill an identical key, usually the External ID or the vendor's invoice number. NetSuite groups rows that share that key into a single multi-line bill. The header fields (vendor, date, reference number, subsidiary) repeat on each of those rows.
So a three-line bill is three rows in the file, not one. Each row carries the same External ID plus its own account or item, description, quantity, and amount. Get the key wrong and NetSuite either splits one bill into several or merges bills that should be separate, which is the most common reason a line-item import looks scrambled afterward.
How do you match vendors when importing bills into NetSuite?
NetSuite matches each bill to an existing vendor by the value you map to the Vendor field, either the vendor name exactly as it reads in NetSuite or the vendor's Internal ID. Internal ID is the reliable choice because names drift (abbreviations, punctuation, trailing spaces) and a near-miss name will not match.
The vendor has to exist before the import. NetSuite will not silently create a vendor from a bill row, so any unrecognized vendor fails that row. If you are onboarding a new set of suppliers, import the vendor records first, then import their bills in a second pass once the IDs exist.
Why did my NetSuite invoice import fail?
Most failed bill imports trace to a handful of causes: a vendor name that does not match an existing record, a missing Subsidiary on a OneWorld account, a date in the wrong format, no Account or Item on a line, or a duplicate document number. NetSuite lists each rejected row with its reason in the import status, so the fix starts there.
Work the status log row by row rather than re-running blind. Fix the data in your spreadsheet, not in NetSuite, so your source file stays correct for next time. Common quick fixes: switch vendor matching to Internal ID, add the Subsidiary column, format dates to your company preference, and confirm every line has an account. Keeping the CSV under a few thousand rows per import also avoids timeouts on large batches.
From PDF invoices to an import-ready NetSuite file
The reliable workflow is short. Convert your PDF and image invoices into spreadsheet rows, check the vendor, date, invoice number, line items, and totals, save as CSV, then run the Import Assistant with a saved mapping. The converter at the top of this page handles the first step, and you can read the full method in how to extract invoice data to Excel and the format details in the invoice PDF to Excel converter guide.
Once your file is clean, the NetSuite side rarely fights you. If you also load bills into other systems, the same exported file works across them, and the import invoices to NetSuite page covers the vendor-bill specifics in more depth. Teams running several platforms can compare the steps for each in the how to import invoices into an ERP overview. If some of those vendor bills are really expense receipts behind reimbursements NetSuite also posts, a receipt OCR tool turns the photos into the same kind of clean rows. Convert once, map once, and a monthly stack of vendor bills posts in minutes instead of an afternoon.