Skip to content
Money & reports

Reports: sales, stock and aging

Pharmacy sales, stock and purchase reports, plus udhaar and payables aging, with filters, print, Excel and CSV export, per branch or all branches.

The Reports screen answers the questions you would otherwise work out on a calculator at closing time. Which medicines sold most this month? Which cashier gave the most discounts? What is on the shelf, and who owes you udhaar? This guide covers every pharmacy sales and stock report in MediPOS: what each one shows, how to filter it, and how to print it or download it for Excel. It is written for owners, managers and accountants.

Open Money → Reports. If Reports is not in your menu, your plan does not include it. The owner can see what each plan includes under Plan & billing.

The reports, group by group

The screen shows the reports as cards in four groups. Click a card to run that report.

Sales

ReportWhat it shows
Daily salesEach day's bills, gross, discounts, returns, net sales, sales tax, cost and profit, and how customers paid: Cash, Card & bank, Wallets and Udhaar
Sales by productWhat sold, returned and net quantity per medicine, with revenue, cost, profit and margin. Best sellers come first.
Payments at the counterCash, card, bank, JazzCash, EasyPaisa and udhaar: what was received, what was refunded, and the net
Sales by cashierBills, voids, discounts given, returns taken, net sales and average bill per staff member
Discounts & price changesEvery bill with a discount or a changed selling price, and who gave it
Voided billsEvery cancelled bill: who rang it, who voided it, the amount and the reason

Stock

ReportWhat it shows
Stock valuationStock on hand now, including quarantine, with cost value, retail value and potential profit
Low stock & reorderMedicines at or below their reorder level, and ones that sold out but keep selling, with a suggested order
Slow-moving & dead stockStock that has not sold for the period you choose, with its cost value
Stock in & outOpening stock, what came in, what went out, how much of that was sold, and closing stock, per product

Purchases

ReportWhat it shows
Purchases by supplierWhat you bought from each supplier, what went back, the net, and what you owe them now
Purchases by productPaid and bonus (scheme) quantities per medicine, and the real cost per unit

Money owed

ReportWhat it shows
Udhaar — who owes youEach customer's balance, split into Not due yet, 1–30 days, 31–60 days, 61–90 days and Over 90 days
What you owe suppliersThe same split for supplier bills, aged from each bill's due date

In both aging reports, Opening / other holds opening balances and advances that are not tied to a bill, so each row adds up to the balance. A negative udhaar balance means the customer has paid in advance.

Below the groups, Elsewhere in MediPOS links to screens that work like reports: Profit & loss, Expiry, Expenses, Shifts and Balance sheet. You only see the ones your role and plan allow.

How to filter a report

Each report shows only the filters it uses:

  • From and To set the period. A report opens on the current month, from the 1st to today. One run can cover up to one year. For a longer stretch, run it twice.
  • Product searches by name or generic, for example "amoxicillin" to see every brand you stock.
  • Not sold for (slow-moving only) takes 30 days, 60 days, 90 days, 6 months or A year.
  • Branches lets you choose your branch or All branches (see below).

The stock and aging reports have no period. They show the position today, marked "As on" with the date. A short note under the title explains how to read the numbers, for example that quantities are in the smallest unit (tablets, not boxes).

Totals appear as cards at the top and as a Total row at the bottom. When a report runs over several pages of 100 rows, the total still covers every row, not just the page you see. Product, supplier and invoice names are links, so you can jump straight to the record.

How to print or export a report

  • Print / PDF prints the page as you see it, without the filters, so a long report prints only the 100 rows on screen. Choose "Save as PDF" in the print window to keep a file.
  • Excel downloads an .xlsx file with every row, not just the page on screen, and numbers you can add up.
  • CSV downloads the same rows as a CSV file. Urdu product and customer names open correctly in Excel.

The download uses exactly the filters you have set. The file name includes your pharmacy name, the report and the dates.

Per branch or all branches

Reports show the branch you are working in. With the All-branch reports permission, the Branches filter adds All branches to combine every branch in one report. The two aging reports always cover all branches, because a customer or supplier balance is shared by all of them. The Offline edition runs one branch, so its reports are always the whole shop.

Rules and tips

  • Opening Reports needs View reports. Cost columns are only shown to people allowed to See purchase cost. Profit, Margin and Potential profit are only shown to people allowed to View profit. Hidden columns are also left out of the Excel and CSV files, so a cashier's download never shows your margins.
  • Reports read the posted records, so a held bill or an unposted draft does not appear.
  • Returns count on the day the goods came back, not the day of the original sale. Voided bills drop out of sales and show in Voided bills.

Common questions

How do I see this month's sales for each medicine?

Open Sales by product. It opens on the current month, with the best sellers at the top. Type a name in Product to find one medicine.

Can I send a report to my accountant in Excel?

Yes. Set the filters, click Excel, and send the downloaded file yourself. MediPOS does not email or message reports.

Why can't I see the Profit column?

Your role does not include View profit. Ask the owner to add it under Roles, if your plan allows custom roles.

Why does the report say to choose a period of up to one year?

One run covers at most a year. Split a longer period into two runs, such as July to December and January to June.

Last updated 25 September 2026. Still stuck? Contact us.