Skip to main content

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 ManagerChanged outbox 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.cs
  • microservices/src/employee-service/Application/Commands/EmployeeApplicationCommands.cs
  • microservices/src/employee-service/Application/Validators/EmployeeCommandValidators.cs
  • microservices/src/employee-service/Application/Search/EmployeeSearch.cs
  • microservices/src/contracts/Events/ManagerChangedEvent.cs
  • Controllers/UserManagementController.cs
  • UI/salary-ui/apps/client-hrms-portal/src/pages/OrganizationChartPage.tsx
  • Models/User.cs

See Also​

Keywords​

  • Reporting relationship
  • Organization chart
  • Direct report

Revision Information​

  • Status: Draft
  • Last reviewed: 2026-07-15
  • Review cycle: Quarterly