How we automated purchase order processing for a precision engineering firm
A managed system now running as part of the firm's day-to-day order intake. It reads incoming purchase orders, checks the customer and figures, creates and verifies each works order, updates the sales schedule, and sends anything uncertain for human review.
- 7 min
- 164 workflow steps
- 14 processing stages
- Live system
Client details withheld for confidentiality. System details and recorded figures are real.
How do you automate purchase order processing?
The system watches the order inbox, secures the next purchase order, reads the document into a fixed set of fields, validates the customer and figures, creates a works order for each line, updates the sales schedule, verifies every important write, and routes anything uncertain to a person for review.
Every purchase order had to be copied manually into a works order and the sales schedule, line by line.
Because every customer used a different document layout, staff had to find and retype part numbers, quantities, prices, drawing issues, and delivery dates from PDFs. Orders were often handled in batches when someone found time, and a single mistyped number could lead to the wrong part being made.
What the finished system does
The automation now takes each purchase order from the inbox through to a verified works order and an updated sales schedule. Clear orders continue automatically. Anything unreadable, restricted, inconsistent, or potentially duplicated stops for human review with a written explanation.
We design managed automation systems like this around the tools a team already uses.
How the system works, stage by stage
Watch for new orders
Checks the order inbox every few minutes and starts only when another order is not already being processed.
Secure the next purchase order
Takes the oldest PDF and moves it into processing so it cannot be picked up twice.
Read and classify the document
Extracts the contents of the purchase order. Scanned, unreadable, or restricted orders are sent for human review rather than guessed at.
Extract the order details
Reads the customer, part numbers, quantities, prices, delivery dates, drawing issues, and other required fields into a fixed structure.
Check the customer and figures
Matches the customer against company records and checks that quantities, prices, and line totals agree.
Create each works order
Reserves the next works-order number and creates a separate workbook for every order line.
Verify what was written
Reads every important field back from the new workbook and compares it with the purchase order. Anything that cannot be proven is stopped for review.
Update the sales schedule
Adds the order in the correct position, preserves formatting and totals, and flags possible duplicate lines for a human decision.
File the result and notify the team
Routes every order to Completed, Needs Review, or Errors, saves a plain-English explanation, emails the correct person, and records the outcome.
Under the hood: the 14 internal stages
The 14 processing stages group 164 individual workflow steps, plus a separate watcher that wakes the processor.
- 01New order watcherInternal stage: folder_watcher
Checks the order inbox every few minutes and sends an authenticated request to start the processor, but only when nothing else is mid-run.
- 02System readiness checkInternal stage: preflight_check
Confirms every folder and workbook it needs is reachable before touching anything, and refuses to start otherwise.
- 03Select the next orderInternal stage: pick_oldest_po
Lists the inbox, keeps only PDFs, and takes the oldest one.
- 04Lock the order for processingInternal stage: claim_file
Moves the order into a processing folder so no second run can pick it up.
- 05Read the purchase orderInternal stage: read_pdf
Extracts the text from the PDF; scanned or unreadable orders go straight to the Errors folder with a note.
- 06Restricted order checkInternal stage: compliance_gate
One restricted end-customer family is never processed automatically; those orders are quarantined for a person, and both sides are told.
- 07Extract the order detailsInternal stage: ai_extract
Reads the order into a fixed set of fields, with several extraction providers in a fallback chain and every attempt logged.
- 08Validate the customer and totalsInternal stage: sanity_checks
Matches the customer against the customer records and cross-checks the arithmetic, so quantity times price must equal the line value; decides OK, review, or error.
- 09Reserve the works-order numberInternal stage: reserve_wo_number
Takes the next works-order number from the counter, then re-reads it to prove the reservation held.
- 10Process each order lineInternal stage: per_line_loop
From here, each order line is handled one at a time.
- 11Create the works-order fileInternal stage: create_wo_workbook
Copies the master works-order template. Because cloud copies report the file accepted before it exists, it waits and re-checks until the new workbook is demonstrably there.
- 12Write and verify the dataInternal stage: fill_and_verify
Writes the order data into the workbook, then reads every cell back to confirm it really landed; anything unproven is quarantined, never trusted.
- 13Update the sales scheduleInternal stage: update_sales_schedule
Finds the right slot above the totals row, inserts a properly formatted row, repairs the running total, and validates the result, with a duplicate guard that flags a repeated PO-and-part line for human review.
- 14File the result and notify the teamInternal stage: file_notify_log
Files the workbook to Completed, Needs Review, or Errors, drops a plain-English summary next to it, emails the right person, and records the outcome in the run log.
Why this was more than an AI PDF reader
The hard part was never simply pulling text out of a PDF. Dependable purchase order automation means building orchestration, safeguards, and recovery paths around the extraction, not just an AI prompt.
The safeguards that make it dependable
One order at a time
Each file is claimed before processing, so two runs cannot handle the same order.
Arithmetic checks
Quantity multiplied by price must agree with the line value.
Read-back verification
Important workbook cells are read back and compared with the values sent.
Duplicate protection
Repeated PO and part combinations are flagged for a person rather than automatically accepted or deleted.
Human review
Unreadable, restricted, inconsistent, or uncertain orders are separated from clear orders.
No silent disposal
Every order ends in Completed, Needs Review, or Errors with a written explanation.
Cloud spreadsheet services can confirm a write before the change is fully saved, so a successful response is not proof that the data actually landed.
Controlled validation exposed this before go-live. The system now reads every important field back from the finished workbook and compares it with the original purchase order. An order is only marked complete when the saved values match. Anything that cannot be verified is quarantined for human review.
Validated before going live
Before becoming part of the firm's day-to-day order intake, the system ran alongside the existing manual process for four weeks. This allowed every outcome to be checked and the failure paths to be hardened before the team relied on it.
These figures measure the controlled validation period rather than the firm's normal monthly order volume. The system is now live and managed by Noventra.
Questions businesses ask
Can purchase orders be automated when every customer uses a different layout?
Yes. AI-assisted extraction normalises different layouts into a fixed set of fields, but the result still needs validation rules and human review for anything uncertain. In this system, the customer and the arithmetic are checked on every order, and unclear documents are routed to a person rather than guessed at.
What happens if a purchase order is scanned or unreadable?
It is not guessed at. If the document cannot be read cleanly, the order is moved to an Errors folder with a note and a person is notified, so nothing is silently dropped or invented.
How do you prevent the same order being processed twice?
Each order is claimed and moved into a processing folder before work starts, so a second run cannot pick up the same file. On the sales schedule, a repeated purchase-order-and-part combination is flagged for a human decision rather than accepted or deleted automatically.
Can purchase order automation create works orders automatically?
Yes. This system reserves the next sequential works-order number, creates a separate works-order workbook for each order line from the firm's own template, fills it in, and reads the values back to confirm they saved before trusting the file.
Can it update an Excel sales schedule?
Yes. The system inserts a formatted row in the correct position, repairs the running total, and validates the result, so the schedule stays consistent rather than being appended to blindly.
Where does a person still need to review the work?
Restricted orders, unreadable documents, inconsistent figures, and likely duplicates are all separated from clear orders and sent for human review, each with a written explanation. Some fields are also intentionally left for a person to complete.
Want a system like this in your business?
Tell us what eats your week. We will tell you what can be automated, what should stay human, and what a first version would involve.
No build cost · Clear terms upfront · Managed by Noventra