Skip to Content
Odoo Menu
  • Sign in
  • Try it free
  • Apps
    Finance
    • Accounting
    • Invoicing
    • Expenses
    • Spreadsheet (BI)
    • Documents
    • Sign
    Sales
    • CRM
    • Sales
    • POS Shop
    • POS Restaurant
    • Subscriptions
    • Rental
    Websites
    • Website Builder
    • eCommerce
    • Blog
    • Forum
    • Live Chat
    • eLearning
    Supply Chain
    • Inventory
    • Manufacturing
    • PLM
    • Purchase
    • Maintenance
    • Quality
    Human Resources
    • Employees
    • Recruitment
    • Time Off
    • Appraisals
    • Referrals
    • Fleet
    Marketing
    • Social Marketing
    • Email Marketing
    • SMS Marketing
    • Events
    • Marketing Automation
    • Surveys
    Services
    • Project
    • Timesheets
    • Field Service
    • Helpdesk
    • Planning
    • Appointments
    Productivity
    • Discuss
    • Approvals
    • IoT
    • VoIP
    • Knowledge
    • WhatsApp
    Third party apps Odoo Studio Odoo Cloud Platform
  • Industries
    Retail
    • Book Store
    • Clothing Store
    • Furniture Store
    • Grocery Store
    • Hardware Store
    • Toy Store
    Food & Hospitality
    • Bar and Pub
    • Restaurant
    • Fast Food
    • Guest House
    • Beverage Distributor
    • Hotel
    Real Estate
    • Real Estate Agency
    • Architecture Firm
    • Construction
    • Property Management
    • Gardening
    • Property Owner Association
    Consulting
    • Accounting Firm
    • Odoo Partner
    • Marketing Agency
    • Law firm
    • Talent Acquisition
    • Audit & Certification
    Manufacturing
    • Textile
    • Metal
    • Furnitures
    • Food
    • Brewery
    • Corporate Gifts
    Health & Fitness
    • Sports Club
    • Eyewear Store
    • Fitness Center
    • Wellness Practitioners
    • Pharmacy
    • Hair Salon
    Trades
    • Handyman
    • IT Hardware & Support
    • Solar Energy Systems
    • Shoe Maker
    • Cleaning Services
    • HVAC Services
    Others
    • Nonprofit Organization
    • Environmental Agency
    • Billboard Rental
    • Photography
    • Bike Leasing
    • Software Reseller
    Browse all Industries
  • Community
    Learn
    • Tutorials
    • Documentation
    • Certifications
    • Training
    • Blog
    • Podcast
    Empower Education
    • Education Program
    • Scale Up! Business Game
    • Visit Odoo
    Get the Software
    • Download
    • Compare Editions
    • Releases
    Collaborate
    • Github
    • Forum
    • Events
    • Translations
    • Become a Partner
    • Services for Partners
    • Register your Accounting Firm
    Get Services
    • Find a Partner
    • Find an Accountant
      • Get a Tailored Demo
    • Implementation Services
    • Customer References
    • Support
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +32 2 290 34 90
    • Get a Tailored Demo
  • Pricing
  • Help
  1. APPS
  2. Point of Sale
  3. AminiTech HMS Pharmacy POS v 18.0
  4. Sales Conditions FAQ

AminiTech HMS Pharmacy POS

by AminiTech Solutions https://aminitechsolutions.com
Odoo

$ 722.89

v 18.0 Third Party
Live Preview
Apps purchases are linked to your Odoo account, please sign in or sign up first.
You bought this module and need support? Click here!
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies • Discuss (mail)
• Calendar (calendar)
• Contacts (contacts)
• Employees (hr)
• Inventory (stock)
• Invoicing (account)
• Point of Sale (point_of_sale)
Community Apps Dependencies Show
• AminiTech HMS Consultation / OPD
• AminiTech HMS Patient Management
• AminiTech HMS Pharmacy
• AminiTech HMS: Pharmacy POS
• AminiTech HMS: Pharmacy POS Cart Guard
• AminiTech HMS: Advance Directives / POLST
• AminiTech HMS: Care Plans
• AminiTech HMS: Clinical Consultation
• AminiTech HMS: Clinical Pathways
• AminiTech HMS: Concept Dual Coding on Diagnosis (O-06)
• AminiTech HMS: Consultation After-Visit Summary
• AminiTech HMS: Patient Education
• AminiTech HMS: Print PDF/A-3 Archival
• AminiTech HMS: eConsult (Asynchronous Specialist Consultation)
• AminiTech HMS: Clinical Alerts & Notification Engine
• AminiTech HMS: Clinical Decision Support (CDS) Engine
• AminiTech HMS: Concept Dictionary (SNOMED/LOINC/RxNorm/ICD)
• AminiTech HMS: Patient Management
• AminiTech HMS: Print Failover & Pooling
• AminiTech HMS: Print Subsystem
• AminiTech HMS: SNOMED-CT + CIEL Bridge
• AminiTech HMS: Smart Text (Macros + Templates)
• AminiTech HMS - Pharmacy Dispense Bench
• AminiTech HMS: Automated Dispensing Cabinet (ADC) Interface (P-05)
• AminiTech HMS: Enhanced CDS in Prescription Entry (O-04)
• AminiTech HMS: IV Smart-Pump Integration (DERS) (P-06)
• AminiTech HMS: Pharmacist Clinical Interventions / MTM (P-13)
• AminiTech HMS: Pharmacy
Lines of code 39510
Technical Name aminitech_hms_app_pharmacy_pos
LicenseOPL-1
Websitehttps://aminitechsolutions.com
  • Description
  • Manifest
  • License
For Odoo 18.0 · Community & Enterprise · AminiTech HMS

Pharmacy POS

$289 $199 ★ 30% LAUNCH OFFER

Turn any POS register into a clinically-safe pharmacy counter. Walk-in OTC sales, prescription dispensing, FEFO lot picking, allergy and drug-interaction alerts, controlled-drug double-authorisation and M-Pesa STK push — all in one cashier-facing terminal that writes straight into your HMS dispense register.

✅ Rx dispensing at the till✅ FEFO lot picking✅ M-Pesa STK push✅ Controlled-drug 2-witness ⭐ 90 days free support
💻 Try the LIVE demo — login demo / demo 📚 Documentation
Pharmacy POS for Odoo 18 - AminiTech HMS
Speak your patients' language

Works in your language

Every screen, label and report is translated — switch a user's language in Odoo and the whole system follows.

EnglishFrançaisEspañolPortuguêsKiswahiliDeutsch中文العربية
3

In-POS safety layers: patient lookup by phone/national ID, real-time allergy and drug-interaction alerts, and a two-witness controlled-substance wizard at payment.

3

Printed reports shipped: dispensing label alongside the receipt, daily sales, and a pharmacist override audit report.

4

Payment paths per order: cash, card, M-Pesa STK push (Daraja), or split with an insurance invoice for patient co-pay.

📸 Live screens Features ★ All features Setup in 4 steps ★ Live demo ↗ HMS family FAQ Support & Contact
PHARMACY RETAIL

What you get

Every feature below is live on the public demo — open hms.aminitechsolutions.com (login demo / demo) and walk it yourself.

Find the patient, pull the prescription
01 · PATIENT AT THE TILL

Find the patient, pull the prescription

Cashiers look up patients right in the POS by phone or national ID and pull their active prescriptions from Clinical Consultation. One tap loads the Rx lines into the cart with dose, quantity and a FEFO-picked lot — no re-typing, no wrong batch.

Allergy and interaction checks with an override trail
02 · SAFETY ALERTS

Allergy and interaction checks with an override trail

Every line is screened in real time against the patient's allergies and drug-drug interactions. Alerts shown, alerts overridden and the pharmacist's reason are all stored on the order and in a dedicated Override Audit Log, with a printable override audit report for managers.

Two-witness authorisation in the payment flow
03 · CONTROLLED DRUGS

Two-witness authorisation in the payment flow

When a controlled substance is on the order, the payment screen triggers a second-authoriser wizard. The witness user is recorded on the order and a controlled-substance log entry is written, so your PPB register stays complete even for counter sales.

Every paid order becomes an hms.dispense
04 · AUTO-DISPENSE

Every paid order becomes an hms.dispense

On confirmation the module auto-creates the matching dispense record with its lines and controlled-drug log entries, and prints a dispensing label alongside the POS receipt. One channel or many — the pharmacy register never has gaps.

Cash, card, M-Pesa STK or insurance split
05 · PAY YOUR WAY

Cash, card, M-Pesa STK or insurance split

Take cash, card or an M-Pesa STK push via Daraja, with the transaction linked to the order. Insurance patients pay only their co-pay at the till while the insurer's share is billed on a separate invoice tracked on the order.

Dashboard, sessions and reports
06 · COMMAND CENTRE

Dashboard, sessions and reports

A dedicated Pharmacy POS app gives you a dashboard, pharmacy-only orders and sessions, POS dispenses, terminal and payment-method configuration, plus daily sales and Rx-vs-OTC visibility — gated by pharmacy POS user and manager groups.

Real screens — not mockups

See it running on the live demo

Every screen below is a real screenshot from the working system at hms.aminitechsolutions.com — log in with demo / demo and try it yourself.

Pharmacy POS running live
Live screen recording — captured from the running demo.
Pharmacy POS live screen
Pharmacy POS live screen
Pharmacy POS live screen
Pharmacy POS live screen
Everything included

All 86 features — nothing held back

The complete capability list for Pharmacy POS, straight from the module. Every one of these is live on the demo at hms.aminitechsolutions.com.

Pharmacy POS feature tour
Pharmacy Terminal Configuration14 features
✓
Pharmacy POS Mode Toggle — An is_pharmacy_pos flag turns any retail POS terminal into a pharmacy register that adds patient, Rx, safety and label workflows.
✓
Bind Terminal to Pharmacy Location — Each pharmacy terminal is tied to an hms.pharmacy.location used as the FEFO lot-picking source and stock-move origin.
✓
Facility Assignment — A facility_id links the terminal to the medical facility it operates inside, defaulted from the company, user or first facility.
✓
Formulary Restriction — An optional formulary_id limits the sellable catalogue on the terminal to products listed in the chosen hms.formulary.
✓
Allowed Therapeutic Classes — A many2many of therapeutic classes lets a counter block whole drug schedules (e.g. narcotics) from being rung on that till.
✓
Prescription Dispensing Switch — allow_rx_dispensing controls whether cashiers may load active prescriptions and dispense prescription-only medicines.
✓
Controlled-Drug Permission — allow_controlled_drugs enables sale of schedule-controlled substances and triggers the two-witness authorisation flow on payment.
✓
Require Patient ID for Rx — require_patient_id_for_rx rejects prescription loading and dispensing unless a patient has been identified on the order.
✓
Auto-Print Dispensing Label — auto_print_dispensing_label prints the medication label alongside the POS receipt whenever the order carries an Rx line.
✓
Insurance Split Enablement — allow_insurance_payment plus a default insurance payer partner enables patient co-pay on POS with an invoice for the residual.
✓
M-Pesa Shortcode Binding — An mpesa_config_id assigns the paybill/till used for STK push when a cashier selects an M-Pesa payment method.
✓
Config Integrity Constraints — Validation forces a pharmacy location on pharmacy tills and requires Rx dispensing to be on before controlled drugs can be enabled.
✓
Auto-Default Dispensary Location — Turning on pharmacy mode auto-suggests the first dispensary-type location and copies its facility into the terminal.
✓
Terminal Configuration Menu — A Configuration > Terminals view lists and edits only pharmacy-flagged POS terminals, defaulting new records to pharmacy mode.
Patient Identification & Prescriptions14 features
✓
Register Patient Lookup Button — A Patient control button on the POS product screen lets cashiers search and attach a patient to the current order.
✓
Multi-Key Patient Search — Patients are found by phone, national ID or patient display ID, falling back to name/phone fuzzy match, returning up to ten hits.
✓
Allergy-Aware Lookup Results — Each search result shows display ID, phone, gender, active-Rx count and the patient's known allergen list inline.
✓
Active Prescription Picker — After a patient is chosen, an Rx picker lists their active and partially-dispensed prescriptions with prescriber and date.
✓
Per-Line Stock Availability — Each Rx line shows undispensed quantity versus on-hand stock at the terminal location, flagged In Stock, Partial or Out of Stock.
✓
Smart Line Pre-Selection — The picker auto-ticks every prescription line that is fully in stock so the cashier confirms with one tap.
✓
One-Tap Load into Cart — Selected Rx lines are added to the POS order with quantity capped at available stock, preserving the source prescription_line_id.
✓
Controlled-Rx Badge — Prescriptions flagged is_controlled show a red Controlled badge in the picker so cashiers apply extra scrutiny.
✓
Send Rx to POS from Consultation — A Send to Pharmacy POS button on the prescription form opens the nearest open pharmacy session pre-loaded with that Rx.
✓
POS-Eligibility Guard — A computed pos_eligible flag blocks fully-dispensed prescriptions from being sent to the register.
✓
Backend Rx Selection Wizard — A wizard searches a patient by phone/national ID and queues chosen prescriptions onto a terminal's session start context.
✓
Prescription POS Order Trace — Prescriptions carry a POS order count and a POS Orders button to review every register sale made against them.
✓
Patient Active-Rx Counter — The patient card shows a live count of active prescriptions available for POS dispensing.
✓
Patient POS Order History — Each patient exposes a POS Orders one2many and an action to open all pharmacy register sales for that patient.
Drug-Safety Checks & Overrides11 features
✓
Allergy & Interaction Alert Dialog — An OWL dialog fires when a cart product matches a patient allergy or interacts with another in-cart drug, colour-coded by severity.
✓
Severity Grading — Alerts are graded informational, minor, moderate, major or contraindicated, driving colour and whether an override is allowed.
✓
Hard-Block Contraindications — Allergy hits and contraindicated interactions cannot be overridden at the register and force the item to be removed.
✓
Reasoned Pharmacist Override — Overridable alerts require a typed override reason before the cashier can proceed, capturing accountability inline.
✓
Immutable Override Audit Log — Every accepted override is written to hms.pharmacy.pos.override.log, a record type whose unlink is hard-blocked as a drug-safety record.
✓
Override RPC Logger — A log_override server helper records the alert and appends a human-readable summary onto the order's overridden_alerts field.
✓
Formulary Breach Enforcement — Order lines validate that medications belong to the terminal formulary, raising an error when a non-formulary drug is rung.
✓
Therapeutic-Class Enforcement — Lines reject any medication whose therapeutic class is not in the terminal's allowed schedule set.
✓
Controlled-Drug Terminal Guard — A controlled substance cannot be sold on a terminal that has not enabled controlled-drug dispensing.
✓
Pharmacist Interaction-Review Wizard — A backend wizard lets an escalated pharmacist record clinical effect, severity and override reason with Proceed/Remove/Override actions.
✓
Alert Trail on Order — Orders store the allergy alerts shown, interaction alerts shown and overridden alerts as a persistent per-order safety record.
Dispensing & Inventory11 features
✓
Auto-Create Dispense on Payment — Paying a pharmacy order auto-creates the matching hms.dispense with its lines so the PPB register stays complete across channels.
✓
FEFO Lot Picking — Adding a medication auto-selects the first-expiring lot with available stock at the pharmacy location for the register.
✓
Dispensing Instructions per Line — Each POS line carries dose, frequency and duration text that flows onto the dispensing label.
✓
Dispensed Lot Capture — The FEFO-picked stock.lot is stored on the order line and mirrored into the dispense record for traceability.
✓
Prescription Progress Update — Dispensing registers the sold quantity against each source prescription line and recomputes the prescription's dispensed state.
✓
POS Picking Reuse — The dispense reuses the POS-generated stock picking rather than building a second stock move, avoiding double inventory movement.
✓
Pharmacist Resolution — The dispense is attributed to the cashier's pharmacist staff record, falling back to any pharmacist on file.
✓
Straight-Through Dispense Closure — POS dispenses skip the standalone verify/double-auth steps since POS enforced them inline, writing state directly to dispensed.
✓
Resilient Dispense Creation — If dispense creation fails, the error is logged and posted to the order chatter instead of blocking the sale.
✓
POS Dispense Back-Pointer — Each hms.dispense records its originating POS order and an is_pos_dispense flag distinguishing register-driven dispenses.
✓
POS Dispenses View — An Operations > POS Dispenses menu lists every dispense that originated from a register sale.
Controlled Substances4 features
✓
Two-Witness Authorisation — Controlled-drug orders capture a second-authoriser witness user at the payment screen for double authorisation.
✓
Controlled-Drug Log Entry — Each controlled line writes an hms.dispense.controlled.log with first/second authoriser, patient, lot, quantity and timestamp.
✓
Controlled Line Flagging — Order lines expose a requires_double_auth flag related from the product so controlled items are visible in list views.
✓
Order Witness Record — The order stores the controlled-drug witness user and links to the controlled log for register audit.
Payments7 features
✓
M-Pesa STK Push — Selecting an M-Pesa payment method pushes a Daraja STK prompt to the patient's phone and creates a pending M-Pesa transaction.
✓
Kenyan Phone Normalisation — Phone numbers from the patient or partner are normalised to Kenyan MSISDN format before the STK request, rejecting invalid inputs.
✓
M-Pesa Transaction Link — The resulting hms.mpesa.transaction is linked to both the payment leg and the order for reconciliation.
✓
Insurance Split Payment — Payment methods can flag an insurance leg so a residual amount is billed to an insurance payer while the patient co-pay stays on POS.
✓
Insurance Amounts on Order — Orders record patient co-pay, insurance-billed amount and the linked insurance invoice for co-pay reconciliation.
✓
Resilient STK Trigger — An STK failure is logged and posted to the order chatter rather than aborting payment creation.
✓
Payment-Method Flags View — The payment-method form and list surface M-Pesa STK, insurance and their shortcode/payer settings for configuration.
Dashboards & Sessions7 features
✓
Today-at-a-Glance Dashboard — A dashboard tiles open sessions, orders, dispenses and sales for the day across all pharmacy terminals.
✓
Rx vs OTC Mix Tiles — The dashboard separates prescription lines from over-the-counter medication lines sold today.
✓
Sales & Average Ticket Tiles — Today's total pharmacy sales and computed average ticket value are shown as monetary tiles.
✓
Safety KPI Tiles — The dashboard counts controlled drugs dispensed and safety overrides accepted today.
✓
Per-Session Pharmacy Counters — Each POS session shows dispenses created, Rx lines processed, controlled drugs, allergy alerts and an override-contained flag.
✓
Session Dispenses Drill-Down — A session action opens every hms.dispense created during that shift for review.
✓
Pharmacy Session Flag — Sessions inherit is_pharmacy_session from the terminal so pharmacy shifts are filterable in the session list.
Reports & Labels4 features
✓
Dispensing Label Report — A per-order PDF label lists each medication with quantity, dose instructions and lot, plus standard patient-safety footer text.
✓
Daily Sales Report — A per-session PDF summarises cashier, open/close times, pharmacy counters and every order with patient, Rx and total.
✓
Override Audit Report — A PDF tabulates override log entries with date, order, patient, product, alert type, severity and approver.
✓
Report Print Bindings — The label, daily-sales and override reports are wired as print-menu actions on their respective POS and log models.
Operations & Navigation5 features
✓
Dedicated Pharmacy POS App — A top-level AminiTech Pharmacy POS menu groups Dashboard, Operations, Configuration, Audit and Reports under the HMS pharmacy suite.
✓
Pharmacy Orders View — An Operations > Orders list/form/kanban shows only pharmacy-flagged POS orders with patient, prescription and dispense columns.
✓
Pharmacy Sessions View — An Operations > Sessions view filters POS sessions down to pharmacy terminals.
✓
Enriched Order Form — The POS order form gains grouped Pharmacy, Safety Alerts and Insurance Split sections shown only for pharmacy orders.
✓
Enriched Order-Line List — POS order-line lists add medication, Rx line, dispensed lot and controlled columns as optional fields.
Security & Access Control6 features
✓
Cashier & Manager Roles — Two roles, Pharmacy POS Cashier and Pharmacy POS Manager, layer on the native POS user and manager groups.
✓
Existing Pharmacy Role Elevation — HMS pharmacist and HMS manager groups automatically imply the matching Pharmacy POS cashier and manager roles.
✓
Own-Session Override Visibility — A record rule limits cashiers to override entries from their own sessions while managers see the full log.
✓
Immutable Audit Permissions — Access rules grant create but never delete on override logs, enforcing the immutability of drug-safety audit records.
✓
Menu Access Gating — Configuration, Audit and Reports menus are restricted to the Pharmacy POS Manager role.
✓
Phase-4 Menu Gate — An install hook gates all module menus behind the HMS base phase-4 pharmacy-POS group for staged rollout.
Data & Integration3 features
✓
Override Audit Sequence — A yearly-prefixed sequence (POV/year/) numbers pharmacy POS override audit records.
✓
HMS Suite Integration — The module depends on and integrates AminiTech HMS base, consultation, pharmacy and M-Pesa modules plus native POS, stock and accounting.
✓
Demo Data — A demo fixture seeds sample pharmacy POS records for evaluation and testing.
Setup in 4 steps

From install to first live workflow

Install
1 · Install    2 · Configure a terminal

Install AminiTech HMS: Pharmacy POS from Apps. Required AminiTech HMS apps (Foundation, Consultation, Pharmacy, M-Pesa) are added at checkout automatically. Open Pharmacy POS > Configuration > Terminals, flag a POS config as a pharmacy POS and bind it to its pharmacy stock location, formulary and drug schedules. Set up payment methods including M-Pesa.

Ring a first sale
3 · Ring a first sale    4 · Go live

Open a session, look up a patient by phone or national ID, load their prescription into the cart, clear any allergy alerts and take payment — the dispense record and label are created automatically. Grant cashiers the Pharmacy POS User group and managers the Manager group, then monitor the dashboard, daily sales and the override audit log.

Save with a suite

Buy this app on its own, or get it in a suite

Buying more than a couple of apps? The Complete Suite gives you 170 modules for $3,999 in one purchase — usually less than the apps bought separately, and everything is installed and updated together.

Clinic Suite
$499
49 modules — a full outpatient clinic
—
View the Clinic Suite ↗
Hospital Suite
$1,499
78 modules — a full hospital
—
View the Hospital Suite ↗
BEST FIT FOR THIS APP
Complete Suite
$3,999
170 modules — the entire HMS catalogue
✓ includes this app
View the Complete Suite ↗
What's in your download

Pharmacy POS installs with everything it needs

This app builds on the apps below. Odoo adds them to your cart automatically and delivers everything in one download — you are only charged for apps you don't already own.

Adds these apps to your cart automatically
+Patient Management
+Consultation / OPD
+Pharmacy
✓ Plus 25 more modules included free — the code that powers every feature, delivered in the same download.

Fitting out a whole facility? The Complete Suite includes this app and its whole family in one purchase.

Every included module

Every feature of every module in this app

This one purchase includes 2 modules with 108 features in total — each module's full capability tour below.

{}22 features included in this app
Pharmacy POS Cart Guard feature tour
POS Cart-Add Safety Guard7 features
✓
Inline drug-safety check at cart-add — Patches the POS Order add_product so every medication line is safety-checked the instant it is added, before it lands in the cart.
✓
Allergy + interaction alert modal — When hits are found it opens the existing HmsPosInteractionAlert dialog at the terminal instead of the deprecated back-office wizard.
✓
Override-to-proceed / remove-to-reject — The modal lets the cashier override and add the line (capturing a reason) or remove it and cancel the add entirely.
✓
Non-overridable allergy blocking — Allergy hits always take precedence in the modal and are surfaced as allergy alerts distinct from overridable interactions.
✓
Contraindication hard-block flag — Any contraindicated interaction sets a blocking flag so the modal can disallow override for the most dangerous combinations.
✓
Highest-severity interaction surfacing — Interactions are ranked contraindicated > major > moderate > minor > unknown and the most severe one drives the alert severity shown.
✓
All-hits message aggregation — The modal message concatenates every matching allergy or interaction line so the cashier sees the full picture, not just the top hit.
Backend Safety RPC8 features
✓
pharmacy_check_line RPC endpoint — Adds a pos.order.pharmacy_check_line(payload) model method returning structured allergy, interaction, and blocking results for a product.
✓
Single source-of-truth checks — Reuses the same allergy and interaction logic as hms.prescription and hms.dispense so consultation, dispense, and POS enforce identical rules.
✓
Patient allergen matching — Scans the patient's allergy_ids and flags any allergen substring that matches the product name or its generic name.
✓
Generic-name-aware matching — Includes the product template's generic_name as a match candidate so brand-name products still trip allergies registered against the generic.
✓
Cart-context interaction detection — Combines the new product with all product IDs already in the active order and runs hms.drug.interaction.find_interactions across the full basket.
✓
New-product-scoped filtering — Only surfaces interactions that actually involve the product being added, avoiding noise from pairs already accepted in the cart.
✓
Rich interaction payload — Each interaction returns severity, human-readable severity label, both drug names, clinical effect, recommendation, and a formatted message.
✓
Defensive input validation — Returns empty results gracefully when payload, patient_id, product_id, or the referenced records are missing or no longer exist.
Resilience & Scope Gating7 features
✓
Pharmacy-POS-only activation — The guard only runs on terminals whose POS config has is_pharmacy_pos set, leaving ordinary retail POS untouched.
✓
Medication-only triggering — Checks fire only for products flagged is_medication (on product or template), skipping non-drug items for speed.
✓
Patient-required gating — The guard no-ops unless the order has an assigned hms_patient, so anonymous sales are not blocked.
✓
Fail-open on RPC error — If the safety RPC fails it logs a warning, shows a soft 'proceed with caution' notification, and still allows the sale rather than freezing the cart.
✓
Graceful degradation on missing services — If the dialog service or alert component is unavailable it falls back to adding the product instead of stranding the cashier.
✓
Version-tolerant POS binding — Dynamically imports the POS Order class and silently disables itself on incompatible POS bundles, never breaking the terminal.
✓
Auto-install bridge module — Ships as an auto_install bridge over the pharmacy POS, consultation, and pharmacy modules so it wires up automatically when present.
One patient record, one family

The AminiTech HMS family

60+ hospital apps that share one patient record and install together. Required apps are added to your cart automatically at checkout — you only ever download what you have paid for. Or get everything at suite pricing with the Complete Suite.

Pharmacy
Pharmacy
extends Odoo POS + Inventory + Product for pharmacy dispensing
- Pharmacy Dispense Bench
- Pharmacy Dispense Bench
Full-screen barcode-driven dispense workspace built for parity with Epic Willow / Cerner PharmNet.
Pharmacist Clinical Interventions / MTM (P-13)
Pharmacist Clinical Interventions / MTM (P-13)
Pharmacist clinical intervention register: Drug Therapy Problem classification (Cipolle/Strand), Pharmaceutica
Pharmacy POS Cart Guard
INCLUDED WITH THIS APP
Pharmacy POS Cart Guard
Inline allergy + drug-drug interaction modal at POS terminal cart-add time. Replaces the deprecated back-offic
Automated Dispensing Cabinet (ADC) Interface (P-05)
Automated Dispensing Cabinet (ADC) Interface (P-05)
Generic Pyxis/Omnicell/BD Rowa interface. Defines cabinet records, builds HL7 RDS^O13 (dispense) and RAS^O17 (
Complete Suite
Complete Suite
Every AminiTech HMS module - the entire catalog: full clinical spine, all departments and specialties, AI clin
FAQ

Common questions

Which apps does it require?
It builds on Point of Sale plus AminiTech HMS Foundation, Clinical Consultation, Pharmacy & Dispensing and the HMS M-Pesa app. All required apps are added to your cart automatically at checkout.
Does it work on Odoo Community and Enterprise?
Yes — both Community and Enterprise editions of Odoo 18 are supported. It is not available for Odoo Online (SaaS), since custom apps cannot be installed there; use Odoo.sh or an on-premise/self-hosted server.
Can I still sell normal OTC items without a prescription?
Absolutely. The register handles walk-in OTC sales like a standard POS; prescription linkage, allergy checks and controlled-drug authorisation only engage when a patient or scheduled product is on the order.
What happens to controlled-drug records?
A two-witness authorisation is enforced at payment, the witness is stored on the order, and a controlled-substance log entry is written with the auto-created dispense — keeping your PPB register complete for counter sales.
Is M-Pesa mandatory?
No. M-Pesa STK push is one payment method alongside cash, card and insurance co-pay splits. You configure which methods each pharmacy terminal accepts.
What support do you provide?
Every purchase includes a 90-day bug-fix guarantee. Reach us any time at reach@aminitechsolutions.com and our team will respond promptly with fixes and configuration help.
Support & Contact

Talk to us today

🏆
90 days of free support included with your purchase
Real people, business hours, typical first reply under 4 hours — including installation help and configuration for your hospital.
⭐ Included — no extra cost
✉️
Email
reach@aminitechsolutions.com
📞
Phone / WhatsApp
+254 746 883 809
💻
Live demo
hms.aminitechsolutions.com
📚
Documentation
aminitechsolutions.com/docs
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies • Discuss (mail)
• Calendar (calendar)
• Contacts (contacts)
• Employees (hr)
• Inventory (stock)
• Invoicing (account)
• Point of Sale (point_of_sale)
Community Apps Dependencies Show
• AminiTech HMS Consultation / OPD
• AminiTech HMS Patient Management
• AminiTech HMS Pharmacy
• AminiTech HMS: Pharmacy POS
• AminiTech HMS: Pharmacy POS Cart Guard
• AminiTech HMS: Advance Directives / POLST
• AminiTech HMS: Care Plans
• AminiTech HMS: Clinical Consultation
• AminiTech HMS: Clinical Pathways
• AminiTech HMS: Concept Dual Coding on Diagnosis (O-06)
• AminiTech HMS: Consultation After-Visit Summary
• AminiTech HMS: Patient Education
• AminiTech HMS: Print PDF/A-3 Archival
• AminiTech HMS: eConsult (Asynchronous Specialist Consultation)
• AminiTech HMS: Clinical Alerts & Notification Engine
• AminiTech HMS: Clinical Decision Support (CDS) Engine
• AminiTech HMS: Concept Dictionary (SNOMED/LOINC/RxNorm/ICD)
• AminiTech HMS: Patient Management
• AminiTech HMS: Print Failover & Pooling
• AminiTech HMS: Print Subsystem
• AminiTech HMS: SNOMED-CT + CIEL Bridge
• AminiTech HMS: Smart Text (Macros + Templates)
• AminiTech HMS - Pharmacy Dispense Bench
• AminiTech HMS: Automated Dispensing Cabinet (ADC) Interface (P-05)
• AminiTech HMS: Enhanced CDS in Prescription Entry (O-04)
• AminiTech HMS: IV Smart-Pump Integration (DERS) (P-06)
• AminiTech HMS: Pharmacist Clinical Interventions / MTM (P-13)
• AminiTech HMS: Pharmacy
Lines of code 39510
Technical Name aminitech_hms_app_pharmacy_pos
LicenseOPL-1
Websitehttps://aminitechsolutions.com
Odoo Proprietary License v1.0

This software and associated files (the "Software") may only be used (executed,
modified, executed after modifications) if you have purchased a valid license
from the authors, typically via Odoo Apps, or if you have received a written
agreement from the authors of the Software (see the COPYRIGHT file).

You may develop Odoo modules that use the Software as a library (typically
by depending on it, importing it and using its resources), but without copying
any source code or material from the Software. You may distribute those
modules under the license of your choice, provided that this license is
compatible with the terms of the Odoo Proprietary License (For example:
LGPL, MIT, or proprietary licenses similar to this one).

It is forbidden to publish, distribute, sublicense, or sell copies of the Software
or modified copies of the Software.

The above copyright notice and this permission notice must be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.

Please log in to comment on this module

  • The author can leave a single reply to each comment.
  • This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
  • If you want to start a discussion with the author or have a question related to your purchase, please use the support page.
Community
  • Tutorials
  • Documentation
  • Forum
Open Source
  • Download
  • Github
  • Runbot
  • Translations
Services
  • Odoo.sh Hosting
  • Support
  • Upgrade
  • Custom Developments
  • Education
  • Find an Accountant
  • Find a Partner
  • Become a Partner
About us
  • Our company
  • Brand Assets
  • Contact us
  • Jobs
  • Events
  • Podcast
  • Blog
  • Customers
  • Legal • Privacy
  • Security

Odoo is a suite of open source business apps that cover all your company needs: CRM, eCommerce, accounting, inventory, point of sale, project management, etc.

Odoo's unique value proposition is to be at the same time very easy to use and fully integrated.

Website made with