iDARMS Back Office – Overview
Purpose
The iDARMS Back Office (Main Back Office) is the central web-based administration portal for the Integrated District Assembly Revenue Management System. It is used by MMDA (Metropolitan/Municipal/District Assembly) staff and administrators to manage the entire revenue lifecycle — from property registration and rate payer management to bill issuance, payment collection, accounting, GIS mapping, dispute resolution, and system configuration.
Unlike the Agent App (field-focused) and Rate Payer App (citizen-facing), the Back Office provides full administrative control over all modules, including bulk operations, financial reporting, and user/role management.
Key Modules
| Module | Description |
|---|---|
| Authentication | Login, OTP verification, forgot password |
| Dashboard | Operational & financial KPI widgets, charts, MMDA collection stats |
| Property Management | 6-step property registration, inspection workflow, bulk import |
| Entity Management | Entity CRUD, hierarchy, map view, bulk import/export, blocks |
| Rate Payer Management | Individual/Organisation rate payers, verification, bulk import |
| Bill Management | 8 bill status variants, overdue/adjourning, defaulters list |
| Payment Management | Payment history, offline payments, public receipts |
| Accounting & Finance | Chart of Accounts, journals, 14 financial reports |
| Communication | Email, SMS, WhatsApp, push notifications, bulk messaging, templates |
| Dispute Resolution | Categories, titles, dependencies, claims, web requests |
| GIS Mapping | Google Maps with zone overlay for MMDA boundaries |
| User Management | Users, partners, roles, permission tree, audit logs |
| Settings | Rates, business categories, divisions, blocks, zone types/classes, LVD |
Navigation Structure
The Back Office uses a server-driven sidebar (fetched from
GET /sys/usermenu). The sidebar adapts based on the logged-in user's role
and permissions. A calendar widget and a Ghana tax SVG map are
displayed in the sidebar footer.
Authentication Model
| Feature | Detail |
|---|---|
| Login credentials | User ID + Password |
| OTP verification | 6-digit code, 180-second resend cooldown |
| Password reset | OTP-based via email |
| Session management | Token-based via react-secure-storage (encrypted localStorage) |
| RBAC | Currently disabled — all users have isAdmin: true |
!!! warning "RBAC Status" Role-Based Access Control is currently disabled in the Back Office. All authenticated users effectively have full admin access. This should be enabled before production deployment.
Technology Stack
| Component | Technology |
|---|---|
| Framework | React 19 + TypeScript |
| UI Library | Ant Design 5 |
| Build Tool | Vite |
| State Management | React Query v5 (server state), React Context (UI state) |
| Authentication | OTP-based login with react-secure-storage |
| Internationalization | i18next (6 languages: en, ar, es, fr, it, zh) |
| Push Notifications | Firebase Cloud Messaging |
Testing Focus
!!! tip "Testing focus for this app" This is the most complex of the five iDARMS applications. Priority areas:
- **Property registration wizard** — all 6 steps, validation, and the
inspection workflow with assign → submit → review → verify lifecycle
- **Bill management** — all 8 status transitions, overdue/adjourning logic,
and the link between bills and payments
- **Accounting** — Chart of Accounts integrity, journal entry posting to
ledger, and financial report accuracy
- **Bulk operations** — Excel import for properties, entities, divisions,
blocks, and LVD records
- **Communication hub** — bulk SMS/email delivery, template rendering,
and WhatsApp integration
- **User/Role management** — permission tree configuration and audit trail
integrity