A pharmacy POS system in Bangladesh needs five core features that generic POS software doesn't provide: batch and expiry date tracking with FEFO (First Expired, First Out) logic, prescription management, role-based access for pharmacist/manager/owner, VAT-compliant invoicing, and daily cash close reporting. If your current POS can't handle these, you're running two systems — and one of them is probably an Excel sheet.

I built a pharmacy POS system using Laravel that handles all of these features. This article shares what I learned about what pharmacies actually need versus what POS vendors sell them. If you're a pharmacy owner or manager in Dhaka evaluating your options, this is the feature checklist you should use.

Why Generic POS Systems Fail for Pharmacies

Most POS systems are built for retail shops and restaurants. They handle sales, basic inventory, and receipts. But a pharmacy isn't a retail shop — it's a regulated healthcare business with specific requirements that generic tools can't meet.

Batch numbers and expiry dates. Every medicine in your inventory has a batch number and an expiry date. Generic POS systems track quantity but not batch details. You end up tracking this in Excel — which means you're maintaining two systems and the data never matches.

FEFO logic. Pharmacies must sell the batch closest to expiry first (First Expired, First Out). Generic POS systems sell whatever's first in the list. Without FEFO, you lose money on expired stock sitting on your shelves.

Prescription tracking. Many medicines require a prescription. Your POS should record which prescription triggered a sale — for regulatory compliance and in case of audits. Generic POS doesn't know prescriptions exist.

Role-based access. The cashier shouldn't see purchase prices. The pharmacist needs to manage inventory but shouldn't access financial reports. The owner needs everything. Generic POS usually has just "admin" and "user" — no granular permissions.

VAT compliance. Bangladesh pharmacy invoicing requires specific VAT calculations and formats. Generic POS systems use international tax formats that don't match NBR (National Board of Revenue) requirements.

The 7 Essential Features for a Pharmacy POS

1. Batch and Expiry Date Tracking

Every time you receive medicine, you record the batch number, expiry date, and quantity. The system tracks which batch each unit belongs to. When you sell, the system knows exactly which batch that unit came from. This is non-negotiable for any pharmacy POS.

2. FEFO (First Expired, First Out) Inventory

When you have multiple batches of the same medicine, the system should automatically suggest selling the batch with the nearest expiry date first. This reduces expired stock waste — which directly saves you money. In my experience, pharmacies without FEFO typically lose around 3–8% of their inventory to expired products they could have sold earlier.

3. Prescription Management

Record which prescription led to a sale. Link medicines to prescriptions. Track prescribing doctors. This creates an audit trail that protects your pharmacy during regulatory inspections. It also helps you identify patterns — which doctors prescribe which medicines most frequently.

4. Role-Based Access Control (RBAC)

Different users see different data:

  • Owner: Full access — financials, inventory, sales, reports, user management
  • Manager: Inventory management, sales reports, staff oversight — no financial data
  • Pharmacist: Prescription processing, inventory lookup, expiry alerts — no pricing or financial reports
  • Cashier: Sales processing only — no inventory or financial access

I implemented this using Spatie Laravel Permissions in my pharmacy POS build. It provides fine-grained control without reinventing the wheel.

5. VAT-Compliant Invoicing

Bangladesh pharmacies must issue invoices that comply with NBR VAT rules. Your POS should calculate VAT correctly, format invoices according to local requirements, and generate reports that match what auditors expect. This includes proper treatment of tax-exempt items and different VAT rates for different product categories.

6. Daily Cash Close

At the end of each day, the system should reconcile: total cash received, total card/digital payments, total sales, any discrepancies, and cash drawer balance. This should be a single-click report — not something you manually calculate from receipts. A proper daily cash close prevents theft and catches errors early.

7. Low Stock and Expiry Alerts

The system should automatically alert you when:

  • Any medicine drops below minimum stock level
  • A batch is approaching expiry (within 30/60/90 days)
  • A medicine is completely out of stock
  • A slow-moving product is taking up shelf space

What Most Pharmacy POS Systems Get Wrong

Having built a pharmacy POS from scratch, here are the mistakes I see in existing systems — and what to watch for when evaluating options:

Treating batch tracking as optional. Many POS systems add batch tracking as an afterthought — a text field you can fill in if you want. For a pharmacy, batch tracking must be mandatory. Every sale must be linked to a batch.

No expiry date alerts. Tracking expiry dates is useless if the system doesn't proactively alert you. You need automated alerts at 90, 60, and 30 days before expiry — not a report you have to remember to check.

Single-level access control. A system with just "admin" and "user" roles doesn't work for a pharmacy with multiple staff members. You need at minimum 3–4 distinct roles with different permissions.

No PDF reports. Pharmacy owners need printable daily reports, monthly summaries, and stock statements. If your POS only shows data on screen, you can't share it with accountants or auditors.

Ignoring medicine forms. A pharmacy sells tablets, capsules, syrups, injections, ointments, and more. Each form has different units (strips, bottles, pieces). Your POS should handle multiple units per medicine without confusing the inventory count.

Pharmacy POS Cost in Bangladesh

For a full-featured pharmacy POS with all seven essential features, expect to pay:

  • SaaS POS subscription: ৳1,000–৳5,000/month — you never own it, data on their servers
  • One-time license (local software): ৳30,000–৳80,000 + yearly renewal
  • Custom POS (freelance developer): ৳60,000–৳1,50,000 one-time, you own it forever
  • Custom POS (agency): ৳2,00,000–৳5,00,000+

For a detailed cost comparison, see POS software cost in Bangladesh. For the decision between custom and ready-made, see custom vs ready-made software.

When to Build a Custom Pharmacy POS

You should invest in a custom pharmacy POS when:

  • Your current POS can't track batch numbers and expiry dates properly
  • You're maintaining a separate Excel sheet for medicine inventory
  • Your staff needs different access levels but the system doesn't support it
  • You need VAT-compliant invoices that match NBR requirements
  • You're losing money on expired stock because there's no FEFO system
  • You have multiple branches and need centralized inventory management

Frequently Asked Questions

What features does a pharmacy POS system need in Bangladesh?

A pharmacy POS in Bangladesh needs batch and expiry date tracking (FEFO), prescription management, role-based access for pharmacist/manager/owner, VAT-compliant invoicing, daily cash close reporting, and low stock alerts.

What is FEFO in pharmacy inventory management?

FEFO stands for First Expired, First Out. It's an inventory method where the medicine closest to expiry is sold first. This prevents medicines from expiring on the shelf and reduces financial losses for the pharmacy.

Why do generic POS systems fail for pharmacies?

Generic POS systems don't handle batch numbers, expiry dates, FEFO logic, prescription tracking, or pharmaceutical VAT rules. Pharmacies end up running a second system alongside the POS, which defeats the purpose.

How much does a custom pharmacy POS cost in Bangladesh?

A custom pharmacy POS from a freelance developer in Bangladesh costs ৳60,000–৳1,50,000 one-time; agency builds typically run ৳2,00,000–৳5,00,000+. SaaS POS costs ৳1K–5K/month and one-time license software costs ৳30K–80K.

Faysal Mahmud Prem

Faysal Mahmud Prem

Software Engineer · IT Consultant

Building software that helps businesses work better — from scalable back-end systems to responsive front-end interfaces.