Document extraction for field operations
Messy field documents move through a confidence-aware extraction line, producing trusted operational records without losing the source evidence.
Case note
The implementation was treated as a small operating system: visibility first, ownership next, automation only after the workflow was clear.

Use case
Document extraction for field operations
Messy field documents move through a confidence-aware extraction line, producing trusted operational records without losing the source evidence. A field-services operation depended on a steady stream of PDF forms and email attachments. Staff retyped client, location, due date, service type, notes and references into a tracker, then searched for the source document again whenever a value looked wrong.
Result: Routine documents become usable records with far less handling, while uncertain fields move to a focused correction lane. Every value retains its source, confidence and review decision, giving operations speed without sacrificing trust.
Workflow map
Document workflow from attachment to structured record
The workflow keeps the original file, extracts fields and routes uncertainty to review.
Main database: Supabase
The workflow uses Supabase as the source of truth: it stores each record, status, and key event so the team can see what happened, retry failures, and debug without searching every tool.
Tool icons
System rationale
Extraction is useful only when uncertainty is visible
The workflow does not pretend every PDF is clean. It extracts the easy fields, preserves the original file, and routes uncertain values to a review lane.
Source files stay connected
Every structured record links back to the original document, which makes disputes and corrections faster.
Confidence is field-level
A document can be mostly ready while one field still needs review; the team does not have to reprocess the whole file.
Reviewers focus on exceptions
The human lane is reserved for low-confidence values, not every repeated attachment.
Add-ons that fit on top
The starting point
A field-services operation depended on a steady stream of PDF forms and email attachments. Staff retyped client, location, due date, service type, notes and references into a tracker, then searched for the source document again whenever a value looked wrong.
The diagnosis used real volume, connected tools, decision points and exceptions. The question was not only what to automate, but what proof would show that the workflow had completed correctly. The operating proof mattered as much as the automation.
The implementation
Ductio created a document intake workflow that stores the original file, extracts required fields, normalizes values, scores field-level confidence and routes low-confidence records to a review queue before updating the operating tracker.
The implementation separated rules, free-text context, human decisions and external effects. That let the system improve daily work without turning every exception into a black box. AI as support inside the process, not as autopilot.
What was used
Tooling was chosen from the process outward, not from a pre-decided technical preference. Each piece needed a clear owner, a stable integration path and a simple way to inspect errors.
In practice, the build combined Inbox, Google Drive, OCR/extraction, Supabase, OpenRouter, Review dashboard. The tools visible to the team stayed close to their daily work, while integration logic was documented and kept separate from sensitive commercial decisions.
The improvement showed up in daily work.
Rather than treating the result as a dashboard, the team felt it in three specific moments: less manual preparation, less context hunting, and fewer doubts about who needed to act.
Copy-paste: Manual field transfer moved from High to Low.
Review focus: Items needing human check moved from All docs to Exceptions.
Tracker quality: Structured records completed moved from Patchy to Clean.
Before/after proof
What changed in the operation
Before
After
Visible artifacts
- Extracted-field JSON
- Confidence view
- Review queue
- Original document link
- Tracker update payload
- Exception decision log
Controls
- Low-confidence fields routed to review
- Original document retained
- Field-level confidence stored
- No overwrite without approval
- Reviewer decision kept with extracted record
What changed after launch
Routine documents become usable records with far less handling, while uncertain fields move to a focused correction lane. Every value retains its source, confidence and review decision, giving operations speed without sacrificing trust.
The result was not only saved minutes. The team gained a shared sequence for reviewing inputs, understanding context, deciding, acting and checking that the workflow had been recorded. 75% less copy-paste
The workflow in one line
How it was built
Attachments are stored in a document folder, parsed with OCR/extraction tooling, interpreted with OpenRouter where free text is ambiguous, normalized by Python/FastAPI and written to Supabase/review dashboard before tracker update.
The stack was pragmatic: Inbox, Google Drive, OCR/extraction, Supabase, OpenRouter, Review dashboard. Tools were chosen for ownership, integration and maintainability, not for theater. The result is a system the team can understand and operate.
What was delivered
- Inbox/upload intake
- Source file retention
- OCR extraction
- Field normalization
- Confidence scoring
- Exception queue
- Tracker update
- Source-link audit
- Manual data entry dropped sharply for repeated service documents.
- Low-confidence fields stayed visible for human review instead of contaminating the tracker.
- Operations gained a cleaner weekly view of pending work.
- Every structured record linked back to the original document.
- Reviewers focused on exceptions, not every attachment.
- Data quality improved because normalization rules were consistent across document types.
- Supervisors gained an exception-first queue instead of an undifferentiated pile of attachments.