Why this memo.
Epicor's Prism AI roadmap is real and the team behind it is competent. The mid-market specialty shop running Kinetic with two senior estimators and a part library built over decades is not the average Epicor customer. The leverage available to that shop is in custom CPQ AI built on top of Kinetic, calibrated to the shop's part library, the shop's pricing rules, the shop's customer history.
This memo is the architecture. Below: the Kinetic surface area a build touches, the workflows in scope, and what we don't build.
The Kinetic surface area a build touches.
Epicor Kinetic exposes the Epicor REST API and the Kinetic Functions framework, both authenticated and stable. Reads/writes against Quote, Job, Part, Customer, Operation, Resource Group, and the Engineering Workbench. For the AI layer, reads run against the BAQ (Business Activity Query) layer, which is faster than table-by-table reads.
For shops with strict data-residency requirements, we deploy entirely inside the shop's Azure or AWS tenant. Epicor data does not leave the shop's environment.
Workflow I: Custom CPQ AI on the shop's actual part library.
The quote-turnaround workflow. Estimators describe the same split when we scope this: a short window of genuine judgment wrapped in hours of parsing the RFQ, looking up part history, pulling current material costs, checking machine capacity, and formatting the response.
The custom AI version: reads the inbound RFQ (PDF, email, customer-portal upload), extracts part specs, looks up matching prior jobs in Kinetic, validates capability against current Resource Group state, drafts pricing on the shop's actual rules, formats the response in the customer's expected format. Senior estimator validates the judgment call, signs off, sends.
How it gets measured: elapsed time from RFQ received to quote sent, quotes issued per estimator per week, and win rate on quotes returned inside the customer's decision window. Baselines come out of the shop's own Kinetic history before the build starts, so the after number is compared against the shop's own before number rather than an industry average.
Workflow II: Spec parsing and capability validation.
The "we can't do that" detection workflow. Every shop has capability constraints (tolerance, material, finishing process, machine envelope) that an inexperienced estimator may not catch on the first pass. The custom AI cross-references the RFQ specs against the shop's actual capability matrix in Kinetic.
Catches "we can't hold that tolerance on Mazak 5" before the quote goes out, not after the order arrives. How it gets measured: spec mismatches caught pre-quote versus caught post-order, pulled from the shop's own change-order and rework records.
Workflow III: RFQ triage and walk-away recovery.
Shops walk away from inbound RFQs because the estimator cannot get to them. How many, and what they were worth, is knowable from the shop's own inbox and portal records; quantifying that is the first step of this workflow, not an assumption we bring in. The custom AI then triages the inbound, drafts a fast no with a referral or a delayed-quote offer, captures the relationship for a future RFQ, and surfaces the high-priority RFQs to the senior estimator first.
How it gets measured: inbound RFQs that received no response before the build, the same count after, and what the newly answered ones returned as quoted and won revenue.
Workflow IV: Estimator-archive RAG.
Twenty years of quotes, part histories, customer-specific rules, and "the way we price that family of jobs." Custom retrieval over the Kinetic and document archive puts that institutional knowledge in front of whoever is quoting, at the moment they are quoting, with the source record cited so the estimator can check it.
What we don't build.
We do not replace Epicor Kinetic. We do not build a competitor to Epicor Prism. We do not build a generic chatbot the floor queries; the leverage is in CPQ workflow integration. If the shop wants Epicor's roadmap configured well, Epicor Pro Services is the right answer. If the shop wants the workflows above, on top of Kinetic, ours is.