Live in two days
First commit to a working demo on the client's real orders. The review board was already running at its own address during that first call.
Peter Fasano is a home-furnishings textile house. Orders arrive as email, typed, scanned, sometimes handwritten, and every one of them was entered into the ERP by hand, across modules that do not talk to each other.
What we built is a layer between the inbox and the ERP. Every hour it reads the mail, extracts each order, checks and corrects it against the live catalog, and holds it for a person with every field traced to the paperwork it came from. It enters nothing into the ERP and decides nothing. It flags, never blocks. The ERP is still the system of record. The layer is where the morning actually starts.
First commit to a working demo on the client's real orders. The review board was already running at its own address during that first call.
During the demo, one line of 21 yards came in at $103.50 against a catalog list of $138.00. Not an error: that showroom deducts its 25% commission when writing the purchase order. Keyed as written, with the monthly commission check also going out, $724.50 would have been paid twice. Nothing was double-paid. It was flagged for confirmation. The system knew none of the rule. It just declined to stay quiet about a number that disagreed, which is the whole design. Flag, never block.
Intake keys on attachments, so an ask typed into the body of an email was structurally invisible. Instead of pretending otherwise, a watcher was built for exactly that blind spot. Over 90 days it found five asks typed into email bodies with no attachment, roughly $6,530 at list. People had caught every one by hand. The gap was real, it was being covered by vigilance, and now the system names it instead of passing in silence.
The same rule runs at line level: a price the catalog cannot check raises "No list price" rather than saying nothing.
In August the laptop that publishes the review board traveled for a week, lid closed. The cloud half of the pipeline ran the whole week without a missed cycle. The board froze and said so: its freshness stamp told the stale truth all week, because the one thing a review surface must never do is look fresher than it is. On wake, a catch-up cycle pulled 32 missed messages through in six minutes.
The move to the cloud waited until the checks agreed. The laptop and cloud pipelines run side by side, and a comparator grades them against each other. Before cutover it caught a one-line disagreement, and checking rather than assuming found a defect on both sides: each had skipped a price check silently when the catalog had no price to check against. Both now say so out loud. The cutover was postponed on the record until the checks agreed, and the parity was re-verified across the full live queue in September 2026.
The person who clears the queue at Peter Fasano works in two passes: the orders that passed every check first, then back for the flagged ones. Your team will have its own habits. The board notices patterns like that, deterministically, no model involved, and after three sessions offers them back as a saved sort with the person's name on it. Renamable, refusable, and only their default if they keep it.
It offers once. The board's own default stays chronological, and nothing it learns about your people becomes a default without a yes.
A live queue, checked hourly, unattended, at about five cents an order. Everything stays human-reviewed by agreement while trust builds.
Nothing writes back into the ERP today. Approving an order marks it ready and a person enters it.
The last step is settled in format and unsettled in trust. The file the ERP will accept is confirmed with its vendor; what earns a slice the word proven is not, and until it is, nothing moves off human review.
One piece of phase two is real: a staging endpoint that creates a genuine pending transaction. It wants a rep id for each showroom branch and the reading keeps only the showroom name, so on a sample day about half the orders could not be filled. That gap is the work, and it is a reason to keep the whole thing in hand.
This one started as an order queue at a textile house. Yours starts wherever the paperwork piles up. One conversation, no deck: describe how work reaches your team and I'll tell you what a layer would catch, and whether it's worth building.