| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Employees (hr)
• Recruitment (hr_recruitment) • Discuss (mail) • Calendar (calendar) |
| Community Apps Dependencies | Show |
| Lines of code | 1419 |
| Technical Name |
eh_hr_referral |
| License | LGPL-3 |
| Website | https://www.erpheritage.com.au/ |
| Versions | 16.0 17.0 18.0 19.0 |
Employee Referral Tracking
Track employee referrals from submission to hire, with auto-reward on hire and a tamper-evident audit trail, on Odoo 16 Community.
Why this module
Employee Referral Tracking
A real workflow, not a status field
Referrals move through draft, referred, interviewing, hired and rejected on the platform workflow engine. States and transitions are defined as data, each transition is gated to the right HR group, and hired and rejected are final states that refuse any further move.
Hire the applicant, reward the referrer
Spawn a recruitment applicant straight from the referral, linked both ways. When that applicant reaches a hired stage, the referral is marked hired and its points are written automatically. No double-keying, and the spawn step is idempotent so a second click never creates a duplicate applicant.
Every change is on the record
State, referrer, candidate, email, job and reward amount are captured into an append-only, hash-chained audit log, with chatter tracking on the referral itself. Company scope is enforced on every write, so referrals never leak across companies without an audited override.
Day in the life
From a name in the corridor to a paid referral
An employee opens a referral, names the candidate, the role and the bonus, and submits it. HR reviews, clicks Create Applicant, and the candidate enters the recruitment pipeline already linked back to the referral. The team interviews and, when they drag the applicant into the hired stage, the referral flips to hired and the configured points land on the referrer automatically. Months later, anyone asking who referred whom, when, and for how much reads it straight off the hash-chained audit trail.
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.
Create Applicant reuses the already-linked applicant instead of making a second one, so a double click or a re-run never duplicates the candidate in recruitment.
The hired-stage hook skips any referral already marked hired, so re-saving the applicant or moving it back and forth never re-awards points or double-counts.
Once a referral is hired or rejected the workflow engine refuses any further transition, even one a misconfigured definition might declare from a final state.
Audit rows are appended under a Postgres transaction advisory lock and chained by sha256 of the previous row, so concurrent writes cannot fork the chain and verify_chain catches any later tampering.
Referrals carry a required company and reject cross-company writes, even under sudo, unless an explicit override is set and the elevation is itself written to the audit log.
Spawning an applicant adapts to how the candidate name is stored across Odoo releases, so the same one-click flow works without manual field mapping.
Moving the linked applicant to an interview or other non-hired stage leaves the referral untouched and awards zero points; only a stage flagged as hired triggers the reward.
What is inside
Built to do the job, end to end.
- Referral record. eh.hr.referral with referrer, candidate name and email, job position, reward amount, points-on-hire and awarded points, plus a free-text reason. References are auto-numbered REF/YYYY/NNNNN from a company-independent sequence.
- Configurable workflow. Draft, referred, interviewing, hired and rejected states with group-gated transitions, rendered as a status bar. Employees can refer; HR officers move to interviewing, hire and reject. Definitions ship as data and can be reconfigured without code.
- Recruitment integration. One-click Create Applicant spawns and two-way links an hr.applicant. A hired-stage write on that applicant marks the referral hired and awards points, with a chatter note naming the candidate, the referrer and the points granted.
- Audit and tracking. Inherits the platform audited mixin: create, write and unlink land in the append-only, hash-chained audit log, and key fields are tracked in chatter on the referral. Reads honour per-company audit isolation.
- Security and scope. Access is split across HR admin, manager and self-service employee groups, and the strict company-aware mixin keeps every referral bound to its owning company with audited cross-company overrides.
Honest about the edges
What this does not do, so nothing surprises you.
- This module tracks referral points and a reward amount; it does not post a payment or push the bonus into payroll. Use it as the system of record for who earned what, then pay through your normal payroll process.
- Referrals are entered and managed from the HR back office. There is no public or portal submission form; employees in the self-service group create referrals inside Odoo.
- It records integer reward points and an indicative reward amount, with no leaderboard, tiers or gamification beyond those fields.
- It depends on the EH HR Platform engines (core, compat and workflow) and on Odoo hr and hr_recruitment; it owns no workflow or audit code of its own and is not a standalone add-on.
- Transitions are not routed through an approval chain in this module. The underlying engine supports gated approvals, but referral transitions run on group permissions alone.
- Built and tested for Odoo 16 Community. The applicant-creation path is version-aware, but this listing covers the Odoo 16 build.
employee referral Odoo, Odoo 16 hr referral, staff referral programme, referral bonus tracking, referral reward points, hr recruitment referral, refer a friend hiring, hr.applicant referral link, hired stage automation, employee referral workflow, multi-company hr referral, audit trail hr Odoo, referral management Odoo Community, talent referral tracking
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