It's FoxPro, or Access, or something written in-house in 1999. It works, mostly. Nobody wants to touch it, the vendor is long gone, and every ERP salesperson who hears about it quotes seven figures and eighteen months. Here's what's actually underneath that, and how it gets fixed without betting the company.
The code is rarely the hard part. The hard part is that twenty years of business rules live in it, undocumented, and the rules the business actually follows have drifted from the ones the code enforces.
Pricing exceptions, the reason lot 4 is always excluded, why the report skips Fridays — encoded twenty years ago and forgotten. Replacing the system without extracting them means re-learning them from angry customers.
Somewhere along the way people started keying it twice, keeping a side spreadsheet, or emailing the approval. The new system has to be designed around how the work should flow, not around reproducing the old screens.
The system isn't failing. The person is leaving, the OS is going out of support, the database has grown past what the platform was built for. The cost of waiting is now higher than the cost of moving — that's new.
No big bang. The old system keeps running until each new module has earned its place on real data.
AI reads every line of code, every table, every report, in days. We verify it against how the business actually uses the system and write the first real documentation it has ever had. Most of the business rules come out of this step.
Where does the same number get keyed three times? Where does approval live in an inbox? The new module is designed around the answer — role-based screens, barcode capture, exceptions surfaced.
AI-accelerated build on a modern web stack. Then the new module runs beside the old one on real data until every difference has a root cause. Documented, not "fixed".
The old module is retired only when the new one has earned it. Each cutover pays for the next. Tests, docs and a runbook ship with every module so anyone can maintain it.
Decades ago our principal wrote a foundry consumables manufacturer's ERP in FoxPro. It has run their business ever since. They needed a path to a modern web platform without a rip-and-replace, from a partner who understood every quirk — and the conversion is piece by piece, each module replaced only when its successor is proven. Twenty-five years of institutional knowledge conserved instead of discarded.
At a forging operation, quality ran on an Access database nobody fully understood. We insisted on a Phase 0 gate — fully reverse-engineer it before writing migration code — then built module by module: customer scorecards, returns, audits, defect-to-resolution. When the scrap numbers disagreed with the legacy system, we reconciled both to root cause and documented exactly why. The portal caught a data-integrity problem the plant had lived with for years.
Who still understands it, and what happens if it stops. That's enough for a straight read on what the first module should be.
You'll get a straight answer and a tight scope. If we can't help, we'll tell you that too — and usually who can.