Case study · Pharmacy retail
Dawatech — unified pharmacy operations on Odoo 16
How TechUltra brought multi-country pharmacy retail — Point of Sale, supply chain, regional compliance, finance, and digital channels — onto a single Odoo 16 platform for Dawatech across Saudi Arabia, Jordan, and Egypt.
- Saudi Arabia
- Jordan
- Egypt
- Platform
- Odoo 16
- Industry
- Pharmacy & healthcare retail
- Markets
- Saudi Arabia · Jordan · Egypt
- Model
- Multi-country branch retail + HQ
Last updated
Overview
What TechUltra delivered
Dawatech needed one system across three markets. TechUltra delivered Odoo 16 built around store operations, with regional modules added per country — so each market gets the compliance and payment behaviour it needs without forking the ERP.
About Dawatech
Dawatech is a regional pharmacy and healthcare retailer running branch stores against a central HQ. It sells through Point of Sale, B2B ordering, and a consumer app, operates in Arabic and English, and set out to standardise on a single ERP backbone.
Challenges to solve
Six problem areas shaped the build — from checkout discipline in the stores to statutory compliance that differs in every market.
-
Store control
Pricing, refunds, and cashier sessions varied branch to branch with no central policy.
-
Multi-country compliance
E-invoicing, insurance, and payment rules differ across Saudi Arabia, Jordan, and Egypt.
-
Supply chain
Expiry risk, replenishment discipline, and inter-branch transfers needed tighter control.
-
Omnichannel
B2B ordering, a consumer app, and aggregators all needed one system of record.
-
Finance
A full general ledger was required on a Community-first Odoo accounting stack.
-
Experience
Staff needed a branded, role-based backend rather than a generic Odoo interface.
TechUltra's solution approach
A stable pharmacy core on Odoo 16, with regional layers that plug in per market — so Dawatech can open a country without rebuilding the ERP underneath it.
- A pharmacy-first core built on Odoo 16
- Regional packs for Saudi Arabia, Jordan, and Egypt
- Integrations for ERP, statutory platforms, payments, and WhatsApp
- Governed Point of Sale — business rules enforced at checkout
- A phased rollout, market by market
- A Community-first architecture
Architecture — layered on Odoo 16
- Experience & security Branded UI, roles, POS permissions
- Integrations ERP, statutory, payments, WhatsApp
- Regional packs Saudi Arabia · Jordan · Egypt
- Pharmacy core Store operations, supply chain, finance
- Odoo 16 Community-first ERP foundation
One core, three regional packs
Pharmacy core bundle
Shared product, process, and POS standards
-
KSA pack
Wasfaty, NPHIES, ZATCA e-invoicing
-
Jordan pack
JoFotara e-invoicing, insurance POS
-
Egypt pack
Insurance POS, home delivery
Functional & technical scope
The platform runs core retail end to end and adds statutory behaviour per market.
Capability matrix
| Domain | Capabilities |
|---|---|
| Point of Sale | Governed checkout, loyalty, insurance, sessions |
| Inventory | Ownership, transfers, replenishment, expiry |
| Purchase | Vendors, requisitions, receipt controls |
| Finance | GL, cheques, inter-company, tax reports |
| Digital | B2B, consumer app, marketplace bridges |
| Saudi Arabia | Wasfaty, NPHIES, ZATCA e-invoicing |
| Jordan | JoFotara e-invoicing, insurance POS |
| Egypt | Insurance POS, home delivery |
Technology foundation
- Odoo 16 with a large custom application library
- Regional bundles for Saudi Arabia, Jordan, and Egypt
- Third-party integrations for POS, WhatsApp, payments, and accounting
- Synchronization via APIs, webhooks, and scheduled jobs
- Bilingual operations in English and Arabic
- Security through roles and granular POS permissions
Feature deep-dives
Ten capability areas, each tied to a business problem and the work TechUltra delivered.
POS Governance & Store Operations
Governed checkout as the operational hub for every pharmacy store.
Business problem
- Inconsistent refunds, discounts, and customer attribution across branches
- Weak cashier and session discipline at high transaction volume
- Limited visibility into payments and session close for HQ
- Promotions and loyalty applied without central policy control
What TechUltra delivered
- POS configuration rules: customer requirements, quantity limits, margin safeguards, and refund payment restrictions
- Cashier binding, session lifecycle, and enforced closing workflows
- POS and payment reporting for operational and HQ review
- Extensions for loyalty, promotions, chronic patients, line-level store attribution, and receipt behaviour
| Capability | Role | Odoo area |
|---|---|---|
| Checkout policy enforcement | Cashier, store manager | Point of Sale |
| Session open/close and cash control | Cashier, finance | POS · Accounting |
| Refund and payment method rules | Cashier, supervisor | POS |
| Payment and session reports | HQ, operations | Reporting |
| Loyalty and promotion at POS | Marketing, store | POS · Sales |
Multi-Country Operating Model
One pharmacy core with regional packs for Saudi Arabia, Jordan, and Egypt.
Business problem
- Separate ERP logic per country increases cost and configuration drift
- Shared product and process standards are hard to maintain across markets
- Compliance and payments differ by jurisdiction
What TechUltra delivered
- A central pharmacy application bundle as the shared core
- Regional application bundles for Saudi Arabia, Jordan, and Egypt that extend the core
- Market-specific modules layered only where required — e-invoicing, insurance POS, payments, delivery
| Capability | Role | Odoo area |
|---|---|---|
| Shared pharmacy core | HQ, IT | All apps |
| KSA regional pack | Country admin | Regional layer |
| Jordan regional pack | Country admin | Regional layer |
| Egypt regional pack | Country admin | Regional layer |
| Phased enablement per company | IT, finance | Configuration |
KSA Healthcare & E-Invoicing
Saudi statutory and healthcare-oriented retail capabilities.
Business problem
- E-prescription and payer workflows must connect to store sales
- Insurance-related POS transactions need controlled submission
- ZATCA-oriented e-invoicing and status tracking are required for compliance
What TechUltra delivered
- A Wasfaty-oriented integration for e-claim style payer workflows at POS
- Yusur and NPHIES-related integration modules for health-platform connectivity
- POS and reporting extensions for ZATCA e-invoicing status
- A KSA regional pack with localized POS QR, Tamara payment, and Arabic search enhancements
| Capability | Role | Odoo area |
|---|---|---|
| E-prescription / payer claims | Pharmacist, POS | POS · Integration |
| Insurance at POS | Cashier, compliance | POS |
| E-invoicing / ZATCA status | Finance, IT | Accounting · POS |
| Localized payments (e.g. Tamara) | Store, finance | POS · Payment |
Jordan E-Invoicing & Insurance POS
JoFotara-oriented invoicing and insurance-aware retail.
Business problem
- Statutory e-invoicing must align with POS and sales documents
- Insurance sales require traceable POS and refund handling
- Receipt and warehouse configuration must follow Jordan rules
What TechUltra delivered
- JoFotara e-invoicing configuration, logging, and POS order synchronization
- Invoice refund handling aligned to e-invoicing flows
- Insurance POS extensions shared with the regional receipt configuration
- Jordan-specific receipt views and warehouse linkage
| Capability | Role | Odoo area |
|---|---|---|
| JoFotara e-invoice submission | Finance, IT | Accounting · POS |
| Sync logs and retries | IT, support | Integration |
| Insurance POS | Store, compliance | POS |
| Localized receipts | Store | POS |
Egypt Insurance & Delivery-Oriented Retail
An Egypt pack covering insurance POS, home delivery, and purchase controls.
Business problem
- Consumer delivery and in-store POS must share stock and pricing
- Insurance-related sales need Egypt-specific POS behaviour
- Purchase and expiry controls are needed for regulated product handling
What TechUltra delivered
- An Egypt regional application bundle depending on the core plus delivery and insurance modules
- Home delivery and POS order list/sync extensions for omnichannel store operations
- An Egypt insurance POS module with order increment and decrement controls
- Purchase expiry-date control for inbound stock
| Capability | Role | Odoo area |
|---|---|---|
| Home delivery from POS | Store, dispatch | POS |
| Insurance POS (Egypt) | Pharmacist | POS |
| Order sync / list at POS | Operations | POS |
| Purchase expiry control | Purchasing, QC | Purchase · Stock |
SAP & Corporate ERP Alignment
Synchronize products, stock, and transactions with corporate SAP.
Business problem
- HQ ERP and store-level Odoo must not diverge on master data and stock
- POS and sales transactions need reliable export and import cycles
- High-volume synchronization requires scheduling and error handling
What TechUltra delivered
- A SAP connector with configuration screens, reason codes, and billing-type mappings
- Scheduled jobs for synchronization and queue-based processing for heavy workloads
- Master-data alignment for products, categories, pricelists, and locations
- POS order and stock views integrated into the connector workflows
| Capability | Role | Odoo area |
|---|---|---|
| Product and pricelist sync | IT, master data | Product · Integration |
| Stock and location mapping | Supply chain | Inventory |
| POS / sales transaction exchange | Finance, IT | POS · Sales |
| Scheduled sync and monitoring | IT operations | Automation |
DawaOrder, Dawasearch & Digital Channels
B2B vendor ordering and consumer commerce with Odoo as the system of record.
Business problem
- Vendor and consumer orders were entered manually into the ERP
- Catalog, stock, and pricing must stay consistent across channels
- Mobile and web channels need APIs without duplicate master data
What TechUltra delivered
- DawaOrder — a vendor portal with mobile-oriented APIs, website-sale integration, and regional variants
- Dawasearch — sync layers between the pharmacy system and the search / consumer catalog
- A mobile app API module and bridge API integration patterns
- Orders and stock updates that flow into the standard sales, purchase, and inventory apps
| Capability | Role | Odoo area |
|---|---|---|
| B2B vendor ordering | Vendors, sales | Website · Sales |
| Consumer catalog / search sync | Digital, IT | Integration |
| Mobile app APIs | IT, product | API layer |
| Channel net-sales reporting | HQ, finance | Reporting |
Product, Stock & Purchasing
Pharmacy master data, multi-location stock, and vendor programs.
Business problem
- Complex product data: brands, barcodes, bundles, pricelists, and drug information
- Stock ownership and transfers between branches and warehouses
- Expiry risk and replenishment discipline
- Vendor deals, RFQs, and receipt controls on purchasing
What TechUltra delivered
- Extended product, brand, barcode, pricelist, and profit-related models
- Stock location ownership, internal transfers, replenishment, and expiry notifications and reports
- Purchase extensions: vendor targets, RFQ types, deals, receipt fields, and load-from-list
- POS stock transfer, lot barcode, and inventory adjustment sync patterns
| Capability | Role | Odoo area |
|---|---|---|
| Product master and barcodes | Master data, store | Product · POS |
| Location ownership and transfers | Warehouse, store | Inventory |
| Expiry alerts and reports | QC, operations | Inventory · Reporting |
| Vendor programs and RFQs | Purchasing | Purchase |
Finance, Cheques & Inter-Company
A Community accounting suite with pharmacy-specific controls.
Business problem
- Finance needs a full general ledger without Enterprise Accounting as the core stack
- Post-dated cheques and local payment instruments must be supported
- Multi-entity stock and document flows are needed between companies
What TechUltra delivered
- A Community accounting suite: GL, assets, budgets, bank import, follow-up, and recurring payments
- Cheque and post-dated-cheque extensions with dedicated reporting
- Inter-company rules for stock and purchase / sales coordination
- Tax balance, sales-tax detail, general ledger, and PDF / XLS reporting extensions
| Capability | Role | Odoo area |
|---|---|---|
| General ledger and assets | Finance | Accounting |
| Cheques / post-dated cheques | Finance, treasury | Accounting · Payment |
| Inter-company PO / SO / stock | Group finance | Multi-company |
| Management and tax reports | CFO, compliance | Reporting |
Platform Experience, Security & WhatsApp
Branded operations, role-based control, and customer engagement.
Business problem
- Staff need a consistent, professional backend — not a generic Odoo experience
- Over-exposure of menus and fields by role creates operational risk
- Customer engagement is needed through messaging and loyalty
- Arabic search and bilingual operations are required
What TechUltra delivered
- A backend theme and de-branding for a clean operator experience
- Custom user roles, menu and field restrictions, POS access rights, and IP allow-lists
- WhatsApp base, marketing, and POS-linked messaging — including loyalty over WhatsApp
- Arabic search extensions and a release-notes pattern for change communication
| Capability | Role | Odoo area |
|---|---|---|
| Branded web client | All back-office users | Web client |
| Role and menu restrictions | IT, audit | Security |
| WhatsApp notifications | Marketing, store | Messaging · POS |
| Arabic search | Store, purchasing | UX |
Operational transformation
A qualitative before-and-after. The "before" reflects the typical pre-platform pattern, not an audited baseline.
-
Before
Inconsistent checkout across branches
After
Enforced, policy-driven POS
-
Before
Country-by-country ERP silos
After
One core extended by regional packs
-
Before
Manual entry for digital channels
After
Integrated B2B and consumer channels
-
Before
Weak cashier session discipline
After
Enforced session lifecycle and reporting
Business value
-
Store consistency
Policy-driven checkout enforced at every branch.
-
Regional speed
New markets open by adding a pack, not rebuilding the ERP.
-
Operational visibility
POS, stock, and finance reporting in one place.
-
Omnichannel
B2B, mobile, and in-store share a single system of record.
-
Controlled rollout
Integrations enabled in phases to manage delivery risk.
-
Room to evolve
A structured Odoo library the team can extend over time.
Why Dawatech chose TechUltra
- Pharmacy retail experience at regional scale
- End-to-end delivery across POS, compliance, ERP, and digital channels
- A multi-country operating model proven on the Dawatech engagement
- Integration competence across statutory, payment, and corporate-ERP platforms
- A Community-first architecture that keeps licensing lean
- Honest scoping — a clear line between core, regional, and optional modules
Similar use cases
| Profile | Parallel from Dawatech |
|---|---|
| Pharmacy chains across the GCC and Levant | Regional compliance packs |
| Retailers handling insurance at the point of sale | NPHIES / insurance POS flows |
| Multi-entity retail groups | Inter-company finance and stock |
| Operators running B2B ordering portals | The DawaOrder vendor portal |
| Businesses pairing SAP with a store-level ERP | The SAP connector and sync jobs |