Noventra AI
Teardown № 01 · Purchase order automation

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.

The problem

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.

The outcome

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.

Order received
Document read
Details checked
Works orders created
Sales schedule updated
Result verified
Team notified

We design managed automation systems like this around the tools a team already uses.

How it works

How the system works, stage by stage

Stage 01

Watch for new orders

Checks the order inbox every few minutes and starts only when another order is not already being processed.

Stage 02

Secure the next purchase order

Takes the oldest PDF and moves it into processing so it cannot be picked up twice.

Stage 03

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.

Stage 04

Extract the order details

Reads the customer, part numbers, quantities, prices, delivery dates, drawing issues, and other required fields into a fixed structure.

Stage 05

Check the customer and figures

Matches the customer against company records and checks that quantities, prices, and line totals agree.

Stage 06

Create each works order

Reserves the next works-order number and creates a separate workbook for every order line.

Stage 07

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.

Stage 08

Update the sales schedule

Adds the order in the correct position, preserves formatting and totals, and flags possible duplicate lines for a human decision.

Stage 09

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.

  1. 01
    New order watcher
    Internal 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.

  2. 02
    System readiness check
    Internal stage: preflight_check

    Confirms every folder and workbook it needs is reachable before touching anything, and refuses to start otherwise.

  3. 03
    Select the next order
    Internal stage: pick_oldest_po

    Lists the inbox, keeps only PDFs, and takes the oldest one.

  4. 04
    Lock the order for processing
    Internal stage: claim_file

    Moves the order into a processing folder so no second run can pick it up.

  5. 05
    Read the purchase order
    Internal stage: read_pdf

    Extracts the text from the PDF; scanned or unreadable orders go straight to the Errors folder with a note.

  6. 06
    Restricted order check
    Internal stage: compliance_gate

    One restricted end-customer family is never processed automatically; those orders are quarantined for a person, and both sides are told.

  7. 07
    Extract the order details
    Internal stage: ai_extract

    Reads the order into a fixed set of fields, with several extraction providers in a fallback chain and every attempt logged.

  8. 08
    Validate the customer and totals
    Internal 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.

  9. 09
    Reserve the works-order number
    Internal stage: reserve_wo_number

    Takes the next works-order number from the counter, then re-reads it to prove the reservation held.

  10. 10
    Process each order line
    Internal stage: per_line_loop

    From here, each order line is handled one at a time.

  11. 11
    Create the works-order file
    Internal 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.

  12. 12
    Write and verify the data
    Internal 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.

  13. 13
    Update the sales schedule
    Internal 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.

  14. 14
    File the result and notify the team
    Internal 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.

The real complexity

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.

Every customer used a different document layout
Scanned or unreadable documents
Restricted orders that require human handling
Preventing two runs from processing the same file
Checking customer records and arithmetic
Reserving sequential works-order numbers safely
Creating one works order per order line
Waiting for cloud-created files to become available
Verifying that spreadsheet writes actually saved
Preserving formulas and formatting
Detecting likely duplicates
Routing uncertain outcomes for human review
Logging and explaining every result
Safeguards

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.

No error is not the same as “it worked”

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.

Results

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.

4 weeks
of controlled validation
68
controlled validation runs
94
works orders created and verified
109
recorded outcomes across completed, review, and error paths
0
silent failures; every order filed with a written explanation

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.

Common questions

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