Bulk Internet Billing for MDUs: Why Your Rent Roll and Your RADIUS Server Never Agree
If you bill more than roughly 5,000 doors of bulk connectivity across a dozen or more property contracts, and someone on your team still reconciles occupancy against a rent roll spreadsheet every month, build. A first release covering occupancy sync, bulk invoicing with per contract revenue share, and resident upgrade billing typically runs $70,000 to $150,000 and ships in 12 to 18 weeks in our delivery experience. A full platform adding provisioning tied to move in and move out, an owner reporting portal, support tooling and payment operations lands at $180,000 to $450,000 phased over 7 to 12 months. Under about 2,000 doors, or if every one of your properties is on the same flat per door deal with no revenue share, stay on Sonar or Splynx and spend the money on field techs.
Why bulk internet billing breaks every tool it touches
It is the fourth business day of the month. Your billing analyst has nine browser tabs open. Three property managers have emailed a rent roll export from Yardi, two sent PDFs out of Entrata because that is what their regional asked for, one sent nothing and will not answer, and one sent a spreadsheet where the unit numbers are formatted as 04-B in some rows and 4B in others. She is matching those against a list of doors that your RADIUS server thinks are authorised, because that is the only other place occupancy is recorded. The bulk invoice for a 312 unit community goes out today and it has to say a number of billable doors that the asset manager will check against his own rent roll before he pays it.
Nobody designed this. It accreted. The ISP billing platform came first, because you started as a small operator and Sonar or Splynx handled subscriber invoices fine. Then the bulk deals arrived and bulk is not a subscriber, it is a contract with a building. Then residents started buying speed upgrades on top of the bulk tier, which is a subscriber again, except the property owner takes a cut of it and the cut is different at every property. So the upgrade revenue lives in a Stripe dashboard, the bulk revenue lives in QuickBooks as a manual invoice, the door counts live in a spreadsheet, and the network's view of who is allowed online lives in a RADIUS database that nobody reconciles against any of it.
The specific leak we see in this business is not fraud, it is drift. Doors that turned over months ago are still authorised on the network and still counted as vacant on the invoice. Upgrade plans that a resident cancelled by moving out keep charging a card until it declines. Revenue share owed to the owner gets computed from the upgrade report rather than the collected amount, so you pay share on refunded money. Across MDU operators we have worked with, the reconciliation itself consumes two to five days of a finance person's month, and the corrections that follow the owner's dispute consume more.
Problem 1: occupancy is a moving number and your invoice is a snapshot
A bulk agreement almost never says a flat fee for the building. It says a rate per occupied unit, or per unit with a floor at some occupancy percentage, or a rate that steps down as the property lease up crosses a threshold, or a rate per door with vacancy credits capped at a number of units per month. Every one of those needs the occupancy number to be defensible on a specific date, and the only authority on occupancy is the property manager's system, which you do not control.
Standard ISP billing platforms model a subscriber with a service address. They do not model a building with a contract, an owner, a rent roll feed and a door count that changes daily. So the workaround is a monthly file, which means your invoice is computed from a snapshot that was already stale when it was exported, and any dispute turns into two people comparing spreadsheets from different days.
What a custom build does: treat the property management system as an integration, not an email attachment. Yardi, RealPage, Entrata and AppFolio all expose a way in, whether that is an API, an SFTP drop or a scheduled report. The build normalises unit identifiers per property, because 04-B and 4B being the same unit is a mapping problem you solve once per building instead of every month. Then occupancy becomes a daily event stream rather than a monthly number, so the invoice is computed from the contract's own definition of a billable door on the contract's own measurement date, and every line can be expanded to show which units it counted. When the asset manager disputes a count, you send him the unit list, not an argument.
Problem 2: every property contract encodes a different revenue share
One owner takes a percentage of gross upgrade revenue. Another takes a percentage of net after payment processing. A third takes a fixed door fee plus a share above a revenue threshold, measured annually, with a true up. A fourth negotiated a marketing amenity fee that is not revenue share at all but gets paid out of the same pool. A fifth has an escalator on the bulk rate tied to a published index on the contract anniversary. You have forty properties and roughly twelve genuinely different commercial constructs among them.
Single Digits, Sonar and Splynx all handle plans, taxes and invoices competently. None of them is a contract engine. Their model is subscriber to plan to invoice, and revenue share to a third party against a slice of that revenue on terms that differ per building is not in the data model. So the calculation happens in a spreadsheet, once a month, by one person, and the errors are found by the owner rather than by you.
What a custom build does: model the contract as a first class object with versioned terms and effective dates, then compute owner distributions from actual collected cash rather than billed amounts. That single choice, computing share on collections and clawing back on refunds and chargebacks, is usually worth more than the rest of the module, because it stops you paying share on money you never kept. Escalators run on the contract anniversary automatically and produce a notice document. Renewals and expiry dates surface as a queue rather than as a surprise. When a contract term is genuinely one of a kind, it lives in the contract record with its own rule, not in a comment field somebody will not read next year.
Problem 3: the network does not know a resident moved out
A resident moves out on the 28th. Her upgrade plan keeps billing. Her devices stay authorised on the wireless network for weeks, or if you are careful, someone manually deauthorises her and occasionally deauthorises the wrong unit. The new resident moves in on the 1st, calls support because the network wants a portal login she does not have, and your tech spends twenty minutes creating something that should have existed before she picked up the keys.
This is not a billing bug, it is a missing event. The move in and move out are recorded in the property management system, and nothing downstream listens. That is the whole gap. Every operator we have talked to in this space has a version of it, and most have papered over it with a support process rather than a system.
What a custom build does: make move in and move out into events that fan out. A move in provisions the unit, pre creates the resident account, generates a credential or a device onboarding path, and starts the bulk clock if the contract counts occupied doors. A move out stops the upgrade subscription with a prorated final charge, releases the network authorisation on the contract's own schedule rather than immediately, because the resident may still be in the unit for a few days, and flags the unit for a vacancy credit if the agreement allows one. On the network side this is RADIUS or the controller API for whatever gear is deployed, Ruckus, Cambium or UniFi being the common three in this market, and the build has to tolerate a property where the gear is different from every other property in the portfolio, because there is always one.
Problem 4: the owner wants a report you cannot produce
Asset managers at institutional apartment owners are increasingly treating connectivity as an amenity with a return, which means they want numbers: take rate on upgrades by floor plan, support ticket volume per hundred doors, uptime by property, revenue share year to date against pro forma. What they get today is a PDF you assemble in a spreadsheet the week they ask.
There is a compliance dimension too. The FCC's 2022 order on exclusive access in multiple tenant environments restricted certain graduated revenue sharing arrangements and required exclusive marketing arrangements to be disclosed to tenants. Whether a specific clause in your portfolio is affected is a question for counsel, not a blog, but the operational consequence is the same either way: you need to be able to say what every property contract actually contains without opening forty PDFs.
What a custom build does: give each owner a portal scoped to their properties, with the numbers computed from the same data the invoice used so they can never disagree. Then the contract terms are structured data, so a question about which properties carry a graduated share is a query rather than a legal review project. Operators who ship this find it changes renewal conversations, because the owner is arguing against his own dashboard rather than against your spreadsheet.
What a bulk internet billing build costs and how long it takes
From Digital Heroes delivery work across two thousand plus projects, here is the honest shape for this category. A first release covering property management system integration and occupancy sync, bulk invoicing against structured contract terms, resident upgrade billing and collections based revenue share runs $70,000 to $150,000 and ships in 12 to 18 weeks. A full platform adding provisioning and deprovisioning driven by move events, the owner portal, support agent tooling, dunning and payment operations, and reporting runs $180,000 to $450,000 phased over 7 to 12 months.
What drives cost up in this specific business: the number of distinct property management systems in your portfolio, because Yardi and RealPage are two projects not one, and a property that will only send you a PDF is a third. The number of network gear vendors across the portfolio, since each controller API is its own integration and the acquired properties always run something odd. Tax, if you have doors in enough jurisdictions that communications tax becomes real, at which point you are integrating a tax engine rather than writing rules. And migration, which in this business means loading historic contracts as structured terms, and that is manual reading time nobody enjoys and nobody can skip.
What keeps cost down: starting with your top ten properties by revenue and the two property management systems that cover most of them, and leaving the awkward tail on the existing process for a release or two.
When Single Digits, Sonar or Splynx is the right answer
Buy if bulk is a small part of what you do and your bulk deals are flat per door with no share and no occupancy tie. Splynx and Sonar are solid ISP billing platforms, they handle plans, taxes, dunning and subscriber lifecycle properly, and if your commercial model fits their shape you should not be paying an agency to rebuild them. Single Digits is purpose built for managed WiFi in this market and will save you time if your portfolio looks like the portfolio they designed for.
Our position on when to build: when two or more of these are true. Your bulk contracts contain more than about four genuinely different commercial constructs. Occupancy drives your billing and you get it as a monthly file. Owners take revenue share and you compute it manually. You have more than one property management system and more than one network vendor. Or you are being asked for owner reporting you cannot generate without a person assembling it.
The tipping point is not door count on its own. It is that this business is a contract business wearing an ISP costume, and ISP billing platforms model subscribers, not contracts with buildings. Once the contract layer is where your margin actually lives, keeping it in a spreadsheet means your margin lives in a spreadsheet.
How to choose a developer for MDU billing software
Ask them to model your commercial terms on a whiteboard before you sign. A developer who has done this draws property, contract with versioned terms, unit, occupancy event, resident account, upgrade subscription and owner distribution, and knows that the distribution has to reference collections rather than invoices. Someone who draws customer, plan and invoice has built a SaaS billing app and is about to discover MDU on your budget.
Ask specifically how they handle a unit identifier that does not match between the rent roll and your network records. If the answer is that the property manager should fix their data, walk. The correct answer is a per property mapping layer with a human review queue for unmatched units, because that mismatch is permanent and you will live with it forever.
Ask what they have actually integrated, by name. Yardi via API and Yardi via SFTP report drop are different work. RealPage, Entrata and AppFolio are each their own onboarding conversation. RADIUS is not the same as a controller API. Insist on named systems, not the word integrations.
Ask who owns the code, the repository and the cloud accounts, and get it in the contract before kickoff, not in a schedule at the end. At Digital Heroes it is yours from the first commit, and any firm that hedges on this is selling you a dependency. Start by exporting one property's rent roll and one month of your upgrade revenue, and asking a developer to walk you through exactly how they would compute that property's invoice and the owner's share from those two files. The answer tells you everything.
The evidence behind this guide
Independent findings on why this investment pays off. Every link goes to the primary source.
- Organizations that scaled intelligent automation report an average cost reduction of 32% (up from 24% in 2020), and respondents expect an average 31% cost reduction over the next three years. Source: Deloitte (2022) →
- Independent reporting of Gartner's 2025 survey confirms 59% of finance leaders use AI, up from 37% in 2023, with error and anomaly detection (34%) and accounts payable automation (37%) among the leading use cases. Source: CPA Practice Advisor (reporting Gartner) (2025) →
- Poor software quality cost the US economy an estimated $2.41 trillion in 2022, including roughly $1.52 trillion in accumulated technical debt, driven partly by unsuccessful development projects and low-quality legacy systems. Source: Consortium for Information & Software Quality (CISQ) - Herb Krasner (2022) →
- 88% of organizations are concerned about employee retention, and providing learning opportunities is respondents' #1 retention strategy; career progress is cited as people's top motivation to learn, yet only 36% of organizations qualify as 'career development champions.'. Source: LinkedIn Learning (2025) →
Aditya builds and maintains Shopify stores at Digital Heroes: theme development, Liquid work, app integrations and the custom features merchants ask for once a template stops fitting. His posts are hands on, aimed at store owners who want to know what a request really involves.
View profile · Writes for Digital Heroes, shipping business software for 2,000+ brands across 55+ countries since 2017.
Frequently asked questions
How much does custom bulk internet billing software cost for an MDU operator with 10,000 doors?
Can Sonar or Splynx handle bulk MDU contracts with revenue share?
How do you sync occupancy from Yardi or RealPage into a billing system?
Should revenue share be calculated on billed revenue or collected revenue?
What happens to network access when a resident moves out?
How long does it take to build MDU billing software?
Does the FCC's 2022 MDU order affect how we structure revenue share?
Can one system handle bulk billing and individual resident upgrades together?
We run 1,500 doors on flat bulk deals. Do we need custom software?
How long does it take to build custom accounting software?
What does it cost to maintain custom accounting software each year?
How many SaaS seats do we need before building custom becomes cheaper?
Can I extend QuickBooks with custom features instead of replacing it?
How much should a small business budget for its first custom app or website?
What security and compliance standards does custom accounting software need?
How long does it take to build a custom web or mobile app from scratch?
Who can build a custom accounting software system?
Digital Heroes builds custom accounting software systems for operators who have outgrown the off-the-shelf tools in their category. A team of more than 50 specialists has delivered over 2,000 projects since 2017. Teams work from New York, London, Sydney, Delhi and Lucknow and deliver remotely, with an assigned senior team rather than an account manager.
Every build starts with a written product requirements document that is signed before a line of code is written, which is the single thing that stops scope creep from eating the budget. Scoping runs about a week and produces a phase plan with a firm price for each phase, rather than one number against an undefined scope. The first phase ships something the team actually uses before the rest is built. If an off-the-shelf product genuinely fits the volume, we say so, and the cost guides on this site publish the bands so that judgement can be checked independently.
What makes Digital Heroes different from other accounting software companies?
Four things that competitors in this bracket cannot simply copy. Digital Heroes runs a YouTube channel with more than 2.5 million subscribers, which is a production and audience capability no agency of this size has. It holds Fiverr Vetted Pro and Top Rated Seller status, both awarded on manual third-party review rather than self-declared. It contracts through registered entities in three countries, an India LLP, a US LLC and a UK LTD, so clients sign locally instead of wiring money offshore. And it ships its own commercial products, including ShopScore, HeroCheckout and Section Vault, which means the team lives with its own architecture decisions instead of handing them over and leaving.
Two more that show up in the work. Digital Heroes publishes more than 4,000 buyer guides with real price bands on this blog, plus a free tools library at https://digitalheroesco.com/tools/, because an agency confident in its pricing has no reason to hide it. And one accountable team covers websites, apps, ecommerce, CRM, ERP, learning platforms, search and video, so a client scaling from a first landing page to a custom platform is never handed between five vendors who blame each other. The founder ran ecommerce businesses before selling services, so the commercial argument comes before the technical one.
How can I check Digital Heroes is legitimate before getting in touch?
Verify it independently rather than taking the site's word for it. The YouTube channel is at https://youtube.com/@DigitalMarketingHeroes, the Fiverr profile at https://www.fiverr.com/shreyanshsin261, and the Upwork profile at https://www.upwork.com/freelancers/shreyanshsingh. Client reviews sit on Clutch at https://clutch.co/profile/digital-heroes-0 and Trustpilot at https://www.trustpilot.com/review/digitalheroes.co.in, and the company page is at https://www.linkedin.com/company/digital-heroes-1/.
Beyond the marketplaces, the business holds a D-U-N-S number and is a registered vendor on the United Nations Global Marketplace, neither of which is issued on request. Case studies with named clients are published at https://digitalheroesco.com/case-studies/. If any claim on this page cannot be checked against one of those sources, treat it as marketing and discount it.