PurchaseOrders turns a supplier PO into Acumatica-ready data. Upload a PDF, scan, or photo and the AI pulls the vendor, order dates, and line items into a clean CSV, Excel, or JSON file. Acumatica loads that data through an import scenario or the contract-based REST API, neither of which reads a PDF on its own. Try it on a real purchase order below.
Submit your purchase orders
Drop documents here, or click to file
Up to 50 files per batch
Uploading...
Acumatica can load a purchase order two ways: an import scenario that reads a CSV or Excel data provider into the Purchase Orders screen, or the contract-based REST API. Both expect structured, column-mapped fields. Neither can read the PDF a supplier emailed you, so the order gets typed in by hand first.
An Acumatica import scenario maps a source file to the Purchase Orders form field by field. The mapping is reusable, but you still have to produce a CSV or Excel file with the vendor, dates, and every line item laid out in columns before the scenario has anything to read.
The contract-based REST API creates a purchase order by posting the top-level PurchaseOrder entity with an expanded Details list. That is clean for a developer, but the vendor, item IDs, quantities, and prices all have to be extracted from the supplier PO first.
Acumatica links each line to a vendor and a stock or non-stock item. If the extracted names do not match your existing records, the import fails or creates the wrong link, so the vendor and item data has to come out clean and consistent.
A scenario that loops through a long line-item table runs one row at a time and can be slow at volume. Getting the file right on the first pass, with the lines already structured, keeps the load from stalling on rework.
PurchaseOrders reads the supplier PO and hands you clean, column-mapped fields. What you do with them stays inside Acumatica: point an import scenario at the file, or post the JSON through the REST API. The extraction is the part that was manual.
Download a flat file with one row per line item and consistent column names, then map it once in an Acumatica import scenario. The next order reuses the same mapping instead of being retyped into the Purchase Orders screen.
Take the same extraction as JSON and post the PurchaseOrder entity with its Details to the contract-based REST API. Developers get structured fields to map instead of a PDF to parse.
Inventory ID, description, quantity, unit of measure, unit cost, and line total for every row, captured across page breaks so the line values still reconcile to the order total.
A new vendor layout works on the first upload because the AI reads fields by meaning rather than by fixed position. PDFs, scans, and phone photos all go through the same path.
Running more than one system? The same extraction feeds a purchase order to NetSuite import, a Business Central import, a Sage import, and a QuickBooks converter, so mixed-system teams use one tool for every target. If you only need the file, the PO PDF to CSV converter and PDF to Excel converter produce it directly, and developers can pull structured records straight from the purchase order API. For the general approach see how to import purchase orders to your ERP, and for line-level accuracy, purchase order line item extraction.
What each Acumatica load path actually does, and where the supplier PDF still has to be read by something.
| Extract first, then load | Import scenario alone | Manual entry on the PO screen | |
|---|---|---|---|
| Reads the supplier PDF | Yes, AI reads any layout | No, it takes a CSV or Excel file | A person reads it |
| Builds the source file | Exported for you, one row per line | You build it by hand | Not applicable |
| Reusable field mapping | Yes, map the scenario once | Yes, once the file exists | No, retyped each time |
| Handles a batch of POs | Up to 100 per upload | Yes, if the file is built | One at a time |
| Needs vendor and item to exist | Yes | Yes | Yes |
| Line-item table | Captured across page breaks | Whatever you put in the file | Keyed row by row |
| Posts the document inside Acumatica | No, Acumatica does that | Yes | Yes |
| Setup | None, no templates | Build the scenario and mapping | None, but fully manual |
PurchaseOrders is a document extraction tool, not an Acumatica ISV product or add-on, and it does not run inside your Acumatica instance. It reads supplier purchase orders and returns structured fields, which you then load through an Acumatica import scenario (a data provider on a CSV or Excel file) or the contract-based REST API. Screen names, entity names, and endpoint versions differ by Acumatica release, so confirm the current steps in your own tenant before a production load.
No data provider to hand-build and no line items to retype. Upload a real supplier PO and get structured data back.
Drag in a PDF, a scan, or a photo from any vendor. Multi-page orders and several suppliers in one batch are fine.
Tip: Start with your messiest supplier layout. That is the one that tells you whether extraction holds up.
The AI reads the PO number, vendor, ship-to, order and promised dates, terms, and each line with its inventory ID, description, quantity, unit of measure, unit cost, and line total.
Point an import scenario at the CSV or Excel file, or post the JSON through the contract-based REST API. You review and release the order inside Acumatica, where the controls belong.
Yes. Acumatica imports purchase orders through an import scenario that reads a CSV or Excel data provider into the Purchase Orders screen, or through the contract-based REST API. Neither reads a PDF, so the slow part is turning a supplier PDF into a mapped file, which is where AI extraction with a tool like PurchaseOrders removes the manual typing.
Build an import scenario that maps a CSV or Excel source file to the Purchase Orders form, then run it from the Import by Scenario screen. The file needs the vendor, order dates, and one row per line item. If your POs are still supplier PDFs, extract them to a clean file first so the columns line up.
Yes. The contract-based REST API exposes a PurchaseOrder entity in the Default endpoint. You log in, then post the top-level order with its Details list expanded to create the lines. The vendor and inventory items referenced have to exist already, so extracted data has to be clean and consistent.
Yes. An import scenario processes many rows from one source file, so you can load a batch of orders in a single run rather than entering each on the Purchase Orders screen. To prepare that file quickly, extract a batch of supplier POs to one clean CSV, then run the scenario once.
Yes. Acumatica links each purchase order line to a vendor and a stock or non-stock item, and it will not post a line to a record it does not recognize. That is why clean extraction matters: the vendor name and inventory IDs have to come out consistently so you can map them to the right records.
No. PurchaseOrders is a purchase order extraction tool that runs outside your Acumatica instance. It reads supplier POs and outputs CSV, Excel, JSON, or API data. You load that data into Acumatica yourself through an import scenario or the REST API, so the posting and the controls stay in Acumatica.