Your switch can route a million calls a day, but if billing falls behind, the money quietly leaks out. Unbilled CDRs, mismatched rates, and slow balance updates are what turn a profitable VoIP operation into a stressful one. So the question most operators actually ask in 2026 isn’t “which softswitch?” It’s “which billing system won’t break when traffic spikes?”
Open source billing still wins a lot of these decisions. You skip the per-channel licensing trap, you get to read the rating logic instead of trusting a black box, and you can shape the platform around your routing rather than the other way around. The trade-off is that you own the operations. Pick the wrong tool for your scale and you’ll feel it at 3am.
Here are the five open source VoIP billing systems worth your shortlist this year, what each is genuinely good at, and where each one stops being the right call.
1. PyFreeBilling: built for wholesale volume
If you’re processing millions of CDRs a day, start here. PyFreeBilling (AGPLv3) pairs Kamailio and FreeSWITCH with a PostgreSQL back end, and the whole design assumes carrier-grade load from day one. It’s asynchronous, worker-based, and API-driven, which is exactly what you want when call volume is unpredictable and large.
The feature set leans wholesale: real-time rating, a Least Cost Routing engine, bulk rate import and export, margin management, fraud checks, and RADIUS compatibility. A regional carrier moving traffic between a dozen upstream providers will feel right at home, because the rate-table handling and LCR were clearly written by people who run that kind of network.
My honest take: PyFreeBilling is the strongest pure-carrier option on this list, but it is not beginner software. You need someone comfortable tuning PostgreSQL and managing a SIP routing stack. A two-person startup will drown in it. A wholesale operator with real DevOps will love it.
2. ASTPP: a full platform, not just a biller
ASTPP is the answer when you want billing, routing, DID management, and customer portals in one place instead of stitching three tools together. It runs on FreeSWITCH with MySQL or MongoDB and Redis caching, and it’s aimed squarely at ITSPs and multi-tenant providers.
Where it really separates itself is multi-tenancy. ACL-based access, reseller chains, per-customer pricing, and per-tenant rate control are first-class features, not bolt-ons. If your business model is “sell VoIP to resellers who sell to their own customers,” ASTPP handles that hierarchy cleanly. It also ships WebRTC support and JSON/REST APIs, so connecting it to a CRM or payment gateway is straightforward.
The catch is weight. ASTPP gives you a complete ecosystem, and a complete ecosystem is a lot to learn and maintain. Some advanced features live behind commercial add-ons too. For a lean SIP-trunk reseller it can feel like more platform than the job needs. For a growing ITSP that wants one control plane, it’s hard to beat.
3. MagnusBilling: the practical Asterisk workhorse
MagnusBilling has one of the largest install bases in open source telecom billing, and that matters more than it sounds. When something breaks at midnight, a big community means someone has already hit your problem and posted the fix. It’s GPLv3, built on Asterisk with MariaDB and PHP, and it’s deliberately conventional.
You get real-time billing, multi-level resellers, customer dashboards, SMS and DID support, buy/sell margin calculation, and a feature-rich admin panel with solid reporting. SIP trunk providers, calling-card businesses, and regional ITSPs run it for a reason: it’s stable and it does the job without drama.
It won’t win an architecture beauty contest. The PHP foundation shows its age, and I wouldn’t push it into very large wholesale territory where PyFreeBilling belongs. But for the mid-market operator who values reliability over fashion, MagnusBilling is often the sensible pick.
4. A2Billing: the veteran that refuses to retire
A2Billing is the elder statesman here. Official development slowed years ago, yet community forks keep it alive and usable well into 2026, mostly because it’s simple and a generation of engineers already knows it inside out. It runs on Asterisk and MySQL under GPLv2.
Its sweet spot is prepaid and calling-card businesses: multi-currency, multilingual interface, agent and reseller management, payment-gateway integration, and straightforward CDR reporting and invoicing. For a budget-focused startup spinning up a calling-card service, it’s a fast, lightweight way to get billing running.
Be clear-eyed about the limits, though. The architecture is aging and modern API support is thin. I’d only reach for A2Billing when familiarity and low cost outweigh the need for current integrations. If you’re building something you expect to scale hard, look at the first two options instead.
5. CDR-Stats: the analytics layer you forgot you needed
CDR-Stats isn’t a full billing engine, and that’s the point. Built on Django, PostgreSQL, and Celery under a BSD license, it ingests CDRs from across your systems and turns them into dashboards, historical trends, and PDF or CSV reports. Think of it as the reporting and revenue-assurance brain that sits beside whatever billing platform you chose above.
Why bother? Because billing errors are expensive and usually invisible until the month-end reconciliation. CDR-Stats surfaces margin mismatches, routing anomalies, fraud patterns, and carrier cost discrepancies early, while they’re still cheap to fix. One operator catching a single mis-rated route can pay for the entire setup effort.
Pair it, don’t replace with it. CDR-Stats earns its place as the analytics companion, not the biller itself.
Open source VoIP billing systems compared
| Platform | License | Best for | Wholesale ready | Multi-tenant | Scalability |
|---|---|---|---|---|---|
| PyFreeBilling | AGPLv3 | High-volume carriers | Excellent | Moderate | High |
| ASTPP | OSS + commercial | ITSPs, multi-tenant | Strong | Excellent | Medium-High |
| MagnusBilling | GPLv3 | SIP trunk, regional ITSPs | Moderate | Strong | Medium |
| A2Billing | GPLv2 | Prepaid, calling cards | Basic | Moderate | Low-Medium |
| CDR-Stats | BSD | Analytics, auditing | N/A | Strong | High |
The row this table can’t show is operational effort, and that gap is bigger than it looks. PyFreeBilling scores highest on raw capability but demands the most skilled hands. A2Billing scores lowest on paper yet ships fastest for a simple calling-card shop. Read the chart for fit, not just for the most green cells.
What’s actually changing in 2026
A few shifts are worth planning around. Real-time rating has moved from “nice to have” to mandatory; delayed billing models now carry real fraud and leakage risk. API-first design is the default expectation, since billing rarely lives alone anymore and has to talk to CRMs, payment gateways, and provisioning tools. And revenue assurance has gone mainstream, which is exactly why an analytics layer like CDR-Stats keeps showing up in serious deployments.
If you’re choosing the stack underneath all this, it helps to understand the routing and signaling layer too. Our breakdown of open source SIP servers and the open source SIP libraries behind them pairs naturally with any of the billing platforms above.
So which one should you pick?
For most growing ITSPs, ASTPP is the pragmatic default: it gives you billing plus the surrounding platform without forcing a custom build. If you’re a wholesale carrier living and dying by CDR throughput, PyFreeBilling is worth the steeper learning curve. Running Asterisk and want something stable and well-supported? MagnusBilling. Spinning up a prepaid calling-card service on a budget? A2Billing still does the job. And whatever you choose, bolt CDR-Stats on top so billing errors don’t hide until they’re costly.
If you’re building out a broader open source telephony stack around your billing, browse the full range of open source VoIP software we work with, or start at the ICT Innovations home page to see how the pieces fit together.
Frequently asked questions
Are open source VoIP billing systems really free?
The software license is free, yes. Your real cost is operational: servers, setup, tuning, and the engineering time to run it. For most providers that total still lands well below proprietary per-channel licensing, which is why open source stays popular.
Which open source billing system is best for a wholesale carrier?
PyFreeBilling, in most cases. Its asynchronous, PostgreSQL-backed design and LCR engine are built for the high-concurrency, high-CDR reality of wholesale routing.
Can I run billing and routing on the same platform?
Yes. ASTPP is designed exactly for that, combining rating, routing, DID management, and customer portals in one stack, which is why multi-tenant ITSPs favor it.
Do these systems handle fraud detection?
Most do to some degree. PyFreeBilling and MagnusBilling include fraud checks in the billing flow, and CDR-Stats adds an extra layer by flagging routing anomalies and margin mismatches after the fact.
What about Asterisk versus FreeSWITCH for billing?
Both work. MagnusBilling and A2Billing sit on Asterisk, while PyFreeBilling and ASTPP build on FreeSWITCH. Pick the billing platform that matches the switch your team already knows.
