Chapter 1 · Getting started
What PharmaDesk is, how to sign in, what is where on the screen, switching language and branch, and which menus each role sees
PharmaDesk keeps your whole pharmacy in one place: sales (POS), stock and expiry, purchases, customer dues, expenses, accounts and reports. This chapter covers the first-day basics so anyone on the team can start with confidence.
PharmaDesk runs in a web browser (Chrome or Edge work best). The owner creates an account for you; you sign in with your Mobile number and Password.

01XXXXXXXXX).Most roles land on the Dashboard after signing in. Cashiers go straight to POS / New sale so they can start selling at once.
The sign-in page has an EN / বাংলা switch at the top right, so you can pick the language before signing in.

Left menu (sidebar): the pharmacy name at the top, then the menu in sections — Overview, Online shop, Sales, Inventory, Purchasing, Finance, Accounting, Reports, HR, Admin. The page you are on is highlighted in green. Menus your role is not allowed to use are not shown at all.
Top bar (header), from right to left:
On a phone: the sidebar is hidden. Tap the three-line (☰) button at the top left to open the menu; it closes by itself when you pick a page.

Coloured banner at the top: when the free trial or subscription has 7 days or fewer left, it shows "Free trial: N days left." or "Subscription: N days left." with a Subscribe link. If your licence has expired but is in its grace days, a yellow banner appears. Details: Payments, licence & AI.
The whole app changes at once. Your choice is saved on your account. Staff who have never picked a language see the owner's Default language (Admin › Settings › Receipts). A few texts without a Bangla translation yet still show in English.
If the pharmacy has more than one branch, each branch has its own stock, cash drawer, sales and purchases.
The page reloads with that branch's data, and the choice is remembered next time you sign in. With only one branch you just see its name instead of a drop-down. If the owner has tied a staff member to one branch, that person only sees that branch.
PharmaDesk has no page for changing your own password yet. To change a password, or if you forgot it:
A new password needs at least 6 characters. Changing it signs that user out on every device; they sign in again with the new password. Details: Owner setup.
Every user has one role. The menu follows the role:
| Role | Sees |
|---|---|
| Owner | Everything, including all Admin settings |
| Manager | Sales, Inventory, Purchasing, Finance, Accounting, Reports, HR, Online orders; in Admin only Import data and Audit log |
| Pharmacist | Dashboard, POS, Sales (not commission), Customers, Doctors, Prescriptions, Medicines & products, Stock, Expiry, Reorder |
| Cashier | Dashboard (own sales today), POS, Sales history, Returns, Cash shifts, Customers, Prescriptions, Medicines & products |
| Store keeper | Dashboard, all of Inventory (stock-in, adjustments, transfers, stock count) and all of Purchasing |
| Accountant | Dashboard, Sales history, Doctor commission, stock views, Purchasing, Finance, Accounting, Reports |
The AI assistant is available to owners, managers, pharmacists, store keepers and accountants (not cashiers). My AI connections only appears when your plan includes the AI connector. Modules that are not in your plan (for example HR) are hidden from the menu.
Opening a page your role can't use shows a "No access" page. If you need it, ask the owner; they can change your role.
Stuck on a page? Press Help (?) in the header. It opens the guide chapter written for that page — on the POS, for example, the Daily sales chapter. For problems see Troubleshooting, and for unfamiliar words the Glossary.
You can practise on a demo before touching real data. Opening the /demo page on the PharmaDesk website builds a sample pharmacy just for you, with medicines, stock and a month of sales, and signs you in automatically. Nothing in it is real, and it is deleted after 24 hours.
01700000001 (Owner) to 01700000006 (Accountant), password 123456. These work on the demo only.Chapter 2 · Owner & setup
Pharmacy profile and settings, staff and roles, branches, receipts and printers, labels, importing data, backup and the audit log
Before the first sale, the owner sets up the pharmacy details, staff accounts, branches and printers, and brings in old data. This chapter covers each step.
Open Admin › Settings. The top shows your Subscription (plan, expiry, branches and users).

Pharmacy profile — printed on receipts, invoices and reports:
The sections below are saved together with the Save settings button:
Admin › Users & roles lists everyone who can sign in. Each user has one role and, optionally, one branch.

Adding a staff member:
What the roles mean:
| Role | Can do |
|---|---|
| Owner | Everything, including settings and users |
| Manager | Almost everything except settings: void sales, larger discounts, change prices, stock, purchases, accounts, reports, HR, import, audit log |
| Pharmacist | Sales, returns, customers, doctors, prescriptions, the medicine list |
| Cashier | Sell at the POS, customers; discounts up to the cap |
| Store keeper | Stock-in, purchases, adjustments, transfers, stock counts |
| Accountant | Payments, expenses, accounting, reports, doctor commission |
For the full list, open What each role can do at the bottom of the page.
Editing, passwords and deactivating — at the right of each row:
Admin › Branches lists each branch with its number of users and batches in stock. Each branch has its own stock, cash drawer, sales and purchases.

DHN) — it appears on document numbers.To close a branch, open it with the pencil icon and untick Active; closed branches disappear from the branch switcher in the header.
Open Admin › Printers & labels.

How to print receipts:
Also choose the Receipt language (Bangla receipts print as an image on thermal printers), Cut paper after each receipt, Open the cash drawer when printing, and the Default label size, then press Save. The paper size is changed in Settings › Receipts.
Connecting the printer on each counter (the Printers on this computer section):
Supported: ESC/POS receipt printers (Xprinter, Rongta, Epson, Gprinter) and TSPL label printers (TSC, Xprinter label series). The browser remembers the printer.
On Inventory › Medicines & products press Labels (or Print labels on a purchase, which brings in every batch from that delivery).

Admin › Import data brings medicines, stock, customers, suppliers and doctors in from an Excel or CSV file. Import in the numbered order: Medicines & products first, then Opening stock, then Customers & dues, Suppliers & payables, Doctors.

Opening stock goes into the branch selected in the header, in units (tablets, bottles), not strips. The Pick from the master medicine list card adds medicines without typing.
The Backup & restore page exists only in the installed (on-prem) edition of PharmaDesk, and only the owner can open it, from the button at the top of Settings. The online (cloud) edition has no such page.
Admin › Audit log shows who changed what and when: voided sales, price changes, settings, users, stock adjustments and more. Filter by date range, All users, All records and the search box (for example void). The Details column shows the before and after values.

Chapter 3 · Owner & setup
Online payment gateways, your licence and subscription, the AI assistant, connecting Claude/ChatGPT, and the clinic link
This chapter is for the owner: taking bKash, Nagad or card payments in the online shop, understanding your licence and subscription, turning on AI, and linking with a ClinicDesk hospital. Only the owner can change these settings.
Admin › Online payments connects your own SSLCommerz, bKash and Nagad merchant accounts. Online-shop customers pay on the gateway's page and the order is marked paid automatically.

Which account takes the money shows one of these next to each gateway:
Connecting your own gateway (example: bKash):
Nagad needs the Merchant ID, Merchant number, Merchant private key and Nagad public key; SSLCommerz (cards, internet banking, mobile wallets) needs the Store ID and Store password. SSLCommerz has no test button. A badge next to each gateway shows Off, Credentials missing, On · sandbox or Live.
Cash on delivery and the send-money bKash / Nagad numbers are not set here but in Online shop › Shop settings (see Online shop). Money taken through JonakiSoft's central account — collected, fees, settled — is listed at the bottom under Payments collected by JonakiSoft.
If online payments are not in your plan, a yellow message appears at the top; contact JonakiSoft to turn them on.
Online (cloud) PharmaDesk: on Admin › Settings, the Licence & features card shows the Licence status (ACTIVE, GRACE and so on), the plan, Valid until, Last synced, and which modules your plan includes. Modules outside your plan are marked "not in plan". The licence is checked once a day and updated at once when JonakiSoft changes it. If JonakiSoft has switched something on and you don't see it yet, press Sync licence now.
Free trial and subscription: from 7 days before the end, a banner shows "N days left". When it ends, the subscription page appears; contact the listed support to renew. Sales made offline on this device are kept and sync automatically after renewal.
Installed (on-prem) PharmaDesk: here the licence is a file. The Licence button at the top of Settings shows the licence number, plan, branches and users in use, and expiry. To install a new or renewed licence:
You can't have more active users than the licence allows. Without a valid licence every page goes to this licence page; the data stays on the computer.
Overview › AI assistant answers questions in Bangla or English from your pharmacy's data: sales, stock, expiry, reorders, dues and profit. Owners, managers, pharmacists, store keepers and accountants can use it.

Turning it on: in Settings › Stock alerts & reminders tick AI assistant and press Save settings. If the server has no API key, the page says the assistant is not set up yet — ask the server administrator.
Using it:
Enter to send (Shift+Enter for a new line).Your staff can also ask about the pharmacy from their own Claude, ChatGPT or Claude Code. This is a separate feature that must be in your plan. Open Admin › AI assistants (MCP).

Each person connects with their own account and only sees what their role can see. AI apps can never make payments, delete things or change settings. Use Revoke in Connected apps to cut any connection; Recent activity shows the last 50 requests. Staff see their own connections under Overview › My AI connections.
Linking with a hospital or clinic that runs ClinicDesk sends its prescriptions straight to you and lets you charge admitted patients' medicines to their hospital bill. Open Admin › Clinic link.

The POS then offers "Charge to clinic admission". The Clinic charges list shows each charge's status; use Send waiting now for waiting ones, Retry now for failed ones, and Mark resolved when it was settled by hand at the clinic.
Chapter 4 · Owner & setup
Add employees, mark daily attendance, handle leave requests and salary advances, and pay salaries from the monthly salary sheet
Staff records, daily attendance, leave, advances and monthly salaries all live in the HR menu. At month end the software works out absent days and advance instalments for you, and every salary you pay is posted to the books as an expense automatically.

The top shows Active staff and Monthly payroll. Click an employee's name to open their page: attendance this month, leave balance, advances and salary history. You can Print ID card from there.
When someone leaves, don't delete them. Click the pencil icon and untick Currently employed. The list then shows Left next to their name and their salary history is kept.

For the whole month, click the Monthly summary tab and choose the month. Each day shows a short letter (P present, L late, A absent, Lv leave, H holiday) with totals on the right.
Then click one of the three buttons next to the request:
The Balance table below shows each person's leave left this year (days left / entitled). Entitlements follow the Bangladesh Labour Act defaults: casual 10, sick 14, annual 10 days.
When a staff member asks for money before payday:
The top shows Outstanding advances and the total Recovered. Once fully recovered, the row shows Cleared.

The row turns Paid and a Payslip link appears. Open the payslip, Print it and have the employee sign. If you made a mistake, click the undo-arrow icon next to it to cancel the payment; the money goes back to the account and you can pay again correctly.
The cards at the top show the Payroll for the month, how many staff are Paid and how many are Still to pay.
Chapter 5 · Daily selling
Make a sale at the counter, take cash, bKash or due, print the receipt, sell without internet, and take returns.
The POS screen is where you sell at the counter. This chapter goes through one sale from start to finish, then covers held bills, printing, selling without internet and returns.
Go to Overview › POS / New sale. You can't sell without an open cash shift. If you don't have one, the screen shows Open cash shift: count the drawer cash, type it in Opening cash (৳) and click Open shift. See Cash shifts and closing.

The left side has the search and the cart. The right side has the shift info, the customer, the doctor, the discount, the total and the green Pay button.
F2 or click the search box. Type the brand or generic name, for example napa or paracetamol.Enter. You can also scan the box with a barcode scanner, which adds the medicine straight away.Enter to go back to the search.F9.Enter to print the receipt or Esc to start the next sale.Strip medicines have two boxes, strip and loose units. For example, with 10 tablets per strip, 1 strip + 4 = 14 tablets. Syrups and similar items have one box. Under each name you'll see the generic, the rack and the stock left. If there isn't enough stock, the line turns red.
The Batch column starts at Auto (FEFO), so the batch that expires first sells first. Badges under it show the batch and expiry that will be used. You can pick a batch from the list. Expired batches are blocked unless Allow selling expired batches is on in settings, and it should stay off.
If the total discount goes over the Cashier discount cap (%) in settings, a red note says A manager must sell this and Pay stays disabled. Only a manager or the owner can go above the cap.
Type a phone number or name and pick from the list. If the person isn't there, click the person-with-plus button. In New customer, fill in Name, Mobile and Allergies (optional), then click Add customer. The customer box shows their Due, Credit limit and allergies (in yellow).
To leave a due (baki), lower Cash received. The Due box shows what is left and the button changes to Complete with due (Enter).
Collecting dues is in Customers and dues.
Under Cash received are boxes for bKash, Nagad, Rocket and Card, each with an amount and a TrxID (for a card, Last 4). Example: the bill is ৳850 and ৳500 comes by bKash.
500 and the TrxID.350.If the patient steps away, click Hold (F8). The cart is saved and the screen clears. To bring it back, click Held (N) and then Recall. The bin icon deletes a held cart. Held carts are still there after you close the shift.
| Key | What it does |
|---|---|
F2 | Medicine search |
F4 | Customer box |
F8 | Hold the cart |
F9 or Ctrl+Enter | Payment window |
Enter (after a sale) | Print the receipt |
Esc (after a sale) | New sale |
Print receipt (Enter) opens the receipt in a small window with the print dialog. At the top you can choose 80mm, 58mm or A4. If the owner has set up direct printing to a thermal printer, it prints on its own. If nothing opens, allow pop-ups in the browser. To reprint, open the sale from Sales › Sales history and click Print receipt.
When an Rx medicine is in the cart, a blue note asks you to check the prescription and select the doctor. Pick one from Doctor (optional). If that doctor gets commission, it is added automatically.
After you choose a customer, Prescription (optional) lists their saved prescriptions. Upload new saves a new photo. Sales › Prescriptions has the full list, and Add prescription takes a photo or PDF there (on a phone it opens the camera).
CD marks a controlled drug. The payment window then requires the patient name and the prescribing doctor.
The status at the top of the POS turns yellow and says Offline when the internet drops. You can keep selling from the list saved on the device. Each sale gets a temporary number and the receipt still prints. When the internet is back, the sales sync by themselves, or you can click Sync now. Details shows the sales still waiting.
Sales that synced with a problem (stock below zero, an old price, over a limit) appear in Sales › Offline sync issues. A manager checks each one and clicks Mark resolved.
Sales › Sales history shows today's invoices. You can change the dates and filter by invoice number, name, phone, cashier, payment or status. Open an invoice to reprint it or get Mushak 6.3. Only a manager or the owner can cancel a sale with Void, and they must give a reason. The stock and the payment go back.

A pharmacist, manager or owner can take returns. Cashiers can't.
Once the return window set in settings has passed, only a manager can take the return. A cash refund lowers the cash expected in your drawer. All returns are listed in Sales › Sales returns.


On a phone, the search and the cart are at the top. Scroll down for the customer, total and Pay. There are no F keys, so tap the buttons. A Bluetooth barcode scanner works too.
Chapter 6 · Daily selling
Open a shift with the drawer cash, close it with a count, deal with short or over cash, and check the day-end closing.
A cash shift is how you account for the money in your cash drawer. You open it with the cash already in the drawer and close it by counting the drawer. PharmaDesk works out what should be there, so a short or over amount shows up at once.
0.While you sell, a line at the top of the right side of the POS shows Shift since 09:00 · 25 sales · ৳12,400.
Close your shift at the end of your duty, or when you hand over the counter.
Held carts don't block closing. They stay for your next shift.

| Item | Effect |
|---|---|
| Opening cash | + |
| Cash taken in sales (after change) | + |
| Dues you collected in cash during the shift | + |
| Cash refunds on returns | − |
| Expected in drawer | = |
bKash, Nagad, Rocket and card payments aren't in the drawer, so they aren't in this sum. Due sales aren't either. Don't count bKash money as drawer cash.
Sales › Cash shifts shows the shifts for the last 7 days. You can change the dates. Cashiers and pharmacists see only their own shifts. Managers, accountants and the owner see everyone's.
The columns are Cashier, Opened, Closed (an open shift says Open), Sales, Cash, Mobile / card, Expected cash, Counted and Difference. In the difference column OK means it matched, red means short and amber means over.
Click the cashier's name to open that shift's report. An open shift shows the X REPORT (shift open) with running totals. A closed one shows the Z REPORT (shift closed). It also shows returns and voided sales, and has signature lines for the cashier and the manager. The Print button prints it on 80mm paper.
At the end of each day:
Day-end closing is separate from the shifts. It shows every money account in one place, including cash, bKash and the bank. Managers, accountants and the owner can open it.
Check the closing balance of the cash account against the cash you actually have. More about accounts is in Accounting.
Chapter 7 · Daily selling
Turn on your own online shop, see what customers see, confirm-pack-deliver online orders and connect couriers
Every pharmacy on PharmaDesk has its own online shop link. Customers order medicines or send a prescription photo there, and the order lands straight on your Online orders page. This chapter covers everything from switching the shop on to delivery.
Online shop › Shop settings shows Your shop link at the top.

Then spread the link:
To take card or bKash/Nagad payments online, follow Set up SSLCommerz, bKash and Nagad in the Online payment gateways box. Details are in Online payments.
When a customer opens the link on a phone they see your shop name, delivery fee and payment options. There is a Bangla/English switch at the top.

Keep Online shop › Online orders open: it checks for new orders every 20 seconds, beeps twice and shows a banner when one arrives.

The tabs follow the work: New, To pack, Packed, Out for delivery, Delivered, Cancelled / returned. Search by order no, phone or name. Click the order number to open it.
If you have a Pathao, Steadfast or RedX merchant account, connect it in Online shop › Delivery partners (owner only).
Now, on a confirmed or packed home-delivery order, the Courier box shows Book courier; check the address and press Book. When the courier picks up, the order moves to "Out for delivery" by itself, and to "Delivered" when it arrives.
Cash on delivery collected by a courier is shown under Cash held by couriers until they pay you. When the courier sends the money, enter the amount and the account it came into, then press Record payout.
Chapter 8 · Stock & purchasing
Add medicines to your list, receive supplier goods into stock (including invoice scan), purchase orders, returns and paying supplier dues
Entering supplier goods correctly keeps stock, expiry dates and supplier dues right automatically. This chapter covers adding medicines, receiving goods, orders, returns and paying suppliers.
Inventory › Medicines & products lists your medicines with stock and MRP. There are three ways to add medicines.

1. From the master list (fastest)
MRP is copied and cost is set to 88% of MRP; edit it later to the real cost.
2. One by one
3. Many at once with CSV
YYYY-MM. Batch, expiry and qty add opening stock too.The easiest daily way to receive goods is Inventory › Quick stock-in. It has two cards: Scan supplier invoice and Quick entry. Work saves itself as a draft; resume it with Continue under Unfinished stock-ins.

12/27.Ctrl+Enter).After saving you can Print shelf labels or start a New stock-in.
The classic full form is Purchasing › Purchases (GRN) › New purchase. It also records the manufacturing date (Mfg).

A purchase page has Print, Print labels and Return items. A manager or the owner can Cancel purchase with a reason, unless some of its stock was already sold or returned.

Order statuses: Draft, Sent, Partial, Received, Cancelled. If the rest of a partial order will not come, press Close order.
Returning damaged, wrong or short-dated goods reduces your stock and what you owe the supplier.
Expiry claims to companies are separate; see Expiry claims.
Purchasing › Suppliers shows every supplier with phone and Payable (what you owe them).

Adding a supplier:
Click a supplier to open the Supplier statement (purchases, payments, returns, balance); Print statement to reconcile.
Paying a due:
If you pay more than you owe, the extra is kept as an advance.
Chapter 9 · Stock & purchasing
Viewing stock, handling expired goods and expiry claims, reordering, damage and loss adjustments, branch transfers, stock counts and the stock ledger
A pharmacy's money sits on its shelves. This chapter shows how to keep stock accurate, sell or claim short-dated goods in time, and order before you run out. All pages are under the Inventory menu, and every figure is for the Branch chosen in the top bar.
Inventory › Stock shows four figures at the top: products in stock, stock value at cost and at MRP, and the value of expired stock.

Inventory › Expiry management shows how much stock has expired and how much expires within 30, 60 and 90 days. Below is the Expiry calendar · next 12 months; click a month to see its batches.

The tabs:
Expired stock has two exits: a claim to the supplier or company, or a write-off.
To write off:
Stock goes to zero and is recorded as an expiry loss. Write off only when there is no chance of getting anything back.
Many companies take back expired medicine and give credit, cash or replacement goods. Record it as a claim in PharmaDesk so you can see what you got back and what is still pending.
When money or goods come back (settle):
If a claim was sent by mistake, press Cancel claim; with a reason, the stock comes back into inventory.
Inventory › Low stock / reorder lists medicines at or below their reorder level, or out of stock but sold in the last 30 days. Each row shows Sold 30d, Days left and a suggested Order qty.

Sending orders and receiving goods are covered in Purchase orders.
When a strip is torn, a bottle breaks or something cannot be found, post an adjustment.

With more than one branch, move stock with Inventory › Branch transfers.

Sending (the branch the goods leave):
Receiving (the branch the goods arrive at):
If something is wrong, either branch can press Cancel transfer; the stock goes back to the sending branch.
Count now and then to match what is on the shelf with what the system shows. One rack at a time is easiest.

R1.Lines you did not count stay unchanged. To abandon a count, press Cancel count; nothing changes in stock.
Inventory › Stock ledger lists every stock movement, newest first: purchases, sales, returns, adjustments, transfers, counts. Use Filter by product… and the type filter. When a medicine's stock looks odd, this is where you see who changed it, when and why. A product page also links here with Full ledger.
Chapter 10 · Money & accounts
Keep customer records, sell on due within a credit limit, collect dues with a money receipt, send SMS reminders, and track refills and doctor commission.
When you save your regular patients as customers, you can see their purchases, allergies and dues in one place. This chapter covers customers, selling on due (baki), collecting dues, reminders and doctor commission.
Go to Sales › Customers. Cashiers, pharmacists, managers and the owner can open it. Search by name or phone, and filter by type (Retail, Wholesale, Institution) or status. The Due column shows how much each person owes.


You can also add a customer at the POS with just a name and phone (F4). See Daily selling.
To change details, open the customer and click Edit. If someone no longer buys from you, click Deactivate. Their history is kept.
Click a name to see Current due (with the limit), Purchases, Last visit and Loyalty points. There are four tabs:
If an AI assistant has drafted an SMS for this customer, it appears under SMS drafts (not sent). It is only sent when you click Send. Discard throws it away.
At the POS, choose the customer and lower Cash received. The rest becomes due. The rules:
Every due sale goes into the customer's Ledger and into Customer dues.
A manager, accountant or the owner can collect dues. A cashier can't, so if a customer comes to pay, call the manager.
You can also collect from the customer's page with the Collect button. The last 10 payments are listed under Recent collections, and the Receipt link reprints the money receipt.

On Customer dues, each customer with a phone has a message icon (Send due reminder SMS). Click it and an SMS goes out telling them how much they owe. Nothing is sent automatically. You click it each time.
SMS only works when all three of these are true:
If anything is missing, you'll see SMS not sent with the reason.
Patients on daily medicine (diabetes, blood pressure, thyroid) can be reminded before they run out.

The list is grouped into Overdue, Due now and Coming up. On each row you can click SMS to send a reminder, Contacted once you've called them, or Stop to turn the reminder off.
When this customer buys the same medicine again, the next date moves forward on its own. For example, 60 tablets at 2 a day moves it 30 days on. You set how many days ahead counts as "due now" in Stock alerts & reminders in settings.
Sales › Doctors (pharmacist, manager, owner): click New doctor and enter Name, Degrees, Specialty, BMDC reg no., Phone and Chamber. If the doctor gets a referral commission, set the Referral commission (%). Then click Add doctor. Choose the doctor at the POS and the commission is counted by itself.

Sales › Doctor commission (manager, accountant, owner) shows, for the chosen dates, each doctor's Invoices, Commission base, Earned, Paid and Owed now. To pay a doctor, click Pay, check the Amount (৳), choose Paid from, and click Save payment. If a sale is returned or voided, the commission is reduced automatically.
Chapter 11 · Money & accounts
Record expenses, manage cash and bank accounts, and read journal vouchers, the ledger, chart of accounts, trial balance, income statement and balance sheet in plain words
Most of the bookkeeping in PharmaDesk happens on its own. You record sales, purchases, payments and expenses properly; the software builds the books, ledgers and profit-and-loss from them. This chapter shows how to record expenses, see where your money is, and what the accounting reports tell you.
In every transaction money comes from somewhere and goes somewhere. In accounting language one side is the Debit, the other the Credit, and the two are always equal. This is double-entry bookkeeping. PharmaDesk writes these entries for you as you work:
| What you do | What the software records |
|---|---|
| Sell medicine for cash | Cash goes up, sales income is recorded, VAT payable goes up if there is VAT; stock goes down and cost of goods sold is recorded |
| Sell on credit | Instead of cash, customer dues (accounts receivable) go up |
| Collect a due | Cash goes up, customer dues go down |
| Buy stock from a supplier | Stock goes up, what you owe the supplier goes up |
| Pay a supplier | What you owe goes down, cash/bank goes down |
| Pay an expense (rent, bills) | Expense goes up, the account you paid from goes down |
| Pay salary | Salary expense goes up, cash goes down |
| Write off expired / damaged stock | Stock loss (an expense) goes up, stock goes down |
So the accountant's daily work comes down to three things: record expenses, check cash and bank balances, and read the reports at month end.
Rent, electricity, transport, tea and snacks: record every running cost here. If you don't, profit will look higher than it really is.

The top shows Total in period and the three biggest categories. Filter the list by date, All categories and branch.
Finance › Cash & bank lists every place your money sits: cash drawers, bank accounts and mobile wallets like bKash or Nagad. The top shows Total cash, Total in bank, Mobile wallets and All money. Balances change instantly with every sale, expense and payment.

If an account is closed later, click the pencil and untick Active. Its history is kept.
Click an account name or Statement to see a list like a bank statement: Opening, Money in, Money out, Closing, and the balance after every transaction. Change the dates to see any period, then CSV or Print. This is the best tool for matching against your real bank statement.
Accounting › Journal vouchers shows every accounting entry. Automatic entries have a grey tag with their source (for example Sale, Purchase, Expense); manual vouchers have a Manual tag. Filter by date, the All entries list and the Voucher no. or memo search box. Click a voucher number for details, and use Open source document to see the original sale or purchase.

For something no other page records (for example depreciation of furniture), post a manual voucher:
A manual voucher cannot be deleted. Open it and click Reverse: a reversing voucher dated today is posted and cancels the original. To fix an automatic entry, correct the source document itself (the sale, expense and so on).

Every one of these pages has CSV and Print. Give these to your accountant or auditor at month end.
Chapter 12 · Reports
Read today's numbers on the dashboard, find which report answers which question, filter by date and branch, export to CSV or print, and prepare the monthly VAT return (Mushak)
How is the shop doing, how much profit did you make, which medicines are sitting on the shelf, who owes you money: PharmaDesk works all of this out from the sales, purchases and expenses you already enter. No separate register is needed. This chapter shows where to find each number and how to print it or take it into Excel.
After you log in, Overview › Dashboard opens first. The cards show:
Below that you see a Last 30 days sales chart, Payments this month (how much came in by cash, bKash, Nagad, card…), Top 10 products this month and Recent sales. Click any card to jump to the matching page; for example Low stock products opens the reorder list.

With several branches, owners and managers can pick All branches from the list at the top right to see the whole business at once.

| Your question | Report |
|---|---|
| How much did I sell today / this month? How much did each cashier sell? | Sales summary |
| Which medicines make the most profit? | Product-wise sales & profit |
| What is my real profit after expenses and salaries? | Profit & loss |
| Which sales were returned, and why? | Sales returns |
| How much was sold on each doctor's prescriptions, and what commission is due? | Doctor referral |
| Which medicines sell fast, which are not moving? | Top / slow / non-moving products |
| How much stock do I have, in taka? | Stock valuation |
| Which batches have expired or are about to? | Expiry report |
| How much expired stock did companies take back? | Expiry claims |
| How much did I buy from each supplier? | Purchase report |
| How much do I owe each supplier, and for how long? | Supplier payables |
| How old are my customers' dues? | Customer dues aging |
| Where did the money go? | Expenses by category |
| What came in and went out of cash, bank and bKash each day? | Cashbook |
| How much VAT did I collect and pay this month? | VAT report |
| Who bought narcotic / psychotropic medicines (for DGDA inspection)? | Controlled drugs register |
The Finance section has two more cards: Trial balance, income statement, balance sheet (the accounting books, see Accounting and expenses) and Day-end cash closing (see Cash shifts and closing).

Enter.Some reports have no date because they show the position right now: Stock valuation, Expiry report, Supplier payables and Customer dues aging.
Every report has two buttons at the top right:
If your pharmacy has a BIN, you file a VAT return every month. The Reports › VAT return (Mushak) page prepares the working papers for it.
What the three tabs contain:

Read the yellow box carefully: most retail medicines are VAT-exempt or sold at MRP-inclusive rates, and these figures come only from the VAT recorded in the software. It is a working paper to help fill the return, not a legal filing. Have your accountant check it.
When a buyer asks for a VAT invoice:
Chapter 13 · Help
Answers to common problems with printers, barcode scanners, licence or plan pages, forgotten passwords, access denied, offline sales and stock mismatches
If you get stuck, check this page first. Under each question you'll find what to do, step by step. If that doesn't solve it, see Contacting support at the end.
First check how receipts print at your pharmacy. The owner opens Admin › Printers & labels and looks at How to print receipts.

If direct printing isn't set up or the printer can't be reached, PharmaDesk opens the browser receipt page instead, so the sale is never blocked.
The paper size is set in Admin › Settings, in the Receipts section, under Paper size: 80 mm thermal, 58 mm thermal or A4 invoice. Choose the width of your printer roll and save. In browser-dialog mode, also check the dialog's "Paper size" and "Margins" (None), and keep scale at 100%.
When Receipt language is Bangla, thermal printers print the receipt as an image, so it prints a little slower. If letters break, try Test print and check that the paper size is right. If needed, switch Receipt language to English.
The drawer must be plugged into the printer's RJ11 port, and Open the cash drawer when printing must be ticked. This only works in Direct to thermal printer mode.
A scanner behaves like a keyboard: it types the code and presses Enter. So the cursor must be in the POS search box. Press F2 to put the cursor there, then scan again. To test the scanner, open Notepad and scan; if no numbers appear, check the scanner's cable or battery.
That medicine has no barcode saved. Open it from Inventory › Medicines & products, click Edit, click into the Barcode box and scan the pack, then click Save changes. For packs without a barcode, you can print your own barcode labels from the Labels page (see Stock control & expiry).
This page appears when the pharmacy's licence is not active: expired, suspended or revoked. The page shows the Licence status.
If it says "Your licence has expired: renew soon", it is only a warning; PharmaDesk keeps working until the date shown. Click Go to dashboard to carry on, but renew in time.
If a menu opens a page like "HR & payroll is not part of your plan", that part (for example HR, online shop, accounting or VAT return) is not switched on in your licence. It is not an error, and everything else keeps working.

If you see "Your free trial has ended" or "Your subscription has ended", the software won't open until it is renewed, but all data is kept. Sales made offline on this device are kept too and sync automatically after renewal. The owner renews using the contacts on the page; plan and payment details are in Payments, licence & AI.
There is no "forgot password" button on the login page. Here is what to do:
"Your role doesn't allow this page" means your role (for example cashier) is not meant for this page. For example, cashiers cannot open reports or accounting pages. Click Go to POS to get back to work. If you really need the page for your job, ask the owner; they can change your role in Admin › Users & roles. More about users and roles is in Owner setup.
The POS keeps selling without internet; the sale is stored on that device and sent to the server automatically when the internet is back. A yellow or red bar at the top of the POS shows how many sales are waiting to sync.
When an offline sale syncs with more than the stock, an old price, an expired batch or a discount over the limit, the sale is still recorded but listed under Sales › Offline sync issues. A manager or the owner checks each one (for example, counting stock when it went short) and then clicks Mark resolved. Issue names such as "Stock went below zero" or "Device clock was wrong" explain what happened.

If this page didn't solve it:
Chapter 14 · Help
Plain meanings of the words used in PharmaDesk and pharmacy bookkeeping: FEFO, batch, MRP, GRN, due, shift, Mushak, BIN, ledger, trial balance and more
If a word in the software or in this guide is unfamiliar, look it up here. Terms are grouped by topic. The Bangla term used in the app is given in brackets, because many staff know the Bangla word better.
| Term | Meaning |
|---|---|
| Generic (জেনেরিক) | The name of the active ingredient, for example paracetamol. One generic is sold under many brands. You can search the POS by generic, which makes it easy to find an alternative brand. |
| Brand | The market name given by the company, for example Napa or Ace. |
| Batch (ব্যাচ) | One lot made at the same time. Each batch has its own batch number, expiry date and purchase price. PharmaDesk tracks stock by batch. |
| Expiry (মেয়াদ) | The date after which the medicine must not be sold. Expired batches are listed in Inventory › Expiry management. |
| FEFO | First Expiry, First Out: the batch that expires first is sold first. If the batch on the POS is left at Auto (FEFO), the software picks that batch for you. |
| MRP | Maximum Retail Price: the highest retail price printed on the pack. You may not charge the customer more. |
| TP / purchase price | Trade Price: the price at which the company or supplier sells to the pharmacy. In PharmaDesk this is the purchase price or Unit cost. The gap between MRP and purchase price is your profit. |
| Unit / strip / box | The measures used to count medicine. For example 1 box = 10 strips, 1 strip = 10 tablets (Pack size 10x10). Stock is always kept in the smallest unit. |
| Reorder level | When stock falls to this number, it's time to order again. Below it, the medicine appears in Low stock / reorder. |
| Stock count | Counting what is really on the shelf and matching it with the software's number. |
| Adjustment | Increasing or decreasing stock by hand for damage, loss or a wrong count, with a reason. |
| Stock ledger | The record of every movement of one medicine: purchases, sales, returns, transfers. |
| Branch transfer | Sending stock from one branch to another. |
| Expiry claim | Returning expired stock to the company or supplier and claiming cash, a credit note or replacement goods. |
| Controlled drug | A narcotic or psychotropic medicine whose sales must be kept in a separate register and shown at DGDA inspections. |
| DGDA | Directorate General of Drug Administration, which licenses and inspects pharmacies. |
| Term | Meaning |
|---|---|
| Supplier (সরবরাহকারী) | Who you buy from: a company depot or a wholesaler. |
| Purchase order (PO) | An order sent to the supplier before the goods arrive. It does not add stock. |
| GRN | Goods Received Note: the purchase entry you make when the goods arrive, with batch, expiry and price. It adds stock. In the menu: Purchases (GRN). |
| Purchase return | Sending purchased goods back to the supplier. |
| Supplier payable | What the supplier is owed by you, in other words your debt to them. |
| Term | Meaning |
|---|---|
| POS | Point of Sale: the counter sales screen where you search or scan medicines and make the bill. |
| Invoice (ইনভয়েস) | The bill for one sale, with its own number. |
| Due / baki (বাকি) | Money the customer will pay later. To sell on credit you must choose a customer. |
| Credit limit (বাকির সীমা) | The most a customer is allowed to owe. |
| Walk-in (সাধারণ ক্রেতা) | A customer whose name was not recorded. Walk-in customers cannot be given credit. |
| Hold (হোল্ড) | Parking a half-made bill to serve another customer, then reopening it later. |
| Void (বাতিল) | Cancelling a wrong sale completely. This is a manager's job. |
| Sales return | A customer returns medicine; you refund the money or adjust it against their due. |
| Shift (শিফট) | One cashier's turn on a cash drawer, from opening to closing. A shift must be open before selling. |
| Float / opening cash (শুরুর ক্যাশ) | The change put in the drawer when the shift starts. PharmaDesk calls it Opening cash. |
| Day-end closing | At the end of the day, what came in, went out and remains in every cash, bank and wallet account. |
| Loyalty points | Points regular customers earn on purchases and can later use instead of money. |
| Term | Meaning |
|---|---|
| Double entry | Every transaction is recorded on two sides, debit and credit, which are always equal. PharmaDesk does this for you. |
| Debit / Credit | The two sides of an entry. Roughly: assets or expenses going up are debits; liabilities, income or owner's capital going up are credits. |
| Journal (জাবেদা) | The book of all transactions in date order. Each entry is a voucher. |
| Ledger (খতিয়ান) | All transactions and the balance of one account (for example cash, sales, rent) in one place. |
| Chart of accounts | The list of all ledgers: assets, liabilities, equity, income, expenses. |
| Trial balance (রেওয়ামিল) | Totals of debits and credits across all ledgers. If they are equal, the books agree. |
| Income statement (আয় বিবরণী) | For a period, income minus expenses: your profit or loss. |
| Balance sheet (উদ্বৃত্তপত্র) | On a date, what the business owns (assets), owes (liabilities) and the owner's stake. |
| COGS | Cost of goods sold: what the medicines you sold cost you to buy. |
| Gross profit | Sales minus cost of goods sold. |
| Net profit | Gross profit minus all running costs such as rent, salaries and bills: the real profit. |
| Capital / Drawings | Money the owner puts into the business is capital; money taken out for personal use is drawings. Neither is income or expense. |
| Term | Meaning |
|---|---|
| VAT | Value added tax. Most retail medicines are VAT-exempt or sold at MRP-inclusive rates. |
| Mushak (মূসক) | The Bangla short form for VAT; NBR's VAT forms are also called Mushak: Mushak 6.3 (tax invoice), Mushak 6.1 (purchase register), Mushak 6.2 (sales register), Mushak 9.1 (monthly return). |
| BIN | Business Identification Number: your VAT registration number from NBR. Enter it in Admin › Settings under VAT registration (BIN). |
| Output / input VAT | VAT collected on sales is output VAT; VAT paid on purchases is input VAT. The difference is paid to the government. |
| Term | Meaning |
|---|---|
| Role | A user's job: owner, manager, pharmacist, cashier, store keeper or accountant. The menu and permissions change with the role. |
| Branch | One outlet of the pharmacy. Stock, shifts and sales are per branch. |
| Offline / sync | Without internet, sales are stored on the device; sending them to the server when the internet returns is called syncing. |
| Licence / subscription | Permission to use the software and its validity period. It also decides which parts are switched on. |
| CSV | A simple table file that opens in Excel or Google Sheets. Every report can be downloaded as CSV. |
For more, see the Reports, Accounting and expenses or Troubleshooting chapters.