Industry guide · Custom Software

Orthodontic Practice Software: Why Multi-Location Groups Outgrow Dolphin and Ortho2, and What to Build Instead

The short answer

If you run four or more orthodontic locations and your treatment coordinators are still reconciling contracts in spreadsheets, you should build. Not a full replacement: keep Dolphin or Ortho2 Edge as the clinical and imaging system of record, and build the contract, aligner tracking and multi-location revenue layer on top. Expect $60k to $130k for a first release that ships in 12 to 16 weeks, and $150k to $400k over 6 to 12 months for a full platform covering contract lifecycle, aligner case management, insurance workflow and group-level reporting. Below four locations, the spreadsheet is cheaper than the software.

Why practice software makes or breaks an orthodontic group

Orthodontics is not general dentistry with wires. General dentistry is transactional: procedure, claim, payment, done. Orthodontics is a 24 month contract with a down payment, a monthly autopay schedule, an insurance assignment that pays quarterly on its own calendar, a treatment plan that changes at month 9, and a patient who moves out of state at month 14 with $2,400 of unearned revenue on the books. Your practice management system was built to schedule appointments and file claims. It was never built to be a subscription billing engine with clinical dependencies, which is what an ortho group actually is.

Walk into a six-location group doing 1,800 starts a year and this is the stack. Dolphin Management or Ortho2 Edge or Cloud9 holds the schedule, the imaging and the ledger. Then there is a shared drive with a workbook called Contracts_Master_v4_USE_THIS.xlsx that the regional treatment coordinator maintains, because nobody trusts the aging report in the PMS after the third mid-treatment contract revision. There is a separate tracker for Invisalign cases, because the Invisalign Doctor Site knows a refinement was ordered but the PMS does not, so the front desk finds out a case is in refinement when the patient asks about it. There is a Google Sheet for insurance because the EOBs post quarterly and someone has to manually split the payment across 40 patients. There is a QuickBooks file where a bookkeeper re-keys the month.

It is the 8th of the month, and your regional manager is on a call with the Riverside office TC. A patient started in March at $5,900 over 26 months. In September the doctor extended to 32 months and swapped to aligners for the finishing phase. The TC edited the contract in Dolphin. The autopay in the merchant portal was never changed. The insurance assignment still assumes the original end date. Riverside's production number now disagrees with the ledger by $3,100, and the only way to find out why is for two people to spend 90 minutes reading the treatment card and the payment history side by side. Multiply that by six offices. When we have timed this in discovery, it runs 25 to 40 hours a month of senior staff time, and it is the reason nobody in the group can answer "what is our actual contract balance" without a week of notice.

Problem 1: Mid-treatment contract changes break every downstream system at once

A contract change in orthodontics is not an edit. It is an event with five consequences: the remaining balance changes, the autopay schedule changes, the insurance assignment changes, the revenue recognition changes, and the patient needs a new signed agreement. Dolphin and Edge treat it as a field update. You change the number, the ledger recalculates, and the merchant processor, the insurance record and the signed contract file all go stale without telling anyone.

The specific failure we see: a $5,900 contract extended by 6 months. The office adds the months but leaves the monthly at $195 because that is what the patient budgeted. Now the contract collects $6,240 against a $5,900 agreement, and nobody catches it until the patient's final payment bounces the balance negative. Or the reverse, which is more common: the term extends, the monthly drops, and the group under-collects a few hundred dollars per affected patient. One group pulled their own revision rate for us and it was north of one start in ten, which put roughly 200 contracts a year into drift.

No amount of configuration fixes this, because the PMS ledger and the payment processor are different vendors with a one-way sync. Dolphin pushes a payment plan out. It does not own the schedule after that, and it has no concept of a contract version.

What a custom build does: model the contract as an immutable event log, not a row. Original terms, then amendments, each with an effective date, a reason code, an approving doctor and a delta. Every amendment fires a workflow: recompute the remaining schedule, push the corrected schedule to the processor via API, regenerate the agreement PDF, send it for e-signature, and flag the insurance assignment for review. The TC sees one screen: "Extend treatment 6 months" with a live preview showing the old schedule, the new schedule, the total collected either way, and a hard block if the amended total does not match the amended agreement. The reconciliation stops happening because the drift stops happening.

Problem 2: Aligner cases live in a vendor portal your practice software cannot see

If a meaningful share of your starts are Invisalign or SureSmile, half your clinical operation runs in the Invisalign Doctor Site or the SureSmile portal, and your PMS has no idea. The case is submitted there. The ClinCheck is approved there. Refinements are ordered there. Shipment tracking is there. Your practice software knows only that a patient has an appointment.

The operational cost: a patient shows up for a delivery appointment and the trays are not in. The chairside assistant walks to a computer, logs into the doctor site, checks the shipment, discovers it went to the wrong office because the case was submitted from Riverside while the patient now sees the doctor at Eastvale. That is a dead chair slot, a rescheduled patient, and a doctor standing idle. You already know your production per chair hour. Multiply it by how often this happens, which is a number nobody in the group is currently counting.

Align does not owe your PMS vendor an integration, and your PMS vendor has no commercial reason to build one deeply, so what exists is thin and will stay thin.

What a custom build does: an aligner case object that lives in your system and syncs case state from the vendor, either through available APIs or, where no API exists, a scheduled headless job that pulls the case list and status per doctor account. Every case has a stage, an expected ship date, a destination office, a tray count, and a refinement count. Two things fall out of that immediately. First, the scheduler refuses to book a delivery appointment for a case whose trays are not marked received at that office. Second, refinement count becomes a number your clinical director can see: in one group we built this for, the refinement rate roughly doubled between two doctors on a comparable case mix, and until it was in a report nobody managed it.

One place AI does real work here: ClinCheck approval notes, lab prescriptions and doctor scan notes are unstructured text and PDFs. A document extraction pass reads them on ingest and populates structured fields: planned tray count, IPR requirements, attachment stages, planned finish date. You get a case record you can query instead of a PDF someone has to open.

Problem 3: Insurance pays on a schedule your PMS does not model

Ortho insurance is its own animal. A $1,500 lifetime max, paid as $375 down and $46.88 monthly for 24 months, assigned to the practice, posted quarterly, subject to the patient staying eligible. When the patient's employer changes carriers at month 11, the remaining benefit evaporates and the patient owes the difference. Your PMS records the claim. It does not model the benefit as a receivable that decays.

The scene: your insurance coordinator has a spreadsheet of expected quarterly payments per carrier. A $9,200 check arrives from Delta Dental covering 38 patients. She spends most of a day splitting it. Two patients on that EOB terminated coverage in the prior quarter, so the practice is now carrying $1,100 of patient responsibility that nobody told the patient about, and the first the patient hears of it is a balance letter 90 days later. That conversation costs you a referral.

PMS vendors implemented the claim, not the benefit lifecycle, because ortho insurance modeling is a small enough market to skip. There is no eligibility re-verification loop tied to contract balance in any of them.

What a custom build does: model the insurance benefit as a distinct receivable with its own schedule, its own carrier, its own eligibility status. Run automated eligibility re-checks against clearinghouse APIs on a cadence, monthly for active contracts. When eligibility changes, the system computes the patient responsibility delta immediately, drafts the patient communication, and routes it to the TC for approval, at month 11 rather than month 14. Bulk EOB posting becomes a document extraction job: the ERA or scanned EOB gets parsed into patient-level line items, auto-matched against expected amounts, and only the exceptions land in a human queue. Your coordinator reviews 6 exceptions instead of splitting 38 lines.

Problem 4: You cannot see the group, only six copies of one office

Multi-location ortho groups run a database per location, or a location filter that most reports ignore. Ask "what is our contract receivable across the group, aged, by office, net of insurance" and the honest answer is that someone exports six reports and pivots them. Ask "which office has the most starts stalling before down payment" and there is no answer at all.

This gets worse the moment you acquire. Acquire a two-office practice on Cloud9 while you run Dolphin, and now you have two clinical systems, two ledgers, and a 9 month migration project that nobody has time for. Most groups just run both and reconcile in Excel forever.

The PMS is licensed and architected per practice, so group reporting is an add-on that reports what the PMS knows, and the PMS does not know about the contract amendments and aligner states that explain the variance.

What a custom build does: your contract and case layer sits above the PMS instances, not inside them. Each PMS is a source: patient demographics, appointments and clinical data flow in through the vendor API or a nightly extract. Contracts, aligner cases, insurance benefits and payments live in your system, keyed to a group-level patient ID that survives a patient transferring between offices. The acquisition problem inverts: you do not migrate the new practice's PMS, you connect it as another source and the group layer covers both from week one. Forecasting on top of that data is worth the line item, because a contract portfolio is a predictable cash stream: model expected collections per office per month from scheduled contract payments, insurance schedules and historical delinquency by cohort, and you get a 90 day cash forecast accurate enough to plan hiring and equipment against.

Problem 5: The gap between the consult and the start is where money dies

A patient sits for an exam, gets a treatment plan, and does not sign that day. In most groups that patient enters a pending list, gets a call attempt or two, and then disappears. Nobody knows the group's true consult-to-start conversion because the denominator lives in one place and the numerator in another.

Your PMS gives you a recall list. It does not give you a pipeline, because it models appointments, not opportunities.

What a custom build does: treat every treatment plan presentation as an opportunity object with a value, an owner, a stage and an age. Not signed in 48 hours triggers a sequence: a text with the treatment plan summary and the monthly, a financing pre-qualification link, a follow-up at day 4 and day 11. Where AI earns the line item: after-hours inbound. Pull your own call log for last month and count how many rang after five or during a Friday huddle. A voice agent that answers "how much are braces", quotes the actual starting monthly from your fee schedule, and books a real consult into a real open slot in the PMS scheduler recovers appointments that currently go to whoever answers first. The same engine drafts the follow-up from the treatment plan and the conversation history for the TC to approve and send. Three points of conversion at 1,800 starts and a $5,900 average contract is roughly $320k of contract value a year. That is arithmetic on your own numbers, not a projection.

What this costs and how long it takes

Across 2,000-plus projects, the Digital Heroes pattern for this category is consistent. A focused first release, meaning contract lifecycle with amendment handling, payment schedule sync to your processor, and a group-level receivable dashboard reading from one PMS, runs $60k to $130k and ships in 12 to 16 weeks. A full platform, adding aligner case sync, insurance benefit modeling with eligibility loops, EOB extraction, the opportunity pipeline, the AI intake agent and multi-PMS consolidation, runs $150k to $400k phased over 6 to 12 months. We ship the first release before we scope the rest, because what your TCs actually do in month one always differs from what the ops manual says.

What drives the price up in orthodontics specifically. First, PMS integration depth: Dolphin's API surface is usable, Ortho2 Edge varies by hosting, and Cloud9 access depends on your contract. If a vendor will not give you API access, we are into database-level reads or scheduled extracts, and that is real engineering. Second, payment processor migration: if you are on a processor without a schedule-management API, the amendment workflow either stays partly manual or you change processors, and that is a decision with its own cost. Third, HIPAA scope: a BAA-covered build with audit logging, per-office role separation, encrypted PHI at rest and access review is not optional and is not free. In our builds it is typically 10 to 15 percent of the cost. Fourth, number of live PMS instances at go-live: two is fine, five doubles the data reconciliation work. Fifth, aligner vendor coverage: Invisalign only is one integration, Invisalign plus SureSmile plus an in-house lab is three.

What does not drive price up as much as people expect: number of locations. Six offices and sixteen offices are close to the same build. The cost is in the number of distinct systems, not the number of chairs.

Build or buy: take the honest position

Stay on off-the-shelf if you have one to three locations, one PMS, a single doctor setting fees, and under about 400 starts a year. At that scale Dolphin plus a disciplined TC plus a decent spreadsheet is cheaper and lower risk than anything we would build, and a consultant who tells you otherwise is selling. The reconciliation pain is real at that size but it is one person, part-time.

Build when three of these are true. You have four or more locations or more than one PMS in production. Your contract receivable is above roughly $4M and you cannot state it accurately in an afternoon. More than 30 percent of starts are aligner cases whose status lives outside your PMS. You are acquiring, and the thought of migrating each acquisition onto your PMS is why you have not moved faster. A named person, usually a regional TC or ops manager, spends more than 20 hours a month reconciling numbers between systems, and that person's real job is something else.

The signal that matters most: when your growth plan requires standardizing how contracts work across offices, and the PMS cannot enforce that standard, the software is now the constraint on the business. That is the moment to build. On scope, we almost never replace the clinical PMS. Imaging, cephalometrics, the treatment card: leave those alone. Build the contract, case and money layer. That is where the leak is.

How to choose a developer for orthodontic practice software

Ask them to model an ortho contract on a whiteboard, before any proposal. If they draw a table with a balance column, they have built dental software and not ortho software. You want to hear the words amendment, effective date, and revenue recognition unprompted, and you want them to ask whether your insurance is assigned or patient-paid before they draw anything.

Make them tell you specifically how they will read from your PMS. Not "we integrate with Dolphin." Which endpoints, or which extract, at what frequency, and what happens when the vendor changes it. If they have not seen the Dolphin, Edge or Cloud9 data model before, they will spend six weeks of your money learning it, and you should decide knowingly whether to fund that.

Check that HIPAA is architecture and not a checkbox. Ask who signs the BAA, where PHI lives, how access is logged, and how a terminated employee's access is revoked across offices. Ask what happens to PHI in their development environments. A team that answers "we use synthetic data below production" has done this before. A team that says "we're HIPAA compliant" has not.

Settle ownership and exit in the contract, not the conversation. You own the repository, the infrastructure accounts and the data, from day one, not on final payment. Ask what handover looks like if you take it in-house in year two: if the answer is not "here is the repo, the runbook and two weeks of your engineer pairing with ours," keep looking. Software this central to your revenue should never be somewhere you cannot reach it.

Research & sources

The evidence behind this guide

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

  1. Only 22% of firms are 'future ready' having significantly transformed digitally; these companies show average revenue growth 17.3 percentage points and net margins 14.0 percentage points above their industry average. Source: MIT Center for Information Systems Research (MIT Sloan) (2022) →
  2. McKinsey found that tech debt can amount to 20-40% of the value of a company's entire technology estate before depreciation, and CIOs report that 10-20% of the budget for new products is diverted to resolving tech-debt issues. Source: McKinsey & Company (2020) →
  3. In the Flexera 2025 State of ITAM report, respondents reported roughly 33% of SaaS spend is wasted, underscoring how paying for off-the-shelf seats and tiers that go unused erodes the supposed cost advantage of generic SaaS. Source: Flexera (2025) →
  4. Across ten outpatient clinics the mean no-show rate was 18.8%, and the marginal cost of no-shows reached $14.58 million per year for those clinics, at roughly $196 per missed appointment (2008 figures). Source: BMC Health Services Research / PubMed Central (Kheirkhah et al.) (2015) →
Rohan Malhotra · Enterprise Software Consultant

Rohan advises mid-market and enterprise teams on ERP, CRM and custom software, and has led delivery on dozens of business-software builds.

Writes for Digital Heroes, shipping business software for 2,000+ brands across 55+ countries since 2017.

FAQ

Frequently asked questions

How much does custom orthodontic practice software cost for a 6-location group?
A focused first release covering contract lifecycle, payment schedule sync and group receivable reporting runs $60k to $130k and ships in 12 to 16 weeks. A full platform adding aligner case sync, insurance benefit modeling, EOB extraction and multi-PMS consolidation runs $150k to $400k over 6 to 12 months. Location count barely moves the price; the number of distinct systems you need to integrate is what drives it.
Should we replace Dolphin Management or build on top of it?
Build on top of it. Dolphin is good at imaging, cephalometrics and the clinical treatment card, and replacing that is expensive with little upside. The gap is contract amendments, aligner case state and group-level money, so build that layer above Dolphin and let Dolphin stay the clinical system of record.
Can custom software integrate with Ortho2 Edge and Cloud9 at the same time?
Yes, and this is the main reason acquisitive groups build. Your contract and case layer treats each practice management system as a data source, pulling patients, appointments and clinical data in through APIs or scheduled extracts, keyed to a group-level patient ID. Access depends on your vendor contract, so confirm API availability before scoping, because a database-level or extract-based read is more engineering than an API.
How long does it take to migrate contract data off spreadsheets into a new system?
Data migration for contracts typically runs 2 to 4 weeks inside the 12 to 16 week first release, and it is mostly reconciliation, not loading. The hard part is that your spreadsheet and your practice management ledger disagree, so someone from your team has to adjudicate the exceptions. Budget a named person for roughly 10 hours a week during that window or the timeline slips.
Do we own the code if we hire an agency to build this?
You should own the repository, the cloud infrastructure accounts and all data from day one, not on final payment, and it should be written that way in the contract. If a developer holds the code until the last invoice clears or keeps the AWS account in their name, walk away. Ask specifically what handover looks like if you bring it in-house in year two.
Is custom orthodontic software HIPAA compliant?
It can be, but compliance is architecture, not a feature you buy. You need a signed BAA with the developer and any cloud vendor, PHI encrypted at rest and in transit, per-office role separation, full access audit logging, and synthetic data in development environments. In our builds that work is typically 10 to 15 percent of the cost, and any developer who calls themselves compliant without describing those controls is unqualified.
Can software track Invisalign cases if Align does not provide an API?
Yes, though the method matters. Where API access exists it is a straightforward sync of case state, expected ship dates and refinement counts into your own aligner case object. Where it does not, a scheduled job pulls case status per doctor account, which works but needs maintenance when the portal changes, so price that as ongoing support rather than a one-time build.
At what size does building beat staying on off-the-shelf ortho software?
Roughly four or more locations, or more than one practice management system in production, or a contract receivable above about $4M that you cannot state accurately in an afternoon. Below that, Dolphin or Ortho2 Edge plus a disciplined treatment coordinator is cheaper and lower risk. The clearest trigger is when a senior person spends more than 20 hours a month reconciling numbers between systems.
Where does AI actually help an orthodontic group versus being a gimmick?
Three uses are worth the money: document extraction that parses ClinCheck notes and EOBs into structured fields so nobody re-keys them, an after-hours voice agent that quotes real fees from your schedule and books consults into real open slots, and cash forecasting off the contract portfolio. Chairside AI diagnostics are a separate conversation and belong to your clinical vendors, not your operations build.
What does a $50,000 custom software budget actually buy?
One core workflow done properly: 10 to 15 screens, two or three user roles, a couple of integrations, an admin panel, and automated tests, delivered in roughly 12 to 14 weeks. What it does not buy is that workflow plus a mobile app plus AI features plus five more integrations. The discipline of picking the one workflow that matters is what separates $50,000 projects that ship from $50,000 projects that stall at 70% complete.
Couldn't I just build my app in Bubble or another no-code tool instead of hiring an agency?
For validating an idea with real users, yes, and we tell clients that honestly. The walls come later: Bubble apps cannot be exported as code to run anywhere else, performance drops on complex data operations, and usage-based pricing climbs as you grow. A meaningful share of Digital Heroes custom builds are rebuilds of no-code MVPs that proved the business worked, which is the system operating as intended: validate cheap, then build the version that scales.
We run everything on Airtable and spreadsheets. When is it time to go custom?
The switch usually makes sense when you hit one of two walls: Airtable's record caps (125,000 records per base on the Business plan) or logic the tool cannot express, like multi-step approvals with conditional pricing. There is also a simple cost signal: 25 people on Business at roughly $45 per seat per month is about $13,500 a year, forever, for a tool you are already fighting. Custom is worth it when the workflow is core to how you make money; for peripheral processes, staying on Airtable is the right call.
Should I hire a freelancer or an agency for my software project?
A skilled freelancer is the right call for a single-discipline scope under roughly $15,000, like a website, a plugin, or one integration. Above that, projects need design, backend, testing, and project management at once, and a solo builder becomes the single point of failure: if they get sick or take a bigger client, your project simply stops. Agencies bill 20-40% more per hour but carry continuity, code review, and someone to escalate to, which is what you are actually buying.
Can we migrate years of data out of our current system into new custom software?
Almost always yes, through CSV exports or the vendor's API, and migration should be scoped as its own workstream with field mapping, a dry run, and a planned cutover window rather than an afterthought. The real time sink is rarely moving the data; it is cleaning it, since years of duplicates, free-text fields, and inconsistent formats surface all at once. Pull a full export from your current vendor before committing to anything new, because some SaaS plans restrict exports on lower tiers.
Who owns the code when an agency builds my software?
You should, completely, through a written intellectual property assignment that transfers everything on final payment; without that clause, copyright stays with whoever wrote the code by default. Insist that the repository lives in your own GitHub organization from day one and that hosting, domains, and third-party accounts are registered to you. Also check for licenses to the agency's proprietary frameworks buried in the contract, because those can make switching vendors practically impossible even when you own your own code.
How long does it take from first call to software my team can actually use?
Plan for four to six months: two to three weeks of discovery, two to four weeks of design, then a 10 to 16 week build with testing. In Digital Heroes delivery experience the schedule killer is not engineering speed but decision lag; a client who takes two weeks to approve wireframes adds two weeks to launch. Book a weekly 30-minute decision slot before kickoff and most of that risk disappears.
Is a solo freelancer enough for my project, or do I really need an agency?
A solo freelancer is a fine choice for a well-defined build under roughly $15,000 to $20,000 with a limited lifespan: an internal calculator, a scripted integration, a prototype. Above $50,000, or for any system your business will depend on for years, you are buying continuity as much as code: enforced code review, cover when someone is ill, and support that outlasts one person's career plans. Price the risk of a single point of failure, not just the hourly rate.
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.
Will custom software work with the tools we already use, like QuickBooks and Stripe?
Yes, and this is one of custom software's genuine advantages: QuickBooks, Stripe, Shopify, and most mainstream business tools publish documented APIs built for exactly this. Expect each standard integration to add one to two weeks of build time, and be suspicious of any quote that lists five integrations without asking what data flows in which direction. The hard cases are legacy systems with no API, which is a question to raise in discovery, not in week nine.
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?