Booking customer POs with the checks a senior CSR would make
Customer purchase orders arrive as PDFs in a hundred layouts. Keying one is slow; keying one correctly — right price, right ship-to, right terms, not a duplicate — takes experience. We built a console that reads the PO and does the checking, and leaves the decision to the person.
Order entry is where mistakes start
Most order-to-cash problems begin at booking. A price keyed from the PO instead of the contract. A ship-to that isn’t in the address book. A duplicate PO booked twice because it arrived by email and by fax. Freight terms missed, so the shipment goes out prepaid on a collect account. Each one becomes a credit memo, a short pay or a customer call weeks later.
Experienced customer service reps catch most of these because they know the customers. That knowledge is exactly what’s hard to hand over, and what leaves when they do.
What the console does
- Reads the PO. Drop one or many PDFs. Each is read for customer, PO number, ship-to, requested date, lines, quantities and prices, whatever the layout.
- Finds the customer and their defaults. Rep, location, ship method, freight terms, third-party account and the codes a person would normally set by hand, taken from how that customer has actually been ordering.
- Matches the items. Customer part numbers, vendor part numbers, UPC codes with or without the check digit, letter-swapped typos and drawing numbers mistaken for part numbers are all handled, with the match shown so a person can confirm it.
- Runs the checks. Every finding is red (blocks booking), amber (look at this) or blue (for information).
- Books and verifies. Creates the order, attaches the PO, then reads the order back and lists any field that didn’t save as intended, with a link.
The checks are the product
- Price against contract pricing, discount codes, list, and what the customer last paid. A PO price below ours books on hold, with a drafted email asking for a corrected PO.
- Duplicates by PO number, so the emailed copy and the faxed copy don’t both ship.
- Ship-to against the address book, including one-time drop ships and malformed ZIP codes.
- Freight: ship method, collect and third-party accounts.
- Credit: terms, credit hold, overdue balance and credit limit. Card-terms customers get a payment step before release, with protection against charging a card twice.
- Dates: a requested delivery date later than standard lead time is honoured instead of overwritten.
The value isn’t reading the PDF. It’s knowing what to check once it’s read.
Why a person still approves
Nothing books without someone looking at it. The console does the reading and the checking in seconds; the person makes the calls that need judgment — accept a price, call about a ship-to, release a held order. That split is deliberate. It keeps responsibility where it belongs and lets the tool be aggressive about flagging without being reckless about booking.
What changed
- PO entry went from keying every line to reviewing a pre-filled, pre-checked order.
- Price problems are caught before the order ships, not when the invoice is short-paid.
- Duplicates stop at the door.
- Every booked order has its PO attached and its booking checks logged, so the next question about it starts with the evidence.
Running this on AI wasn’t free at first: every PO was being sent to the model several times at full price. How we cut that cost by more than half is in your AI bill is mostly the same instructions.
Related: OCR promised this for a decade, and negative prices on a quote nobody typed wrong.