Skip to content

Dental Clinic Lite

Free dental charting whose board leads with decay nobody has planned work for.

The short answer

The free dental edition: a thirty-two tooth chart, costed treatment plans on a five-stage acceptance ladder, chair scheduling, appointments and automatic recall, all on core Odoo. Its board leads with a join no other screen makes, counting teeth charted with decay that no plan line names, because nothing generic knows what a tooth is.

What it is for

A dentist charts decay on a tooth during an exam. The treatment plan gets written that afternoon, for something else. Months later the tooth is still charted as decayed and still on nobody's schedule. The chart and the treatment plan are separate records, and no screen in Odoo puts those facts next to each other, so the work quietly never gets proposed and the practice never learns what it left on the table.

Platform
Odoo
Category
Clinical records
Works with
Odoo 18 · Odoo 19
Technical name
webbox_dental_clinic_lite
Status
Published on the Odoo App Store
On the store
Odoo 19 Odoo 18
Pricing
Free

What is inside it

  1. 01

    The gap

    The first tile counts teeth charted with caries that no line on any treatment plan names, and the second does the money half: treatment that was proposed and never answered.

  2. 02

    The tooth chart

    Two arches numbered 1 to 32, permanent dentition, seven conditions. Clicking an uncharted tooth records it as healthy and opens the inspector, so a full mouth is a run of clicks.

  3. 03

    Treatment plans

    Lines from your own catalogue with a quantity, a unit price and a total the patient can be shown, moving Draft, Proposed, Accepted, In Progress, Done. The board reads that ladder.

  4. 04

    The cockpit

    Twelve tiles over the gap, the money, the day, chair hours, completion, broken slots and recall, with four charts under them. None reads zero on a demo install.

  5. 05

    The hard part

    The tooth on a plan line is free text and operators type it several ways for the same tooth. Both sides are stripped to their digits before matching, which is what keeps the flagship number trustworthy.

  6. 06

    Free vs full

    The anatomical odontogram, notation choice, replayable chart history, signed notes, prescriptions with an allergy check and invoicing through accounting are all in the paid edition.

What it looks like in practice

  1. A charted tooth never reaches a treatment plan

    Caries is recorded on a tooth at the exam. The plan written afterwards covers something else, and nothing brings the two records together again.

    The cockpit performs the join itself: the leading tile counts charted caries that no plan line names and opens exactly those patients, while the second tile values treatment proposed and never answered.

    Caries charted, not planned
    5
    Unscheduled treatment
    $6.0k

    Figures from the module's own demo data, on a fresh install. Install with demo data and open the cockpit; the gap is the first two tiles.

    The gapThe cockpit

  2. The same tooth is typed three ways in one afternoon

    A plan line records the tooth as free text. Operators write 14, #14 and Tooth 14 for the same tooth, on the same day.

    An equality test would report all three as unplanned and inflate the flagship tile until the practice stopped trusting it. Both sides are stripped to their digits before matching, which is three lines of code.

    Behaviour of the shipped code.

    The hard partThe gap

  3. A plan sits at Proposed and nobody calls back

    Two lines were costed and shown to the patient. The plan moved to Proposed and stopped, which looks much the same on screen as one that was accepted.

    The ladder is a state, so the board can read it: plans awaiting a decision become the follow-up call list, case acceptance is measured as accepted against proposed, and a chart draws where plan value falls off.

    A plan In Progress on the demo practice
    $4,550.00
    Case acceptance
    50%
    Plans awaiting a decision
    2

    Figures from the module's own demo data, on a fresh install. Install with demo data, open Treatment Plans and then the cockpit's acceptance tiles.

    Treatment plansThe cockpit

What it deliberately does not do

No invoicing
Plans carry costs and print as estimates. Nothing posts to accounting in this edition.
No chart history
The chart holds the mouth as it stands today. Change a tooth and the previous finding is replaced.
No primary dentition
The chart draws the permanent teeth only. A paediatric chart is in the paid edition.
No signed notes or prescriptions
Medical history and allergies are recorded on the patient as free text. Signed SOAP notes and the allergy check belong to the paid edition.
No insurance claim submission
The patient record holds an insurer name and a policy number. Nothing is validated, no eligibility is checked, and nothing is transmitted to a payer.

Questions

Can I install this on Odoo Online?
No. Odoo Online cannot install modules that contain Python, so this runs on Odoo.sh or a self-hosted instance. Check the versions listed above for the series and edition it is verified against.
Can it invoice a treatment plan?
No. Plans carry costs and print as estimates, and nothing in this edition posts to Odoo accounting. Invoicing per sitting through accounting is a paid-edition feature. The board still reports proposed value, accepted value and case acceptance, because all three come off the plan's own state rather than from an invoice.
What happens the first time I open it?
Activation is a one-time form on first open, and the module stays locked until it is submitted. What leaves the database: clinic name, the person completing it, a work email and phone, country, the practice-size band selected, and the module and Odoo version numbers. No patient, tooth chart or treatment record is included.
Does any patient data leave my database?
No patient, appointment, treatment or other clinical record ever leaves it, and nothing is transmitted before you tick the consent box and press Activate. A second, separate tick covers product-update emails and refusing it changes nothing. Should the server have no route to the internet, the module still activates and the message waits.

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