Dental Clinic
An odontogram in your own notation, with every change to it kept forever.
The short answer
Dental Clinic is an Odoo module built around the odontogram rather than around a patient list. Teeth are numbered in FDI, Universal or Palmer with one canonical code underneath, so switching notation moves nothing. Every change to the chart appends an entry that cannot be edited or deleted, notes are signed and lock, and a completed appointment or accepted plan bills into Odoo accounting.
What it is for
Most dental modules hand you a patient list with a few clinical fields bolted on. The chart is a table of teeth that gets overwritten, the notes are a text box anyone can rewrite afterwards, and nothing that happens at the chair reaches an invoice. So the record cannot answer what the mouth looked like before the treatment, and the money side has to be re-entered somewhere else. This one is built the other way round.
- Platform
- Odoo
- Category
- Clinical records
- Works with
- Odoo 18 · Odoo 19
- Technical name
webbox_dental_clinic- Status
- Published on the Odoo App Store
- Pricing
- Paid
What is inside it
- 01
The chart
Click a tooth, pick a condition, add a note. Selecting a tooth on its own writes nothing, so a misclick cannot enter a finding you did not make. Adult and primary dentitions are both drawn.
- 02
Chart history
Every create, change and clear appends an entry naming the tooth, what it was, what it became, the author and the visit. The model raises on write and on unlink, and the mouth replays to any date.
- 03
Notes & prescriptions
SOAP notes carry their author and visit; signing locks the four clinical fields and blocks deletion. The Prescribe button defaults to generics, prints the council registration number, and warns on a recorded allergy without blocking.
- 04
Billing
Treatment plans and completed appointments both bill through Odoo accounting, and each run bills only the quantity not already on a posted invoice. Billed quantities are derived from posted invoices rather than counted up.
- 05
Dashboards
The cockpit leads with caries charted but never planned. Revenue separates what was booked from what was billed and what is still owed, and cancellations are reported apart from no-shows.
- 06
Recall
Cleaning, exam, perio maintenance and follow-up recalls run on the interval you set. A daily job flags the overdue ones, and completing a recall appointment closes it and rolls the next.
What it looks like in practice
-
An extraction erases last year's reason for it
A tooth recorded as decayed is charted as extracted at the next visit. On a current-state chart the decay is gone, and the justification disappears at the moment the treatment happens.
Each change appends a history row carrying the tooth, the old condition, the new one, the author, the timestamp and the visit. Those rows raise on write and on unlink, so asked what the mouth looked like two years ago, the module replays the entries up to that date and answers.
Behaviour of the shipped code.
The chartChart history
-
The same tooth number means two different teeth
A plan line is typed in one notation while the chart was recorded in another. Matching them by the number as typed clears the wrong tooth, quietly.
Notation is a practice-level choice spanning the chart, the treatment plan, the printed estimate and the invoice, and one canonical code is stored underneath, so both sides reduce to that code before anything is compared.
- Upper-right first premolar in FDI
- 14
- Upper-left first molar in Universal
- 14
A default you can change.
The chartBilling
-
A patient pays per sitting rather than per plan
An accepted plan runs over several visits, and the practice wants a bill at each one without charging twice for a line already invoiced.
Press Create Invoice again at the next visit; each run bills only the quantity not already on a posted invoice. Billed quantities are derived from those invoices, so resetting a bill to draft hands the quantity back to the plan.
Behaviour of the shipped code.
BillingDashboards
What it deliberately does not do
- No CDT or ADA procedure codes
- Those are licensed commercially by the ADA and cannot be redistributed. The treatment catalogue takes your own codes.
- No periodontal charting
- Pocket depths, recession and bleeding scores are not modelled at all. That instrument deserves a build of its own.
- Tooth surfaces are not charted
- Findings are recorded per tooth, with the surface going in the note.
- No laboratory case tracking
- Crown and denture work going out to a lab is not modelled.
- No imaging or DICOM
- Radiographs attach as ordinary Odoo attachments. There is no viewer and no device integration.
Questions
Can I install this on Odoo Online?
Does it do periodontal charting?
Can I switch notation later without a migration?
Can it run alongside Dental Clinic Lite?
Have something to build?
Tell us the problem. We'll come back with a plan, a price, and who'd actually build it.
- Free scoping call
- Reply within 1 business day
- No lock-in