PL Pharma
Manual
Jump to a topic, or open a section. Amounts are in Ghana cedi (GHS). You only work in your own branch.
Your menu depends on your role.
| Role | Typical work | Main menu |
|---|---|---|
| Admin | Full control | Same menu as all staff, plus delete records and manage staff accounts |
| Manager, Cashier, Pharmacist, Medicine Counter Assistant, Warehouse, Accountant, Wholesale | Day-to-day operations | Full admin menu: create and edit products, sales, customers, stock, prescriptions, finance, SMS, and more |
| All non-admin staff | Restrictions | Cannot delete or archive records. Cannot add, edit, or delete staff users (view staff list only) |
| Wholesale | Account customers | Orders, Accounts, Credit limits, Deliveries, Catalogue |
| Customer | Own invoices | Customer portal |
| Supplier | Own purchase orders | Supplier portal |
Demo password (only where demo data was seeded): Password123! — change it before live use.
A morning snapshot for your branch: today’s and this month’s completed sales (returned tickets are excluded), low stock, batches expiring in 90 days, recent sales, and expiry/recall alerts. FEFO will prefer near-expiry batches first.
Cashiers, pharmacists, and admin. Open Retail POS.
Admin and manager. Open Sales history to browse receipts at your branch — retail POS- tickets and wholesale WS- sales. Filter by date or search receipt number, customer, or cashier.
Managers can View and open the printable receipt. Use Return sale on a completed ticket to restore stock and reverse the sale amount (see Returns). Administrators can also Edit notes, mark a sale Cancelled (stock is restored), or Archive (moves the sale to Archives). Returned and cancelled sales are excluded from dashboard and report totals. New sales are run from Retail POS.
Admin and manager can open Archives to see deleted sales, products, customers, suppliers, and purchase orders. Administrators can Restore a record to active lists or Delete forever to remove it from the database (blocked if other records still depend on it).
Open Customers (pharmacists see Patients).
Name is required. Set type (retail or wholesale), phone, email, NHIS number, credit limit, wholesale pricing tier, and SMS opt-in.
Open Credit. Click Collect, enter amount and method (cash, MoMo, bank), then apply. The balance falls and the cashbook updates. Wholesale convert will refuse a quote that would exceed the limit.
Flow: quotation → convert → order + invoice + sale record. Any active customer at your branch can be quoted. Credit is checked on convert when that customer has a credit limit.
Schedule customer, driver, address, and time. When the drop is done, click Delivered. This tracks the trip; it does not reverse stock.
Stock moves automatically on POS sales, wholesale convert, returns, and goods receipt. Manual adjustment is for corrections only.
New product needs SKU, name, and retail price. Opening stock (add) creates a batch at your branch. Set wholesale price, barcode, and prescription/controlled flags as needed. The products list shows On hand (all batches at the branch).
On a product row, click Adjust. You see on-hand vs sellable (what POS and quotes can use). Choose Add stock or Remove stock, enter a quantity, and apply. Removals cannot exceed sellable quantity. Batches and branch totals stay matched.
Inventory shows on-hand quantity, reorder level, and status (OK / Low / Out). Per product you can Adjust stock (same as Products), set Reorder, or open Batches filtered to that item. Transfer stock moves FEFO quantity to another branch; use Transfers to review past moves.
New batch manually receives stock at your branch (product, batch number, expiry, quantity, optional supplier). View shows full detail; Edit updates batch metadata and quantities (remaining cannot go below what was already sold). Recall blocks POS and quotes. Delete is only allowed when nothing was sold from the batch and remaining quantity is zero.
| Status | Meaning |
|---|---|
| Sellable | Can go on a ticket |
| Expiring | Within 60 days — sell first |
| Expired | Cannot sell |
| Recalled | Blocked from sale |
Recall a batch only when it must not be sold. Recalled quantity stays on the record but POS will refuse it.
You can receive in parts until the ordered quantity is complete. Partial receipts block editing the PO lines (receive or archive first).
Create the patient under Customers if needed. New prescription: patient, prescriber, then lines (product, dosage, qty). You get a prescription number; it is not dispensed yet.
Open the prescription → Dispense via POS / FEFO. Payment: cash, NHIS, or credit. This creates a sale and takes stock. Same stock rules as the till.
Submit claim against a prescription and amount. This is an in-house register — it does not file electronically to NHIS.
Return a sale from Returns or Sales history: pick a completed receipt or wholesale WS- sale (search by number or customer), add a reason, and save. Stock goes back to the original batches, the sale is marked returned, dashboard and reports no longer count it, and the customer is refunded (cashbook out, credit reduced, or receivable reversed for invoiced wholesale).
Admin and finance. Pending requests show type and record. Click Approve and confirm. An empty list means nothing is waiting.
Only administrators can add, edit, or delete staff accounts. Everyone else can open the staff list to view licences only. The staff form covers name, email, phone, password (optional when editing), role, branch, licence, portal links, and active status. Email, phone, and portal links must be unique. If delete is blocked because of past sales, uncheck Account active instead. A Renew badge appears when a licence is due within 60 days.
Accounting shows cash in/out, receivables, a simple P&L, and recent ledger lines. Retail POS, wholesale convert, goods receipt, returns, and credit collections post themselves — you do not type those journals.
Reports: pick from and to dates. Daily sales and top products include completed retail and wholesale sales at your branch (not returned tickets). Cashiers see this as My sales.
Admin. Messages are queued, then sent through Arkesel. Queue a Ghana number (0244… or 233…) or use templates, then Send queued messages.
With no API key, sends are simulated. Receipt SMS goes to customers with SMS opt-in.
An administrator creates the login and links it to a customer or supplier. The customer portal shows that account’s invoices. The supplier portal shows that supplier’s purchase orders. They cannot see other accounts.
Sign in. Check Dashboard (low stock, expiry, today’s sales). Cashiers open POS. Pharmacists check prescriptions waiting. Warehouse reviews POs and expiring batches.
Sell on POS (pick retail or wholesale price list first). Wholesale: quote, edit if needed, convert when stock and credit allow, print/PDF orders for customers, schedule deliveries. Receive POs the same day goods arrive. Collect account payments as cash comes in.
Finance: collections vs cashbook. Warehouse: recall any unsafe batch immediately. Everyone: Sign out.
| You see | What to do |
|---|---|
| Invalid credentials or account locked | Recheck password; wait if locked; ask admin to reset. |
| Insufficient sellable stock | Receive stock or reduce qty. Expired/recalled batches do not count. |
| Convert / credit error | Lower the quote, collect AR, or raise the credit limit. |
| Session expired | Refresh and try again. Do not leave a form open for hours. |
| Cannot connect to the database | Administrator: check DB settings in .env. |
| Database tables are missing | Administrator: run migrations (and seed if you need demo users). |
| 403 / no access | Wrong role for that screen. |
| Product not on POS | Inactive product, no sellable batch, or wrong branch. |
| Cannot remove more than sellable stock | Reduce the adjustment qty, or remove expired/recalled stock via batch recall — not sellable. |
| PO cannot be edited | Some quantity was already received. Finish receiving or archive the PO. |
| Blank print preview | Hard-refresh the page (Ctrl+F5) so the latest styles load, then print again. |
Need a new login? Ask an administrator to add you under Staff with the correct role and branch. Do not share till passwords.
Put the workspace on your phone home screen or computer desktop.