A clinic needs patient flow and service accounting, a pharmacy needs batches and expiry dates: Odoo covers these. Clinical records, e-prescriptions and product marking are handled by separate systems. We state this boundary openly, up front.
The sector has two main parts: treatment (clinics) and medicine retail (pharmacies). Each is covered on its own page. Below is what the two share: industry packages, government requirements and the data boundary.
Batches and expiry dates, transfers between branches, prescriptions, marking and POS. Pharmacy page →
Appointment booking and doctors’ schedules, service accounting, medicine inventory and patient data protection. Clinic page →
Dentistry, laboratory, rehabilitation, veterinary medicine, optics: the table below shows which of them have a ready-made package. The exact scope is set at the diagnostic. Go to the table →
Odoo S.A. publishes industry packages on its website and in the Apps Store. A package is not a separate app: it is a set of pre-configured apps, fields and templates. The Apps Store’s Health and Fitness category (Odoo 20 branch, 25 October 2026) lists 12 packages. The ones closest to medicine are Pharmacy, Physical Therapy, Mental Therapy, Veterinary Clinic and Eyewear Shop. All are authored by Odoo S.A., all require Odoo Enterprise, and all are listed as available on Odoo Online, Odoo.sh and your own server.
Pharmacy is built around the POS, purchasing and batch-tracked inventory. Physical Therapy links the patient inquiry (CRM), appointment types (Appointments), the calendar and the invoice. Mental Therapy is a package of the same kind for mental health professionals. The Veterinary Clinic description covers online booking, a pet’s medical history, payments through a payment terminal and vaccination reminders; it relies on the Field Service, Point of Sale, Inventory and Planning apps. Eyewear Shop keeps eye exam results on the contact card and links sales, inventory and appointments.
A separate package for a multi-specialty clinic, dentistry, a diagnostic laboratory or medical equipment sales was not found in Odoo’s industry catalog (odoo.com/all-industries, 25 October 2026). Such businesses are built on standard apps, and the clinical part is left to an external system.
The table is based on the Odoo 19 and 20 package pages and the industry catalog. If your version differs, we will check it at the diagnostic.
| Profile | Ready-made package | Standard apps | Extra work (BUline) |
|---|---|---|---|
| Pharmacy and pharmacy chain | Pharmacy (Odoo S.A.) | POS, inventory, batches and expiry, purchasing | Prescription log, marking, e-prescription, fiscal receipt. Pharmacy page |
| Multi-specialty clinic | Not found | Appointment booking, planning, service accounting, POS, medicine inventory | Clinical records live in an external system or in a limited Studio form. Clinic page |
| Dentistry | Not found | Appointment booking, service accounting, supplies inventory | The dental chart and X-ray images are kept in an external system; the connection is assessed |
| Physiotherapy and rehabilitation | Physical Therapy | Appointments, CRM, Invoicing, Knowledge | Treatment session bundles and the treatment plan: verified in a test database |
| Mental health | Mental Therapy | Appointments, CRM, Invoicing, Knowledge | Confidentiality of session records and access rights |
| Veterinary clinic | Veterinary Clinic | Appointments, Point of Sale, Inventory, Planning | Vaccination schedule; the license requirement for the activity is below |
| Optics | Eyewear Shop | Point of Sale, Appointments, Inventory, Purchase | Eye exam fields and the result report: to be tested |
| Diagnostic laboratory | Not found | Quality control, reagent inventory, accounting | Sample and result workflow, connection to the laboratory system: assessed |
| Medical equipment supply | Not found | Sales, serial number, Repair, Planning | Warranty and service accounting; control of equipment registration certificates |
The set varies by profile, but the foundation is the same: appointment booking, service accounting, inventory and signature. Which apps you need is determined at the diagnostic. Appointments, Planning, Sign and Studio are part of Enterprise.
Booking by doctor or room, working hours, reminders, prepayment.
Doctor, nurse and equipment shifts in a single schedule.
Inquiries, callbacks, following up with patients who did not show up.
Service bundle, quotation, advance payment, contracts with companies and insurers.
Service invoice, credit note, group billing, bank reconciliation.
Reception or pharmacy POS, shifts, returns. The fiscal receipt is a separate matter.
Medicines and consumables, internal transfers, stocktaking.
Expiry dates and alerts by batch, dispensing goods closest to expiry first.
Electronic signature of the consent form and contract; the signer can be verified by SMS. Signing with an Uzbekistan ERI key is not mentioned in the documentation.
The points below were checked against official sources and apply to both clinics and pharmacies. Industry rules change often: on the day of the decision we re-open the current wording and confirm it in writing with a lawyer or the responsible specialist.
Appointment booking, accounting and inventory are available in ready-made apps. Clinical records, government systems, marking and the fiscal receipt are separate work or an external system. In healthcare the consequences of an error are serious, so we draw the boundary at the start of the project. The information is based on the Odoo 19 and 20 documentation and the package pages; if your version differs, we will check it at the diagnostic.
| Goal | In standard Odoo | Extra work (BUline) |
|---|---|---|
| Appointments, schedule, room occupancy | Included: Appointments and Planning (Enterprise) | Doctors’ schedules, service types, cancellation policy |
| Service accounting, payment, invoice | Included: Sales, Invoicing and POS | Service list, group billing for companies and insurers |
| Medicine and supplies inventory, batches, expiry | Included: Inventory, batches, expiration dates, FEFO | Defining groups with expiry dates; choosing how consumption for a procedure is recorded |
| Clinical record: medical history, diagnosis, test results | A general-purpose app is not described in the documentation. The Physical Therapy and Mental Therapy packages cover their own profiles | An external medical system or a limited Studio form; patient card (contact) and a link to the record |
| E-prescription, electronic medical record | Not mentioned in the documentation | The way to connect to government systems is clarified in writing; public API documentation was not confirmed, and a manual entry procedure is also considered |
| Medicine marking | Partial: in Barcode, GS1 nomenclature reads the batch and expiry date. A connection to Asl Belgisi is not mentioned | Code tracking at receiving and at sale; connecting to the system is a separate project |
| Fiscal receipt (online or virtual cash register) | The Uzbekistan localization documentation does not mention a fiscal module | Connecting to a cash register device from the registry. POS page |
| Laboratory and imaging results | Not described in the documentation | If the external system has an open API, the integration is assessed |
| Employee payroll | Uzbekistan is not mentioned in the list of payroll localizations in the Odoo documentation; third-party payroll modules exist in the Apps Store | Assessed separately: status of payroll localization |
Each connection is assessed and built separately. We do not promise that a “ready-made connector exists.”
Reports are not copied into a separate spreadsheet: they are generated from the appointment, order and inventory documents in the same database.
The stages follow the general BUline Method. The timeline is agreed in writing after the diagnostic. Implementation process →
We study the profile, the patient or customer flow, the existing medical system, the cash register equipment, license documents and how data is stored. Questions on the clinical record path and on connecting to government systems are prepared in writing. Result: business requirements document (BRD).
We confirm the industry package or set of apps, roles and access rights, data exchange with the external system, the hosting type and the database location.
Testing in a neutralized test database with dummy data. Then one room or one branch runs as a real pilot, and the rest are connected afterwards.
Reception staff, doctors, nurses, pharmacists, cashiers, storekeepers and accountants are trained by role. Practice uses your own list of services and medicines. An instruction guide and video lessons are provided.
After launch, 30 days of enhanced support, then agreed ongoing support. When the rules change, connections and settings are re-checked.
This list speeds up the diagnostic. We can start even if not everything is ready.
| Mistake | Consequence | How we prevent it |
|---|---|---|
| Expecting Odoo to be a ready-made electronic medical record (EMR) system | The clinical record question comes up at the end of the project | Choose the approach at the diagnostic and agree on it in writing |
| Putting off the conditions for connecting to government systems | Conflict with the license requirement, manual re-entry | Send the question to the ministry at the start of the project |
| Installing an industry package without testing it | Dependence on Studio and many apps creates unexpected work | Compare the package with your process in a test database |
| Testing on a copy of a database that contains patient data | A real patient receives a test reminder | A neutralized database and dummy data: test database |
| Leaving patient records open to all staff | Medical confidentiality is breached, liability risk | Roles table and access rights: access rights |
It depends on the profile. Odoo S.A. publishes the Pharmacy, Physical Therapy, Mental Therapy, Veterinary Clinic and Eyewear Shop packages. No package for a multi-specialty clinic, dentistry or a laboratory was found in the industry catalog: these are built on standard apps. The scope is checked at the diagnostic.
A medical records app for a general clinic is not described in the documentation. The clinical part is handled by an external medical system, an industry package (if the profile fits) or a limited Studio form. Choosing this path is one of the main outcomes of the diagnostic. Clinic page →
This kind of connection is not mentioned in the Odoo documentation, and public API documentation has not been confirmed either. Resolution No. 570 requires medical and pharmaceutical organizations to connect to the digital health system. We confirm the connection method and the current deadline in writing with the Ministry of Health.
Health data is in a special category (Article 25), but it is not on the mandatory local storage list in Article 27¹, which covers biometric and genetic data and data of telecommunications operator users. A lawyer gives the definitive conclusion; we compare the hosting options. The law and hosting location
Yes, technically: both use appointment booking, POS, inventory and accounting. But if the legal entity, license and tax regime are separate, they are set up as separate companies. We confirm this structure with a lawyer and an accountant at the architecture stage.
Under clause 3 of PF-229, from 1 April 2025, legal entities that provide medical services or trade in pharmaceutical products are VAT payers regardless of income. An accountant confirms in writing the rules on exemptions and exempt operations against the current version of the Tax Code.
Industry packages are available in Odoo Online, but Online is not compatible with third-party and custom modules. If a connection to a government system or an external medical system is needed, Odoo.sh or your own server is chosen. When patient data is involved, the hosting location is agreed with a lawyer. Hosting types →
The Odoo license depends on the number of users and apps (terms are on odoo.com). The scope of BUline’s services depends on the number of clinics and pharmacies, doctors and rooms, cash registers, apps, customization, integrations, data volume and training. The exact cost and timeline are given in a written proposal after the free diagnostic.
During the diagnostic, we review your processes and tell you where standard Odoo is enough and where configuration is needed — with an app list, edition and phases.