Skip to content
ERP for healthcare

ERP for clinics and healthcare providers, without the compliance promises

You run a clinic, a group of practices or a small diagnostics lab. Bookings live in one tool, billing in another, and consumables in a spreadsheet the head nurse updates when she has a spare minute. You want one system, and you want straight answers about what's realistic before anyone says the word "compliant".

Example request from a healthcare team

ERPNext v16

Where standard ERP gets awkward in healthcare

Prepaid packages the front desk can't reconcile

Patients pay upfront for a block of sessions. Six months later, reception can't say how many are left and finance can't say how much revenue was actually earned.

Late cancellations that cost you a slot

Your policy says a late cancellation counts as a used session. Staff apply it inconsistently because the system doesn't know the policy exists.

Consumables used but never charged

Dressings, injections and single-use kits come out of stock during procedures. Unless someone adds them to the bill by hand, they're gone at your cost.

Practitioner payouts worked out in Excel

Visiting consultants earn a share of fees they bill, minus room rent. Every month someone rebuilds the calculation from exports and hopes it matches.

Start with compliance, because everyone asks

Let’s get this out of the way. erpfly writes code for ERPNext and Odoo. It doesn’t make your practice compliant with HIPAA, GDPR or any health data regulation, and no code generator can.

Compliance depends on where the system is hosted and under what agreements, how access is granted and reviewed, whether data is encrypted in transit and at rest, how backups are handled, what your staff are trained to do, and what happens when something goes wrong. A generated module can help at the edges. Frappe’s field-level permission levels can hide diagnosis fields from billing staff. Track Changes on a DocType records who edited what. Odoo record rules can limit a practitioner to their own patients. Those are good controls. They aren’t a compliance programme, and anyone who says otherwise is selling you something.

What exists already for Frappe and Odoo

On the Frappe side there’s a real starting point. Healthcare was split out of ERPNext core into its own app, now maintained as Marley Health. It has Patient, Healthcare Practitioner, Patient Appointment, Patient Encounter, Clinical Procedure and Lab Test, among others. It links to ERPNext for invoicing and stock.

Odoo has no official equivalent. Clinics on Odoo tend to combine Appointments, Sales, Invoicing and Inventory, then add a patient model through an addon. Either route works. What matters is being clear about which parts of your operation belong in the ERP at all.

Package billing at a physio practice, worked through

Take a physiotherapy practice selling a 10-session package for $600, so $60 a session. Anika buys one in March.

Over the next two months she attends 4 sessions and cancels one with only 3 hours’ notice. Under the practice’s policy that counts as used, so 5 sessions are consumed. The module marks $300 as earned and leaves $300 as a liability for sessions still owed. When the front desk opens the booking screen, it shows “5 of 10 remaining, expires 14 September”.

By September she’s used 8. The remaining 2 expire. The module flags them to finance with a value of $120. Whether that becomes revenue, a credit or a goodwill extension is your accountant’s call, not the software’s, so the module takes the treatment as a setting.

ERPNext’s deferred revenue works on time periods, not sessions, which is why this needs a small custom app. That means a Package Balance DocType, a hook on appointment status changes, and a scheduled job that posts journal entries for sessions consumed. Our page on ERPNext custom module development shows how such an app is laid out.

Where clinics usually need custom work

Once the basics are in, the requests from healthcare providers are fairly consistent:

  • Packages and memberships. Covered above, and closely related to subscription billing.
  • Procedure kits. A defined list of consumables that deducts from stock and adds to the bill when a procedure is marked complete, using the inventory management module.
  • Revenue share for visiting practitioners. Percentage of fees, minus room rent, with a monthly statement.
  • Split billing. Insurer share and patient co-pay on separate invoices from one visit, handled through invoice management.
  • Recall reminders. Patients due a six-month review get a message, with opt-out respected.

What we’d keep out of the ERP

Clinical decision support, dosage calculations and anything that could count as a medical device. Those are regulated in their own right and don’t belong in a generated ERP module. We’ll also question requests to store imaging or large clinical documents in the ERP database. Use a proper document store and link to it. If you’re unsure whether to extend an ERP or build something separate, our ERPNext vs Odoo comparison and the custom ERP development page are sensible next reads.

Modules healthcare teams start with

Guides for healthcare teams

Terms used on this page

How it works

From a paragraph to a pull request

The long version
  1. 01

    Describe it

    In your own words. Paste the spreadsheet or a photo of the paper form if that's easier.

  2. 02

    Answer a couple of questions

    It asks only what it can't work out from your setup, like who's allowed to override.

  3. 03

    Try it on a sandbox

    A copy of your site with the module installed. Break it, then ask for changes.

  4. 04

    Merge when it's right

    Code lands as a pull request with tests. Your developer, or ours, reviews it first.

Healthcare ERP questions

Something missing? Email [email protected] and a person will answer.

Will using erpfly make our system HIPAA compliant?

No. Compliance with HIPAA, GDPR or your local health data law comes from how the system is hosted, who can access it, your agreements with vendors, your policies and your staff training. We can generate sensible role permissions and change tracking, but that's one piece and we won't claim more.

Is there a ready-made healthcare app for ERPNext?

Yes. The Healthcare module was split out of ERPNext core into a separate open-source Frappe app, which is now maintained as Marley Health. It covers patients, practitioners, appointments, encounters and lab tests. We usually extend that instead of building a clinic system from zero.

What about Odoo?

Odoo doesn't ship an official clinic app. There are third-party healthcare addons of varying quality. Many clinics on Odoo use Appointments or Calendar for booking and build a small patient model on top, which is where erpfly fits.

Can you store clinical notes and test results?

Technically yes, but think hard before you do. Many practices are better off keeping clinical records in a dedicated EHR and using the ERP for scheduling, billing, stock and payroll. We'll ask which system is the record of care before generating anything clinical.

Can it integrate with lab machines or insurance portals?

We can generate the ERP side, meaning an endpoint for results or a claim export in a defined format. HL7 or FHIR interfaces and insurer connections usually need a specialist integration layer, and we'll be upfront when a request goes beyond what a module should do.

Other industries

Your next module is one paragraph away

Write it the way you’d explain it to a new hire. We’ll turn it into an app you can read, test and install.

ERPNext v16

Create your account

Free to start. No card needed.

By signing up you agree to our terms and privacy policy.