The HR suite of Odoo Mates for Odoo 20 Community: payroll, time and attendance, shifts, employee self-service and the whole employee lifecycle, with or without Accounting.
Every module works on its own and installs only what it needs. Download Odoo 20 HRMS - Odoo Mates
(om_hrms) from the Odoo App Store to get the whole suite at
once, then install only the modules you need, e.g. HR Loans alone. The links between modules, e.g. loans deducted
from the payslips, install by themselves once both sides are there.
- Odoo 20.0 Community Edition. No Enterprise module and no external Python library.
- The apps for any business the HR modules build on, from the
Odoo Mates apps (free, LGPL-3): Approvals (
om_approval), Document Expiry (om_document), File Layouts (om_file_layout), Print Templates (om_print_template,om_print_template_document) and Sign (om_sign,om_sign_print_template). - Accounting is optional: the accounting links (payroll entries, loans in accounting, salary payments) install when Accounting is there.
| Module | What it does |
|---|---|
om_hr_payroll |
Salary structures, rules, components, parameters and brackets; payslips and batches; pay on the working schedule or on work entries, attendances and time off, monthly or hourly; retro pay; My Payslips for the employees |
om_hr_payroll_account |
Journal entries of the payslips and the salary payments (installs Accounting) |
om_hr_payroll_adjustment |
Bonuses, commissions, fines, court deductions: once, for some months or until a total, fixed or a percentage, each type on its own payslip line |
om_hr_payroll_export |
Salary transfer files in the layout of your bank (CSV, fixed width, Excel), e.g. WPS; on File Layouts (om_file_layout, in odooapps) |
om_hr_overtime_payroll |
Validated overtime paid at the rate of each time rule |
om_hr_shift_payroll |
Shift allowances, e.g. a night shift allowance |
om_hr_lateness_payroll |
Lateness penalties of the month taken off the payslips |
| Module | What it does |
|---|---|
om_hr_shift |
Shift templates, a roster board, rotations, open shifts, shift swaps and availability, with checks for time off, rest and weekly hours; published shifts become the working schedule |
om_hr_lateness |
Late arrivals and early departures against the schedule, grace minutes, a penalty matrix, warnings and excuses |
om_hr_overtime_request |
Overtime authorised in advance; beyond it, the manager accepts or rejects it |
| Module | What it does |
|---|---|
om_hr_loan |
Loans and salary advances, approved and repaid in installments (with om_hr_loan_payroll, om_hr_loan_account) |
om_hr_exit, om_hr_gratuity, om_hr_exit_payroll |
Resignations and terminations, clearance checklist, end of service gratuity, final settlement with leave encashment |
om_hr_appraisal |
Self assessment, manager review, goals, probation reviews, review cycles, goal alignment, one-on-ones, 9-box and calibration |
om_hr_appraisal_survey |
360 feedback on a survey: peers, reports and others answer, the employee reads the combined answers |
om_hr_compensation, om_hr_compensation_appraisal |
Salary grades and bands, compa-ratio, merit cycles with department budgets and a merit matrix from the ratings |
om_hr_survey |
Anonymous pulse surveys and eNPS: one-time links, results by department from five answers (installs Surveys) |
om_hr_asset |
Assets in the hands of the employees, handover forms, charges for lost assets (installs Maintenance) |
om_hr_reminder |
Birthdays, work anniversaries and probation ends through the Automation Rules |
| Module | What it does |
|---|---|
om_hr_document |
Documents with expiry dates and reminders: passports, visas, permits, IDs; on Document Expiry (om_document, in odooapps) |
om_hr_certificate |
Certificates and letters from templates: salary, employment, experience, NOC, with an optional verification QR code; on Print Templates (om_print_template, in odooapps) |
om_hr_recruitment_offer |
Job offers approved, signed by the company and the candidate, turned into the contract (installs Recruitment) |
om_hr_preboarding and om_hr_preboarding_* |
New hires get ready before day one: details reviewed by HR, bank account, documents, policies, buddy |
om_hr_sign |
Contracts signed by the employee and the manager; policies read and agreed, or signed, version after version; on Sign (om_sign, om_sign_print_template, in odooapps) |
om_hr_approval |
HR approvers (manager, department, coach, HR) in the approval flows, and HR requests; on Approvals (om_approval, in odooapps) |
| Module | What it does |
|---|---|
om_hr_base |
My HR for the employees: their payslips, loans, documents, shifts, requests and the celebrations of the month |
om_hr_portal and om_hr_portal_* |
The same on the website portal, for employees without a backend user |
om_spreadsheet_hr* |
Workforce, Payroll, Time Off and Attendance, Talent and Compliance dashboards |
- Clone the branch of your Odoo version of this repository and of the Odoo Mates apps, which hold Approvals,
Document Expiry, File Layouts, Print Templates and Sign, into folders of your addons path:
git clone -b 20.0 https://github.com/odoomates/hr.gitgit clone -b 20.0 https://github.com/odoomates/odooapps.git - Update the Apps list and install the modules you need. Installing Odoo 20 HRMS - Odoo Mates itself installs every module at once.
Every push and pull request runs the checks of .github/workflows/tests.yml: ruff and pylint-odoo, then the
tests of every module with demo data, with and without Accounting, against the latest Odoo 20.0. A test failing,
or a warning or an error in the log, fails the check. The upgrade check installs the version before the change
and upgrades it to the new one, as the existing users do. Every week, each module is also installed alone with
its tests, and the last release tagged upgrades to the current code (.github/workflows/isolation.yml).
Run the same locally, on a PostgreSQL server you can create databases on:
ODOO_PATH=/path/to/odoo PYTHON=/path/to/odoo/venv/bin/python3 PGUSER=odoo PGPASSWORD=odoo \
.github/scripts/run_odoo_tests.sh test_hr om_hrms
You are welcome to help: try the apps and report what you find, review the pull requests, fix a bug, translate the apps into your language, improve the documentation. New to it? Ask, and we guide you. Read CONTRIBUTING.md to start, and follow the Code of Conduct.
- Bugs and ideas: issues or odoomates@gmail.com
- Security problems: privately, as in SECURITY.md
- Help with a module: SUPPORT.md
If you love it, let us know: star the repository and rate the apps on the Odoo App Store.
New here? Look for issues labelled good first issue.
Thank you to everyone who has contributed to these apps.
Always your Odoo Mates — odoomates@gmail.com. License: LGPL-3.