Skip to main content

Onboarding & Offboarding Business Rules

Summary

This catalog lists only rules enforced or calculated by verified source.

Audience

HR operations, product owners, engineering, QA, support, and architecture reviewers.

Reference Content

Each row identifies the trigger, business outcome, validation, and primary source file for one rule.

Verified rule catalog

#RuleTriggerBusiness outcomeValidationSource
1Only an Accepted offer moves to onboardingMove offerOnboarding can startNon-Accepted returns conflictOfferCommands.cs
2Existing non-cancelled onboarding is reusedRepeat moveNo second active record for offerRepository lookupOfferCommands.cs
3Completed onboarding is terminalStatus updateRecord remains CompletedOther target returns conflictOnboardingCommands.cs
4Completion needs the candidateComplete onboardingProvisioning uses candidate dataMissing candidate returns not foundOnboardingCommands.cs
5Employee provisioning precedes completionComplete onboardingJoined/completion recorded after successDependency failure prevents save/eventsOnboardingCommands.cs
6Extracted retry uses deterministic employee codeRepeat provisioningExisting Employee may be returnedCreate conflict triggers lookupEmployeeServiceClient.cs
7New Employee starts ActiveCreate EmployeeActive workforce record and historyDomain creation ruleEmployee.cs
8Employee cannot report to selfChange managerInvalid manager change rejectedDomain validationEmployee.cs
9UI requires core joining and pay-mode fieldsComplete formSubmission allowed after client checksRequired code/email/date/department/designation/pay inputRecruitmentOnboardingPage.tsx
10Exit reason is requiredSubmit resignationRequest may be createdBlank reason rejectedHrOperationsController.cs
11Resignation date is current dateSubmit resignationServer fixes effective submission dateRequest value is not authoritativeHrOperationsController.cs
12Last working date cannot precede resignationSubmit resignationChronology remains non-negativeEarlier date rejectedHrOperationsController.cs
13One active exit per employeeSubmit resignationDuplicate active request blockedActive status queryHrOperationsController.cs
14Actor cannot decide own exitApprove/rejectSeparation of self and approverPermission helpers reject same actorHrOperationsController.cs
15Rejection needs a reasonReject exit/rollbackRejection evidence recordedBlank reason rejectedHrOperationsController.cs
16Rollback is allowed only for approved exit before last working dateRequest rollbackApproved exit can be reconsideredStatus/date checksHrOperationsController.cs
17Access revoke targets approved exits after last working dateProcess revokesLogin/labor disabled and exit CompletedStatus, date, null-and-void, prior-revoke checksHrOperationsController.cs
18Asset clearance is true only with no blocking assetsQuery clearanceRead-only clear/block verdictIssued, Damaged, Lost, Repair blockAssetQueries.cs

Total

This catalog contains 18 verified rules. It does not include policy proposals or UI labels that are not enforced.

Rules requiring confirmation

Mandatory onboarding documents, task completion gates, joining-date horizon, department/manager mandates, credential policy, asset bundles, payroll/leave/attendance activation, notice-period exceptions, clearance sign-off, final settlement, termination categories, retention, and archival require confirmation.

Source References

  • microservices/src/recruitment-service/Application/Commands/OfferCommands.cs
  • microservices/src/recruitment-service/Application/Commands/OnboardingCommands.cs
  • microservices/src/recruitment-service/Infrastructure/EmployeeServiceClient.cs
  • microservices/src/employee-service/Domain/Employees/Employee.cs
  • Controllers/HrOperationsController.cs
  • microservices/src/asset-service/Application/Queries/AssetQueries.cs
  • UI/salary-ui/apps/client-hrms-portal/src/pages/hr/RecruitmentOnboardingPage.tsx

See Also

Keywords

  • Onboarding rules
  • Exit rules
  • Validation catalog

Revision Information

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