Pharmacy suite operations
Biashara's pharmacy vertical reuses the authoritative POS, purchasing, inventory, receivables, banking, tax and general-ledger engines. It adds medicine profiles, batch/expiry custody, FEFO dispensing, controlled stock movements, scheme claims and pharmacy-specific accounting controls.
See PHARMACY_ACCOUNTING_CLOSURE.md for the certification boundary and rollout gates.
Enablement and permissions
Enable subscription feature pharmacy_management. A chemist-only tenant may set suite_experience: pharmacy to hide unrelated vertical workspaces.
| Permission | Scope |
|---|---|
view-pharmacy |
Hub, batches and reports, including controlled register |
manage-pharmacy-batches |
Record, approve and reverse governed stock dispositions |
manage-pharmacy-setup |
Settings and medicine profiles |
manage-accounts |
Scheme claim adjudication and remittances |
End-to-end operating flow
- Map medicine products to an inventory posting group and valuation class; complete the pharmacy profile (prescription, controlled schedule, storage and FEFO rules).
- Raise a PO and receive it through GRN. Accepted pharmacy lines require batch number, expiry, supplier lot and positive unit cost. Rejected lines do not create stock; quarantined receipts create quarantined batches.
- Sell through standard POS. The system allocates active, unexpired batches by FEFO, or validates an authorized manual batch selection.
- A sale return restores the precise original batch allocation and writes an immutable batch-return record. Repeated partial returns cannot restore more than the allocation.
- Record expired, damaged or recalled stock as a disposition. A different checker approves it; exact batch cost posts to the configured expense and inventory accounts. Reversal restores both stock and GL.
- For insurer/corporate sales, create and adjudicate a scheme claim, separate patient co-pay, record partial remittances through standard AR allocation, and reverse a mistaken remittance through the governed reversal flow. An unsettled adjudication may be corrected by a different user; the system reverses its write-off, reopens AR and retains the previous decision.
- Review near-expiry, controlled-medicine CSV and pharmacy accounting control reports before close.
Key routes
| Route | Purpose |
|---|---|
pharmacy.index |
Suite hub |
pharmacy.batches.index |
Batch register |
pharmacy.dispositions.index |
Expiry, damage and recall controls |
pharmacy.claims.index |
Scheme claims, adjudication and remittances |
pharmacy.reports.near-expiry |
Expiry monitoring |
pharmacy.reports.controlled-register |
Tenant/branch/date-scoped controlled movement CSV |
pharmacy.reports.accounting-control |
Batch, branch inventory and GL reconciliation |
pharmacy.settings.edit |
Organization policy |
The controlled CSV is operational evidence. Its columns and retention/signature procedure must be approved against the tenant's current PPB licence conditions before it is treated as a statutory register.