Rx PharmaDesk
Built to replace a subscription

Billing software that doesn't rent you your own data.

PharmaDesk is a Windows application for Indian medical shops. GST invoicing, batch and expiry tracking, UPI payment QR, Schedule H registers, supplier purchases and the reports a pharmacy actually has to file. It runs on one PC, works with the internet unplugged, and keeps its data in a single file you can copy.

378,497medicines in the catalogue
254,881Indian products
12,324molecules
₹0per year, forever

Why it exists

A friend runs a medical shop. He paid a yearly subscription for software he could not get support for, and when he wanted to see his own data he was told to open a .BAK file — which he tried, in Notepad. The data was never actually locked; nobody had told him that. This is the replacement.

What he had

  • A yearly licence fee with no support attached to it
  • Backups in a format he had no way to read
  • No way to say "this one thing wastes thirty seconds, forty times a day"
  • Features he paid for, buried in a menu tree of roughly 250 items

What he has now

  • No licence, no renewal, no vendor who can switch it off
  • One SQLite file, backed up on a schedule, restorable from the app
  • A feedback screen that takes ten seconds and works offline
  • The screens a counter actually uses, reachable by keyboard

What it does

Everything below is built around the way a pharmacy counter actually works: fast keyboard billing, correct tax, and the registers a drug inspector can ask for.

GST billing that adds up

MRP-inclusive tax worked backwards to the taxable value, CGST and SGST split per line, and every amount held as whole paise. No floating point touches money at any point, so a bill total is the same number every time.

Batches and expiry, first-expiry-first-out

Stock is tracked per batch with its own MRP and expiry. Billing picks the batch that expires soonest, and every movement is written to an append-only ledger rather than a quantity that gets overwritten.

UPI payment QR on the bill

The shop's own UPI ID, the exact bill amount and the bill number encoded into a standard upi://pay link. The customer scans and pays; no gateway, no merchant account, no percentage taken.

Schedule H and H1 registers

Prescription-only sales recorded with the doctor, the patient and the quantity, in the form Rule 65 asks for — produced from the bills themselves rather than kept as a second book that drifts out of step.

It works with the internet unplugged

Nothing in the billing path touches the network. Feedback you send is written to a local queue first and drains when a connection appears, so a dead line costs you nothing at the counter.

Your data stays a file

One SQLite database, backed up on a schedule to wherever you choose, restorable from inside the app. Exports are CSV. Nothing about it requires this software to still exist in five years.

What it looks like

Demonstration data from a fictional shop. Nothing below is a real pharmacy, customer or prescription.

A recorded walkthrough of PharmaDesk: searching a product, adding it to a bill, taking payment and printing a receipt.
A bill from search to printed receipt.
The billing screen with items in the cart, each showing its batch and expiry.
Billing. Search, pick a batch, keyboard throughout.
The payment dialog showing a UPI QR code for the exact bill amount.
Payment, with the UPI QR carrying the exact amount.
The GST summary report broken down by tax rate.
GST summary, by rate, for the filing period.
The product master listing medicines with composition, manufacturer and stock.
The product master, with composition and stock on hand.
The dashboard showing today's sales, low stock and items nearing expiry.
What needs attention today: takings, low stock, near expiry.
A printed 80mm thermal receipt showing items, batch numbers, GST and the total.
An 80 mm thermal receipt, batch numbers and GST included.

The medicine catalogue

A pharmacy till knows what is on the shelf. It does not know what is in the box. Two questions come over the counter constantly — "do you have something else with the same salt?" and "can they take this?" — and both are answered from composition and the regulator's own label text.

378,497 products

India and the United States, from openFDA's drug directory, the NPPA essential medicines list, and a brand-to-composition dataset for the Indian market.

Safety on the molecule

Paracetamol's liver warning is stored once, not copied onto 3,755 brands of it. Label text is the manufacturer's own wording, never summarised.

Ceiling prices

What NPPA says a scheduled formulation may legally be sold for, as whole paise. Charging above it is an offence under the DPCO, not a pricing preference.

Ask it what else has the same composition:

# the brand a prescription actually names
GET /v1/search?q=dolo+650&market=IN
    → Dolo 650 Tablet · paracetamol@650mg · Micro Labs Ltd

# 555 other brands a pharmacist could hand over instead
GET /v1/medicines/182762/alternatives?market=IN

# or straight from typed text, however the label writes it
GET /v1/alternatives?composition=PARACETAMOL%20IP%20650%20MG
    → parsed as paracetamol@650mg
The API is self-hosted. There is no public instance, and that is the point — the catalogue is one file on the shop's own machine, so it still answers during a power cut or an outage. The published reference describes it; the service serves the same pages at 127.0.0.1:8910/docs with the calls live.