Industry guide · Accounting

Bulk Internet Billing for MDUs: Why Your Rent Roll and Your RADIUS Server Never Agree

MDU Bulk Internet Billing software visual showing commercial building, wifi, and billing receipt.
The short answer

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.

Research & sources

The evidence behind this guide

Independent findings on why this investment pays off. Every link goes to the primary source.

  1. 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) →
  2. 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) →
  3. 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) →
  4. 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 V. · Senior Shopify Engineer · Delhi

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.

FAQ

Frequently asked questions

How much does custom bulk internet billing software cost for an MDU operator with 10,000 doors?
A first release covering occupancy sync from the property management system, bulk invoicing against contract terms and resident upgrade billing typically runs $70,000 to $150,000 and ships in 12 to 18 weeks, based on Digital Heroes delivery experience. A full platform with move driven provisioning, an owner portal and payment operations runs $180,000 to $450,000 over 7 to 12 months. At 10,000 doors the first release usually pays back on reconciliation labour and overpaid revenue share alone. Cost rises with the number of distinct property management systems and network vendors in the portfolio.
Can Sonar or Splynx handle bulk MDU contracts with revenue share?
They handle the subscriber side well: plans, taxes, dunning and invoicing are all solid. What they do not model is a contract with a building that carries its own occupancy definition, escalator and owner revenue share on different terms per property. That calculation ends up in a spreadsheet, which is where the errors live. If all your bulk deals are flat per door with no share, they are genuinely enough and you should not build.
How do you sync occupancy from Yardi or RealPage into a billing system?
Both expose a route in, whether that is an API, a scheduled report or an SFTP drop, and the integration differs between them enough that they are two projects rather than one. The harder part is unit identifier normalisation, because the rent roll and your network records will disagree on formatting and you need a per property mapping with a review queue for unmatched units. Once mapped, occupancy becomes a daily event stream instead of a monthly file, so invoices are computed on the contract's own measurement date.
Should revenue share be calculated on billed revenue or collected revenue?
Collected, with clawback on refunds and chargebacks, and this is one of the highest value decisions in the build. Paying an owner a share of upgrade revenue you invoiced but never collected is a direct margin leak that spreadsheets hide, because the spreadsheet is usually built from the billing report rather than the payment ledger. Write the contract to reference collections where you can, and make the system compute it that way regardless.
What happens to network access when a resident moves out?
In most operations today, nothing automatic, which is why authorised devices linger and new residents call support on day one. The fix is treating move in and move out as events from the property management system that fan out to billing, provisioning and network authorisation. A move out should stop the upgrade subscription with a prorated final charge and release network access on the contract's own schedule rather than instantly, since residents are often still in the unit for a few days.
How long does it take to build MDU billing software?
A first release ships in 12 to 18 weeks in our experience. The schedule risk is rarely engineering, it is contract migration: loading forty existing property agreements as structured terms means someone reads forty PDFs and encodes escalators, occupancy definitions and share formulas. Operations that already keep a contract summary sheet move faster. Plan for the reading time as real project cost rather than assuming it happens in the background.
Does the FCC's 2022 MDU order affect how we structure revenue share?
The 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 for software. The operational point is that you need to be able to answer which properties carry which terms without opening every PDF, which is an argument for storing contract terms as structured data.
Can one system handle bulk billing and individual resident upgrades together?
Yes, and separating them is the mistake most operators make by accident. The bulk invoice and the resident upgrade are two revenue events attached to the same unit under the same contract, and the owner's share usually spans both. Keeping upgrades in a payment processor dashboard and bulk in an accounting system guarantees that nobody can answer what a property actually earned this month without manual work.
We run 1,500 doors on flat bulk deals. Do we need custom software?
Probably not, and we would tell you so. Flat per door pricing with no occupancy tie and no revenue share is exactly what off the shelf ISP billing handles well, and a build would be an expensive way to solve a spreadsheet that is currently correct. The case starts when occupancy drives billing, when owners take a share on differing terms, or when you carry more than one property management system and more than one network vendor across the portfolio.
How long does it take to build custom accounting software?
A focused first version takes 10 to 16 weeks, and a complete QuickBooks-class replacement takes 6 to 9 months. In Digital Heroes delivery data, schedules slip most often during data migration and bank feed integration, so we budget those two phases at double the first estimate. Treat any promise of a full accounting system in under two months as a warning sign.
What does it cost to maintain custom accounting software each year?
Budget 15 to 20 percent of the build cost annually, so a $100,000 system needs $15,000 to $20,000 a year for hosting, security patches, dependency updates, and small fixes. Accounting software carries one extra obligation most software does not: keeping tax rates, filing formats, and bank feed connections current as banks and tax authorities change their systems. Skipping maintenance for two years usually costs more to repair than the maintenance would have cost.
How many SaaS seats do we need before building custom becomes cheaper?
The crossover usually shows up between 20 and 50 seats on premium tiers. Salesforce Enterprise lists at $165 per user per month, so 40 users cost about $79,000 a year in subscriptions, which is real money against a custom system you would own outright. Run the comparison over three years: if subscription spend beats the build cost plus 15-20% annual maintenance, custom wins on price before you even count workflow fit.
Can I extend QuickBooks with custom features instead of replacing it?
Yes, and it is often the right first step. QuickBooks Online has a public API, so an agency can build a custom layer for quoting, inventory, or field service that pushes clean transactions into QuickBooks, which stays your ledger of record. Roughly half of the accounting engagements Digital Heroes scopes start this way because it costs a fraction of a full build and leaves your accountant's workflow untouched.
How much should a small business budget for its first custom app or website?
For a focused first build, most small businesses land between $8,000 and $60,000: roughly $8,000 to $45,000 for a custom website and $25,000 to $60,000 for an internal tool or simple web app, based on Digital Heroes delivery across 2,000+ projects. Customer-facing products with payments, logins, or a mobile app start around $40,000. Quotes far below these bands usually mean a template with your logo on it, not software shaped around your workflow.
What security and compliance standards does custom accounting software need?
At minimum: encryption at rest and in transit, role-based access control, and immutable audit logs recording every change to the ledger. If outside parties rely on your numbers you will want SOC 2 style controls, and storing card data pulls you into PCI DSS, which most builds avoid by tokenizing payments through Stripe or a similar processor. Your industry adds its own rules, so compliance requirements belong in the written spec, not in a post-launch retrofit.
How long does it take to build a custom web or mobile app from scratch?
Plan on 8 to 16 weeks for a focused first version and 4 to 9 months for a larger platform, which is the typical spread across Digital Heroes builds. The first 2 to 3 weeks go to discovery and design before any production code ships. The two things that stretch timelines most are integrations with legacy systems and slow feedback from your side, not developer speed.
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.

Keep reading
let's build

Build something worth launching.

A plan, a team, a timeline, within 24 hours. No decks, no discovery calls. Tell us what you're building and we'll come back with a real scope and a real number.

message us directly · we reply within one business day

mission briefing

Monthly dispatch

Playbooks, real build costs, and what we're shipping. One email a month. No fluff.

visit us

New York HQ

1140 Broadway, Suite 704 · New York, NY 10001

Get directions
Online now

Hey there 👋 How can we help you today?