The verdict in three sentences
For a SaaS company with 400 customers stuck on a PHP 5 codebase with no tests, a big-bang rewrite is the riskiest option: a failed cut-over typically drives away 3 to 8 % of customers as a 2026 order of magnitude. The strangler pattern, which replaces old code module by module behind a single front door, spreads the effort over 6 to 9 months and keeps each incident small. The most underestimated item is the migration of 1.2 million data rows, which deserves its own work package with dry runs.
Diagnose before you price
An ageing PHP 5 SaaS shows familiar symptoms: a PHP version without security patches since 2018, abandoned dependencies, business logic mixed into templates, a MySQL database without integrity constraints, and no automated tests. Every change takes three times longer than planned, and developers dread touching billing.
A 5 to 10 day audit maps modules, measures which features customers actually use, and flags inconsistent data. It is common to find that 20 to 30 % of screens are no longer used, which shrinks the rewrite scope accordingly.
| Criterion | Full rewrite | Strangler pattern |
|---|---|---|
| Time to first production release | 6 to 9 months | 6 to 10 weeks for the first module |
| Feature freeze on old code | Almost total during the project | Limited to the module in progress |
| Churn risk at cut-over | 3 to 8 % if things go wrong | 0.5 to 2 % per badly shipped module |
| Data migration | Single cut-over | Gradual, by domain |
| Cost of running both systems | Low | 10 to 20 % integration overhead |
| Customer perception | New version moment | Continuous improvement |
What a rewrite costs in London and Berlin in 2026
The ranges below reflect agency and consultancy quotes for a mid-size B2B SaaS (40 to 60 screens, API, billing, roles). They are 2026 orders of magnitude.
| Item | London | Berlin |
|---|---|---|
| Audit and mapping | GBP 4,000 to 10,000 | EUR 4,500 to 10,000 |
| Full rewrite in Next.js plus API | GBP 70,000 to 200,000 | EUR 80,000 to 220,000 |
| Single strangler module | GBP 10,000 to 35,000 | EUR 12,000 to 40,000 |
| Migration of 1.2 million rows | GBP 7,000 to 22,000 | EUR 8,000 to 25,000 |
| Automated regression tests | 10 to 15 % of budget | 10 to 15 % of budget |
| Senior developer day rate | GBP 550 to 850 | EUR 600 to 850 |
At Kolonell, a rewrite of this scope sits in our complex application tier, 7,000,000 to 15,000,000+ FCFA (EUR 10,670 to 22,870+), delivered in two-week sprints with regular demos to your product team. A first strangler module can start in the mid-complexity tier, 4,000,000 to 7,000,000 FCFA (EUR 6,100 to 10,670). Maintenance runs at 35,000, 75,000 or 120,000 FCFA per month. Details on our custom web applications page.
Phase it to protect revenue
The phasing we recommend has four steps. First, a single front door (a reverse proxy or the Next.js routing layer) sends each URL either to old PHP or to new code. Next, low-risk and highly visible modules such as the dashboard or exports, to get fast feedback. Then the business core, with temporary dual writes of data. Finally billing and authentication, last, once the team knows the new database well.
Every module cut-over comes with a tested rollback plan, a pilot group of 10 to 20 volunteer customers and a support ticket tracker. A rise of more than 30 % in tickets over a week should trigger a pause.
Mini case study
Need a professional website?
Kolonell builds websites that attract clients, optimized for the Sénégalese market. Free quote in 2 minutes.
Hannah, CEO of a London SaaS company, has 400 customers paying GBP 160 a month on average, GBP 64,000 of monthly recurring revenue. A poorly managed full cut-over with 5 % churn would cost her 20 customers, GBP 3,200 a month, GBP 38,400 a year.
With the strangler pattern she splits the SaaS into 6 modules. If one badly shipped module causes 1 % churn, the loss is 4 customers, GBP 7,680 a year, and the team fixes it before the next module. A 15 % integration overhead on a GBP 130,000 budget is GBP 19,500, less than the loss avoided in a single year.
FAQ
Should we upgrade to PHP 8 before rewriting?
If the rewrite will take more than 9 months, a minimal upgrade of the old code to close vulnerabilities is wise. It often takes 10 to 25 days of work, to weigh against the SaaS's exposure.
Is Next.js right for a form-heavy B2B SaaS?
Yes, with React on the front end and a typed API on the server. Server rendering also speeds up dashboards, often by a factor of 2 to 3.
How do we migrate 1.2 million rows without downtime?
With idempotent scripts replayed 2 to 3 times on a production copy, then a night cut-over with a 2 to 4 hour window. Consistency checks compare counts and totals before reopening.
Should we tell customers?
Yes, 3 to 4 weeks before each visible cut-over, with a change guide. A pilot group of 10 to 20 customers sharply reduces surprises.
How many in-house developers should stay on the old code?
At least one person half-time for urgent fixes during the transition. Their knowledge of business rules is valuable for writing regression tests.
Let's scope your project. We audit your existing SaaS, propose a module split and a 6 to 9 month migration plan that protects your customer base. Detailed quote within 48 h. WhatsApp +221 77 596 93 33.
Mohamed Bah
Fondateur, Kolonell
Passionate about digital and entrepreneurship in Africa, Mohamed has been helping Sénégalese businesses with their digital transformation since 2020. Founder of Kolonell, he believes every SME deserves a professional and accessible online présence.
