How to modernize a legacy accounting app without a rewrite

What’s the best way to upgrade PHP without rewriting enterprise software? Ask Azati! We reverse-engineered the client’s insurance back-office software, stabilized it for payment post-processing, modernized the legacy PHP stack, and supported the Linux-based infrastructure. The result? Secured critical system, zero downtime, faster time-to-value, lower costs, and room for growth.

Assess legacy modernization ROI
30M+

system users

100+

affinity groups

25K

payments processed daily

All technologies used

PHP
PHP
JavaScript
JavaScript
MS SQL
MS SQL
GitLab
GitLab
Linux servers
Linux servers

About the client

The client is a well-established US-based insurance company strategically focused on affinity programs. They support a wide network of agents and carriers while partnering with small to mid-size MGAs and MGUs.

Business challenge

Challenge 01
Outdated PHP stack

The client’s post-payment insurance operations ran on a legacy PHP-based accounting app. Over time, security vulnerabilities snowballed. The client struggled with compatibility, given that replacing the whole system could wreck critical workflows. The only way forward was modernizing the app piece by piece, avoiding disruption.

#1
Challenge 02
No in-house IT team

Beyond the large technical debt, the company didn’t have its own IT experts to maintain or troubleshoot its Linux servers, which made regular support and upgrades even tougher.

#2
Challenge 03
Business continuity risk

The system is mission-critical. It manages accounts for 30 million members in over a hundred affinity groups. If it went down or got hacked, the business would face major consequences.

#3

The client's requirements

The company was seeking a seasoned technology partner able to:

  • Quickly understand the specifics of the existing platform
  • Maintain and upgrade legacy PHP systems
  • Support complex Linux-based infrastructures
  • Make improvements without interrupting daily work
  • Fuel future business growth without rewriting the app from scratch

Why Azati?

Proven PHP expertise

Massive technical skills and firsthand strategies in modernizing legacy PHP systems, experience in improving operational efficiency and usability.

Reverse engineering capabilities

Ability to scrutinize and document old codebases lacking original development resources, even when they are undocumented.

Trusted partnership history

The client was sure that Azati was right for the job, as our team had been previously engaged when the client faced similar IT support challenges.

Troubles modernizing a legacy system?

Not sure whether your legacy app modernization will yield a positive return on investment?

Let’s calculate modernization ROI

Solution

What Azati did

Instead of rewriting the whole app, Azati decided to modernize it step by step. Given all the years of business logic baked into the current system, a full rewrite would be risky and expensive.

This is why the team chose to keep the core system in place. Azati prioritized thoroughly analyzing the codebase, stabilizing the environment, and upgrading the underlying PHP stack incrementally.

Key capabilities:
  • Invoice generation
  • Policy and transaction search
  • Cash applications and unallocated payments
  • Refund and past due account management
  • Lockbox/ePay reconciliation
  • Detailed reporting
01

Reverse engineering and legacy system audit

First, Azati dug into the legacy PHP app’s code, documenting business logic, data flows, and dependencies. We’ve reviewed how the system worked, identified its strengths and pain points.

With a comprehensive system map, the team created a practical modernization plan that avoids breaking things within the existing app.

02

Legacy PHP modernization

Next, Azati successfully executed a PHP upgrade without a rewrite. The team refactored the code bit by bit, tested every change, and made sure all integrations worked as before.
03

Linux infrastructure support for legacy app

Azati also took care of the Linux servers that powered the client’s infrastructure. The team fixed bugs, boosted performance, and addressed security gaps by rolling out stronger data protection protocols and system monitoring.
In parallel, Azati signed a short-term DevOps services contract with the client’s subsidiary, extending the team's impact across the broader tech ecosystem. The agreement involved providing maintenance and support of public-facing websites in a related business segment.

Major achievements

Metric Before After
System downtime 12 days 0
PHP version Legacy Modernized
Security protocols Outdated OAuth 2.0, TLS/SSL
Documentation None Full system map
Daily payments processed 25000 27000+

From modernization to automation

Azati also mapped out improvements for the system to evolve via AI-driven automation:

Security

The system is now powered by OAuth 2.0 and TLS/SSL protocols, with tight access restrictions and a secure environment.

Engagement & delivery

Flexible contracting
The hybrid model combining the Fixed Price and Time and Materials engagements ensured clearly scoped modernization and support. The predictable cost for major milestones allowed the client to adjust requests as new business needs arose.
Agile delivery
Kanban methodology was best-suited for this engagement due to the need for:
  • Continuous improvements, support, and repetitive upgrade tasks
  • Rapid response to production infrastructure issues
  • Transparent backlog management

Results & business impact

Business continuity: Thanks to Azati’s approach, the accounting app keeps running and serving over 30 million users, with zero disruption to insurance workflows or member trust.

No business disruption: The PHP stack upgrade went smoothly, without a single outage.

Stronger security: Sensitive payment data is now protected with modern OAuth 2.0 and TLS/SSL protocols.

More maintainable app: Now that we’ve documented the insurance app’s codebase, future improvements are faster and less risky.

Stable infrastructure: Thanks to Azati’s proactive support, system outages are avoided.

Strategic wins

The choice of incremental modernization over a complete rewrite ensured:

Faster time-to-value & lower project cost

Compared to greenfield development, the phased modernization of the accounting app enabled quick feature rollout and measurable budget savings for functional enhancements.

Extended life of a critical internal system

Gradual system upgrades helped keep the client’s unique knowledge base and business logic embedded in the legacy PHP system.

Scalable tech foundation

Stabilizing the platform and moving to a modern PHP version de-risked its maintenance. Now that the app is more sustainable and resilient, the client’s tech infrastructure can safely evolve.

Specialized talent pool at hand

The client gained long-term access to Azati’s expertise in legacy PHP systems, Linux infrastructure, and practical modernization that was not available internally.

Team composition

The lean team structure proved the ideal fit for the demanding project, as it took focused tech execution, seamless communication, and efficient navigation through the client’s legacy PHP environment.

  • Project Manager/Business Analyst was the client’s main point of contact, who gathered and communicated the requirements and coordinated delivery.
  • PHP Developer handled backend modernization, reverse engineering, and insurance system optimization.
  • Frontend Developer implemented UI/UX improvements and JavaScript-powered enhancements.

Last updated

Got a job for Azati? Let’s talk business!

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

What's next?

  • 1. Tell Us Your Story
    Share your project details. We'll connect within 24 hours and ensure confidentiality with an NDA.
  • 2. Get Your Roadmap
    Receive a detailed proposal with scope, team composition, timeline, and costs tailored to your goals.
  • 3. Start Building
    Azati aligns on details, finalize terms, and launch your project with full transparency.