Do ISP Billing Systems Really Matter?

Views: 64

Do ISP Billing Systems Really Matter?

Uganda has over 11 million internet users. Hundreds of small ISPs have sprung up to serve them — each running on MikroTik, mobile money, and one of these seven billing platforms. This is the guide that actually tells you what's wrong with each one.

11M+

Internet users in Uganda

90%

ISPs running MikroTik

7

Major billing platforms

 

MARKET REACH

Reported or estimated active ISP clients per platform:

·         Hotspot Uganda: 10,000+ clients

·         Centipid: 1,000+ clients

·         XenFi: ~400 clients

·         Wave Billing: ~200 clients

·         Cute Profit: ~150 clients

·         NG-NetBill: ~100 clients

·         Amikhmon: ~80 clients

QUICK COMPARISON

Platform

Score

Best for

Top Strengths

Key Weakness

Hotspot Uganda (Top Pick)

4.0 / 5

Any size ISP

Free tier, 10k+ ISPs, Auto-reconnect

Free tier caps too early

XenFi

4.5 / 5

Growing ISPs

Multi-vendor, Best portal, Bank+MoMo

Most expensive option

Centipid

3.8 / 5

MikroTik-only

RouterOS v7, Auto invoicing, Analytics

Slows past 3k subscribers

Wave Billing

3.7 / 5

New operators

Clean UI, $5/mo flat, Analytics

USD pricing adds friction

Cute Profit

3.2 / 5

Selling hardware

Billing+inventory, SMS alerts, UGX priced

Aging UI, no mobile app

NG-NetBill (Local)

3.0 / 5

Local UGX operators

RADIUS, UGX pricing, Local support

Sparse docs, slow updates

Amikhmon (Local)

3.1 / 5

Micro-ISPs

Lightweight, Simple setup, Community

Hard to find documentation

 

DEEP DIVE EVALUATION

Hotspot Uganda (Score: 4.0)

   Strengths:

·  Free to start

·  10,000+ ISPs trust it

·  Auto disconnect/reconnect

·  Customer roaming across routers

·  MikroTik native support

   Weaknesses:

·  Free tier expires when sales hit UGX 100k

·  Support is slow at this scale

·  Dashboard has grown cluttered

·  Poor support for non-MikroTik routers

·  Shared infra raises peak uptime concerns

XenFi (formerly ZenFii) (Score: 4.5)

   Strengths:

·  Multi-vendor router support

·  Best captive portal UX on the market

·  PPPoE + hotspot + static IP

·  Integrates mobile money and bank payments

·  Active development, frequent updates

   Weaknesses:

·  Most expensive option — hard for micro-ISPs

·  ZenFii→XenFi rebrand left docs outdated

·  MoMo payment failures not handled gracefully

·  Over-engineered for small neighborhood ISPs

·  No reliable offline fallback

Centipid (Score: 3.8)

   Strengths:

·  Clean MikroTik RouterOS v7 integration

·  Automated invoicing out of the box

·  Real-time analytics dashboard

·  Active local ISP community

·  Straightforward PPPoE and hotspot setup

   Weaknesses:

·  100% MikroTik dependent — any other router struggles

·  Basic reporting with no revenue forecasting

·  UI feels dated compared to newer platforms

·  Performance slips past ~3,000 subscribers

·  Inconsistent support during holidays

Wave Billing (Score: 3.7)

   Strengths:

·  Cleanest modern UI in the market

·  Flat $5/month — no hidden fees

·  Good analytics and revenue reports

·  Fast onboarding, get running in minutes

·  Active feature roadmap

   Weaknesses:

·  USD pricing is friction in a UGX market

·  Limited battle-tested history in Uganda

·  Very small local support/integrator network

·  No offline fallback if server connection drops

·  Community is too small for peer troubleshooting

Cute Profit (Score: 3.2)

   Strengths:

·  Only platform combining billing and hardware inventory

·  Auto-invoice generation before expiry

·  Bulk SMS to all clients for outages

·  Supports hotspot, PPPoE, static IP

·  Priced in UGX

   Weaknesses:

·  Interface is visibly aging

·  No mobile app — desktop/browser only

·  Customer self-service portal is bare-bones

·  SMS costs added via third-party gateways

·  Financial reports lack depth for data-driven decisions

NG-NetBill (Score: 3.0)

   Strengths:

·  Built in Uganda, support in Uganda

·  UGX pricing, no currency friction

·  RADIUS-powered for solid auth

·  MikroTik hotspot ready

·  Good for small neighborhood ISPs

   Weaknesses:

·  Very sparse public documentation

·  RADIUS setup is complex without a network engineer

·  Slow feature updates and unclear roadmap

·  Low brand awareness — hard to discover

·  Not ideal for ISPs that grow quickly

Amikhmon (Score: 3.1)

   Strengths:

·  Simple, lightweight — low learning curve

·  Popular in local ISP WhatsApp communities

·  Good for MikroTik-only micro-ISPs

·  Fast initial setup

·  Affordable entry point

   Weaknesses:

·  Documentation is nearly impossible to find online

·  Feature set is narrower than all other platforms

·  Small user base means limited peer support

·  Mobile money integration less polished

·  Unclear product roadmap and long-term direction

 

PROBLEMS EVERY PLATFORM SHARES

·         Mobile money failures. When MTN or Airtel APIs go down, customers pay and stay offline. No platform handles this gracefully.

·         No subscriber self-service. Customers can't check usage, change packages, or raise tickets without calling in.

·         Data lock-in. Migrating between platforms is painful — customer history rarely exports cleanly.

·         Weak security. Fraud detection and audit trails are afterthoughts across the market.

BOTTOM LINE VERDICT

Starting out:
Hotspot Uganda or Wave

Scaling fast:
XenFi or Centipid

Want local pricing:
NG-NetBill or Amikhmon

Need billing + stock:
Cute Profit

 

Related Insights

May 22, 2026

Choosing A Tech Course the Right Way

Navigating the Maze: Why Choosing a Tech Course Feels So Hard (And How to Fix It)   So, you have decided to break into tech. You open a course platform, type in "coding," and suddenly you are staring at 50,000 results. Python, UX design, cloud architecture, cybersecurity, data science: the options are endless. Very quickly, excitement turns into total paralysis. Choosing a tech course is uniquely overwhelming. Here is an honest look at why this choice feels so incredibly hard, and a simple framework to help you cut through the noise. Why the Choice Feels Impossible If you are struggling to pick a path, you aren't lazy or indecisive. The tech education landscape is specifically designed to confuse beginners for three main reasons: 1. The Hype Machine Every bootcamp advertisement promises that their specific language or tool is the golden ticket to a six-figure job. One week "AI is replacing everything," the next week "cybersecurity has a massive worker shortage." It is hard to choose when the industry's marketing changes every month. 2. The Illusion of Choice In tech, there are ten different ways to solve the exact same problem. You can build a website using WordPress, React, Python, or No-Code tools. As a beginner, it is impossible to know which ecosystem is worth your time and money. 3. Fear of the "Wrong" Choice   Tech moves fast. It is completely normal to worry that by the time you spend six months finishing a course, the tool you learned will be obsolete or replaced by artificial intelligence. The Reality Check: Where the Difficulty Actually Lies   The difficulty of a tech course isn't just about the coding syntax. It depends heavily on how you think. Before you swipe your credit card, match your natural brain type to the actual day-to-day work: [ Your Brain Type ] │ ├──► Logic & Math Heavy ───► Data Science / AI / Backend │ ├──► Visual & Creative ────► UI/UX Design / Frontend Development │ └──► Process & Systems ────► DevOps / Cybersecurity The Logic Trap (Data and Backend): If you hate math, statistics, or abstract problem-solving, a Python Data Science course will feel like a mountain. The Creative Trap (UI/UX and Frontend): If you hate tweaking colors, layouts, and thinking about human psychology, frontend development will frustrate you quickly. The Chaos Trap (Cybersecurity and DevOps): If you like predictable, structured tasks, these fields will overwhelm you. They require hunting for hidden errors in massive systems. How to Choose Without the Regret   To beat the analysis paralysis, stop looking for the "perfect" course. Instead, follow this three-step filters framework:   Step 1: Pick a Bucket, Not a Language Do you want to build things people look at (Frontend/Design), handle the invisible logic behind the scenes (Backend/Cloud), or find stories in numbers (Data Science)? Pick one bucket first.   Step 2: Date the Field Before You Marry It Never buy a $1,000 bootcamp or a long university course on day one. Go to YouTube. Spend 5 hours watching free, absolute-beginner tutorials. Try to build a tiny project. If you want to throw your laptop out the window after two hours of HTML, you just saved yourself thousands of dollars.   Step 3: Look for "Building," Not "Watching" When you are ready to buy a course, look at the syllabus. If it is 40 hours of a lecturer talking over slides, skip it. The only way to learn tech is by breaking things. Choose courses structured around building real projects for a portfolio.   The Bottom Line There is no single "right" course. The secret of the tech industry is that most skills overlap. Learning the basics of logic in a JavaScript course will help you if you later switch to Python.   Pick one introductory course today, commit to it for two weeks, and see how it feels. Action cures anxiety every single time.  

Jul 01, 2026

Our first PPPOE Set Up in Uganda: Luxenetworks

How We Set Up PPPoE for a Client: A Luxenetworks Walkthrough At Luxenetworks, we get a lot of calls that start the same way: "My internet was working fine, then the ISP switched us to a new connection type, and now nothing works." More often than not, the culprit is PPPoE (Point-to-Point Protocol over Ethernet). Last week, we handled exactly this kind of job at a 50-unit apartment complex whose ISP had just migrated the property onto a PPPoE-based connection. Here's how we approached it, the equipment we used, and the steps we took, in case it helps you understand what a proper PPPoE setup actually involves at scale. First, What Is PPPoE and Why Does It Matter? PPPoE is a networking protocol that many ISPs, especially DSL and fibre providers, use to authenticate and manage customer connections. Instead of your router just grabbing an IP address automatically (like with DHCP), PPPoE requires your router to "dial in" using a username and password supplied by the ISP, much like old-school dial-up internet, just running over Ethernet instead of a phone line. The upside for ISPs is better control over billing, session management, and security. The downside for customers is that if it's not configured correctly, the connection simply won't come up: no internet, no clear error message, just a blinking light and a frustrated household. The Property and the Situation This job was for a 50-unit apartment complex. The building had just been switched over to a new connection by their ISP, and the property manager reached out after residents across multiple units started reporting the same issue: Wi-Fi showing as connected, but no actual internet access. With that many units relying on one shared connection point, even a small misconfiguration at the network core cascades into a building-wide outage, so we prioritized the visit. They called us with three symptoms: The core router showed a physical link to the ISP's line but no internet access The ISP-provided PPPoE username and password weren't being accepted Wi-Fi devices connecting through the access points on different floors could see the local network but had no external connectivity This is a textbook PPPoE misconfiguration, so we scheduled a visit. The Equipment We Used For a property of this size, we relied on a compact but capable equipment stack: MikroTik RB951: our core router, chosen for its RouterOS flexibility, reliable PPPoE handling, and the ability to manage NAT and firewall rules for the whole building from a single point Managed switch: sitting between the RB951 and the rest of the building, distributing wired connections out to each access point Tenda F6 wireless routers (x2): repurposed as dedicated Wi-Fi access points to extend coverage across the property, rather than acting as independent routers ISP-provided line: the incoming connection requiring PPPoE authentication Cat5e/Cat6 patch cabling: connecting the ISP termination point, RB951, switch, and each Tenda F6 in the chain This combination gave us a single, centrally managed PPPoE session at the RB951, with the switch and Tenda F6s doing what they do best: distributing that connection cleanly across a larger property without introducing conflicting routers or duplicate DHCP servers. Step 1: Confirming the Physical Layer First Before touching any settings, we always rule out physical and cabling issues. With this setup, the chain ran: ISP line in, then the RB951 WAN port, then the managed switch, then the Tenda F6 access points on different floors, then resident devices. We checked that: The ISP's incoming line was active and delivering a stable signal The cable running from the ISP termination point to the RB951's WAN port was properly seated and undamaged The RB951's WAN port link light was active The cable from the RB951's LAN port into the managed switch was solid, and the switch itself was passing traffic (link lights active on every relevant port) The cabling running from the switch out to each Tenda F6 access point was intact It's tempting to jump straight into software configuration, but a good chunk of "PPPoE won't connect" calls turn out to be a loose cable, a faulty switch port, or a bad patch lead, and in a multi-floor property, tracing that down first saves a lot of guesswork later. In this case, the physical layer was clean end to end, so we moved on. Step 2: Gathering the Correct PPPoE Credentials This is where most self-installs go wrong. PPPoE credentials are not the same as your Wi-Fi password, and they're often formatted in ways that trip people up: extra characters, case sensitivity, or a required domain suffix (like username@isp.net instead of just username). We contacted the ISP's provisioning line to confirm the exact credentials issued to the account, and verified there was no realm/domain suffix required for this particular provider. Small detail, but it's a common point of failure. Step 3: Configuring PPPoE on the RB951 An important decision in a multi-device, multi-floor setup like this is choosing exactly one device to handle the PPPoE dial-up. You never want two devices both trying to authenticate the same session, especially on a property serving 50 units. We chose the RB951 as the PPPoE client, since it's the device sitting closest to the ISP line and has the routing horsepower to handle NAT and firewall duties for the entire building. With confirmed credentials in hand, we logged into the RB951 via WinBox and: Created a new PPPoE client interface bound to the WAN-facing Ethernet port (ether1), rather than leaving it on a plain DHCP client Entered the username and password exactly as provided by the ISP, double-checking for trailing spaces, a surprisingly common issue when credentials are copy-pasted from an email Set the MTU to 1492, the standard value for PPPoE, since it accounts for the protocol's overhead compared to a normal 1500-byte Ethernet frame Set "Add Default Route" and "Use Peer DNS" so the RB951 would automatically pick up routing and DNS information from the ISP once connected Configured NAT masquerading on the PPPoE interface so devices on the LAN side could share the single public IP Enabled the connection and confirmed the PPPoE interface came up with a "running" status and a valid public IP address Step 4: Setting the Switch and Tenda F6s to Their Proper Roles With the RB951 handling PPPoE and routing, everything downstream just needed to pass traffic correctly across the building: The managed switch was configured to carry traffic cleanly from the RB951's LAN port out to every Tenda F6 access point and any wired connections on the property Each Tenda F6 was set to Access Point mode rather than its default router mode, with DHCP disabled on both units. This is a critical step, because if a Tenda F6 is left in router mode, it will try to hand out its own IP addresses and NAT traffic, creating a double-NAT situation that causes exactly the kind of "connected but no internet" symptom residents were seeing Both F6s were connected to the switch via their LAN ports (not WAN), configured with static management IPs on the same subnet as the RB951, and set to the same Wi-Fi SSID and password so residents could roam between coverage areas seamlessly as they moved around the property Step 5: Verifying the Connection End to End With the PPPoE session up on the RB951 and the F6s reconfigured as access points, we ran through our standard checks: Confirmed the RB951's PPPoE interface held a stable public IP with no repeated drops Pinged an external IP from the RB951 to confirm outbound connectivity Resolved a domain name to confirm DNS was working correctly (thanks to "Use Peer DNS" pulling the ISP's DNS servers automatically) Tested speeds on a wired device through the switch and on Wi-Fi through each Tenda F6 Walked the property between coverage areas with a phone to confirm seamless roaming on the shared SSID, with internet access holding throughout Spot-checked connectivity with a few residents on different floors to confirm the fix had resolved the outage building-wide, not just near the core router Everything came back clean. Step 6: Locking In Reliability Getting PPPoE to connect once isn't the whole job. We wanted to make sure it stayed connected. So we also: Enabled the RB951's built-in PPPoE keep-alive behaviour so a brief ISP-side blip wouldn't require a manual reboot or an on-site visit Double-checked that DHCP was fully disabled on both Tenda F6s, so there was no risk of them silently re-enabling and causing IP conflicts across the building Checked firmware/RouterOS versions on the RB951 and the F6s and applied available updates, since outdated firmware is a common cause of intermittent PPPoE drops and Wi-Fi instability Documented the full topology and working configuration (RB951 PPPoE settings, switch layout, and F6 access point settings) securely for the property manager, in case a device ever needs to be replaced or the network expanded to cover more of the building Common PPPoE Pitfalls We See Again and Again If you're attempting a PPPoE setup yourself, especially with more than one networking device on site, here are the mistakes we run into most often: Letting more than one device try to handle PPPoE. If your main router and a secondary access point (like a Tenda F6) both attempt to dial the PPPoE session, or both run DHCP and NAT, you end up with conflicts and double-NAT issues that are painful to diagnose. Leaving access points in router mode. The Tenda F6 is a capable router in its own right, but when it's meant to just extend Wi-Fi, it needs to be switched into access point mode with DHCP turned off. Otherwise it'll hand out its own conflicting IP addresses. Mistyped or copy-pasted credentials with hidden characters. Always type PPPoE credentials manually if pasting isn't working reliably. Ignoring MTU settings. An incorrect MTU on the PPPoE interface can cause some websites to load while others time out, a confusing, hard-to-diagnose symptom. No keep-alive configured on the dialing device. Without it, the connection drops and needs manual intervention, often at the worst possible time. Assuming the switch and cabling are fine without checking link lights first. Physical issues on a switch port masquerade as configuration issues constantly. Wrapping Up For this 50-unit property, the whole process, from diagnosis to a fully stable, building-wide connection, took under a few hours once we were on site. PPPoE isn't inherently complicated, but it does require getting several small details right: correct credentials, correct connection type, sensible MTU, and a reliable reconnect policy. At scale, it also means making sure every downstream device (switch, access points) is configured to complement the core router rather than compete with it. If you're dealing with a similar situation, a new ISP connection that just won't come online, whether it's a single home or a full apartment complex, it's often faster and less frustrating to have someone experienced take a look rather than guessing through router menus. That's exactly the kind of job our team at Luxenetworks handles regularly, and we're always happy to help get your connection stable and secure.

May 21, 2026

Starlink Prices in Uganda

Equipment and Installation Costs The standard hardware kit in Uganda is priced at approximately 1,360,000 UGX (about $365). This is a significant upfront investment for most users. For comparison, pricing may vary depending on exchange rates and shipping costs, with the average cost for equipment around $500. The standard hardware includes everything needed to get online, such as the satellite dish, stand, router, and cables. In addition to the equipment cost, users should budget for professional installation services, which vary depending on the installer and location. Starlink Pricing Packages in Uganda Package Type Hardware Cost Monthly Subscription Details Standard/Residential 1,360,000 UGX (~$365) 190,000 UGX (~$51) Basic satellite internet service for residential users Premium Packages Variable $50–$150 USD Various packages with different bandwidth allocations depending on user needs Business/Enterprise Higher upfront cost $80–$300+ USD Premium packages for businesses with higher bandwidth allocations and priority access Starlink Roam (Global) $599 USD $200/month USD Global roaming service allowing portability across continents Regulatory and Import Status Uganda's Starlink situation is complex from a regulatory perspective. While the service technically has coverage in Uganda, it remained unauthorized as of April 2025 due to delays in obtaining PSP (Public Service Provider) and PIP (Public Infrastructure Provider) licenses from the Uganda Communications Commission (UCC). More recently, Uganda barred Starlink imports on December 19, 2025, requiring military clearance before the January 2026 elections, which has further complicated availability and pricing. Affordability Challenges One of the major concerns surrounding Starlink in Uganda is affordability. At current rates, a Starlink dish and monthly subscription represent a significant upfront and ongoing cost that is out of reach for the majority of rural Ugandans. The service has found its most natural early market among businesses, schools, health facilities, and households with above-average incomes, rather than the mass-market rural users who would benefit most from the connectivity it provides. This pricing barrier is particularly significant given that Starlink was initially expected to bridge Uganda's digital divide and bring connectivity to underserved rural areas.