Skip to content
BUILT FOR SMALL & MEDIUM PHARMACIES & MEDICAL STORES

Eight modules. One pharmacy.

From the rack number on a bottle of syrup to end-of-day sales reports — purpose-built for small to medium size pharmacies and medical stores.

8

Modules, one login

34

Tracked fields per product

5

Built-in report types

4+

Roles, plus unlimited custom

01 · PRODUCT DATA

Built for what's actually on the label.

A generic product form was never going to fit a pharmacy. Medishelf's product record carries 34 fields a pharmacist actually needs — from schedule class to pregnancy category — so nothing gets tracked in a side notebook. This is the layer that makes Medishelf a genuine medicine inventory management system rather than a retail tool with medicine bolted on.

Identity & composition

Generic name & brand Barcode & SKU Strength & dosage form Active ingredients Route of administration Unit of measure

Regulatory & clinical

Schedule class HSN / NDC codes Prescription required flag Pregnancy category Storage conditions

Store operations

Rack / shelf location Minimum stock level Tax rate per product Package type & size Active / inactive status
02 · BATCH & EXPIRY

Every batch, tracked to the unit.

Products don't lose stock in one lump — they lose it in batches, at different costs, from different suppliers, expiring on different days. Medishelf's ledger records every one of those movements, and the POS terminal reads straight from it to sell the earliest-expiring batch first (FEFO), automatically.

MOVEMENT TYPES
Purchase · Sale · Damage · Return · Adjustment
PER BATCH
Cost price, selling price, supplier, expiry
  • Low-stock alerts on the dashboard and a dedicated alerts page
  • Inventory value report shows total stock valuation at cost or retail
  • Manual stock adjustments always require a reason, logged against the batch

STOCK MOVEMENT LEDGER

PURCHASE · AX-1187+500
SALE · AX-1187−286
ADJUSTMENT · AX-1187−2
BALANCE212 units

Every row above is a real entry in a pharmacy stock management system, not a summary — so a stock discrepancy can always be traced back to the exact purchase, sale or adjustment that caused it.

03 · POS TERMINAL

Fast enough for a lunchtime queue.

A pharmacy point of sale and inventory system only earns its place at the counter if it's faster than the queue, not slower. Medishelf's terminal is built keyboard-first, searches as you type, and settles every sale against the server before it prints — so a busy till never oversells a batch or checks out at the wrong price.

F2

Search

F4

Discount

F9

Checkout

Esc

Clear cart

Search by name, barcode, or composition

Results appear as you type, with arrow-key navigation to the right item.

Automatic FEFO batch selection

A "best expiry" badge shows exactly which batch a sale will draw from.

Item and cart-level discounts

Apply a percentage to one line, or to the whole transaction.

Customer lookup at checkout

Link a sale to a customer to update loyalty points and lifetime spend.

Cash, card, UPI & split payments

Take part-cash, part-card on the same invoice without a workaround.

Server-verified pricing

Every price is checked against the server before checkout, not just the screen.

Oversell protection

Two tills open on the same batch can never both check out the last unit.

Auto-numbered invoices

Every sale gets a sequential invoice number, searchable in invoice history.

CUSTOMER · PRIYA SHARMA Loyal

Lifetime spend

$1,240

Loyalty points

312

Store credit

$15.00

Last visit

2 days ago

04 · CUSTOMERS & LOYALTY

Every regular customer, remembered automatically.

A customer record updates itself at every sale — no separate loyalty spreadsheet, no manual point-counting at the register. Link a sale to a customer once, and lifetime spend, loyalty points, and last-visit date all stay current on their own.

  • Contact details, date of birth and free-text notes per customer
  • Outstanding balance and store credit tracked per account
  • Loyalty points accumulate automatically on every purchase
05 · ACCESS CONTROL

The cashier shouldn't see the P&L.

Four built-in roles cover most stores on day one, and the Owner role always keeps full access so nobody can lock themselves out. When the defaults don't fit, build a custom role from module-level permissions — view, create, edit, delete — across every part of the system.

Permission modules

Products Inventory Sales Reports Customers Users Roles Settings

Actions per module

View Create Edit Delete

Owner

Full access, always

Manager

Store operations & reports

Pharmacist

Products & dispensing

Cashier

POS terminal only

06 · REPORTS & ANALYTICS

Five reports, one habit: check them daily.

The dashboard opens on the five numbers a pharmacy owner actually checks each morning, then lets you drill into a full report for any of them, filtered by date range — today, yesterday, the last 7 or 30 days, or a full month.

Sales report
Profit & loss
Inventory value
Expiry report
Fast-moving items

Turn on a daily PDF summary — revenue, profit, top products and low-stock alerts — delivered by email at a time you set, in your store's own timezone.

DASHBOARD · TODAY

Today's sales

$2,180

Monthly profit

$9,640

Inventory value

$41,200

Low stock items

14

Expiring within 30 days

7 batches

The same five figures anchor the dashboard whether you check it once a day or once an hour — no separate export needed to see where things stand.

07 · AUDIT TRAIL

If it changed, it's logged.

Every edit records a before-and-after state, the IP address and browser it came from, and a correlation ID for tracing a problem back to the exact request that caused it. Passwords, tokens and emails are redacted automatically before anything touches a log file, so the audit trail stays useful without exposing sensitive data.

Login / logout Product updated Staff user created Sale processed Password reset

action: PRODUCT_UPDATED

field: selling_price

before: $96.00

after: $102.00

ip: 10.0.4.18

correlation_id: c7f1-9a2e

08 · SECURITY & MULTI-STORE

Your data, isolated from every other pharmacy on Medishelf.

Medishelf is multi-tenant software: every product, batch, sale and customer record is scoped to your store at the database layer, so no other account can query or view it. Getting set up is a guided three-step flow, not a support ticket.

Guided onboarding

Create your store, set country/currency/timezone, then choose a plan — three steps, no setup call required.

Rate-limited logins

Login attempts are capped per minute, per account, to slow down anyone guessing a password.

Encrypted passwords

Passwords are hashed before storage — nobody at Medishelf can read a staff member's actual password.

Self-service password reset

A reset link expires after one hour, so a forgotten password never becomes a standing risk.

Validated input, every request

Every form and API call is checked against a strict schema before it touches your data.

Localized per store

Country, currency and timezone are set once at onboarding, so reports and taxes line up from day one.

See it running on your own product list.

Or read how five small pharmacies put these modules to work in real case studies.