Sage 300 Purchase Order Import from PDF Purchase Orders to Sage 300 Import Templates for P/O and O/E Order Entry

Sage 300 imports purchase orders from Excel or CSV through File, Import on the entry screen.

PDF, JPG, PNG, BMP, HEIC, TIFF

Submit your purchase orders

PDF, scan, or email attachment
Header and lines kept separate
Excel or CSV output
No per-vendor template

Overview

Sage 300 imports purchase orders from Excel or CSV through File, Import on the entry screen. It cannot read a PDF. Upload the purchase order and get the header and every line back as structured rows you drop into the template you exported from P/O Purchase Order Entry or O/E Order Entry.

Why purchase orders still get keyed into Sage 300

Sage 300 has a perfectly good import. What it needs is a two-sheet file with codes it recognizes, and a PDF is neither.

The template wants two sheets

Headers go on one sheet and lines on another, linked by a sequence number. Building that by hand from a PDF is slower than typing the order.

Every sender uses a different layout

Supplier POs, customer orders and parent-company POs all look different. Template-based capture breaks on the first new format.

Codes must already exist

Vendor numbers, items, locations, terms and tax groups have to match Sage 300 exactly. The document shows names and part numbers, not your codes.

Long orders hide errors

A 50-line order keyed by hand is where a quantity or unit cost slips. It surfaces at receipt or at the vendor invoice, weeks later.

From a PDF purchase order to a Sage 300 import file

Upload the purchase order. The AI returns the header fields and every line item as rows, split the same way the Sage 300 template splits them, so the import becomes a mapping step instead of a typing job.

Reads any PO layout

No template to build per vendor or customer. Clean PDFs, scans and phone photos all work.

Header and lines split

Order-level fields and line-level fields come back separately, ready for the header sheet and the lines sheet.

Every line captured

Item number, vendor item number, description, quantity, unit of measure and unit cost for each line.

References kept apart

The number printed on the document stays in its own column, so it never overwrites the PO number Sage 300 assigns.

How Sage 300 imports a purchase order

Sage 300 does not ship a fixed purchase order template you download from a website. You generate it from the screen you want to load. Open P/O Purchase Order Entry, choose File, then Export, pick a file type, and tick the fields you want in the template. Fields shown in red are required and cannot be unticked. The file types on offer are Excel, single CSV file, CSV file, Access, ODBC and XML. Save Script stores those choices so the next export or import runs with the same settings.

When the template is filled in, you go back to the same screen and choose File, then Import. That is the whole native route. There is no separate import utility to buy, which is why most Sage 300 sites that key orders by hand are not short of an import. They are short of the data in the right shape.

PORHSEQ links the header and the lines

A Sage 300 purchase order is two records, not one. The header lives in the purchase order view (PO0620) and each line lives in the detail view (PO0630). An Excel template therefore arrives with more than one sheet: one for the order headers and one for the lines, plus optional sheets for comments and optional fields if you ticked them.

The field that ties them together is PORHSEQ, the purchase order sequence key. In an import file it does not need to be a real key. You number the headers 1, 2, 3 and so on, one row per order on the header sheet, and give every line of that order the same PORHSEQ on the lines sheet. Sage 300 generates the real keys when the file loads. PORLREV carries the line number within the order.

This is where hand-built files go wrong. If a line carries the wrong PORHSEQ it lands on somebody else's order, and nothing about the import screen tells you. Check the line count per order after the first test load.

Let Sage 300 number the orders

Purchase order numbers are normally assigned by the program from the prefix, length and next number set in P/O Options. You can keep that behavior on import. In the import dialog, right-click the PONUMBER field and choose Value to have the system generate the next sequential number instead of taking one from the file. That keeps your numbering clean and stops a supplier reference from being used as your own PO number.

What has to exist before the file will load

The import references codes, it does not create them. The vendor number, terms code, tax group, ship-to location and every item number on the lines have to be set up in Sage 300 already. The vendor number also drives defaults: it sets the billing address, the default tax group and the payment terms, so a wrong vendor quietly brings the wrong terms with it. Reference and Description on the header are limited to 60 characters each, which matters when the source document has a long project name.

Back up the company database before the first import. Sage partners say this for a reason: an import writes real transactions, and there is no undo button for a batch that went in wrong.

Customer purchase orders into O/E Order Entry

If the purchase orders in your inbox come from customers rather than going out to suppliers, the target is O/E Order Entry, not P/O. The route is the same idea: export a template from the Order Entry screen, fill it, import it. The fields that matter from the customer document are the customer number, the ship-to location, the customer PO number and the inventory location for each line. Keep the customer PO number in its own field. It is what the buyer will quote when they call about the order, and it is not your order number.

Where the extraction fits

PurchaseOrders reads the purchase order document, whether a supplier PDF, a scan or a customer order attached to an email, and returns the header and every line as structured data in Excel or CSV. You map the columns into the template you exported from Sage 300, apply your vendor and item cross-reference, and import. It does not connect to Sage 300, write to its database, run the import or create orders on its own. What it removes is the typing between a document and a template Sage 300 already knows how to load.

If you want to see the output first, the purchase order PDF to Excel converter shows the workbook shape, and long orders come down to purchase order line item extraction. For a weekend of orders at once, bulk purchase order upload clears the queue in one pass.

Who this is for

A US distributor or manufacturer on Sage 300 whose order desk or purchasing team keys purchase orders from PDFs: customer orders for O/E, or supplier and parent-company POs for P/O, often during a migration when open orders from an old system only exist as documents. If you are on a different Sage product, the routes differ: Sage 100 purchase order import uses Visual Integrator, Sage X3 purchase order import uses import templates on the PORDER tables, and purchase order to Sage Intacct covers the cloud CSV templates. Teams weighing a move off Sage 300 can read Sage 300 vs Sage Intacct for purchase orders, and the order desk side is covered by sales order entry automation.

PDF purchase order field to Sage 300 p/o field

What comes off the document and where it goes in P/O Purchase Order Entry. Field labels follow the Sage 300 help for the Purchase Order Entry screen.

Sage 300 field Sheet Where it comes from Note
PORHSEQ Header and lines Assigned by you: 1, 2, 3 per order Links every line to its header
PO Number (PONUMBER) Header Let Sage 300 assign it Right-click, Value, on import
Vendor Number Header Supplier name on the PO, mapped to your code Sets terms and tax group
PO Date Header Order date on the document Defaults to session date
Ship-To Location Header Delivery block on the PO Must be a set-up location
Reference Header Project or job reference Up to 60 characters
Item Number Lines Part number, mapped to your item Item must exist
Quantity Ordered Lines Ordered quantity per line With unit of measure
Unit Cost Lines Unit price printed on the line Check currency
Expected Arrival Date Lines Line delivery date if printed Optional

How the import runs

Four steps from a PDF to purchase orders sitting in Sage 300.

1

Export your template

In P/O Purchase Order Entry choose File, Export, pick Excel or CSV and tick the fields you use. Save Script keeps the setup.

Tip: Red fields are required and stay ticked.

2

Upload the purchase orders

Drop in the PDFs, scans or email attachments, one or a whole batch. No template setup on our side.

Tip: Customer orders and supplier POs both work.

3

Map and number

Paste the header and line rows into the template, apply your vendor and item codes, and give each order a PORHSEQ repeated on its lines.

Tip: Keep one cross-reference sheet and reuse it.

4

Import in Sage 300

Back up, then File, Import on the same screen. Set PONUMBER to Value so Sage 300 numbers the orders.

Tip: Test with two orders before the full batch.

Why teams put this in front of Sage 300

PDF
Any source document
1
Row per line item
CSV
Or Excel, your choice

Security and privacy

  • Bank-grade TLS encryption in transit
  • Your PO data is never sold or shared
  • US-based cloud infrastructure

Sage 300 purchase order import questions, answered

Open P/O Purchase Order Entry, choose File, Export to generate a template with the fields you need, fill it in, then choose File, Import on the same screen and select the file. Excel, CSV, Access, ODBC and XML are supported. Back up the company data before the first import.

Yes, but you generate it yourself rather than downloading it. File, Export in P/O Purchase Order Entry creates a template containing the fields you tick, with the required fields locked in. Because it is built from your own system, it includes your optional fields and matches your version.

Through PORHSEQ, the purchase order sequence key. Number each order 1, 2, 3 on the header sheet and repeat that number on every line of the same order on the lines sheet. Sage 300 creates the real keys during the import, so the numbers only need to be consistent inside the file.

Yes. In the import dialog, right-click the PONUMBER field and choose Value so the system generates the next number from the prefix, length and next number set in P/O Options. That keeps your numbering sequence intact and stops a number printed on the source document from becoming your PO number.

Usually because a code in the file does not exist in Sage 300: a vendor number, item number, location, terms code or tax group. The import references codes and does not create them. The other common cause is a missing required field, which is why generating the template from the screen is safer than building one by hand.

Yes. The target is O/E Order Entry rather than P/O. Export a template from the Order Entry screen and fill in the customer number, ship-to, customer PO number and location for each line. Keep the customer PO number in its own field so it stays searchable and is never confused with your order number.

No. The native import reads structured files such as Excel, CSV, Access, ODBC and XML, not PDFs or scans. The data has to be pulled off the document first, either by hand or with an extraction tool that returns the header and lines as rows you paste into the template.

Yes. An import writes live transactions, and a batch that went in with the wrong vendor or quantities has to be corrected order by order. Take a backup, test with two or three orders, check the line counts and totals, then run the full file.

No. PurchaseOrders reads purchase order documents and returns structured data as Excel, CSV or JSON. It does not connect to Sage 300, write to its database or run the import. You load the file through the standard File, Import route, so everything stays under your control.