Skip to Content

Odoo HRMS (Part 1): Setting Up Employees, Departments, Contracts & Time Off

Build a clean HR foundation in Odoo 19 for payroll, attendance and timesheets
October 24, 2026 by
TX BA Admin

Every HR, payroll and timesheet process in Odoo starts from one place: the employee record. When departments, job positions, working schedules and contract details are set up cleanly, payroll calculates correctly, time off balances are right and managers get accurate reports without chasing spreadsheets.

This is Part 1 of our Odoo HRMS series. We set up the HR foundation in Odoo 19: company structure, employee records, working schedules, contract details, time off and attendance.

Step 1: Build your organisation structure

  1. Departments – go to Employees › Departments and create your departments (Sales, Warehouse, Finance, Operations), each with a manager. Sub-departments are supported, and the manager drives approval flows for time off and expenses.
  2. Job Positions – under Employees › Configuration › Job Positions, define roles such as Storekeeper, Sales Executive and Accountant. These also feed the Recruitment app if you use it.
  3. Working Schedules – under Employees › Configuration › Working Schedules, define hours per day and days per week, e.g. Sunday–Thursday, 8 hours or a 6-day warehouse shift. Schedules are used by time off, attendance, planning and payroll.

Odoo HR organisation setup flow

The order to set up your HR foundation in Odoo

Step 2: Create complete employee records

Go to Employees › New. Beyond name and photo, fill in the details that downstream apps rely on:

  • Work Information – department, job position, manager, coach, working schedule and timezone.
  • Private Information – address, nationality, identification and passport number, emergency contact and bank account (used for salary transfers).
  • Work Permit – visa and work permit numbers with expiry dates, essential for expatriate staff in the GCC.
  • HR Settings – related user (so the employee can log in and request time off), badge ID or PIN for attendance kiosks, and hourly cost used by timesheets.

Odoo employee form

An employee record with work information, schedule and manager filled in

Pro tip: Link each employee to a user only if they need to log in. Warehouse staff can still check in through the Attendance kiosk with a badge or PIN without a paid user licence.

Step 3: Contract details and history

In Odoo 19, contract terms are managed directly on the employee: contract type, start and end dates, wage, working schedule and salary structure type. When something changes — a promotion, a salary increase or a new schedule — you record a new version from a given date, and Odoo keeps the full history. Payroll always uses the terms valid for the period it is calculating, so mid-month changes are prorated correctly.

Watch out: Set contract start dates carefully when migrating. Payroll and time off accruals calculate from these dates, so wrong historical dates lead to wrong leave balances and end-of-service calculations.

Step 4: Configure time off

Install Time Off and go to Time Off › Configuration › Time Off Types. Create types such as Annual Leave, Sick Leave, Unpaid Leave, Hajj Leave and Maternity Leave, each with its approval rule (manager, HR officer, both or none) and whether it requires an allocation.

Then set up Accrual Plans so annual leave is earned automatically (e.g. 2.5 days per month, with a carry-over cap). Public holidays go into Time Off › Configuration › Public Holidays and are excluded from leave calculations.

Step 5: Track attendance

The Attendances app records check-in and check-out from a kiosk (badge, PIN or face-to-camera), the web, the mobile app, or biometric devices through an integration. Overtime is calculated against the working schedule and can be approved before it reaches payroll.

Odoo time off types

Time off types with approval rules and allocation requirements

HR foundation checklist

ItemWhere in OdooDone?
Departments and managersEmployees › Departments☐
Job positionsEmployees › Configuration › Job Positions☐
Working schedulesEmployees › Configuration › Working Schedules☐
Employee records with documents and bank detailsEmployees☐
Contract terms and salary structure typeEmployee form › Payroll / contract details☐
Time off types, accruals and public holidaysTime Off › Configuration☐

Next in the series: Part 2 – Odoo Payroll: salary structures, rules, work entries and payslip batches.


Our Expertise

How Techdocxies Helps with Odoo HRMS

Techdocxies Info Solutions has delivered 50+ Odoo projects for trading, distribution and service businesses across the GCC and beyond. We don't just switch modules on — we map your real processes first, then configure, customise, migrate, train and back you with 24/7 support.

  • Org structure and employee data migration from Excel or legacy HR systems
  • Leave policies and accrual plans configured to your HR manual and local labour law
  • Document and visa/work permit expiry alerts for expatriate staff
  • Biometric attendance device integration
  • Employee self-service rollout with mobile app training

Book a free Odoo consultation

Odoo for Trading Companies (Part 5): Landed Costs, Multi-Currency & Import/Export Trading
Capture the true cost of imported goods and trade across borders with confidence