Reports Module
The Reports Module gives Group Admins and authorised Managers a unified place to view, filter, export, and act on data across all seven reporting categories.
Operators (resellers) do not have access to the Reports module.
NOC staff can access Inventory reports only.
Menu Structure (Wireframe)
Reports ⬇
├── All Reports (dashboard / quick-access cards)
├── ⚠ Upcoming Suspension (active, unpaid, expiring soon)
├── Customer Reports ⬇
│ ├── Due / Unpaid
│ ├── Expiring Packages
│ ├── Upcoming Suspension
│ ├── Active Customers
│ └── Inactive Customers
├── Finance Reports ⬇
│ ├── Daily Collections
│ ├── Monthly Collections
│ ├── Outstanding Balance
│ └── Package-wise Revenue
├── Inventory Reports ⬇
│ ├── Mikrotik / NAS Routers
│ ├── OLT Devices
│ ├── ONU Devices
│ └── Other Devices
├── Operator Reports ⬇ [Group Admin only]
│ ├── Operator Performance
│ ├── Operator Revenue
│ └── Operator Customers
├── Distributor Reports ⬇
│ ├── Card Sales
│ ├── Card Stock
│ └── Distributor Commission
├── Gateway Reports ⬇
│ ├── Transactions
│ ├── Failed Payments
│ └── Gateway Revenue
└── Custom Report (cross-filter free-form search)
Access Matrix
| Role | Customer | Finance | Inventory | Operator | Distributor | Gateway | Custom |
|---|---|---|---|---|---|---|---|
| Group Admin | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Manager (with view-reports permission) |
✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| NOC | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ |
| Operator | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
Granting Report Access to a Manager
- Go to Staff → Managers
- Click Edit on the manager
- Check View Reports in the Permissions section
- Save
Customer Reports
Due / Unpaid (/admin/reports/customer/due)
Lists all customers whose payment_status is not paid.
Filters: Expiry Date From/To, Operator, Package
Row highlights:
- 🔴 Red — already overdue (past expiry date)
- 🟠 Orange — overdue within 3 days
Quick Actions per row: 💬 Remind · 📦 Extend · 💰 Pay
Expiring Packages (/admin/reports/customer/expiring)
Customers whose package expires within a chosen window or a custom date range.
Filters: Quick Preset (7/15/30 days) OR Expiry Date From / To, Operator, Package
Row highlights:
- 🔴 Red — expired or expiring today
- 🟠 Orange — expires within 3 days
- 🔵 Blue — expires within 7 days
The Days Left column shows a colour-coded badge.
Upcoming Suspension (/admin/reports/customer/upcoming-suspension)
The most actionable report. Shows active customers who have not paid and whose package expires soon (or is already overdue). These customers will be suspended if no action is taken.
Filters: Window (overdue + 3/7/14/30 days) OR custom date range, Operator, Package
Row highlights:
- 🔴 Red — already overdue
- 🟠 Orange — 1–3 days remaining
- 🔵 Blue — 4–14 days remaining
Quick Actions: 💬 Remind · 📦 Extend · 💰 Pay
Tip: Run this report daily and use the bulk SMS reminder to notify all affected customers at once.
Active Customers (/admin/reports/customer/active)
All customers with status = active. Filters: Operator, Package.
Inactive Customers (/admin/reports/customer/inactive)
All customers with status = suspended or disabled. Filters: Operator, Package.
Finance Reports
Daily Collections (/admin/reports/finance/daily)
Aggregated successful payments grouped by day.
Filters: Date range. Columns: Date, Payment Count, Total Amount.
Monthly Collections (/admin/reports/finance/monthly)
Payments grouped by calendar month. Useful for revenue trend analysis.
Outstanding Balance (/admin/reports/finance/outstanding)
Customers with unpaid bills — amount owed per customer.
Package-wise Revenue (/admin/reports/finance/package-wise)
Total revenue broken down by package name. Helps identify your most profitable packages.
Inventory Reports
NOC staff can access these four reports.
| Report | URL |
|---|---|
| Mikrotik / NAS Routers | /admin/reports/inventory/mikrotik |
| OLT Devices | /admin/reports/inventory/olt |
| ONU Devices | /admin/reports/inventory/onu |
| Other Devices | /admin/reports/inventory/other |
Operator Reports
Group Admins only. Shows per-operator breakdowns.
- Performance — customer count, active/inactive split per operator
- Revenue — total collections per operator
- Customers — full customer list filtered by operator
Distributor Reports
- Card Sales — recharge cards sold by distributors
- Card Stock — available card inventory per distributor
- Commission — commission owed/paid per distributor
Gateway Reports
- Transactions — all payment gateway transactions (Successful / Pending / Failed)
- Failed Payments — only failed transactions, useful for follow-up
- Gateway Revenue — total successful revenue grouped by gateway
Exporting Data
Every report page has three export buttons:
| Button | Format | Notes |
|---|---|---|
| Export Excel | .xlsx |
Best for analysis in spreadsheet apps |
| Export CSV | .csv |
Universal format |
| Export PDF | .pdf |
Formatted table for sharing/printing |
| Browser print | Opens print dialog |
Exports respect the currently applied filters — what you see is what you export.
Row Highlighting Colour Guide
| Colour | Meaning |
|---|---|
🔴 table-danger (red) |
Overdue / expired |
🟠 table-warning (orange) |
Expiring within 3 days |
🔵 table-info (blue) |
Expiring within 7–14 days |
| ⬜ White | No urgent action needed |
Quick Actions
Quick action buttons appear on customer-based reports:
| Button | Action |
|---|---|
| 💬 Remind | Opens SMS composer pre-filled with customer's number |
| 📦 Extend | Opens package change / renewal form for the customer |
| 💰 Pay | Opens the customer's bill / payment collection page |