Skip to content
We Don't Code

Case study · Healthcare admin

Who gets paid what? Now the app works it out on every visit.

A private dental clinic replaced manual doctor-pay sums with a custom CRM that splits every payment between the doctors and the clinic, live, in about 7 days.

Healthcare adminInternal Tools

1,720 patients

Moved across with 4,815 visits, checked and complete

Every visit

Split between doctor and clinic the moment a payment is saved

About 7 days

To a live CRM

The dashboard on desktop: money received, doctor and clinic share, lab costs and balance due
The dashboard on a phone

Client

A private dental clinic run by its owner-dentist, with associate dentists and a front desk. Each dentist earns a share of what their patients pay, and the clinic keeps the rest.

Problem

The clinic tracked visits and payments in an older app. It held 1,720 patients and 4,815 visits. But the hard part was never stored in it: who gets paid what.

  • Pay depended on who brought the patient in. A dentist's own patient, a clinic patient and another dentist's patient each split differently. The old setup only knew who did the treatment. The owner found it confusing.
  • Month-end numbers didn't match. For September, the old app and a fresh count disagreed by almost €2,000 in lab and material costs. Payments that arrived after the visit landed in the wrong month.
  • Shares were typed by hand. About 40 old visits had a share that broke the clinic's own rule.
  • No one could see who still owed money without adding it up.

What we built

We understood the problem, then picked the platform that fits. We built a custom CRM with a secure login for each dentist. It works on a phone and on a computer.

  • Every payment split on its own. Record a visit and a payment. The app shows the doctor share, the clinic share and any referral commission straight away, with a plain-English "How this was calculated".
  • The clinic's real rules, built in. Own patient, clinic patient or another dentist's patient: each follows the agreed split. The owner can change the percentages any time. Past visits keep the % they were saved with.
  • Live money dashboard. Money received, net, doctor and clinic share, lab costs and balance due. Filter by date, doctor, treatment, payment method or patient source.
  • Each dentist sees only their own money. Patients are shared, earnings are private.
  • Balance due at a glance. One tap lists every patient who still owes money.
  • One-click exports. Any view goes out as PDF or Excel for month-end pay.
Dashboard breakdowns by payment method, patient source, treatment type, service cost and doctor share
A visit's breakdown on a phone, with a plain-English explanation of how it was calculated
Every visit shows who gets what, and why.

Before

Visits sat in an older app and doctor pay was worked out by hand, with rules that changed by patient and numbers that didn't match.

After

Staff record the visit and the payment, and the app shows instantly what each dentist and the clinic get, for any day, month or year.

Results

  • Doctor pay works itself out. Every visit shows the split the moment a payment is saved. No month-end sums.
  • Every share follows one rule. The ~40 hand-typed exceptions can't happen on new visits.
  • All history moved across. 1,720 patients, 4,815 visits and €910,650 in payments were imported and checked.
  • Costs and late payments land in the right month. Lab costs count on the visit day, payments on the day they are paid.
  • Month-end pay starts from a report. Not from a calculator and a pile of notes.

Timeline & scope

About 7 days. Live app, dashboard, visit and payment recording, patient records, doctor logins, admin setup, exports and the full data move.

In their words

“This guy is truly amazing. Working with him is a no brainer for anyone who likes super professional work.”
Clinic owner

Screens show the real app with sample data. The clinic's own records stay private.

Have a problem like this one?

A free 30-minute call. We'll look at how you work today and map out what could change.