Reporting Hierarchy
Summary
Employee Service stores an optional reporting-manager reference on each employee and an optional head reference on each department. The current organization-chart UI uses the monolith’s user-manager hierarchy, making chart ownership transitional.
Audience
- Tenant administrators and implementation partners
- Support engineers, developers, QA engineers, and architects
Purpose
Reporting relationships support workforce lookup and hierarchy presentation without implying matrix reporting, delegated approval, or security authority.
Architecture
Business concepts
- Reporting manager — Implemented: an employee can reference another active employee in the same tenant-visible data scope.
- Manager change — Implemented: a command updates the reference, records an employee timeline/audit entry, and creates a
ManagerChangedoutbox event. - Self-reporting prevention — Implemented: an employee cannot be assigned as their own manager.
- Department head — Implemented reference / Transitional identity: Employee Service uses an employee identifier; compatibility models use a user identifier.
- Hierarchy traversal and chart — Transitional: the monolith returns visible ancestors and descendants from user-manager links, and the React page renders a tree, search, and print-oriented view.
- Cycle prevention beyond self — Requires confirmation: no complete ancestor-cycle validator was confirmed for extracted employee manager changes.
- Matrix, dotted-line, delegation, and approval chains — Not implemented in reviewed organization source.
Technical implementation
Tenant query filters constrain manager lookup in Employee Service. Employee search can filter by reporting manager. The monolith hierarchy endpoint applies tenant visibility for non-platform users and returns only visible manager links. Employee Service does not expose a confirmed equivalent organization-chart traversal endpoint.
Source References
microservices/src/employee-service/Domain/Employees/Employee.csmicroservices/src/employee-service/Application/Commands/EmployeeApplicationCommands.csmicroservices/src/employee-service/Application/Validators/EmployeeCommandValidators.csmicroservices/src/employee-service/Application/Search/EmployeeSearch.csmicroservices/src/contracts/Events/ManagerChangedEvent.csControllers/UserManagementController.csUI/salary-ui/apps/client-hrms-portal/src/pages/OrganizationChartPage.tsxModels/User.cs
Related Articles
See Also
Keywords
- Reporting relationship
- Organization chart
- Direct report
Revision Information
- Status: Draft
- Last reviewed: 2026-07-15
- Review cycle: Quarterly