Pharmacy / Drug Sales Module
Overview
This module helps you record and manage drug sales in your pharmacy system. You can sell medications to registered patients or walk-in customers, track payments, and maintain sales records.
Navigating to the Drug Sales Page
- Look for the Sales Management section in your left sidebar menu
- Click on Pharmacy / Drug Sales
- You'll see a list of all recorded sales
Recording a New Sale
Step 1: Fill in Drug & Customer Information
Drug Selection: Start by choosing the drug being sold
- Type the drug name to search
- Select from the dropdown list
- The system will automatically show you the current stock and price
Customer Selection:
- Option A (Patient): Choose from your registered patients
- Type patient name to search
- Select the correct patient
- Patient contact information will be linked automatically
- Option B (Walk-in Customer): For non-registered customers
- Leave patient field empty
- Fill in "Customer Name" field
- Add "Customer Contact" (phone number)
- Option A (Patient): Choose from your registered patients
Step 2: Set Pricing Details
Quantity: Enter how many units you're selling
- System shows available stock
- You cannot sell more than available stock
- Example: If drug is sold in tablets, enter number of tablets
Unit Price: Automatically filled from inventory
- Price per unit (tablet, strip, bottle, etc.)
- Shows in UGX (Ugandan Shillings)
Total Price: Automatically calculated
- Quantity × Unit Price = Total Price
- This field cannot be edited directly
Step 3: Payment Information
Payment Method: Choose how customer paid
- Cash
- Mobile Money
- Card Payment
- Bank Transfer
Payment Status:
- Paid: Customer has completed payment
- Pending: Customer owes money (will pay later)
Receipt Number (Optional):
- Add receipt number if available
Step 4: Additional Information
- Notes: Add any special instructions or notes
- Sale Date: System records current date/time automatically
- User: Your name is automatically recorded as the seller
Important Notes
✅ Stock Validation: System prevents selling more drugs than available in stock
✅ Patient vs Walk-in: You can only enter either a patient OR walk-in customer details, not both
✅ Price Lock: Unit price comes from drug inventory and cannot be changed here
Viewing Sales List
Columns Displayed:
- Sale Date: When the sale occurred
- Drug: Medication sold
- Patient/Customer: Who bought the drug
- Quantity: How much was sold (with units)
- Prices: Unit price and total amount
- Payment Method: How customer paid (color-coded)
- Payment Status: Paid or Pending (color-coded)
Sorting and Filtering:
- Sorting: Sort any column by clicking the column header
- Searching: Find specific sales using the search box
- Date Filtering: Use the advanced date filter to narrow down results
Using the Date Filter
The system includes a powerful date filter that lets you find sales based on when they were created.
How to Use the Date Filter:
- Click the Filter button above the sales list
- Look for the "Created Between" filter
- Choose from two filtering methods:
Option 1: Quick Preset Filters
Select from pre-defined time ranges:
- Today: Show only sales created today
- Last 7 Days: Show sales from the past week
- Last 30 Days: Show sales from the past month
- This Month: Show sales from current month
- This Year: Show sales from current year
Option 2: Custom Date Range
For more specific filtering:
- From: Set a start date and time
- Until: Set an end date and time
Filter Examples:
🔍 Example 1: To see all sales from last week, select "Last 7 Days" 🔍 Example 2: To see sales between Jan 1-15, set "From: Jan 1" and "Until: Jan 15"
How to Know Which Filter is Active:
- The system shows a colored badge telling you which filter is applied
- Examples:
- 🟢 "Created Today"
- 🟡 "Created in Last 7 Days"
- 🔵 "Created between Jan 1, 2024 and Jan 15, 2024"
Clearing Filters:
- Click the X next to any active filter badge
- Or click Clear Filters button
Actions You Can Take
For Each Sale Record:
👁️ View: See complete sale details
✏️ Edit: Modify sale information (disabled if payment is "Paid")
Bulk Actions:
Select multiple sales using checkboxes to: 🗑️ Delete: Remove selected sales 🔄 Restore: Restore deleted sales 🗑️ Force Delete: Permanently remove
Tips for Accurate Record Keeping
- Always select the correct drug - This affects stock counts
- Verify stock availability before confirming sale
- Update payment status - Mark as "Paid" only when payment is complete
- Use notes field for special instructions or customer requests
- Double-check patient selection to maintain accurate patient histories
- Use date filters to quickly find recent sales or generate reports
Common Scenarios
Scenario 1: Selling to Registered Patient
- Select patient from dropdown
- Choose drug
- Enter quantity
- Mark payment as "Paid" if received
- Save
Scenario 2: Walk-in Customer
- Leave patient field empty
- Fill in customer name and contact
- Choose drug
- Enter quantity
- Save
Scenario 3: Partial Payment
- Record sale as usual
- Set payment status to "Pending"
- Add note about outstanding amount
- Update later when full payment received
Scenario 4: Finding Old Sales for Report
- Use date filter to select date range
- Export or review filtered results
- Use for monthly reports or audit purposes
Need Help?
- Red warning messages indicate errors (like insufficient stock)
- Green success messages confirm actions
- Yellow/orange badges show pending status
- Always save your work before leaving the page
- Date filter badges show which time period is being viewed
- Use preset filters for common date ranges to save time