Skip to content

LVD Portal – Overview

Purpose

The LVD Portal is a web-based administrative interface for Local Value Determination (LVD) partners to manage property rate data within the iDARMS ecosystem. It enables partners to import, review, and adjust LVD records, track bills and payments, generate financial reports, and manage property information across Metropolitan, Municipal, and District Assemblies (MMDAs).

Navigate to: https://[domain]/lvd


Key Modules

Module Description
Login / Forgot Password Username + password authentication with OTP verification
Dashboard KPI cards, quick actions, and recent LVD changes
LVD Import Upload Excel files with property/LVD data for bulk import
LVD History Server-paginated list of all imported LVD records with search
Property Management Grid-view property list and detailed property information
Bill Management Bill list with stats, filters, and payment history
Payment Management Payment list with stats, filters, and status tracking
Financial Reports Debit/credit transaction reports with export options
Settings Profile editing, organization info, and password change
Help Center Search, FAQ categories, and contact support form

The sidebar is server-driven — menu items are fetched dynamically via GET /sys/usermenu. The available icon mapping includes: operationaldashboard, financialdashboard, property, propertyowners, gismapping, billmanagement, paymentmanagement, accountingfinance, entity, usermanagement, ussdmanagement, settings, communication, ratepayerinformation.

!!! tip "Testing focus for this app" Confirm that LVD import correctly parses Excel data and submits it to the server, that all table views handle server-side pagination and filtering correctly, and that the RBAC bypass (all users treated as admin) does not expose restricted endpoints unintentionally.

!!! warning "Known Issues" - RBAC is disabled — the useUser hook returns isAdmin: true for all users - Dashboard data is hardcoded demo data — KPI cards and recent changes do not reflect real API data - QueryClient in render — a new QueryClient is created on every render in App.tsx