Feb – Mar 2026

PharmaFlow

React Native | B2B | OCR + GenAI

PharmaFlow cover

Introduction

Running a medical shop from a phone.

PharmaFlow digitizes the daily grind of a pharmacy: stock levels, purchase bills, supplier books, expiry tracking and the sales counter — as a React Native app backed by a JWT-secured API. It's in closed testing with 30 pharmacy stores.

The dashboard answers the questions an owner actually asks each morning: what's low, what's expiring within 30 days, what needs reordering, and how sales are moving.

The pipeline

Invoices that type themselves.

Suppliers hand over dense paper invoices; typing them in is the single most hated chore in the shop. PharmaFlow captures the bill with the camera and runs it through an OCR pipeline — PaddleOCR for extraction with GenAI post-processing to normalize batch numbers, expiry dates and MRPs.

Extracted line items land in an editable review screen before anything is committed, so the human stays in charge — then a confirmed bill updates inventory lots in one tap.

The counter

Two point-of-sale modes.

Stores on the automated tier tag products with QR codes: the camera scans a tag, pulls the product, and builds the cart with a debounce lock so double-scans never double-bill. The manual tier gets a fast search-driven cart instead — same sale preview and confirm flow.

Access is role-scoped end to end: JWT bearer auth with automatic logout on expiry, role checks in the client, and subscription packages gating which POS mode a store unlocks.

PharmaFlow architecture diagram

30

pharmacy stores in closed testing

2 tiers

subscription packages gating POS capabilities

180s

OCR budget — big invoices parse without timeouts

What's inside

Key features.

QR point-of-sale

Camera-scanned product tags build the cart, with a scan lock to prevent double-billing.

Bill scanning

Photograph a supplier invoice → OCR + GenAI extraction → editable line review → posted bill.

Owner's dashboard

Low stock, expiring-soon (30 days), deficit reorder list and stock totals at a glance.

Inventory with lots

Per-product stock expands into batch lots with expiry-aware disposal flows.

Bills & payments

Purchase bills with record-payment, confirm and delete lifecycles.

Sales history

Every sale kept with a full invoice detail view.

Products & suppliers

Full CRUD for the catalog and the supplier book.

Tiered access

JWT auth, role checks and subscription packages that gate QR vs manual POS.

Built with

React NativeExpoNode.jsPrismaPostgreSQLGenAI