Skip to Content
Odoo Menu
  • Sign in
  • Try it free
  • Apps
    Finance
    • Accounting
    • Invoicing
    • Expenses
    • Spreadsheet (BI)
    • Documents
    • Sign
    Sales
    • CRM
    • Sales
    • POS Shop
    • POS Restaurant
    • Subscriptions
    • Rental
    Websites
    • Website Builder
    • eCommerce
    • Blog
    • Forum
    • Live Chat
    • eLearning
    Supply Chain
    • Inventory
    • Manufacturing
    • PLM
    • Purchase
    • Maintenance
    • Quality
    Human Resources
    • Employees
    • Recruitment
    • Time Off
    • Appraisals
    • Referrals
    • Fleet
    Marketing
    • Social Marketing
    • Email Marketing
    • SMS Marketing
    • Events
    • Marketing Automation
    • Surveys
    Services
    • Project
    • Timesheets
    • Field Service
    • Helpdesk
    • Planning
    • Appointments
    Productivity
    • Discuss
    • Approvals
    • IoT
    • VoIP
    • Knowledge
    • WhatsApp
    Third party apps Odoo Studio Odoo Cloud Platform
  • Industries
    Retail
    • Book Store
    • Clothing Store
    • Furniture Store
    • Grocery Store
    • Hardware Store
    • Toy Store
    Food & Hospitality
    • Bar and Pub
    • Restaurant
    • Fast Food
    • Guest House
    • Beverage Distributor
    • Hotel
    Real Estate
    • Real Estate Agency
    • Architecture Firm
    • Construction
    • Property Management
    • Gardening
    • Property Owner Association
    Consulting
    • Accounting Firm
    • Odoo Partner
    • Marketing Agency
    • Law firm
    • Talent Acquisition
    • Audit & Certification
    Manufacturing
    • Textile
    • Metal
    • Furnitures
    • Food
    • Brewery
    • Corporate Gifts
    Health & Fitness
    • Sports Club
    • Eyewear Store
    • Fitness Center
    • Wellness Practitioners
    • Pharmacy
    • Hair Salon
    Trades
    • Handyman
    • IT Hardware & Support
    • Solar Energy Systems
    • Shoe Maker
    • Cleaning Services
    • HVAC Services
    Others
    • Nonprofit Organization
    • Environmental Agency
    • Billboard Rental
    • Photography
    • Bike Leasing
    • Software Reseller
    Browse all Industries
  • Community
    Learn
    • Tutorials
    • Documentation
    • Certifications
    • Training
    • Blog
    • Podcast
    Empower Education
    • Education Program
    • Scale Up! Business Game
    • Visit Odoo
    Get the Software
    • Download
    • Compare Editions
    • Releases
    Collaborate
    • Github
    • Forum
    • Events
    • Translations
    • Become a Partner
    • Services for Partners
    • Register your Accounting Firm
    Get Services
    • Find a Partner
    • Find an Accountant
      • Get a Tailored Demo
    • Implementation Services
    • Customer References
    • Support
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +32 2 290 34 90
    • Get a Tailored Demo
  • Pricing
  • Help
  1. APPS
  2. Employees
  3. EH HR Transfer v 17.0
  4. Sales Conditions FAQ

EH HR Transfer

by ERP Heritage https://erpheritage.com.au
Odoo
v 17.0 Third Party 19
Download for v 17.0 Deploy on Odoo.sh
Apps purchases are linked to your Odoo account, please sign in or sign up first.
Versions 16.0 17.0 18.0 19.0
You bought this module and need support? Click here!
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies • Employees (hr)
• Discuss (mail)
Community Apps Dependencies Show
• EH HR Compatibility
• EH HR Platform Core
• EH HR Workflow Engine
Lines of code 1349
Technical Name eh_hr_transfer
LicenseLGPL-3
Websitehttps://erpheritage.com.au
Versions 16.0 17.0 18.0 19.0
ERP Heritage · HR Platform
ERP Heritage . HR Platform

EH HR Transfer

Employee department transfers that move through approval and update the record.

Free · LGPL-3v 1.0.0LGPL-3v1.0.0
Department to department transfers
Auto-numbered TRF references
Configurable approval workflow
Group-gated transitions
Employee record updated on completion

Why this module

EH HR Transfer

Governed

An approval path, not a free edit

A transfer cannot jump straight to applied. It moves draft to submitted to approved to done, each step restricted to the right HR group, so a manager raises it and an officer approves and applies it. The target department is written to the employee only on the final completing step.

Audited

Every step on a verifiable trail

State, employee, from and to department and effective date are written to an append-only, hash-chained audit log shared by the whole platform. The chain is serialized with a Postgres advisory lock and can be verified on demand to prove no row was edited after the fact.

Contained

No parallel system to reconcile

The module owns one model and leans on the platform engines for workflow and audit. It reads and writes the standard hr.employee and hr.department records, so your existing reports, org chart and payroll keep seeing the real data.

Day in the life

From request to applied, on the record

An HR manager opens Transfers and raises one for an employee. The reference auto-numbers as TRF/2026/00001 and the current department fills in by itself, so they only choose the destination, an effective date and a reason. They submit; an HR officer reviews and approves, then applies the transfer. On that final step the employee moves to the target department, the status bar reads Done, and the whole path, who raised it, who approved it and what changed, sits in the chatter and the platform audit log. A transfer in Done is final: the engine refuses any further transition on it.

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.

Final state is final

Once a transfer reaches Done or Cancelled the workflow engine refuses every further transition, even one a misconfigured definition might declare, so an applied or abandoned transfer can never be silently re-run.

Self-numbering, collision-safe

References are drawn from a dedicated ir.sequence (TRF/year/00000) at create time, with a TRF/AUTO fallback if the sequence is missing, so two transfers created together never share a number.

Group-gated each step

Submit and cancel require the HR manager group; approve and apply require the HR officer group. A user outside the transition's allowed groups is refused with a clear error, and admin is the only bypass.

Strict multi-company

Every transfer is owned by a company and that is required. A write that tries to move a record into a company the user does not belong to is rejected, and any audited cross-company override is itself written to the log.

Serialized audit chain

Audit rows are appended under a transaction-scoped Postgres advisory lock, so concurrent transfers cannot fork the hash chain. Each row links to the previous by sha256 and verify_chain walks the whole log in bounded batches.

Apply is idempotent on target

The completing step writes the destination department through sudo only when a target is set, and re-reading a Done record changes nothing, so the employee lands in exactly the chosen department once.

What is inside

Built to do the job, end to end.

  • One model, eh.hr.transfer. Holds the employee, from and to department, effective date, reason, auto-numbered reference and workflow state. From-department auto-fills from the employee both on the form and at create time as a backstop.
  • A workflow defined as data. Draft, submitted, approved, done and cancelled states with submit, approve, apply and cancel transitions live in an XML workflow definition, not in Python. The apply transition is bound to the method that updates the employee.
  • Platform audit and tracing, inherited. Through the platform mixins the model gains a correlation id, a structured platform event on every transition, and append-only hash-chained audit rows for create, write and the captured transfer fields.
  • Views, menu and access rules. A list and a form with a status bar and stage buttons, a Transfers menu under HR requests for officers, and access rules giving admins full control, managers create and edit, and self-service employees read-only.

Honest about the edges

What this does not do, so nothing surprises you.

  • Transfers move department only. The model has from and to department fields; it does not carry job position, manager, work location or salary change fields, so it does not reassign those.
  • The effective date is recorded and audited but the apply step writes the new department immediately on completion. There is no scheduled job that defers or back-dates the move to the effective date.
  • Approval here is the workflow's group-gated approve step, not a multi-step approval chain. This module's workflow does not enable the platform's N-step approval engine or escalation ladders, so there is one approve and one apply step.
  • There is no transfer letter PDF, no bulk or mass-transfer wizard, and no import tool. Transfers are raised one record at a time through the form.
  • Cancel is available only from Draft. A transfer already submitted or approved cannot be cancelled through the shipped workflow without an administrator adjusting the definition.
  • It targets Odoo 17 Community and depends on eh_hr_core, eh_hr_compat, eh_hr_engine_workflow and the standard hr module; it is not a standalone app.
Search

Odoo 17 employee transfer, department transfer module, HR transfer request Odoo, internal transfer approval workflow, employee movement tracking, Odoo HR workflow, audited HR transfer, multi-company HR Odoo, self hosted Odoo HR, transfer approval Odoo Community, employee department change, HR platform Odoo 17

Work with ERP Heritage

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.

Build and tailor
Odoo Implementation, Customization and Development, scoped to your workflow.
Connect and move
Odoo Integration and Migration across systems and Odoo versions.
Run and support
Odoo Support and Training so your team stays productive after go live.
Plan and advise
Odoo Consultation and ERP Consulting, from discovery to roadmap.

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.

ArabicChinese (Simplified)Chinese (Traditional)DutchFrenchGermanHindiIndonesianItalianJapaneseKoreanPolishPortuguese (Brazil)RussianSpanishSwedishThaiTurkishVietnamese
ERP Heritage

Production-grade Odoo HR, built to an engineering bar and documented honestly. Support: info@erpheritage.com.au
Developed by ERP Heritage - Top Odoo Partner • LinkedIn

v1.0.0 · LGPL-3 · Odoo 17 Community

Please log in to comment on this module

  • The author can leave a single reply to each comment.
  • This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
  • If you want to start a discussion with the author, please use the developer contact information. They can usually be found in the description.
Community
  • Tutorials
  • Documentation
  • Forum
Open Source
  • Download
  • Github
  • Runbot
  • Translations
Services
  • Odoo.sh Hosting
  • Support
  • Upgrade
  • Custom Developments
  • Education
  • Find an Accountant
  • Find a Partner
  • Become a Partner
About us
  • Our company
  • Brand Assets
  • Contact us
  • Jobs
  • Events
  • Podcast
  • Blog
  • Customers
  • Legal • Privacy
  • Security

Odoo is a suite of open source business apps that cover all your company needs: CRM, eCommerce, accounting, inventory, point of sale, project management, etc.

Odoo's unique value proposition is to be at the same time very easy to use and fully integrated.

Website made with