AI, in plain words

Blog / Platforms & migrations

Your old system knows things nobody wrote down

Old software quietly carries business rules nobody remembers: discounts, exceptions, special customers, rounding, timing. Why rewrites lose them, how to dig them out before you replace anything, and a checklist.

Picture the day a new system goes live. It’s faster, cleaner, easier to use. Two weeks later, a long-standing customer calls: their invoice is wrong. Their discount has vanished. Nobody on the project knew about that discount, because it was never written anywhere except inside the old code.

That story is common, and it isn’t anyone’s fault. Software that has run a business for years slowly fills up with decisions. Each one made sense at the time. Most were never written down. Whether you’re approving a replacement or building it yourself, this post is about finding those decisions before they go missing.

What hides inside old software

A business rule is any decision the software makes on the business’s behalf: who pays what, what is allowed, what happens when. In old systems, the rules that matter most are often the ones nobody remembers. They tend to fall into a few groups:

  • Discounts and prices. A loyalty discount added years ago for one group of customers. A price that changes after a certain quantity. A promotion that was supposed to end and never did.
  • Exceptions. “Orders from this region skip the credit check.” “This product can’t ship with that one.” Someone asked for it once, and it stayed.
  • Special customers. Accounts with their own payment terms, their own invoice format or their own approval steps, often recognised by a customer number written straight into the code.
  • Rounding. Whether totals are rounded per line or at the end, up or down, to the cent or to the nearest five. Small differences that add up, and that your accountant will notice.
  • Timing. What counts as “today” for an order placed at 11:58 p.m. When the month closes. What happens on a holiday, or on the 31st of a month that only has 30 days.

Think of an old system as a long-serving employee who never took notes. They know how everything really works. If they leave without a handover, the knowledge leaves with them.

Why rewrites lose these rules

A rewrite usually starts with a list of requirements: what the new system should do. That list is written from memory and from documents, and memory and documents are exactly where these rules are missing. The new system then does what the list says, and does it well. The rules that were never on the list simply disappear.

The loss is quiet. Nothing crashes. A total is a little different, an email goes out a day late, a customer gets the standard price. By the time someone notices, the old system may already be switched off.

How to dig them out

Three methods work best together, because each one finds things the others miss.

  • Talk to the people who use it. Not only managers: the person who issues invoices, the person who handles complaints, the person who fixes things at month end. Ask “what do you do by hand?”, “which customers are different?” and “when does the system surprise you?”. Their workarounds point straight at hidden rules.
  • Read the code, with AI help. AI tools are good at reading old code and explaining it in plain language. Ask one to list every place where the code checks a specific customer, product or date, every hard-coded number, and every calculation that rounds. A person who knows the business then checks the list. The tool finds candidates; people confirm which ones are real rules.
  • Compare outputs, old against new. Run the same real orders, invoices or reports through both systems and compare the results line by line. Every difference is either a bug in the new system or a rule nobody mentioned. This step catches what interviews and code reading missed, which is why the old system should stay running until the comparison comes back clean.

Then write them down

Each rule you find goes into a plain list: what it does, who it affects, why it exists if anyone knows, and whether it should stay. Some rules will turn out to be mistakes or leftovers that nobody needs, and dropping them is a fine decision, as long as it is a decision. That list becomes the most valuable document of the whole project, because it is the first time the business has its own rules on paper.

If you’re weighing a replacement and want to see how ready you are, our modernization check asks the right questions in a few minutes.

Checklist: before you replace an old system

  • Have you talked to the people who use it every day, not only their managers?
  • Do you have a list of customers, products or regions that are treated differently?
  • Do you know how it rounds, and at which step?
  • Do you know how it handles dates: cut-off times, month end, holidays?
  • Has someone searched the code for hard-coded customers, numbers and dates?
  • Will old and new run side by side, with their results compared on real data?
  • Is every rule you found written down, with a decision: keep, change or drop?
  • Will the old system stay available until the comparison is clean?

Written from our engineers’ work on production systems. Want a second opinion on your project? Talk to an engineer.

See the work →

Want us to look
at your site?

Tell us where traffic, revenue or your numbers stopped making sense. We will tell you what we would check first.

Prefer to write directly? enable JavaScript to see the address

Talk to an engineer

No sales theater. Tell us where your operation feels slow, repetitive or difficult. An engineer reads every message and replies by email.

Prefer to talk? Pick a 15-minute slot →

Your message goes straight to our engineers at our address.