Request A Quote

Follow Us On:

  1. Home
  2. Case studies
  3. Rand Baghdad
Case study · Pharmaceutical distribution

Rand Baghdad

Batch, lot and expiry-controlled procurement, warehousing and B2B sales for an Iraqi pharmaceutical business.

Industry
Pharmaceutical distribution
Location
Iraq
Apps
5 connected apps
Scope
6-step process
Products used
Services
Odoo ERP implementationSystem integration
At a glance
Every product tracked by lot and expiry
Receipts validated before stocking
Distributor orders picked by batch
Collections tracked per distributor
The challenge

What Rand Baghdad needed to fix

Rand Baghdad is an Iraqi pharmaceutical business dealing in herbal medicines, supplements and cosmetics. Every product is received, stored and sold by batch with expiry control.

  1. Batch and expiryEvery product line needed lot and expiry tracking.
  2. Receiving checksSupplier deliveries had to be validated on receipt.
  3. Distributor ordersB2B orders were picked by batch for dispatch.
  4. CollectionsInvoices and collections had to be tracked per distributor.
Warehouse worker scanning stock in a racked aisle
Warehouse worker scanning stock in a racked aisle. Photo credit
Before and after

What changed for the team

BeforeAfter

Every product line needed lot and expiry tracking

Lots, expiry dates and FEFO removal managed in Odoo Inventory

Supplier deliveries had to be validated on receipt

Receiving checks in Odoo Quality before stock is accepted

B2B orders had to be picked by batch for dispatch

Distributor orders picked by batch and shipped from Odoo

Invoices and collections had to be tracked per distributor

Invoicing and collections tracked per distributor in Odoo Accounting

How it works

The business process, step by step

  1. 01

    Product and batch master

    Products are set up in Odoo with lot and expiry tracking, covering herbal medicines, supplements and cosmetics, so every item is controlled by batch from the moment it enters the system.

  2. 02

    Supplier procurement

    The purchasing team raises supplier orders in Odoo Purchase. Each confirmed order creates an expected receipt in Odoo Inventory, so incoming deliveries are known before they arrive at the warehouse.

  3. 03

    Receiving and validation

    When goods arrive, the warehouse team runs receiving checks in Odoo Quality and records the lot number and expiry date for each product, so only validated deliveries are stocked.

  4. 04

    Warehouse allocation

    Validated stock is put away to warehouse locations in Odoo Inventory. Lots and expiry dates stay attached to the stock, and FEFO removal sets which lots are picked first.

  5. 05

    B2B sales

    Distributor orders are entered in Odoo Sales using each distributor's price list. Orders are picked by batch, with Odoo Inventory applying FEFO so the earliest-expiring lots go out first.

  6. 06

    Delivery and collections

    Picked orders are shipped to distributors and invoiced in Odoo Accounting, where collections are tracked per distributor. Lots remain traceable from supplier to the distributor that received them.

The solution

What we built for Rand Baghdad

Shyphan delivered the project on Odoo Inventory, Odoo Purchase, Odoo Sales, Odoo Accounting and Odoo Quality, covering a 6-step process with 4 integration points.

  • Lots, expiry dates and FEFO removal
Odoo Inventory
Odoo Inventory interface
Odoo Inventory product screenshot, for illustration
  • Supplier orders
Odoo Purchase
Odoo Purchase interface
Odoo Purchase product screenshot, for illustration
  • Receiving checks
Odoo Quality
Odoo Quality interface
Odoo Quality product screenshot, for illustration
  • Distributor orders and price lists
Odoo Sales
Odoo Sales interface
Odoo Sales product screenshot, for illustration
  • Invoicing and collections
Odoo Accounting
Odoo Accounting interface
Odoo Accounting product screenshot, for illustration

Who uses it

Purchasing

Raise and follow supplier orders in Odoo Purchase, so receipts and stock levels are planned ahead.

Warehouse and quality

Run receiving checks in Odoo Quality, record lots and expiry dates, and put stock away to locations.

Sales team

Enter distributor orders in Odoo Sales with the right price list and follow them through to dispatch.

Finance

Invoice distributors in Odoo Accounting and track collections and outstanding balances for each distributor.

Architecture

How the systems connect

InputsSupplier deliveriesDistributor orders
Delivered by Shyphan
OutputsDistributor dispatchLot traceability

Integrations

  • Batch and expiry traceability

    Lots traced from supplier to distributor.

  • Procurement to stock

    Receipts update stock.

  • Distributor order to dispatch

    Orders picked and shipped.

  • Tax and e-invoice

    Added only after a review of Iraqi rules.

Reports and dashboards

Stock by lot and expiry

Stock on hand by lot number and expiry date across warehouse locations in Odoo Inventory.

Receiving quality checks

Quality checks performed on supplier receipts in Odoo Quality, with pass or fail results.

Distributor sales

Orders and sales for each distributor and price list, from Odoo Sales.

Collections by distributor

Invoices, payments received and outstanding balances per distributor in Odoo Accounting.

The results

What the system does now

  • Every product tracked by lot and expiry
  • Receipts validated before stocking
  • Distributor orders picked by batch
  • Collections tracked per distributor
Delivery

Five phases, discovery to support

  1. 01
    Discovery

    Process mapping, documents and data reviewed with each team.

  2. 02
    Design

    Target flow agreed across 5 apps and 4 integration points.

  3. 03
    Build

    Apps configured, custom logic built and integrations connected.

  4. 04
    Test and train

    User acceptance testing with real scenarios and role-based training.

  5. 05
    Go-live and support

    Cut-over, hypercare and ongoing improvements.

Local rules built in

Rules review first

Tax and e-invoice integration added only after a review of current Iraqi rules.

IQD and USD

Dual-currency pricing and accounting.

Access control

Role-based access with audit logs.

FAQ

Questions about this project

How are lots and expiry dates controlled?

Every product is tracked by lot and expiry date in Odoo Inventory, recorded when supplier deliveries are received and checked. FEFO removal means the earliest-expiring lots are picked first for distributor orders, and lots are traced from supplier to distributor.

What happens when a supplier delivery arrives?

The receipt is validated through receiving checks in Odoo Quality before stock is accepted. Lot numbers and expiry dates are recorded, the receipt updates stock in Odoo Inventory, and the goods are allocated to warehouse locations.

Are Iraqi tax and e-invoicing requirements configured?

Tax and e-invoicing are added only after a review of Iraqi rules, so they were not assumed as part of the standard setup. Invoicing and collections run in Odoo Accounting, and any tax or e-invoice configuration follows that review.

Ready to write your own success story?

Send us your brief and a senior consultant will reply within 1 hour with scope, timeline and a fixed quote. No spam, no junior reps.

Talk to us

Where this service is weak - and what we do about it

We are not the cheapest, and we decline work where the budget will not cover doing it properly or where the product is the wrong answer.

How we handle it: You get a written recommendation after the free discovery call either way, including when that recommendation is not to proceed.

Vikas Saroj, Co-Founder and COO at Shyphan AI Solutions

Written and reviewed by Vikas Saroj, Co-Founder, COO & Growth at Shyphan AI Solutions, who owns delivery across India, the Gulf and the UK. Last reviewed on 14 September 2026. Meet the team · LinkedIn