Per-Client Routing Rules and Misread Recovery

Managing which client's fax goes where, and the reprocessing flow when AI misreads

ルート設定取引先マスタ誤読対策リカバリー運用
5 min read

Introduction

We've come this far — ingesting faxes and reading them with AI. But "where and in what format to write" the extracted data differs per client. Build this without a plan, and you'll be fixing code every time a client is added.

And there's one more thing you can't avoid: how to recover when the AI misreads. This article covers per-client routing settings and the design for recovering from misreads quickly.

Every Client's "Destination" Differs

Same Data, Different Destinations

The order data extracted is the same "item code, quantity, delivery date" for every client, but the write destination differs per client. One client's goes to Branch A's order sheet, another's to Warehouse B's. Column order and required fields can differ subtly too.

Hard-code these differences into program code, and adding a single client means development work. That undercuts the whole point of automation, doesn't it? Information that's expected to grow should live outside the code, as settings.

Identifying the Client by Sender

So how do we determine which client an incoming fax belongs to? The clue is the sender. We identify the client from the fax sender number or the forwarding email's address.

From Route Decision to Writing
Get the sender

Read the sender fax number or address from the forwarded email

Match routing settings

Find the routing setting matching the sender

Determine destination

Get which order sheet and format to write in

Transform and write

Shape the extracted data into the specified format and write to the sheet

Holding Routing Settings in an Admin Screen

Run It by Settings, Not Code

A routing setting bundles together the sender, client, destination sheet, and column format. I made these addable, editable, and deletable (CRUD) from an admin screen. A new client becomes ingestible just by adding one setting.

Operations staff being able to add settings without touching code — that's the core of a design that withstands "growing clients."

Hold Unregistered Senders in Reserve

Faxes sometimes arrive from senders not in the routing settings. Writing them somewhere arbitrarily is dangerous, so we hold them as "unregistered" and notify the responsible person.

Looking at a held fax, the person creates a new routing setting, and from then on it flows automatically. This safe-side design of not acting on your own for an unknown party prevents accidents like writing to the wrong destination.

Betting on "Fixable Fast" for Misreads

Assume It Can't Be Zero

However much you refine it, AI misreads happen — faded characters, quirky abbreviations, unexpected formats. Efforts to drive the misread rate down matter, but I steered toward building operations on the premise that "misreads will always happen."

What matters is: when you notice a misread, how many seconds does it take to fix? Slow here, and the staff stop trusting the AI and revert everything to manual work in the end. Speed of recovery is the dividing line for whether the system keeps getting used.

How to Face Misreads
BEFORE
Aim for zero misreads

Concentrate effort on accuracy. But it never fully disappears, and handling incidents gets neglected.

AFTER
Aim for fixable fast

Misreads are a given. You can reprocess the moment you notice, so the floor keeps using it with confidence.

The Reprocess Mechanism

When you find a misread, we provide a reprocess feature that re-reads just that one item with the AI. Rather than re-running the whole pipeline, you can pinpoint and re-extract only the target PDF.

If re-reading doesn't fix it, you can correct it by hand on the spot and finalize. Being able to switch smoothly between "leave it to AI" and "fix it by hand," item by item — that's what builds misread-resilient operations.

Try It in Advance with the Test UI

So you can verify whether a new client's format "can be read correctly" before production, we provide a test UI where you upload a single PDF and view the OCR result. Since you can try reading without dirtying the production sheet, it's invaluable for format checks and misread investigations.

Conclusion

I've explained per-client routing settings and misread recovery operations.

  1. Hold destinations as settings: identify the client from the sender and CRUD-manage destination and format in an admin screen
  2. Hold unknown parties in reserve: don't write arbitrarily for unregistered senders; route them to human confirmation
  3. Fix misreads fast: rather than aiming for zero, recover quickly with item-level reprocessing and advance testing

Only with routing settings and misread handling included does AI-OCR auto-intake for fax orders become a system that truly runs in practice. The intake foundation is covered in "Designing the Intake Pipeline from Email Inbox," and the reading itself in "Structured Data Extraction from Forms with LLMs." For the overall picture, see "AI-OCR for Fax Orders."