Recruitment¶
1. Purpose¶
Recruitment tracks hiring: the positions open, the candidates who applied, where each one is in the process, and who was hired. A hired applicant can be turned into an employee record directly, which is the point at which recruitment hands over to Employees.
In the NestERP stack it is present mainly because the Cybrosys OpenHRMS suite requires it, so it is installed at most clients whether or not they actively recruit through it.
2. Features¶
- Job positions with the number of expected recruits
- Applicant records with CV and document attachments
- A kanban recruitment pipeline — new, qualified, interview, contract proposal, hired
- Applications received by email to a per-position alias
- Interview scheduling through activities
- Applicant evaluation and notes in the chatter
- Creating an employee record from a hired applicant
- Refusal reasons and applicant archiving
- Recruitment reporting — source, time to hire, positions filled
3. Where to find it¶
- Menu: Recruitment → Applications / Configuration
- Technical name:
hr_recruitment - Tier: Odoo core (Community Edition)
- Available in: Odoo 17 and 18 in our stack
4. Modules used¶
| Module | Tier | Why it is needed |
|---|---|---|
hr_recruitment |
Odoo core | Job positions, applicants, the hiring pipeline |
hr |
Odoo core | Creating the employee record on hire |
mail |
Odoo core | Application aliases, notifications, chatter |
ohrms_core |
Third-party (Cybrosys) | Requires hr_recruitment as part of the suite |
hrms_dashboard |
Third-party (Cybrosys) | Recruitment figures on the HR dashboard |
5. Configuration¶
- Create job positions — Recruitment → Configuration → Job Positions, or from the Employees app. Set the department, the recruiter and the number of expected recruits.
- Set the email alias per position if applications should arrive by email. Requires the incoming mail server to be configured — see Platform & Base.
- Review the pipeline stages and adapt them to the client's actual process.
- Create refusal reasons so declines are recorded consistently.
- Set the recruiter on each position; they receive the notifications.
Configuration traps
- Email aliases need working incoming mail. Without it, positions look configured and silently receive nothing.
- Publishing a position to a careers page requires the Website module, which is not in the NestERP stack — positions are internal-only here.
- Creating an employee from an applicant copies limited data. The contract, bank account and HR settings still have to be completed by hand.
6. How it's used¶
- HR Officer — creates the job position with its department and expected recruits.
- Applicant or HR Officer — the application arrives by email alias, or is entered manually.
- Recruiter — moves the applicant through the pipeline stages, scheduling interviews as activities.
- Recruiter — records evaluation notes in the chatter.
- HR Officer — on acceptance, uses Create Employee from the applicant.
- HR Officer — completes the employee record and creates the contract (see Employees).
- Recruiter — refuses unsuccessful applicants with a reason, which archives them.
Screenshots needed
Save to docs/assets/recruitment/: recruitment kanban pipeline · job position form ·
applicant form with attachments · the Create Employee action.
7. Access rights¶
| Group | Can do |
|---|---|
| Recruitment / Officer | Manage applicants for their positions |
| Recruitment / Administrator | All positions, plus stages and configuration |
Applicant records contain personal data of people who are not employees. Restrict access accordingly — this is the one HR module whose data belongs to non-staff.
8. Version differences (16 / 17 / 18)¶
- Not part of our Odoo 16 line.
attrsandstatesremoved from views.- Pulled in by
ohrms_coreandhrms_dashboard.
<tree>elements superseded by<list>.- Same dependency route through OpenHRMS.
9. Known limitations¶
- No employee referral programme. Enterprise.
- No CV parsing or document OCR. Enterprise. Applicant data is typed in by hand.
- No careers website unless the Website module is added, which is outside the NestERP stack.
- No interview scorecards or structured evaluation forms in core — evaluation is free-text chatter.
- No job board integrations.
- Installed but often unused. Because OpenHRMS requires it, this module is present at clients who do all their recruiting outside the system. Worth confirming before documenting it as part of a client's live process.
Needs verification on the Thalia live instance
- Whether recruitment is actually used, or merely installed as an OpenHRMS dependency
- Which job positions exist
- Whether email aliases are configured and receiving
- Whether the pipeline stages have been adapted from the defaults
- Who holds recruitment access, given the personal data involved