PL Pharmaceuticals Ltd PL Pharma
Sign in

Manual

How to use PL Pharma

Jump to a topic, or open a section. Amounts are in Ghana cedi (GHS). You only work in your own branch.

Sign in and the workspace
  1. Open the site and enter the email and password your administrator gave you.
  2. Click Sign in. You land on Dashboard. The top bar shows your branch and name.
  3. Use Sign out when you leave the counter.
  4. Use Click to install app to pin the workspace to a phone home screen or computer desktop.

If sign-in fails

  • Check email spelling and password. Several failed tries can lock the account briefly.
  • A red banner about the database is a server setup issue, not a till issue.

Screen habits

  • Most New / Add / Edit / View actions open a popup. Scroll inside the popup if the form is long; Save/Cancel stay at the bottom.
  • Convert, archive, recall, and mark-delivered ask you to confirm.
  • Lists show 10 rows per page. Tables use compact rows where many actions appear on one line.
  • On a phone, tap the menu button (top left) for the sidebar. Wide popups use the full screen on small devices.
  • Print on receipts and wholesale orders opens a simple print page (not the whole app menu).

Sign in

Who can do what

Your menu depends on your role.

RoleTypical workMain menu
AdminFull controlSame menu as all staff, plus delete records and manage staff accounts
Manager, Cashier, Pharmacist, Medicine Counter Assistant, Warehouse, Accountant, WholesaleDay-to-day operationsFull admin menu: create and edit products, sales, customers, stock, prescriptions, finance, SMS, and more
All non-admin staffRestrictionsCannot delete or archive records. Cannot add, edit, or delete staff users (view staff list only)
WholesaleAccount customersOrders, Accounts, Credit limits, Deliveries, Catalogue
CustomerOwn invoicesCustomer portal
SupplierOwn purchase ordersSupplier portal

Demo password (only where demo data was seeded): Password123! — change it before live use.

Dashboard

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.

Open Dashboard

Retail POS

Cashiers, pharmacists, and admin. Open Retail POS.

Ring up a sale

  1. Choose Retail prices or Wholesale prices at the top before adding products (catalogue shows both for reference).
  2. Search by name, SKU, barcode, or generic name, or tap a product. Stock shown is sellable quantity at your branch.
  3. Adjust quantity on the cart. Choose a customer or leave Walk-in.
  4. Payment: cash, mobile money, card, or credit. Optional discount is in GHS, not a percentage.
  5. Checkout opens the receipt page. Click Print — only the receipt prints (sidebar and buttons are hidden). Use New sale for the next ticket.

Rules the till already enforces

  • The system picks the batch that expires soonest (FEFO). You do not choose the batch.
  • Checkout reduces stock on those batches and updates branch totals automatically.
  • Expired and recalled stock cannot be sold.
  • Not enough sellable stock stops checkout — do not try to override it.
  • Credit needs a saved customer with unused credit. Walk-in credit will fail.
  • Prices come from the product price list (retail or wholesale tier for that customer when applicable).

Open POS

Sales history

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.

Sales history

Archives

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).

Archives

Customers and credit

Open Customers (pharmacists see Patients).

Add or edit

Name is required. Set type (retail or wholesale), phone, email, NHIS number, credit limit, wholesale pricing tier, and SMS opt-in.

Collect on account

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.

Customers Credit

Wholesale

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.

Quotations

  1. New quotation: pick a customer (all branch customers appear), or Add customer on the same form.
  2. Add lines with the product search table: In stock, quantity, and unit price (from the product catalogue). Save the quotation.
  3. View or Edit open in a popup until the quote is converted. Convert asks for confirmation.
  4. Administrators can Archive a quotation that has not been converted.

Convert to order

  • Checks sellable stock and credit limit. If either fails, the quote stays open — no half order.
  • On success: wholesale order number, invoice, and a WS- sale for reporting. Stock is deducted with FEFO (same as POS).

Orders

  • View shows lines, batches, and totals.
  • Print opens a standalone order/invoice page and can send it straight to the printer. PDF downloads a file.
  • Wholesale returns use Returns against the linked sale (same as retail receipts).

Deliveries

Schedule customer, driver, address, and time. When the drop is done, click Delivered. This tracks the trip; it does not reverse stock.

Wholesale Deliveries

Products and stock

Stock moves automatically on POS sales, wholesale convert, returns, and goods receipt. Manual adjustment is for corrections only.

Products

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).

Stock adjustment

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.

Stock levels screen

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.

Batches

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.

StatusMeaning
SellableCan go on a ticket
ExpiringWithin 60 days — sell first
ExpiredCannot sell
RecalledBlocked from sale

Recall a batch only when it must not be sold. Recalled quantity stays on the record but POS will refuse it.

Products Stock Batches

Suppliers and purchase orders
  1. Add the supplier (contact and payment terms). Supplier currency is for reference; PO totals are in GHS.
  2. New PO: supplier, expected date, and line table (product, qty, unit cost). Cost prefills from the last purchase or batch; change it if the supplier price differs.
  3. View a PO in a popup. Edit while nothing has been received yet. Receive when goods arrive.
  4. On receive, enter quantity per line, batch number, and expiry. Stock increases only after you submit the receipt.

You can receive in parts until the ordered quantity is complete. Partial receipts block editing the PO lines (receive or archive first).

Suppliers Purchase orders

Prescriptions and NHIS

Capture

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.

Dispense

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.

NHIS claims

Submit claim against a prescription and amount. This is an in-house register — it does not file electronically to NHIS.

Prescriptions NHIS

Returns

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).

Returns

Approvals

Admin and finance. Pending requests show type and record. Click Approve and confirm. An empty list means nothing is waiting.

Approvals

Staff and licences

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.

Staff

Accounting and reports

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.

Accounting Reports

SMS

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.

SMS

Customer and supplier portals

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.

Customer portal Supplier portal

Suggested daily rhythm

Open

Sign in. Check Dashboard (low stock, expiry, today’s sales). Cashiers open POS. Pharmacists check prescriptions waiting. Warehouse reviews POs and expiring batches.

During the day

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.

Close

Finance: collections vs cashbook. Warehouse: recall any unsafe batch immediately. Everyone: Sign out.

Common messages
You seeWhat to do
Invalid credentials or account lockedRecheck password; wait if locked; ask admin to reset.
Insufficient sellable stockReceive stock or reduce qty. Expired/recalled batches do not count.
Convert / credit errorLower the quote, collect AR, or raise the credit limit.
Session expiredRefresh and try again. Do not leave a form open for hours.
Cannot connect to the databaseAdministrator: check DB settings in .env.
Database tables are missingAdministrator: run migrations (and seed if you need demo users).
403 / no accessWrong role for that screen.
Product not on POSInactive product, no sellable batch, or wrong branch.
Cannot remove more than sellable stockReduce the adjustment qty, or remove expired/recalled stock via batch recall — not sellable.
PO cannot be editedSome quantity was already received. Finish receiving or archive the PO.
Blank print previewHard-refresh the page (Ctrl+F5) so the latest styles load, then print again.
What this build does not do
  • GRA e-invoice (IRN) is a placeholder — keep GRA filing in your usual process.
  • NHIS is a local claim list, not a live NHIA submission.
  • Demand forecasting, anomaly detection, and route optimisation are not in this build.

Need a new login? Ask an administrator to add you under Staff with the correct role and branch. Do not share till passwords.