An industrial distributor running three operating companies off one customer-service desk, 1,800 faxed POs a month, and an entity-routing rule nobody outside the desk could explain. We rebuilt the intake as a pipeline: LandingAI on the handwriting, LlamaParse on the typed pages, Infor SX.e as the system of record, entity resolution at the point of capture.
| Fax # | Sender | Routed to | Lines | Conf. | Status |
|---|---|---|---|---|---|
| F-44210 | Allegheny Plumbing & Heating | SXE-A | 14 | 0.97 | posted |
| F-44211 | Mon Valley Industrial Supply | SXE-B | 6 | 0.94 | posted |
| F-44212 | Steel City Mechanical Co. | SXE-A | 22 | 0.88 | review |
| F-44213 | Beaver County Contractors | SXE-C | 9 | 0.96 | posted |
| F-44214 | Three Rivers Pipe & Fitting | SXE-? | 11 | 0.91 | pending |
| F-44215 | Laurel Highlands HVAC | SXE-B | 4 | 0.95 |
| posted |
| F-44216 | Keystone Boiler Works | SXE-A | 17 | 0.93 | posted |
| F-44217 | Ohio River Maintenance Co. | SXE-? | 8 | 0.90 | pending |
| F-44218 | North Hills Refrigeration | SXE-C | 5 | 0.96 | posted |
At a glance
Three operating entities, one shared customer-service desk, one fax gateway. The interesting work was in the entity routing.
The engagement
The stack
ISO 27001 · ISO 9001 · DPA and NDA signed at kickoff.
Before, the CSR desk
The CSR desk had a system. It lived in a tenured clerk's head, and it worked on the days she was in. These were the three patterns we found in discovery.
Every fax landed in one mailbox. The lead CSR printed them, read the fax header, the ship-to, and the remit-to, decided which entity the order belonged to, and dropped the printout into one of three physical trays. Each entity's CSR picked up their tray and keyed POs into Infor SX.e. On a good day, 8-hour turnaround end to end.
Pre-build baseline: 8-hour turnaround on clean faxes, 24-hour on mixed batches.
Some customers bought from two entities, some sent one combined PO, some printed a fax header for a third entity that no longer existed. The lead CSR carried most of this in her head, and the rest got sorted wrong. Wrong-entity POs meant a reversal, a re-key, and a credit memo on a different ledger.
Pre-build baseline: approximately 6% of faxes misrouted across entities in the prior year.
A third of the faxes carried handwritten quantities or a stamp noting "approved" or "substitute ok". The commodity OCR tools the client had tried could not read them, so those faxes went to the bottom of the tray and waited for the lead CSR.
Pre-build baseline: handwritten or stamped faxes waited 12 hours on average before a human picked them up.
What we built
The pipeline follows the same five stages we run on every distribution engagement. The entity resolution is the part we tuned specifically for this client.
Fax-to-email gateway polled on a 5-minute cadence. Every inbound fax assigned a single ingestion ID before any entity decision. No printing, no physical trays.
Page type tagged on ingest. Handwritten and stamped pages routed to the LandingAI model, typed pages to LlamaParse. Classification confidence below 0.90 holds the fax for a human tag.
Fax header, ship-to, remit-to, customer code, and line-level part and quantity. The entity markers come out of extraction first, because they decide which Infor SX.e endpoint the order posts to.
A rules layer resolves entity from the combination of fax header, ship-to, customer code, and remit-to. Below 0.95 confidence on entity the fax holds for the lead CSR. A disagreement across markers always holds.
Clean POs posted to the correct entity's Infor SX.e endpoint. Source fax attached to the order record. Exceptions routed to a named CSR queue by entity, with the flag in plain English.
After, the numbers the desk signs off
Same CSR desk, same three entities, same customers who still send the same ambiguous faxes. The pipeline resolved entity at capture and handed each CSR a clean draft against their own ledger.
The lead CSR still owns the exception queue. She still signs off any fax with a disagreement between markers. The difference is that the system now holds what she used to catch, and the other two CSRs on the desk see their entity's drafts ready to post before the morning is through.
From the desk
The entity routing used to sit in one person's head. Now it sits in the pipeline, and we can train a new CSR in a week.
Customer service leadIndustrial distributor, Pittsburgh
Handover
The engagement ends at a clean handover. The CSR desk runs the pipeline; Hexaa stays on call for a fixed retention period, then steps back.
Related cases
Each links to a named client, a named document, and the system the clean data lands in. We publish only what the client signed off to publish.
Emailed POs classified, extracted, and posted same business day to Prophet 21. 3,400 POs per month, line-level error rate under 1%.
→Distribution · 2024Electrical wholesaler · Order confirmations, inside the business dayOrder confirmations sent back to customers inside business hours across 14 branches, built on Epicor Eclipse.
→Logistics · 2025Global forwarder · Customs packets reconciled28,000 customs packets a month, four-hour clearance window, HTS validated against the product master. Built on LlamaParse and CargoWise.
→Free 30-minute call
You'll leave with a clear next step.
The fax header says one entity, the ship-to says another, the remit-to is blank. The pipeline compares every marker against the customer master per entity, decides on agreement, and holds the fax when any marker disagrees. The CSR sees one flagged fax with the disagreement named, not three trays to re-sort.