Skip to main content
TechUltra Solutions Pvt. Ltd. — AI-Enabled ERP Transformation
Book a free call
Menu

Business process

Hire-to-retire in Odoo 20, step by step

From an open job to an employee's last day and final pay: the eight steps, the Odoo app that runs each one, and the gaps we usually close in shifts, biometric attendance, payroll inputs, performance and exit.

Last reviewed:

How does hire-to-retire run in Odoo 20?

8 steps, each run by the Odoo app named on it. The screenshots are from our Odoo 20 feature guide.

  1. 1 Open the job and screen applicants
  2. 2 Make the offer and get it signed
  3. 3 Create the employee and the contract
  4. 4 Set working schedules and shifts
  5. 5 Record attendance
  6. 6 Request and approve time off
  7. 7 Run payroll and send payslips
  8. 8 Appraise, reward and offboard
  1. 1

    Open the job and screen applicants

    Odoo 20 · Recruitment

    Job positions publish to the careers page, and applications arrive by form or email. Skills on the job give each applicant a matching score, and in Odoo 20 recruiters can filter applicants by that score and see matching talents from the pool for an open job.

    Who: Recruiter, hiring manager

    Matching score filter: how it works in Odoo 20
    Odoo 20 Recruitment: Matching Score filter with 80/70% thresholds beside the applicants Matching Score column
    Step 1, Odoo 20 Recruitment: Matching Score filter with 80/70% thresholds beside the applicants Matching Score column
  2. 2

    Make the offer and get it signed

    Odoo 20 · Recruitment · Payroll · Sign

    Interviews are booked from the application in the calendar. In Odoo 20, the salary calculator works out the gross wage and the employer cost behind a target net salary, and Sign sends the offer or contract for e-signature.

    Who: Recruiter, HR manager

    Net to gross simulation: how it works in Odoo 20
    Odoo 20 Payroll: Salary Calculator deriving gross and company cost from a Net Per Month amount
    Step 2, Odoo 20 Payroll: Salary Calculator deriving gross and company cost from a Net Per Month amount
  3. 3

    Create the employee and the contract

    Odoo 20 · Employees

    The hired applicant becomes an employee record. In Odoo 20 the contract sits on the employee as dated versions with a start and end date, built from a contract template. Odoo 20 refuses a date change that would leave validated or paid payslips outside the contract.

    Who: HR officer

    Contract date modification: how it works in Odoo 20
    Odoo 20 Payroll: Contract date change prompt warning that 1 existing payslip must be corrected
    Step 3, Odoo 20 Payroll: Contract date change prompt warning that 1 existing payslip must be corrected
  4. 4

    Set working schedules and shifts

    Odoo 20 · Employees · Planning

    Working schedules set the hours per day, and in Odoo 20 a variable schedule plans irregular work periods in a calendar. Planning (Enterprise) assigns shifts to employees and roles, and Odoo 20 can send them on WhatsApp.

    Who: Manager, planner

    Variable working schedule: how it works in Odoo 20
    Odoo 20 Employees: Working schedule: Calendar Type
    Step 4, Odoo 20 Employees: Working schedule: Calendar Type
  5. 5

    Record attendance

    Odoo 20 · Attendances

    Employees check in from a kiosk or from Odoo itself. Odoo 20 can take a photo at check-in, check people out automatically at a set time and read eSSL and Mantra biometric devices. Automatic rules apply overtime against the working schedule and can give public-holiday work its own time type.

    Who: Employees, manager

    Photo at check-in: how it works in Odoo 20
    Odoo 20 Attendances: Attendance settings: Take Pictures on Check-In option
    Step 5, Odoo 20 Attendances: Attendance settings: Take Pictures on Check-In option
  6. 6

    Request and approve time off

    Odoo 20 · Time Off

    Employees request leave against their allocations, and managers approve it. In Odoo 20 each time type counts leave in working or calendar days and sets the smallest amount that can be requested, and the Enterprise overview shows every employee for cover planning.

    Who: Employee, manager

    Overview: all employees: how it works in Odoo 20
    Odoo 20 Time Off: Time Off Overview Gantt listing every employee, including those without leave
    Step 6, Odoo 20 Time Off: Time Off Overview Gantt listing every employee, including those without leave
  7. 7

    Run payroll and send payslips

    Odoo 20 · Payroll

    A pay run turns attendance and time off into time types and computes each payslip from the salary structure. In Odoo 20 each pay run follows guided steps with a check of pending issues before it starts, and payslips go to employees when confirmed, when paid or by hand.

    Who: Payroll officer

    Pay run workflow: how it works in Odoo 20
    Odoo 20 Payroll: New Pay Run guided dialog: employee types, pay structure and period
    Step 7, Odoo 20 Payroll: New Pay Run guided dialog: employee types, pay structure and period
  8. 8

    Appraise, reward and offboard

    Odoo 20 · Appraisals · Payroll · Employees

    Appraisals use the department's template and can ask for 360 feedback, including from people outside the company. Salary increases apply to many employees at once with an effective date, a rate and an optional cap. At exit, Odoo records the end reason, notice and departure date, and archives the employee on that date.

    Who: Manager, HR manager

    Salary indexation: how it works in Odoo 20
    Odoo 20 Payroll: Bulk Salary Increase wizard with date, rate, Full/Capped Wage and extra amount
    Step 8, Odoo 20 Payroll: Bulk Salary Increase wizard with date, rate, Full/Capped Wage and extra amount

Which Odoo 20 apps does hire-to-retire use?

The Odoo 20 apps behind hire-to-retire, with module name, edition and role.
Odoo app Module (edition) What it does here
Employees hr (Community)Employee records, contracts as dated versions, working schedules and departures
Recruitment hr_recruitment (Community)Job positions, applications, interviews and the talent pool
Skills hr_skills (Community)Skills and certifications on employees and jobs, used for matching
Attendances hr_attendance (Community)Check-in and check-out, kiosk mode, overtime rules and automatic check-out
Time Off hr_holidays (Community)Leave types, allocations, requests, approvals and public holidays
Payroll hr_payroll (Enterprise)Salary structures and rules, pay runs, payslips and salary attachments
Appraisals hr_appraisal (Enterprise)Appraisal templates, goals and 360 feedback
Planning planning (Enterprise)Shifts by employee and role
Sign sign (Enterprise)E-signature for offers, contracts and HR documents

Where is standard Odoo enough, and where is it not?

Standard Odoo runs every step above. These are the gaps we close most often. Each is scoped and priced in discovery, not from a list.

  • Attendance that follows rotating and night shifts

    Standard Odoo: Attendances records check-ins and check-outs and applies overtime rules against the working schedule. It does not build a daily summary per employee against a rotating shift plan, with night shifts that cross midnight, grace periods and gate-pass time.

    What we add: For Duke Pipes, a shift master that generates next month's rotating plan, and a daily attendance engine comparing planned and actual hours, overtime, late and early arrivals against a set grace, and gate-pass time.

  • Biometric devices across every branch

    Standard Odoo: Odoo 20 reads attendance from eSSL and Mantra biometric devices. Other devices, push protocols from many branches and bulk back-loading after a device outage need a connector.

    What we add: For a multi-branch F&B chain, a push-protocol integration for ZKTeco, eSSL and ADMS-compatible devices with processing jobs and an Excel import. For Duke Pipes, capture from biometric devices, Excel and an employee portal.

  • Advances, penalties and early-outs in the payslip

    Standard Odoo: Payroll takes one-off amounts as payslip inputs and recurring deductions as salary attachments, entered by HR. An advance an employee asks for, or a penalty for leaving early, does not reach the payslip on its own.

    What we add: For the F&B chain, salary advances, loans, penalties, overtime and early-out events linked to payroll, with advance and exit requests raised from the employee portal.

  • Performance that feeds pay

    Standard Odoo: Appraisals collect feedback and goals, and Odoo 20 applies salary increases to many contracts with a percentage and a cap. Nothing scores each employee every month from attendance and targets and turns the score into an increment.

    What we add: For Duke Pipes, a monthly gradation cycle that scores each employee from attendance and targets and maps the score to an increment percentage band.

  • A final settlement at exit

    Standard Odoo: Odoo 20 records the end reason, notice period and departure date, and archives the employee on that date. Pulling unpaid advances, penalties, leave and end-of-service pay into one settlement document is not part of that flow.

    What we add: For the F&B chain, a final settlement and gratuity workflow with a printable settlement document and an offboarding checklist that has to be completed.

Who approves what, and what is recorded?

  • Contracts keep dated versions, so a wage or schedule change has an effective date and the history stays on the employee.
  • Odoo 20 refuses a contract date change that would leave validated or paid payslips outside the contract period.
  • Leave is approved against allocations, with the approval level set per time type.
  • Before a pay run starts, Odoo 20 lists the pending issues to resolve first.
  • Payslips can be held back and sent by hand, so nothing reaches employees before payroll checks it.
  • A departure records who ended the contract, why and when, before the employee is archived.

What data moves when you migrate this process?

For hire-to-retire, these records move from the old system. Leave balances and year-to-date pay move as opening figures, so the first payroll in Odoo starts from the right totals.

  • Employees with departments, managers, job positions and statutory IDs
  • Current contracts with wages, schedules and start dates
  • Leave types, allocations and balances taken so far
  • Year-to-date payroll totals per employee
  • Open job positions and active applicants
  • Employee documents with their expiry dates

Moving from another system? See Tally to Odoo , SAP Business One to Odoo , Zoho to Odoo or QuickBooks to Odoo .

What can AI take over in hire-to-retire?

AI and automation capture and check the data. A person still approves every hire, payslip and exit.

Who runs hire-to-retire on Odoo with TechUltra?

Duke Pipes

A uPVC and HDPE pipe manufacturer in Gujarat running a multi-shift plant on Odoo 18 Enterprise. Rotating shifts, night shifts that cross midnight and attendance from biometric devices, spreadsheets and a self-service portal feed a daily attendance engine, a gross-based salary structure runs payroll, and a monthly gradation turns attendance and targets into an increment band.

Read the Duke Pipes case study

How long does it take, and what does it cost?

Implementation starts from about USD 4,000 and goes up with scope: the number of companies, employees and pay structures, the gaps above, integrations and how clean your data is. A one-week discovery maps your process and ends with a fixed timeline and a fixed price.

How does it differ by industry?

Only the industries where we have a reference for this process.

  • Manufacturing plant

    Rotating and night shifts, a daily attendance engine, overtime sign-off by department, local payroll and monthly performance gradation.

    Duke Pipes case study
  • Food and beverage chain

    Hourly staff across branches: recruitment documents, documents with expiry alerts, multi-level leave approval, advances and penalties in payroll, inter-branch transfers and a final settlement with gratuity.

    Multi-branch F&B case study
  • IT services

    Skills, certifications and rate cards on every employee, so resourcing leads staff each engagement on real capability, with consultant availability in Planning.

    Axiom Technologies case study

Questions about hire-to-retire in Odoo

  • What is hire-to-retire in Odoo?

    It is the employee lifecycle from an open job to an employee's last day: recruit, offer, create the employee and contract, set schedules, record attendance, approve time off, run payroll, then appraise, reward and offboard. In Odoo 20 it runs in Recruitment, Employees, Attendances, Time Off, Payroll and Appraisals.

  • Which Odoo HR apps are in Community and which need Enterprise?

    Employees, Recruitment, Skills, Attendances and Time Off are in Community. Payroll, Appraisals, Planning and Sign need Enterprise. Most companies that run payroll in Odoo are therefore on Enterprise.

  • Can Odoo handle rotating shifts and night shifts?

    Planning (Enterprise) schedules shifts, and Attendances applies overtime rules against the working schedule. A daily summary against a rotating shift plan, with night shifts that cross midnight, grace periods and gate-pass time, needs a customisation like the attendance engine we built for Duke Pipes.

  • Does Odoo connect to biometric attendance devices?

    Odoo 20 reads eSSL and Mantra biometric devices. Other devices and push protocols such as ZKTeco or ADMS need a connector, which we have built for multi-branch clients. Face recognition on a phone or tablet is also available as an Odoo app.

  • Does Odoo payroll work for my country?

    Odoo Payroll ships salary structures for the countries Odoo localises. Where a structure is not provided, or a company has its own components, we build the rules, as we did for a gross-based structure at Duke Pipes. See Odoo HR and payroll.

  • How does Odoo handle an employee leaving?

    A departure records the end reason, the notice period and the departure date, and archives the employee on that date. A final settlement covering advances, penalties, leave and end-of-service pay in one document is a customisation, as for the F&B chain in our multi-branch case study.

  • What does it cost to set up hire-to-retire in Odoo?

    Implementation starts from about USD 4,000 and goes up with scope: companies, employees, pay structures, devices, integrations and data clean-up. A one-week discovery ends with a fixed price. Odoo's own subscription is billed by Odoo; see Odoo pricing.

Want your hire-to-retire process mapped in Odoo?

A free 30-minute call with a senior consultant: we walk through your process, mark the gaps and size the discovery week.