Sage 300 O/E Order Entry imports orders from a two-part file, Orders and Order_Details, joined by ORDUNIQ.
PDF, JPG, PNG, BMP, HEIC, TIFF
Submit your purchase orders
Drop documents here, or choose a file
Up to 50 files per batch
Uploading...
Sage 300 O/E Order Entry imports orders from a two-part file, Orders and Order_Details, joined by ORDUNIQ. Upload the purchase order your customer emailed and get the customer PO number, dates and every line with item, unit and quantity as rows you drop into that template.
The Order Entry import is fast once the file is right. Building that file from a buyer PDF is the slow part, and it lands on the order desk every morning.
O/E Order Entry accepts Excel or CSV laid out as Orders and Order_Details. A purchase order printed by a buyer ERP has to become those rows first, and today someone types them.
Header fields go on the Orders sheet and lines on Order_Details, tied together by ORDUNIQ. Get the link wrong on one row and a line lands on the wrong customer order.
The standard import on a transaction screen only inserts. Correct a typo and import the file again, and Sage 300 creates a second order instead of updating the first.
Customers order by their own codes and their own units. Each line needs your item number and an order unit Sage 300 recognizes, and a 60-line release is 60 chances to key one wrong.
Upload the purchase order your customer sent. The AI reads the header and every line and returns a spreadsheet with one row per line and the header values beside each, which you split into the Orders and Order_Details layout your import template expects.
No per-customer template. Digital PDFs, scans and photographed pages from any buyer system come back in the same column layout.
A 60-line order returns 60 rows in document order, so numbering LINENUM 1 to 60 under one ORDUNIQ takes a fill-down, not retyping.
The buyer PO number lands in its own column, ready for the PO number field on the order header and for finding the order when the buyer calls.
Order date, requested ship date and the unit of measure on each line come back as separate values, ready for ORDDATE, EXPDATE and ORDUNIT.
Sage 300 has one native bulk route for customer orders, and it sits on the Order Entry screen in O/E Transactions. The standard import there reads Excel, CSV and other structured files, maps each column to a field and writes the order through the same logic a person uses at the keyboard. Sage installs ready-made layouts in the ImportTemplates folder under the Sage 300 program directory, and the quickest way to build your own is to export a single order with only the fields you need, then reuse that file as the template. What the import cannot do is read the document your customer sent. A purchase order emailed as a PDF has to become rows before Sage 300 can see it, and today that is the part the order desk types.
A Sage 300 order is a header in the OE0520 view and lines in OE0500. In an Excel import those are two sheets, Orders and Order_Details. On the Sage community, the minimum layout that works is ORDUNIQ, CUSTOMER and LOCATION on Orders, and ORDUNIQ, LINENUM, ITEM, ORDUNIT and QTYORDERED on Order_Details. ORDUNIQ is not the order number. It is a key that exists only to tie lines to their header inside the file: start at 1, add 1 for each order, and give every detail line the ORDUNIQ of the order it belongs to. Sage 300 assigns the real order number when the import posts. Number LINENUM in sequence inside each order and do not be surprised when the import rewrites the values to multiples of 32, which is how Sage spaces lines so new ones can be inserted between them later.
CSV has no sheets, so you have two choices. Build separate files for Orders and Order_Details, or put both in one file with a RECTYPE column: both header rows at the top, then data rows marked 1 for an order and 2 for a detail line. The extractor returns one row per line with the PO header repeated beside it, which is the easiest shape to split either way. Filter the first row of each PO to build the Orders block, keep every row for Order_Details, and copy the same ORDUNIQ down each group.
The standard import on a transaction table only adds records. Master files such as customers and items can be updated by import, but orders cannot, so a file you fix and import again lands as a second order. Delete or correct the bad order on screen first, then import only the orders that failed. Connector tools can insert, update and delete orders through the same views, but the import built into Order Entry does not. TYPE decides what kind of document arrives: 1 is an active order and 4 a quote, so a missing or wrong TYPE value can quietly put customer orders on the quote list.
Buyers order by their own part numbers and their own units. Keep one mapping sheet per account from the buyer code to your item number and order unit, because the same customer sends the same codes every month, and the sheet turns into the cheapest piece of automation on the order desk. ORDUNIT has to be a unit already set up for the item in Inventory Control, or the line stops. If you want the price the buyer printed instead of your price list, community answers point to carrying it in the PRIUNITPRC column on the detail line, then checking the first imported order on screen. If the order desk also handles purchasing, the buying side runs through the same tool on our Sage 300 purchase order import page, and if you are still pricing the system itself, our Sage 300 pricing breakdown covers licensing, modules and implementation.
PurchaseOrders reads the customer PO, a digital PDF, a scan or a photographed page, and returns the header and every line as Excel, CSV or JSON. You rename the columns once to the field names in your import template, save that header row, and every later batch drops straight in. It does not install inside Sage 300, does not run the Order Entry import and does not create the order. For volume, bulk purchase order upload takes up to 50 files at a time, and the purchase order API returns the same fields as JSON for an integrator posting orders through code. Running Sage 100 at another site? The same workflow is on Sage 100 sales order import, and the full intake process across systems is on sales order entry automation.
What comes off the customer document and which Order Entry import field it usually fills. Confirm field names against an export from your own Sage 300 version.
| Sage 300 field | Sheet | Where it comes from | Notes |
|---|---|---|---|
| ORDUNIQ | Orders and Order_Details | Not on the document. Number each order 1, 2, 3 in the file. | Links lines to their header |
| CUSTOMER | Orders | The buying company, matched to your customer number. | Customer must exist |
| TYPE | Orders | Not on the document. 1 for an active order. | 4 creates a quote |
| PONUMBER | Orders | The purchase order number the customer printed. | Search key when the buyer calls |
| ORDDATE | Orders | The PO date on the document. | One value per order |
| EXPDATE | Orders | The ship or delivery date the buyer asked for. | Lines carry their own EXPDATE too |
| LOCATION | Orders | Your warehouse, not on the document. | Required on the header |
| LINENUM | Order_Details | Line order on the document, 1 to n. | Rewritten to multiples of 32 |
| ITEM | Order_Details | The customer part number, mapped to your item. | Description will not match |
| ORDUNIT | Order_Details | The unit of measure printed on each line. | Must exist for the item |
| QTYORDERED | Order_Details | Ordered quantity on each line. | One row per line |
Four steps from the customer attachment to orders in Sage 300 O/E.
Drop in the PDF, the scan or the email attachment. Up to 50 files per bulk upload, with no per-customer setup.
Tip: Portal downloads and forwarded attachments work the same way.
Check the header and lines on screen, then map the buyer to your customer number and each buyer part code to your item and order unit.
Tip: Keep the mapping sheet per account; it barely changes month to month.
Download Excel, take the first row of each PO for Orders, keep every row for Order_Details, and fill ORDUNIQ down each group.
Tip: Or add a RECTYPE column and import one CSV.
Import a single two-line PO, open it in Order Entry, then load the full batch.
Tip: Check TYPE, the PO number and both lines before the big run.
Open Order Entry in O/E Transactions and use the import on that screen. The file has two parts, Orders for the header and Order_Details for the lines, linked by ORDUNIQ. At minimum carry ORDUNIQ, CUSTOMER and LOCATION on Orders, and ORDUNIQ, LINENUM, ITEM, ORDUNIT and QTYORDERED on Order_Details.
ORDUNIQ is a link key used inside the import file, not the order number. Number each order 1, 2, 3 on the Orders sheet and give every detail line the ORDUNIQ of its order. Sage 300 assigns the real order number when the import posts.
Not with the standard Order Entry import. Imports into transaction tables only add records, so a corrected file creates a second order. Master files such as customers and items can be updated by import. Delete or fix the bad order on screen, then import only the orders that failed.
Sage installs sample layouts in the ImportTemplates folder under the Sage 300 program directory, including Order Entry. You can also export one existing order from the Order Entry screen with only the fields you need and reuse that file as your template.
Order Entry spaces detail lines in multiples of 32 so new lines can be inserted between them later. Number LINENUM 1, 2, 3 inside each order in your file and let the import rewrite them. The order of lines on the document is kept.
Yes. Put both header rows at the top of the file and add a RECTYPE column, with 1 on rows that are orders and 2 on rows that are order detail lines. The alternative is two separate CSV files, one for Orders and one for Order_Details.
Not through the Order Entry import, which reads structured files such as Excel and CSV. A customer purchase order that arrives as a PDF has to become rows first, typed by hand or extracted, before Sage 300 can create the order.
No. PurchaseOrders reads the customer purchase order and returns structured data as Excel, CSV or JSON. It does not install in Sage 300 and does not run the import or create orders. You load the rows through your Order Entry import, the API or your own integration.
The buying side: POs you issue.
The same workflow on Sage 100.
The same workflow on Sage Intacct.
Order entry for Eclipse distributors.
Order entry for Prophet 21 distributors.
The full order entry workflow.
Choose your plan