AI Document
Extraction

From inbox to insight: automating unstructured purchase orders on AWS.

Extract • Validate • AI Ready
Guddge
The Challenge
Challenge
Document
Pipeline
Live Demo
Value

The Challenge: POs That Don't Fit in Rows

Utility supply chains run on documents people write, not data systems exchange.

Orders arrive as free text

Emails, scanned faxes, and PDFs from hundreds of suppliers (pole hardware, transformers, PPE), each phrased differently.

Manual keying is slow

Staff re type PO numbers, line items, and totals into the ERP. Minutes per document, thousands of documents per month.

Errors surface late

A mistyped quantity or price isn't caught until invoice matching fails, or a storm response crew is short on materials.

62%
of a typical utility's supplier documents are unstructured or semi structured
5 to 8 min
average manual handling time per purchase order today
Figures are illustrative; we confirm them with your own document volumes during discovery.
Guddge
The Document
Challenge
Document
Pipeline
Live Demo
Value

Our Demo Document: A Real World PO

What makes this hard for software?

Key fields buried in sentencesPO number, dates, and totals appear mid paragraph, not in labeled fields.
Inconsistent phrasing“at $28.50 per case” vs. “$9.75 each” vs. “unit price $22.00”: three formats in one order.
No two suppliers alikeTemplates and rules break; the pipeline must generalize.
Swap in your own: transformer orders, pole line hardware, storm restock lists.
Guddge
Architecture
Challenge
Document
Pipeline
Live Demo
Value

The Pipeline at a Glance

Serverless, event driven, pay per document. No servers to patch.
1

Amazon S3

Online storage, like a shared drive

Raw PO lands in the bucket; event fires

→
2

AWS Lambda

Does each step automatically

Orchestrates extraction on each upload

→
3

Bedrock / Textract

AI that reads the order for you

Free text → strict JSON fields

→
4

Validate

Checks the numbers add up

Types coerced; totals cross checked

→
5

Curated S3

Clean copy, ready to use

Parquet tables: header + line items

→
6

Athena SQL

Ask questions, get answers fast

Query instantly via Glue Catalog

Optional Destinations

Amazon Redshift: warehouse analytics DynamoDB: instant PO lookups in field apps QuickSight: dashboards
Guddge
Demo Part 1 · Live
Challenge
Document
Pipeline
Live Demo
Value

Demo Part 1: Land & Extract

Drop the document in S3

Raw email text lands in s3://po-pipeline/raw/. An S3 event notification triggers Lambda automatically. No schedules, no polling.

Choose the right extractor

Scanned PDFs & images

Amazon Textract AnalyzeExpense: purpose built for invoices and POs, returns fields with confidence scores.

Free form text (our demo)

Amazon Bedrock with Claude: a prompt asks for strict JSON, handling any phrasing a supplier invents.

bedrock output: structured JSON

      
Guddge
Demo Part 2 · Live
Challenge
Document
Pipeline
Live Demo
Value

Demo Part 2: Validate & Structure

validate lambda: PO-2026-04417

Trust, but verify

Coerce typesDates → ISO 8601, prices → decimals, SKUs uppercased.
Cross check the mathΣ (qty × unit price) must equal the stated total: 40×$28.50 + 12×$9.75 + 5×$22.00 = $1,367.00 ✓
Quarantine mismatchesFailures route to a review prefix: humans see only the exceptions, never the routine 95%.

Two clean Parquet tables

po_header  (1 row per PO)
po_numbervendortotal
PO-2026-04417Midwest Supply1367.00
po_line_items  (1 row per line)
po_numberskuqtyprice
PO-2026-04417CUP-16CL4028.50
PO-2026-04417GLV-NTR-L129.75
PO-2026-04417WRAP-80522.00
Partitioned by po_date for fast, cheap scans as volume grows.
Guddge
Demo Part 3 · Live
Challenge
Document
Pipeline
Live Demo
Value

Demo Part 3: Query in Seconds

Athena: standard SQL over S3, no infrastructure to stand up.
athena: po_analytics
SELECT h.po_number, h.vendor_name,
       l.sku, l.quantity, l.unit_price
FROM   po_header h
JOIN   po_line_items l
       ON h.po_number = l.po_number
WHERE  h.po_date >= DATE '2026-08-01';
AWS Glue Crawler
Infers the schema from Parquet and registers both tables in the Data Catalog. No DDL to hand write, new partitions picked up automatically.
Amazon Athena
Ad hoc SQL, pay per query. Perfect for the demo and for analysts.
Amazon Redshift
COPY the Parquet in when you need warehouse scale joins with ERP and outage data.
Amazon DynamoDB
Key value lookups for field apps: “fetch PO-2026-04417” in single digit ms.
Guddge
Applied
Challenge
Document
Pipeline
Live Demo
Value

Where Utilities Put This to Work

The same pipeline generalizes across every document heavy corner of the business.

Storm restoration

Emergency material orders placed by phone and email under pressure become trackable data the same day, supporting FEMA cost recovery.

Grid materials

Transformer, conductor, and meter POs from dozens of vendors normalize into one spend view for sourcing negotiations.

Contractor invoices

The same extract validate pattern three way matches contractor invoices against POs and receipts automatically.

Audit & compliance

Every extracted field links back to the source document in S3, giving a clean trail for rate case and regulatory audits.

Guddge
The Value
Challenge
Document
Pipeline
Live Demo
Value

What This Is Worth

~90%
less manual keying: staff review exceptions, not every document
Minutes
from inbox to queryable table, instead of days in a backlog
$0 idle
serverless components cost nothing between documents; spikes covered automatically
Beyond cost: the data you never had
  • Spend analytics across all suppliers, including the long tail that never used EDI.
  • Price variance alerts when a vendor's unit price drifts from contract.
  • Delivery performance history to inform storm season stocking decisions.
Typical outcomes; a pilot confirms them on your own documents.
Guddge
Next Steps
Challenge
Document
Pipeline
Live Demo
Value

From Demo to Production

A bounded, low risk path: your documents, your environment.
1

Pilot (2 to 4 weeks)

Your documents, your environment: 100 real POs through the pipeline, accuracy measured against your team's own keying.

→
2

Integrate

Connect curated output to your ERP (SAP, Oracle, Maximo) and your BI layer; wire quarantine review into existing workflows.

→
3

Expand

Extend the pattern to invoices, receipts, and contractor timesheets. Same architecture, new prompts.

Let's pick the 100 POs.
Guddge

Let's pick the 100 POs.

From inbox to insight: unstructured purchase orders, automated on AWS.
1 / 11