Skip to content

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

  1. Create job positions — Recruitment → Configuration → Job Positions, or from the Employees app. Set the department, the recruiter and the number of expected recruits.
  2. Set the email alias per position if applications should arrive by email. Requires the incoming mail server to be configured — see Platform & Base.
  3. Review the pipeline stages and adapt them to the client's actual process.
  4. Create refusal reasons so declines are recorded consistently.
  5. 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

  1. HR Officer — creates the job position with its department and expected recruits.
  2. Applicant or HR Officer — the application arrives by email alias, or is entered manually.
  3. Recruiter — moves the applicant through the pipeline stages, scheduling interviews as activities.
  4. Recruiter — records evaluation notes in the chatter.
  5. HR Officer — on acceptance, uses Create Employee from the applicant.
  6. HR Officer — completes the employee record and creates the contract (see Employees).
  7. 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.
  • attrs and states removed from views.
  • Pulled in by ohrms_core and hrms_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