From Legacy to Done: How Cgates Completed a Billing Migration for 137,325 Subscribers

From Legacy to Done: How Cgates Completed a Billing Migration for 137,325 Subscribers

Billing migrations are rarely straightforward. For Cgates, Lithuania's second-largest triple-play provider, it took six years, over 20 features and integrations developed by PortaOne, and two mid-project ISP acquisitions. On June 30, 2026, they migrated the last of their 100,000+ subscribers. Here's how they did it.
Cgates logo

Cgates is the second-largest triple-play provider in Lithuania, serving residential and business customers with fixed internet, IPTV, and VoIP. What initially appeared as a simple billing platform switch, actually required an entirely new infrastructure with new features, new integrations across multiple systems, migration scripts written specifically for their data, and a CRM that had to evolve in parallel. On June 30, 2026, the last of their 137,325 subscribers was moved over.

No big-bang cutover. No billing disruption. And along the way, they absorbed and migrated two acquired ISPs to PortaBilling using the same tooling.

The Challenge

When Cgates approached PortaOne in 2019, they weren’t just looking for a new billing platform. They required a fully integrated billing infrastructure with new features built specifically for their business model, custom integrations across multiple systems, a CRM rebuilt in parallel by their own contractors, and migration scripts written from scratch. These had to be interdependent, all built simultaneously as a result.

Since Cgates provides internet access to a large portion of the Lithuanian population, they’re subject to government-level security oversight and yearly ISO27001 audits. Every third-party vendor, including PortaOne, must operate under strict, documented access controls, and the law requires that every user connecting to and working on Cgates infrastructure be uniquely identified, while banning shared credentials.

Their billing model was equally demanding. Internet and IPTV services are sold on subscription terms with minimum commitment periods and early-cancellation penalties. Usage charges from their VoIP and IPTV platforms are imported from third-party systems. They report to Lithuanian tax authorities in a standardized XML format, while their CRM, provisioning, and IPTV platforms all needed to stay in sync with whatever billing system they ran.

Thus, a simple platform swap was never on the table.

Before we had a monolith, if the database experienced a deadlock, that’s it. Customer care cannot do their tasks, field force… they cannot do their tasks, approach some outages in the network and so on. So we decided to make the system redundant and if one part fails, other parts keep functioning.

Marius Kuklinskas is Director of the Business Management Systems Department at Cgates. 

The Turning Point: A three-Week discovery phase

Marius Kuklinskas recalls how initially, the goal seemed simple when the Cgates CEO simply said: “Marius, come join us and let’s migrate billing,”. Nobody realized the true scope early on. 

Everything changed during a crucial three-week discovery phase, which gave the project a reality check. A PortaOne business analyst embedded with the Cigates team in Lithuania, spent long hours analyzing their products, setups, and integrations. As they dug into the dark corners of the legacy platform, they realized they weren’t just replacing a billing system; they were dismantling an unsupported, monolithic architecture. 

By the end of the project, that “simple billing migration” had evolved into a sophisticated setup connecting 12 distinct systems, separating billing from CRM, provisioning, and document archiving. A thorough discovery phase, followed by detailed business analysis of every identified gap, is what turns a complex migration from a guessing game into a plan. For Cgates, it was non-negotiable and set the foundation for everything that followed.

Why they chose a phased approach

The approach wasn’t decided overnight. Cgates went back and forth between a single big-bang cutover and a phased approach before ultimately committing to running both systems in parallel, migrating customers in batches while routing all new subscribers directly into PortaOne from April 2023 onward.

Before a single legacy customer could be moved, several items had to be in place: integrations with seven third-party systems had to work reliably, new billing features required for Cgates had to be built, verified, and delivered by PortaOne, and the compliance requirements had to be fully documented and met.

One ‘Big Bang,’ which was considered as an option as well, might cause problems. […] The step-by-step migration is, in our case, a much safer choice than going all at once and then later on solving the problems which definitely do appear.

Marius Kuklinskas is Director of the Business Management Systems Department at Cgates.

One of those features, Commitments, didn’t exist in PortaBilling before this project. It’s a billing construct that manages subscription terms, automatic renewals, and early-termination penalties. This was mandatory for Cgates’ business model, so PortaOne built it via the “feature request” process, tested it, and only then could migration begin in earnest.

In total, 12 features, integrations, and custom reports were developed as prerequisites. Moving customers before those were in place would have meant billing them incorrectly. The phased approach meant every batch of migrated customers landed on a platform that was actually ready for them.

What happened along the way

Real migrations don’t happen in a vacuum. Three things came up during the Cgates project that a big-bang approach couldn’t have absorbed gracefully.

Government-grade security requirements. PortaOne created a dedicated Target System Access Design document to map out exactly how their engineers would access the Cgates environment. This included individual accounts and a Cgates-specific, audit-ready VPN architecture which passed multiple annual security reviews.

Six years of parallel operations. From 2020 to 2026, the Cgates team ran two billing systems at the same time. That meant two sets of processes, two platforms to maintain, and careful tracking of which customers lived where. 

Running two billing systems in parallel is notoriously messy, but Cgates mitigated the confusion for their customer service teams through smart technical workarounds. They configured their PBX system to do an automated look-up: when a customer called, the system recognized whether they were on the old or new platform and instantly opened the correct CRM screen for the agent. They also introduced a workaround in their customer self-care portal, allowing support reps to impersonate customers and see a consolidated view of invoices and payments, completely hiding the underlying system complexity from the day-to-day operations. 

On the high level, this approach is similar to the principle behind our Dual Version architecture, where two system versions operate in parallel during a transition. Learn more in our downloadable whitepaper.

ISP acquisitions mid-migration. As Cgates grew through acquisitions, two newly acquired ISPs were onboarded into PortaOne without stopping or slowing the main migration, because the migration scripts were already built and designed to be repeatable. A third acquired ISP, with around 23,000 customers, is scheduled for migration in the second half of 2026, using the same migration scripts developed by PortaOne.

Mid-project acquisitions are often “migration killers,” bringing unpredictable legacy data into the mix. For instance, one acquired network with around 2,000 subscribers came with an extreme challenge: a hyper-flexible customer approach had resulted in nearly 2,000 distinct, individual price plans. However, because Cgates and PortaOne had already run test migrations dozens of times, the team knew exactly how to extract, clean up, and simplify this data to successfully import it into PortaBilling

The result

On June 30, 2026, Cgates completed their billing migration. All 137,325 subscribers from the legacy system were on PortaOne. 

That number is significant because migration case studies often celebrate going live, not finishing. Aspects like first batches, first milestones, first customers are easy to write about, but getting to 100% is harder, and rarer.

For Cgates, completion also meant something more: the migration tooling PortaOne built was now a reusable asset. ISPs were migrated using it. What started as a project-specific investment has become infrastructure for how Cgates grows.

What Cgates can do now

The hard work is done and the system now works for Cgates.

New subscribers have been created directly in PortaBilling since April 2023, and their full customer base is on a single platform. By the time the last legacy customer was migrated, Cgates had already built up a significant base of new subscribers on the platform. Now, acquired ISPs can be onboarded using proven, automated scripts rather than built from scratch each time. All their custom billing features (commitments, cancellation penalties, sales discounts, IPTV integrations) are part of the platform, not patches on top of it. And a dedicated staging environment, deployed in 2025, provides a safe place to test configuration changes, verify new PortaBilling releases, and validate related integrations before production updates.

Marius, looking back on 6 years – what would you tell a telecom CEO who is sitting on a migration decision right now and is nervous about the timeline?

If someone would ask me, I would say: slice your database, slice your object of migration into some really easy describable pieces, homogeneous ones, and then plan their migration, leaving the complicated part for the end of the project. Corner cases last. That’s what worked out for me. If we were waiting for the perfect solution, the perfect state of the system, I think today we would still be planning the migration.

Marius Kuklinskas is Director of the Business Management Systems Department at Cgates. He led the migration from the Cgates side across its entire six-year journey, and previously shared the story of their phased approach in a PortaOne podcast episode.
YouTube player

What this means for other operators

If you’re a telecom CEO weighing a billing migration, the Cgates story offers a few practical takeaways.

Complexity is normal. The question is whether your vendor has seen it before. Cgates needed 21 features and integrations developed by PortaOne before migration could start. The need for such a wide breadth of functionality is what a real triple-play operator with real compliance requirements demands. A vendor who tells you otherwise hasn’t done enough migrations.

Phased migration is a risk management strategy, not a slow path. Running two billing systems in parallel is demanding, but unlocks something a big-bang approach cannot: the ability to launch new subscribers directly onto the new platform from day one. Without this, new customers go into the old billing, new products get built there, staff keeps operating the old system, and migration scope grows with every passing month. Cgates avoided this trap entirely. And when they acquired a new ISP mid-project, the migration didn’t stop; it expanded because the infrastructure was already designed to handle change.

Leave “corner cases” for last. Apply the 80/20 rule to data migration: 80% of your subscribers are easy to move, while the last 20% of complexity takes 80% of the effort. Cgates initially delayed their launch trying to make every invoice and process perfect. But things sped up when they pivoted to launching new customers first to prove system stability, clearing out the easy subscriber batches, and leaving the remaining 2.5% of complex corner cases for the very end. 

As Marius puts it: “If we were waiting for the perfect solution, we would still be planning the migration.”  

What you build during migration has a life after it. The tooling PortaOne developed for Cgates is now migrating three more ISPs and proving to be a compounding investment.

100% is the only number that matters. Not the first go-live. Not the first batch. All 137,325. Done.

Cgates is the second-largest triple-play provider in Lithuania, offering fixed internet, IPTV, and VoIP to residential and business customers.

PortaOne is a telecom software vendor offering billing, switching, and customer management platforms for communications service providers worldwide. Learn more at portaone.com.

Thinking about a billing migration? Talk to our team.

Share this story

Join those
'in-the-know'

Never miss an update, software release, webinar, best practice or anything else.

Search PortaOne

Search

Hot topics