Employee Management
Manage the full employee lifecycle from hiring to termination with multi-entity assignments and payroll integration
Employee Management
Manage your workforce across multiple legal entities with complete lifecycle support -- from onboarding new hires to managing promotions, transfers, and terminations. Every change flows through approval workflows with a full audit trail.
Overview#
Employee management covers the complete lifecycle:
- Create employees with entity assignments, bank accounts, addresses, and dimensions
- Update any detail -- promotions, transfers, manager changes, bank accounts
- Terminate employees with soft delete (default) or hard delete for cleanup
- Import employees in bulk from HRIS systems or CSV files
- Reactivate previously terminated employees for rehiring
- Rebuild manager reporting hierarchies when organizational changes occur
Every employee change is tracked through the workflow system with full traceability.
Multi-Entity Architecture#
Employees follow the Master + Entity Override pattern:
- Master employees hold identity information -- name, email, hire date, personal details
- Entity assignments hold role-specific information -- job title, department, cost center, manager
- An employee can be assigned to multiple entities simultaneously (e.g., working across US and UK offices)
This means "John Doe" exists once as a master record, but can be a "Software Engineer" in Entity 10 (US) and an "Engineering Lead" in Entity 11 (UK) -- each with its own manager, department, and cost center.
Creating Employees#
Required Information#
| Field | Description |
|---|---|
| First name | 1-100 characters |
| Last name | 1-100 characters |
| Work email | Valid email, must be unique across the organization |
| Hire date | Employment start date (YYYY-MM-DD) |
Optional Information#
Personal details:
- Middle name, preferred name, date of birth
- Personal email, personal phone
- Gender, nationality
- Emergency contact (name, phone, relationship)
- Notes
Work details:
- Job title, department, cost center, location
- Manager (by employee ID)
- Employment status: active, on leave, terminated
- Employment type: full-time, part-time, contractor, intern
Compensation:
- Salary, currency, pay frequency
Addresses:
- Home, mailing, and work addresses with full address fields
- Primary and mailing address flags
Bank accounts (for payroll direct deposit):
- Bank name, routing number, account number
- Account type (checking, savings)
- Default account flag
- Bank account details are encrypted at rest for security
Dimensions:
- Tag employees with location, cost center, project, or other analytical dimensions
Vendor mappings (for contractors):
- Link contractor employees to vendor records for payment processing (1099 tracking)
Updating Employees#
Updates support partial changes -- specify only the fields you want to modify.
Common Update Scenarios#
Promotion: Update job title and optionally cost center for a specific entity assignment.
Manager change: Assign a new reporting manager. The system automatically rebuilds the reporting hierarchy. Circular references are prevented -- an employee cannot report to someone who reports to them.
Entity transfer: Assign an employee to a new entity with a new role, department, and manager. The employee can maintain assignments in multiple entities simultaneously.
Personal information: Update name, contact details, emergency contact information.
Related Record Changes#
When updating addresses, bank accounts, dimensions, or vendor mappings, each record uses an action field:
| Action | What It Does | When to Use |
|---|---|---|
| add | Creates a new record | Adding a direct deposit account |
| update | Modifies an existing record | Changing a home address |
| delete | Removes an existing record | Removing an old bank account |
Multiple changes can be combined in a single operation -- for example, updating a job title, adding a new bank account, and changing an address all at once.
Terminating Employees#
Soft Delete / Termination (Default)#
The standard approach for employee departures:
- Employment status set to "terminated"
- Termination date and reason recorded
- Employee hidden from active employee lists and dropdowns
- Cannot submit new expense reports or timesheets
What is preserved:
- Historical payroll records
- Historical expense reports
- All addresses, bank accounts, dimensions, and vendor mappings
- Complete audit trail
Hard Delete (Exceptional)#
For cleanup of test or erroneous records only:
- Requires CFO-level approval (red lane, 3-step workflow)
- Permanently removes all employee data including bank accounts, addresses, and dimensions
- Encrypted bank account data is purged
Appropriate for:
- Test employee cleanup
- Duplicate records
- Data entry errors (person was never actually hired)
Not appropriate for:
- Employees with any payroll or transaction history
Reactivation#
Previously terminated employees can be reactivated for rehiring scenarios. This restores the employee to active status while preserving their complete history.
Bulk Import#
Import employees from external systems with built-in validation and duplicate detection.
Supported Sources#
- HRIS systems (Workday, BambooHR, ADP, Rippling)
- CSV file exports
- Legacy system migrations
- Batch processing for new hire groups
Import Process#
- Data validation (automatic) -- field types, formats, email uniqueness, manager references
- Manager review -- summary of validation results before execution
Import Options#
| Option | Description | Default |
|---|---|---|
| On duplicate | Skip, update existing, or raise error | Skip |
| Batch size | Records per batch (1-1000) | 100 |
| Stop on error | Halt on first error vs. continue | Continue |
| Validate only | Dry run without creating records | No |
Duplicate Detection#
Employees are considered duplicates if their work email matches an existing record (case-insensitive).
Approval Workflows#
All employee operations go through risk-based approval routing:
| Operation | Approval Steps | Typical Lane |
|---|---|---|
| Create employee | HR Manager, then Controller | Yellow |
| Update employee | HR Manager, then Controller | Yellow |
| Terminate (soft) | HR Manager, then Controller | Yellow |
| Delete (hard) | HR Manager, Controller, then CFO | Red |
| Bulk import | Validation, then Manager review | Yellow |
Employment Types#
| Type | Description | Payroll | Vendor Mapping |
|---|---|---|---|
| full_time | Standard full-time employee | Yes | No |
| part_time | Part-time employee | Yes | No |
| contractor | Independent contractor | No (via vendor) | Yes |
| intern | Temporary intern position | Optional | No |
Contractor Payment Flow#
Contractors can be linked to vendor records through vendor mappings. This enables:
- Payment processing through accounts payable (vendor bills)
- 1099 reporting for tax compliance
- Separation of employment tracking from payment processing
Manager Hierarchy#
The system maintains a reporting hierarchy that supports:
- Direct reporting: each employee has one manager per entity assignment
- Automatic rebuilding: hierarchy updates when managers change
- Circular reference prevention: the system validates that manager assignments don't create loops
- Cross-entity visibility: view the full organizational tree across entities
When a manager change occurs, the reporting hierarchy is automatically recalculated.
Key Validation Rules#
| Field | Rule |
|---|---|
| First/last name | 1-100 characters, cannot be empty |
| Work email | Valid email format, must be unique |
| Hire date | Valid date (YYYY-MM-DD) |
| Employment status | One of: active, terminated, on_leave |
| Employment type | One of: full_time, part_time, contractor, intern |
| Manager | Must exist, cannot create circular references |
| Termination reason | Maximum 500 characters |
| Bank account type | One of: checking, savings |
| Address | Requires at least address line 1 and country |
Subscribe to new posts
Get notified when we publish new insights on AI-native finance.