Acumatica Invoice Import

Jul 24, 2026

Try it now: upload an invoice and get the data in Excel or CSV

PDF, JPG, PNG, BMP, HEIC, TIFF

Upload your invoices

There are three supported ways to import AP bills into Acumatica: an import scenario built on a data provider for repeatable bulk loads, the Load Records from File action on the Bills and Adjustments grid for a quick one-off batch of lines, and the contract-based REST API for a scheduled pipeline. All three require the vendor record and the expense account or inventory item to already exist in Acumatica, which is the most common reason a first import fails. Last updated July 2026.

This guide walks through each route, what the file has to look like, what breaks and how to fix it, and where the built-in AP Document Recognition feature fits alongside a bulk import. It is written for US finance teams and Acumatica VARs moving real invoice volume, not a single test document.

Can you import invoices into Acumatica?

Yes. Acumatica has no single Import Invoices button, but it exposes three separate mechanisms that all land AP bills in the system. Import scenarios handle repeatable bulk loads and go-live migrations, Load Records from File handles ad hoc line entry directly on a bill, and the contract-based REST API handles automated pipelines. Which one you pick depends on volume, how often you repeat it, and whether a developer or VAR is available.

RouteBest forWho runs itRepeatable?
Import scenarioBulk loads, go-live migration, monthly batchesVAR or adminYes, reuse the scenario
Load Records from FileOne bill with many lines, pasted in onceAP clerkManual each time
Contract-based REST APIScheduled, hands-off automationDeveloper or VARFully automated
AP Document RecognitionSingle PDF bills under 50 pagesAP clerk, supervisedOne document at a time

What format does Acumatica need for an AP bill import?

Acumatica wants one row per bill line, not one row per invoice. An AP bill is two things joined by a reference number: the document header carries vendor, type, reference number, date, post period, vendor reference and terms, and the detail lines carry branch, inventory ID or expense account, description, quantity, unit cost and amount. Your file repeats the header values on every line belonging to the same bill, and the import scenario groups them.

The columns that trip people up are the ones with no obvious source on the invoice itself. Vendor must be the Acumatica vendor ID, not the vendor name printed on the PDF. The line needs either an inventory ID or an expense account, which means your extraction output needs a mapping step before it can post. Type must be set to Bill rather than the default, and the post period has to be open. Get those four right and most imports go through on the first attempt.

How to import invoices into Acumatica with an import scenario

Import scenarios are the workhorse for anything you will do more than once. The build is a three-step job. First create a data provider on the Data Providers form pointing at your CSV or Excel file, and let Acumatica read the schema so the source columns appear as fields. Second, create the scenario on the Import Scenarios form, choose the Bills and Adjustments screen as the target, and map each source column to a target field. Third, run it from the Import by Scenario form, where you upload the file and process.

Two practical notes that save a rebuild later. Use the Action column in the mapping to control document boundaries, so the scenario knows when to insert a new header versus append another detail line to the current one. And test on ten rows before you run a thousand: Import by Scenario reports errors row by row, and it is far quicker to fix a mapping against a small file than to unpick a partial load. Scenarios can be exported and moved between tenants, which is why VARs tend to build one good bill scenario and reuse it across clients.

How to import bill lines without building a scenario

For a single bill with a long line-item table, building a scenario is overkill. Open the bill on the Bills and Adjustments form, go to the Details tab, and use the Load Records from File action on the grid. Acumatica opens a column-mapping dialog, you match your file's columns to the grid columns once, and the lines drop straight in.

The limitation is scope. This loads detail lines into a document that already exists, so you still create the header by hand and you repeat the mapping for each file unless you save it. It is the right tool for a 200-line freight invoice or an inventory purchase with dozens of SKUs, and the wrong tool for a month of separate bills.

How do I import invoices into Acumatica automatically?

The contract-based REST API is the route for a pipeline nobody has to touch. Authenticate against the endpoint, then PUT a Bill entity with its Details collection populated, one object per line. The API applies the same business logic the screens do, so a bad vendor ID or a closed post period comes back as a readable error rather than a silently wrong document.

The pattern most teams settle on is a nightly job: extraction runs over the day's invoices, the output is mapped from vendor names to Acumatica vendor IDs and from descriptions to expense accounts, then bills are pushed through the API in On Hold status for a controller to release in the morning. That keeps a human in the approval path while removing every keystroke before it. Once those bills are posted and paid, the month-end job shifts to matching what actually cleared the bank against what you posted, which is a separate exercise from getting the data in.

Why does my Acumatica invoice import fail?

Almost every failed AP import traces back to a small set of causes. Work through these before rebuilding anything.

  • The vendor does not exist. Acumatica matches on vendor ID, not the name on the invoice. Load or create the vendor record first, and keep a mapping table from printed vendor names to IDs.
  • No expense account or inventory ID on the line. Every detail line needs one or the other. An extraction file that carries only descriptions and amounts has to pass through a coding step first.
  • The post period is closed. A bill dated into a closed period will not post. Either reopen the period or move the date deliberately.
  • Duplicate vendor reference. Acumatica can be configured to reject a repeated vendor reference number for the same vendor, which is a feature, not a bug. It is catching a genuine duplicate.
  • Header values missing on continuation rows. If your file leaves the vendor and reference blank on rows two onward, the scenario cannot tell where one bill ends and the next begins.
  • Amounts that do not foot. If the line total does not match the document total, the bill will not release. Freight and tax lines are the usual culprits when they were captured as a subtotal rather than a line.

Where AP Document Recognition fits alongside a bulk import

Acumatica's own AP Document Recognition feature reads a PDF submitted to the Incoming Documents form and populates a bill for you to save. It is genuinely useful for one-off invoices, and it is scoped narrowly on purpose. Acumatica's documentation advises avoiding PDF files larger than 10 MB because recognition quality may decrease as document size and complexity increase, warns that recognition may fail on documents longer than 50 pages, recommends files with the en-us locale for best results, and states that the number of recognized documents is limited by the applied license. It also notes that complete accuracy cannot be guaranteed.

So the two approaches serve different jobs. Recognition suits a clerk handling today's handful of emailed PDFs. Bulk import suits a migration, a monthly batch, or a backlog. Teams running real volume usually run an extraction layer in front of both, because that removes the page-count and file-size ceilings and produces one consistent CSV whatever the vendor sent. That is exactly what Acumatica AP automation with a dedicated capture tool is for.

What is the fastest way to get a year of invoices into Acumatica?

Extract first, map second, load third. Run the whole backlog through AI extraction to get one CSV with identical columns for every vendor, including full line-item tables. Then build two lookup tables, vendor name to vendor ID and description keyword to expense account, and apply them in the spreadsheet. Then load with a single import scenario. The extraction step is what makes the other two possible, because hand-keying a year of bills into a consistent shape is the part that never gets done.

If your invoices arrive as scans or photos rather than clean PDFs, that changes nothing about the load routes but everything about capture. Our guide to extracting data from a scanned invoice covers what actually works on faint and skewed documents, and invoice line item extraction explains how full line tables are captured rather than just totals.

Does Acumatica have OCR for invoices?

Yes, through the AP Document Recognition Service feature, which sends a submitted PDF to an external recognition service and returns values into the Incoming Documents form. The document passes through Pending Recognition and In Progress states before reaching Recognized, at which point Save and Continue creates an AP bill with a status of On Hold. It reads PDFs only, and throughput is bounded by your license rather than by a setting you control.

For teams comparing what different ERPs ship natively, the pattern repeats. Our write-ups on Business Central AP automation and importing invoices into Business Central cover Microsoft's Payables Agent and its 10-page and 5 MB caps, while importing invoices into NetSuite and importing invoices into Sage cover the equivalent routes there. The comparison across all of them lives on how to import invoices to an ERP.

Should you import bills or post them through the API?

Import scenarios win when a person is already in the loop and the file arrives on a schedule someone controls, like a monthly subcontractor batch. The API wins when the goal is that nobody touches it at all, and when you need the load to run at three in the morning without a session open. Most Acumatica sites end up with both: a scenario for the exceptions and the migrations, an API job for the steady daily flow.

The decision that matters more than either is where the structured data comes from. Both routes assume a clean file with one row per line and consistent headers. Getting there from a pile of PDFs is the actual work, and it is the part worth automating first. Upload a vendor bill at the top of this page to see the columns an Acumatica load needs, then read accounts payable automation software for how the full flow fits together.