Skip to main content

Feature overview

Damsy ERP is organized into MVC Areas, each representing a functional module with its own layout, dashboard, controllers, and report viewers. Users reach modules from the home dashboard after login; access is controlled by boolean flags on the authenticated user record.

Purpose

This page maps each module to its business purpose, entry URL, and access flag. Use it when scoping work, tracing permissions, or explaining the product to stakeholders.

When to use this reference

  • You need to know which Area owns a feature before searching controllers
  • You are configuring user module flags in the administration panel
  • You are planning integrations between payroll output and billing input

Module summary

ModuleAccess flagEntry routePrimary purpose
PayrollPayroll/Payroll/PayrollDashboard/IndexHR masters, attendance, salary processing, statutory reports, F&F
RegistrationWebenroll/Registration/RegistrationDashboard/IndexCandidate enrollment, induction, unit permissions, HR registration
BillsBilling/Bills/BillsDashboard/IndexClient billing, GST/IRN, payments, credit/debit notes, billing MIS
StockZSTOCK/Stock/StockDashboard/IndexInventory, requisition, PO, receipts, issues, returns
SalesZSales/Sales/SalesDashboard/IndexLead capture, follow-up, allowances, basic sales reports
ESSEss/ESS/EssDashboard/IndexEmployee self-service — payslips, leave, loans, Form 16, CTC
Contracted RatesContractedRates/ContractedRates/ContractedDashboard/IndexContracted unit rates, wage register linkage, billing rate masters
OperationOperation/Operation/OperationDashboard/IndexGrievances, incidents, client complaints, day/night checking
Attendance PunchingAttPunch/AttendancePunching/AttendanceDashboard/IndexPunch entry/approval, leave entry, shifts, attendance reports
Control PanelControlPanel/Adminisration/UserDashBoard/IndexUser creation, roles, email configuration
Management DashboardManagementDashboard/ManagmentDashBoard/ManagmentDashBoard/IndexCross-module KPIs and MIS — wages sheets, P&L, recoveries
Verification & ApprovalVerificationAndApproval/VerificationAndApproval/VerificationApprovalDashboard/IndexSalary verification workflow before payment release
info

UI labels do not always match flag names. For example, Registration in the dashboard corresponds to the Webenroll flag, and Stock maps to ZSTOCK.

Module highlights

Payroll

The largest module. Covers company configuration, branches, clients, units, employee lifecycle, attendance import, salary verification and processing, arrear/bonus runs, bank upload, income tax computation, and statutory MIS via Crystal Reports.

Bills

End-to-end client billing with bill masters, particulars, payment receipt, credit/debit notes, expense tracking, GST returns, and bulk IRN generation. E-invoice credentials are loaded into session at login.

Stock

Full inventory lifecycle: item and vendor masters, requisitions, purchase orders, goods receipt, multi-variant item issue (company, branch, supervisor, site, employee), returns, and form reports.

ESS

Employee-facing portal for payslips, attendance view, leave applications, loan/advance details, savings, CTC breakdown, and Form 16. Complements payroll data with a simplified self-service UI.

Shared root features

Some capabilities live outside Areas:

  • EmployeeM — shared employee master used from Payroll and Registration layouts
  • ManageError — centralized and per-Area error handling
  • Login / Dashboard — authentication and module launcher

How module navigation works

The ModuleManagement action on LoginController maps a PageID string to the correct Area dashboard URL. Each Area controller repeats a session gate:

if (string.IsNullOrEmpty(Convert.ToString(Session["CompID"])))
return RedirectToAction("UserLogin", "Login", new { Area = "" });

Developer notes

  • Each Area has a dedicated layout under Areas/<Area>/Views/Shared/.
  • Modern modules use flat topbar + sidebar shell CSS (shell-modern.css, sidebar-unified.css).
  • Legacy modules (Sales, Operation, Attendance) may still use the older header-navbar shell.
  • Fine-grained page menus often depend on [dbo].[GetDataUserPermissions] — a minimal database seed may leave menus empty even when login succeeds.
warning

On a blank database with only minimal seed data, module flags may allow dashboard access while individual menu pages fail. Seed or copy MenuMaster and UserPermissions from a working database for full navigation.

Common mistakes

MistakeResult
Searching for "Administration" Area folderFolder is named Adminisration
Searching for "ManagementDashboard" routeRoute is ManagmentDashBoard
Assuming one ModuleAccess session keyAccess comes from bool flags on dtVerifyUser
Opening ESS expecting admin HR screensESS is employee-facing; HR admin work lives in Payroll

Next steps

Understand the underlying platform in Technology stack, then set up your environment with Requirements.