Skip to content

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

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