Custom Odoo Solution for Pharmacies
A customized pharmacy-focused Odoo solution developed to address real operational challenges faced by pharmacies in Mauritius. This is not a generic Odoo implementation — it extends Odoo with industry-specific features designed to support the way pharmacies actually buy, stock, price, and sell products.
Key Features
Designed specifically for how pharmacies buy, stock, price, and sell products.
Multi-UOM Pricing
Sell products in different units of measure — such as boxes, strips, or individual tablets — with independent pricing for each sales unit.
EXAMPLE: Paracetamol 500mg
- Flexible pharmacy sales operations
- Accurate inventory control across units
- Simplified retail and wholesale sales
- Real-world pharmacy compatibility
Batch-Based Pricing
Assign and manage selling prices at the lot or batch level — essential for pharmacies where purchase costs vary between suppliers and deliveries.
EXAMPLE: Same Product, Different Batches
- Better margin control per batch
- Accurate batch and lot tracking
- Improved inventory visibility
- Pharmacy-specific workflow support
Pharmacy Inventory Management
Designed to work alongside Odoo inventory management while supporting pharmacy-specific operational requirements including lot tracking and traceability.
CAPABILITIES
- Full inventory traceability
- Better stock control and visibility
- Improved operational efficiency
- Reduced manual work and errors
Product Access Restrictions
Control which users can access specific products or product categories — essential for managing controlled substances and dangerous drugs.
RESTRICTION SCOPE
- Hide products from unauthorized users
- Restrict lots, stock, purchases, sales
- Block access in POS and invoices
- Ideal for controlled substances
Expiry Reports & Alerts
Generate on-demand expiry reports and receive automated email alerts for expired or about-to-expire products.
REPORT OPTIONS
- On-demand or scheduled reports
- Filter by category, date, location
- Export to PDF or Excel
- Automated email notifications
Barcode Scanning in POS
Scan products by barcode in POS — and, most importantly, scan the lot/batch barcode directly to add the exact batch to the sale, removing the need to select the lot manually.
SCAN OPTIONS
- Scan products directly into the sale
- Scan lot/batch barcode to auto-select the batch
- No manual lot selection needed
- Faster, error-free checkout
See the Full Workflow
Follow the complete lifecycle of a product — from setup and purchasing to inventory, sales, and POS — using Panadol Extra X 100 Tablets as a real example.
Product Setup with Dual Unit Of Measurement
Create a product like Panadol Extra X 100 Tablets with the primary unit set to Tablet for individual sales, and a Secondary UOM of Pack of 100 Tablets with its own independent price.
- Primary unit: Tablet (sell individually)
- Secondary UOM: Pack of 100 Tablets
- Independent pricing for each unit
- Track inventory by lots
Product form with primary and secondary UOM pricing
Lot with primary price (per Tablet) and secondary price (per Pack)
Lot-Level Pricing
When creating or updating a lot, set the Primary Price (per Tablet) and Secondary Price (per Pack of 100 Tablets). Different lots can have different prices based on supplier costs.
- Set primary price per base unit
- Set secondary price per secondary UOM
- Prices tied to specific lot/batch
- Expiry and traceability dates tracked
Purchasing with Lot Pricing
When purchasing, set the Lot Price and Lot 2nd Price directly on the purchase order line. Upon receiving, the lot is automatically assigned with the correct pricing.
- Set lot-level prices during purchase
- Lot automatically assigned on receipt
- Prices flow from purchase to inventory
- Full traceability from supplier to sale
Purchase order with Lot Price and Lot 2nd Price columns
Receipt with lot automatically assigned
Physical inventory with Secondary On Hand and Secondary Unit columns
Inventory with Dual UOM View
In the physical inventory view, see both the base unit quantity and the automatically converted Secondary On Hand quantity alongside the Secondary Unit — giving a clear picture of stock in both units.
Sales with Lot & UOM Selection
When creating a sale, select the lot, choose the unit of measure (Tablet or Pack), and the system automatically shows the price linked to that lot and unit.
Sales order with lot, unit, and lot-linked price
Point of Sale Integration
In POS, select the product, choose the unit of measure (Tablet or Pack), then pick the lot — showing available quantity, expiry date, primary price, and secondary price. Complete the sale and print a detailed receipt.
Products can also be added by scanning their barcode. More importantly, scanning a lot/batch barcode automatically selects the correct batch — so cashiers never have to pick the lot manually, making sales faster and error-free.
Select unit of measure in POS
Select lot with qty, expiry, and prices
POS order with lot and pack pricing
POS receipt with lot number and pack pricing
Product-Level Access Restrictions
Restrict user access to specific products or entire product categories. Staff members only see products, lots, stock levels, purchases, sales, invoices, and POS items they are authorized to access — ideal for controlled substances and dangerous drugs.
Valium 5MG x 30 Tablets — categorized as "Dangerous Drug"
User "staff1" configured with restricted product categories (Dangerous Drug excluded)
Admin View — Full Access
The admin user has full access and can create purchases, sales, and invoices containing Valium.
Purchase order with Valium (admin)
Sale order with Valium (admin)
Invoice linked to Valium (admin)
Restricted User View — Access Denied
User "staff1" cannot see Valium anywhere in the system — products, lots, stock, purchases, sales, invoices, or POS.
Product list — Valium hidden
Lot view — Valium lots hidden
Stock — Valium quantity hidden
Purchases — Valium PO hidden
Sales — Valium SO hidden
Invoices — Valium invoice hidden
POS — Valium not visible
Complete Data Isolation
Restricted users cannot access any data related to unauthorized products — including products, lots, stock levels, purchase orders, sale orders, invoices, and POS items. Access is controlled by product or product category.
Expiry & About-to-Expire Reports
Generate on-demand expiry reports and configure automated email alerts so your team is always informed about expired or soon-to-expire products.
Configure Email Recipients
In the inventory settings, the admin sets which users should receive email notifications about products that are expired or about to expire based on alert dates.
- Set recipients in inventory settings
- Alerts based on product alert dates
- Automated email notifications
- Covers both expired and about-to-expire
Inventory settings — configure users for expiry email alerts
Expiry report menu in Inventory Reporting
On-Demand Report Generation
Generate expiry reports on demand from the Inventory Reporting menu. Users can run reports at any time to check the current state of expired or about-to-expire stock.
Filter & Narrow Results
Choose filters to narrow down results — select Both, About to Expire, or Expired. Optionally filter by product categories, "As of Date", and locations.
Filter: Both (expired & about to expire)
Filter: About to Expire
Filter: Expired
Export to PDF or Excel
Export the report in PDF for printing or Excel for further analysis. Excel reports include separate sheets for about-to-expire and expired products.
PDF expiry report
Excel — About to Expire sheet
Excel — Expired sheet
Automated Email Alerts
Configured users automatically receive email alerts for expired products and products about to expire based on their alert dates — no manual intervention required.
Email alert — Expired products report
Email alert — Product about to expire
Why Pharmacies Choose This Solution
Built specifically for pharmacy operations — not a generic ERP
Pharmacy-Specific
Built specifically for how pharmacies buy, stock, price, and sell products.
Real Workflow Support
Supports actual pharmacy operations — multi-UOM sales, batch pricing, lot tracking.
Flexible Pricing
Independent pricing per unit of measure and per batch for full control.
Better Inventory
Lot-level tracking with traceability designed for pharmaceutical products.
Operational Efficiency
Reduces manual work and streamlines day-to-day pharmacy operations.
Customizable
Can be further tailored to your specific pharmacy business requirements.
Interested in Our Pharmacy Solution?
Let us show you how it can streamline your pharmacy operations with a personalized demo.