Dentolize · Dynamic Clinic Seeder Walkthrough
On this pageBusiness viewTechnical view

For Sales

Business view

This feature is not something you sell. It's something that makes your demos better and your engineering team faster — both of which help you sell.

How to pitch it (internally, and by implication)

When a prospect asks "can I see it with real data?", the honest, strong answer is now: "Here's a live clinic with a year of history — patients, invoices, insurance claims, inventory, payroll-ready staff — running on our latest build." This feature is what makes that answer trivial to deliver on any version of the product.

Concretely, it gives you:

  • A full demo clinic in minutes, not hours. Instead of hand-seeding an

account, request a sandbox on the branch you want to show.

  • Numbers that add up. Invoices, VAT, insurance splits, treasury balances and

patient balances are all internally consistent — a sharp prospect who does the math will find it correct. (On the accounting branch, the general ledger even reconciles to zero.)

  • Region-matched demos. Show a Saudi prospect a SAR clinic with 15% VAT and

Bupa/Tawuniya/MedGulf insurers; show a UAE prospect an AED clinic at 5% VAT with Daman/AXA Gulf. The seeder builds the right region on request.

  • A repeatable script. Because the data is deterministic, you can rehearse a

demo on "Patient 003" today and it'll be the same "Patient 003" tomorrow.

Handling objections

  • "Is this real patient data?" — No, and that's deliberate. Everything is

synthetic; emails end in .seed so it's unmistakable. Nothing you show risks a real person's privacy.

  • "Does the money actually reconcile, or is it just filler?" — It's modeled, not

filler: each visit produces a correctly-mathed invoice with VAT and an insurance split, payments in every state (paid, part-paid, unpaid), and matching treasury movements. See The money model.

  • "Can we demo the newest features?" — Yes; the seeder runs on whatever branch

the preview is built from, so unreleased work is demoable with data.

Competitive angle

The takeaway for a competitive conversation: Dentolize can stand up a complete, believable, financially-consistent clinic on demand, on any build. That's a signal of engineering maturity — most teams demo on a thin, hand-made account. You don't have to say the word "seeder"; you just always have a full clinic ready.

Technical view

  • One demo request = one seeded company. The seeder is additive: each run

creates a brand-new company and never touches existing tenants (config.js:5, index.js:96).

  • Consistent numbers come from the money helpers writing both the subledger rows

and the operational balances the UI reads, in the same transaction (money.js, generate.js:100). Full detail in The money model.

  • Region matching is the COUNTRY preset — currency, VAT, dial code, cities,

insurers (countries.js:7).

  • Determinism ("same Patient 003 every time") comes from the fixed SEED

(config.js:76, rng.js:20).

  • Ledger-level reconciliation ("adds up to zero") is an accounting-branch

capability that enters through the hook seam; on this branch there is no GL to reconcile (hooks.js:146). See Architecture.

Pre-release framing. Don't promise customers a "sandbox-per-branch" product capability — this is internal demo/QA infrastructure. Pitch the outcome (always-ready realistic demos), not the plumbing.