EH HR Transfer
Move an employee to a new department through an approved, audited workflow that applies the change only when the transfer completes.
Why this module
EH HR Transfer
An approval, not a field edit
A transfer moves through submit, approve and complete on the shared workflow engine, with a cancel path. Changing an employee's department becomes a reviewed act with a record, not a quiet edit to the employee form.
The org chart changes only at the end
The target department is written to the employee record only when the transfer completes. A draft, submitted, or cancelled transfer leaves the employee's current department untouched, so nothing moves before it is approved.
Audited by the engine
States, transitions and the audit trail come from the EH HR Platform engine, so a completed transfer carries the same tamper-evident history as the rest of the suite, captured for the state, employee, departments and effective date.
Day in the life
A reviewed move that lands on the right day
A manager raises a transfer for an employee. The from department fills in automatically from the employee's current one, the manager picks the target department and an effective date, and submits. An approver approves, then completes the transfer. Only at completion does the engine write the new department onto the employee record. Every step is stamped into the workflow audit trail, and the reference was auto-numbered the moment the record was saved.
Edge cases
The cases most modules quietly ignore.
In the shipped code today, each one a place where a cheaper module silently does the wrong thing.
The new department is written to the employee only by the completion step (apply_transfer, bound as the workflow post action). A transfer sitting in draft, submitted or approved, or one that is cancelled, never changes the employee's department.
The from department is captured automatically from the employee's current department at create and onchange time, so the record shows where the person actually moved from, not a hand-typed guess.
A reference is drawn from the sequence only while the name is still 'New', with a safe TRF/AUTO fallback if the sequence is missing, so importing or duplicating a record does not consume or overwrite an existing reference.
The employee link is ondelete restrict, so an employee with a transfer on file cannot be deleted out from under the record.
The engine captures state, employee, from and to department and effective date on each change into its audit trail, so who moved whom and when is on the record.
What is inside
Built to do the job, end to end.
- Transfer model. eh.hr.transfer with employee, from and to department, effective date, reason, and an auto-numbered reference, ordered for review.
- Workflow on the engine. Submit, approve, complete and cancel transitions resolved from the workflow definition, with completion bound to apply the department change.
- Apply on completion. apply_transfer writes the target department to the employee only when the transfer completes, leaving every earlier state non-destructive.
- Audit and access. The workflow engine records the captured fields on every transition; access follows the platform HR groups.
Honest about the edges
What this does not do, so nothing surprises you.
- This module transfers the employee's department. It does not change the job position, manager, contract, or pay; only the department is applied on completion.
- It applies the change to the employee record. It does not write a dated history table or schedule a future-dated apply; the effective date is a recorded field and completion applies the move when you run it.
- It depends on the EH HR Platform engines (eh_hr_core, eh_hr_compat, eh_hr_engine_workflow) and standard hr, which install automatically.
employee transfer Odoo, department transfer workflow, HR transfer approval Odoo, internal mobility Odoo, employee movement, Odoo 18 Community HR, multi company HR, audited HR workflow
Need this fitted to the way you work?
ERP Heritage delivers end to end Odoo work: Odoo Implementation, Customization and Development, Integration, Migration, Consultation, Support and Training. We help teams put this module into production, shape it to their process, and keep it running.
We work with businesses across Australia (Melbourne, Sydney, Brisbane, Perth, Adelaide, Canberra) and the Middle East (Dubai, Abu Dhabi, Riyadh, Jeddah, Doha, Kuwait City, Muscat). Start a conversation at erpheritage.com.au or email info@erpheritage.com.au.
Languages
Available in 19 languages
The interface ships translated out of the box. Switch language in Odoo and the fields, menus, and messages follow.
Please log in to comment on this module