Skip to content
Book a shadow test

PO reader: turn a purchase order into a table you can check

Paste an order email or upload a PO PDF, scan or photo. Every field the reader is unsure of is highlighted with the reason, so you check two cells instead of the whole order. Three free reads, no sign-up.

PO reader

3 free reads, no sign-up

Drop a PO file here

PDF, scan or photo (PNG, JPG, WEBP), TXT or CSV. Up to 10 MB. Photos over 5 MB are shrunk before sending.

0 / 60,000
No PO handy? Open a sample:

Read in memory and discarded. Never stored, never used for training. Privacy policy

What it reads

Customers send orders in whatever their own system produces. The reader takes the common formats as they arrive, so nobody has to tidy them first.

FormatExamplesNotes
PDFPurchase orders from procurement systems, invoice-style POs, multi-page ordersText PDFs and scanned PDFs both work. Up to 10 pages.
Scans and photosPNG, JPG or WEBP: faxes saved as images, a phone photo of a printed POFlat, straight and well lit reads best. Lookalike characters are flagged.
Email textPaste the whole email, signature and allEarlier messages quoted in the thread are ignored.
TXT and CSVExports from a customer's system, order lines copied from a spreadsheetHeader details on every row are fine; the reader works them out.
Not yetExcel and Word filesSave Excel as CSV and Word as PDF, then drop that.

What you get back

The header fields come first, then one row per order line. Every value is editable before you export it.

FieldWhat it means
CustomerThe business that sent the order, as it names itself on the PO.
PO numberThe buyer's purchase order number, exactly as written, leading zeros kept.
Order dateThe date on the order. For an email with no date in it, the date it was sent.
Requested delivery dateA required-by date for the whole order, when there is one.
Ship to and bill toThe delivery and invoice addresses, each as one line.
CurrencyThree letters. Flagged when the PO does not say and it was inferred.
Part numberThe code the customer wrote. When the PO labels a supplier code, that one is used.
Description, quantity, unit of measureAs written on the order. Pack sizes are not mistaken for quantities.
Unit price and line totalPlain numbers. "TBC" or a blank price stays empty rather than guessed.
Line dateA date given for that line only. A header-level date stays in the header.

Freight, discount and GST rows go into notes, not lines, so the line count matches the items ordered.

How to check a read

  1. Add the order. Drop the PO file or paste the email.
  2. Read it. Press Read order. Most orders take 5 to 20 seconds.
  3. Check the highlighted fields. Fix each one, or press Looks right. The reason is written under the field, so you know what to look at on the original.
  4. Export. Download the CSV, or copy the lines into a spreadsheet.

The page also does one check of its own: when quantity times unit price does not equal the line total, it highlights the total so you can look for a discount or a misread digit.

The CSV, column by column

#ColumnNotes
1customer_nameRepeats on every row
2po_numberAs read or edited
3order_dateYYYY-MM-DD
4requested_delivery_dateYYYY-MM-DD
5ship_toOne string, lines joined with ", "
6bill_toSame format
7currencyThree letters
8line_no1, 2, 3 and so on
9part_numberThe customer's code, as read or edited
10descriptionAs written on the order
11quantityPlain number
12uomAs written, for example EA or BOX
13unit_pricePlain number, "." decimal, no symbols or thousands separators
14line_totalSame
15line_dateYYYY-MM-DD
16notesDelivery instructions, freight, GST and similar
17header_flagsHeader fields still flagged, separated by ";"
18line_flagsThis line's fields still flagged

The file is UTF-8 with a byte order mark, so Excel opens it cleanly, with commas between columns and standard quoting. Any text cell that starts with =, +, - or @ gets a leading apostrophe so a spreadsheet never runs it as a formula. With no lines, you still get one row with the header fields.

Limits and privacy

  • Three free reads per visitor, then 20 more with a work email.
  • A daily budget for the whole site. When it is used up, the reader pauses until midnight UTC.
  • A limit per connection, to stop abuse.
  • Files up to 10 MB, PDFs up to 10 pages, text up to 60,000 characters. Photos can be up to 5 MB; larger ones are shrunk in your browser before they are sent.
  • Reads that fail or find no order do not count toward your reads.
  • Files and text are read in memory and discarded. They are never stored and never used for training. See the privacy policy.

From the reader to the agent

The reader turns one order into a table. The agent does that for every order in your inbox, then does the parts that turn a read into a sales order:

  • Watches the shared orders inbox, so nobody forwards or uploads anything.
  • Matches the customer to your account and their part numbers to your SKUs.
  • Checks price and stock in your ERP and flags differences instead of changing them.
  • Drafts the sales order in your ERP, or an import file where there is no connector yet.
  • Puts anything uncertain in a review screen with the original beside the draft.
  • Learns each correction, so the same customer code is right next time.

More on the matching step in sales order automation, and on how AI reading compares with templates in purchase order OCR.

PO reader questions

What can the PO reader read?

PDF purchase orders, scans and photos saved as PNG, JPG or WEBP, faxes saved as images, plain order emails pasted as text, and TXT or CSV exports from a customer's system. It does not read Excel or Word files yet: save a sheet as CSV, or an order as PDF, first.

Is it free?

Yes. You get three free reads with no sign-up, and 20 more if you add a work email. There is also a daily budget for the whole site, so on a very busy day the reader may pause until the next day.

What happens to my file after it is read?

It is read in memory to produce the result and then discarded. It is never written to our storage or logs, and never used to train any model. The result lives only in your browser until you close the page.

Why are some fields highlighted?

A yellow field is one the reader is not sure of: a character that could be a letter or a number, a handwritten change, a value it had to infer, or a line total that does not match quantity times price. The reason sits under the field. Fix it, or press Looks right.

What is in the CSV?

One row per order line, with the header fields repeated on every row: customer, PO number, dates, ship-to, bill-to, currency, then part number, description, quantity, unit of measure, unit price, line total and line date. Two extra columns list any fields still flagged.

Can it read handwritten changes on a PO?

Often, yes. When a printed quantity is crossed out and a new one is written beside it, the reader uses the handwritten value and flags it so a person confirms it. Very messy handwriting may come back flagged or blank.

Does the CSV import into my ERP?

It is a generic CSV, laid out for checking and for spreadsheets, not for any one ERP. The full agent writes to the ERP directly, or produces a file in your ERP's own import format.

Why did it say there was no order?

The reader looks for a customer and at least one line with a quantity. A statement, an invoice for payment or a blank page has neither. If your document is an order, try a cleaner copy, or paste the email text instead of a screenshot of it.

See it on your own orders

A free shadow test runs a month of your emailed orders through the agent. Read-only, about a week.