本文目前仅提供英文版本。翻译即将推出。
属于我们的Performance & Scalability系列
阅读完整指南Odoo's HR suite was historically the weakest set of modules in the platform — usable for basic employee records, time-off, and payroll, but thin on talent management. Odoo 19 closed that gap. Skills are now first-class data with proficiency levels and certifications, career plans link skill gaps to development goals, performance cycles support 360-feedback, and the 9-box succession grid is built in.
For mid-market companies running Workday or BambooHR alongside Odoo for HRIS, Odoo 19 makes the case for consolidation. ECOSIRE has implemented Odoo HR for 15+ companies in the 50-500 employee range; the patterns below come from those deployments.
Key Takeaways
- Skills become typed data with proficiency levels (1-5) and certification expiry tracking
- Career plans visualize skill gap → development goal → completion → role progression
- Performance reviews support self, manager, peer (360°), and skip-level reviewers
- 9-box succession grid auto-populates from performance + potential ratings
- HR analytics dashboard surfaces tenure, attrition risk, skill coverage by team
- Onboarding workflow templates reduce new-hire week from 5 days of HR time to 1
- Time-off + payroll + skills tie together for compliance reporting
Skills matrix — the foundation
Odoo 17 had a basic skills field on hr.employee — a many-to-many to hr.skill. Useful for recording, useless for analysis ("how many engineers know Kubernetes at proficiency 4+?").
Odoo 19's skills model:
hr.skill— the skill itself, organized inhr.skill.typecategorieshr.skill.level— proficiency 1-5 (configurable)hr.employee.skill— the employee-skill link with proficiency, since-date, certified flaghr.skill.certification— certification record with expiry, training provider, attachment
# Example: query engineers with Python proficiency 4+
qualified = self.env['hr.employee'].search([
('department_id.name', '=', 'Engineering'),
('skill_ids.skill_id.name', '=', 'Python'),
('skill_ids.level_id.value', '>=', 4),
])
The skills matrix view shows employees as rows, skills as columns, proficiency as cell color intensity. Filterable by team, department, location.
Career plans
A career plan in Odoo 19 is a structured progression for an individual employee:
- Current role with required skill bundle
- Target role (current role + 1 step) with required skill bundle
- Skill gap (auto-computed from comparison)
- Development goals linked to specific skills, with target dates
- Training assignments — courses, on-job projects, mentor pairings
- Completion check — re-assess after target date
The plan visualizes as a path graph: current role → development arc → next role. Managers and employees both see it; updates trigger reminders.
For HR teams trying to retain employees in tight talent markets (engineering, sales), having career plans actually documented and tracked reduces voluntary turnover. We measured a 4-7 percentage-point drop in 12-month attrition at three clients post-deployment.
Performance review cycles
Odoo 17's appraisal module supported one-to-one annual reviews, awkwardly. Odoo 19 supports:
| Review type | When to use |
|---|---|
| Self-review | Annual cycle, employee self-assessment |
| Manager review | Annual or quarterly, downward |
| Peer (360°) | Senior roles, project-based |
| Skip-level | Exec validation of mid-management |
| Continuous (1:1) | Weekly/bi-weekly check-ins |
| Project-based | After major project milestones |
A "review cycle" combines multiple types into a sequence (e.g., "Q4 cycle = self → peer → manager → calibration meeting → final"). Templates ship for common patterns.
The review form supports:
- Skill rating (auto-pulled from skill matrix, can be re-rated)
- Goal review (against goals from prior cycle)
- Free-text strengths/areas-for-development
- Numeric overall rating
- Compensation recommendation (visible to managers and HR only)
9-box succession grid
The 9-box grid plots performance (X-axis) against potential (Y-axis) into a 3×3 grid. Top-right = high performers with high potential = succession pool. Bottom-left = low performers with low potential = potential exits.
Odoo 19 auto-populates the grid from performance review data:
- Performance: average of last 2 review cycles' overall ratings
- Potential: configurable (manager assessment, calibrated rating, or composite)
The grid is visible to HR and exec leadership only. Each cell has standard recommendations (rotate, develop, retain, exit-manage) that managers can override per individual.
For companies doing real talent reviews, this replaces a spreadsheet that gets emailed quarterly. For companies not doing talent reviews, it makes the practice low-friction enough to start.
HR analytics dashboard
The dashboard surfaces:
- Headcount by department, location, role with trend
- Tenure distribution (new hires < 1 year, 1-3, 3-5, 5+)
- Attrition risk model: combines tenure, last review rating, last salary increase delta, recent role change, peer turnover signal
- Skill coverage: % of team with each critical skill at proficiency 3+
- Open roles vs hiring pace: weeks-to-fill, days-since-posted
For HR leaders, this consolidates 4-6 separate spreadsheets that previously had to be manually maintained.
Onboarding workflow templates
Odoo 17's onboarding was a "checklist" on the new-hire form. Odoo 19 ships templates:
- First-day: welcome packet, IT account setup, badge issued, manager intro, lunch buddy assignment
- First-week: training module assignments, key system access, team intros
- First-month: 30-day check-in, role-clarification meeting, skills baseline assessment
- First-quarter: 90-day formal review, role expansion, mentor relationship review
Each template has tasks assigned to roles (manager, IT, HR, buddy) with due dates relative to start date. New-hire creation triggers the workflow; tasks auto-assign and email the responsible person.
In our deployments, this reduced HR coordinator time per new hire from 4-5 days down to ~1 day, with better consistency.
HRIS integration
Odoo 19 can be the system of record (SoR) for HR or sync with an external HRIS (Workday, BambooHR, ADP):
- Bi-directional sync for employee records, time-off, and basic payroll data
- Conflict resolution rules (last-write-wins, source-of-truth-per-field, etc.)
- Sync log with retry queue for failed syncs
The connectors are available for the major platforms; custom HRIS endpoints integrate via REST or SFTP file drops.
Migration path from Odoo 17 HR
- Skills migration: existing
hr.skillrecords carry over but proficiency is unset. Plan a calibration sprint: each manager rates direct reports' top 5 skills. - Performance history: 17 appraisal records migrate to 19 review records with type='manager' and self-review null. Backfill is optional.
- Career plans: new in 19; nothing to migrate. Roll out top-down (start with engineering or sales) rather than across all teams at once.
- 9-box: needs at least one full review cycle of data before the auto-populate is meaningful. Defer for 3-6 months post-migration.
- Onboarding templates: replace any custom onboarding checklists with template-based.
Compliance considerations
For SOX, ISO 27001, GDPR, and equivalent regulatory frameworks:
- Performance review records are immutable once submitted (audit trail enforced)
- Skills certifications track expiry — useful for forklift, HVAC, finance certifications
- Compensation history is access-controlled
- Right-to-be-forgotten flow anonymizes terminated employees after retention window
Frequently Asked Questions
Can Odoo 19 HR replace Workday or BambooHR for a 200-person company?
Yes for the core HRIS use case (records, time-off, performance, skills, basic payroll). Edge cases where dedicated HRIS still wins: complex multi-jurisdiction payroll (50-state US payroll, multi-currency global payroll), benefits administration with carrier-direct integrations, applicant tracking at high volumes (500+ open roles). For most 50-500 employee companies, Odoo's depth is sufficient.
How does the attrition-risk model work?
It combines signals: tenure, recency of last salary increase, recency of last role change, last performance rating, recent peer turnover in the same team, and self-reported engagement (if survey data available). The model surfaces high-risk employees but does not act autonomously — it's a tool for HR to focus retention conversations.
Are career plans visible to the employee?
Yes, employees see their own plan in the portal. Managers see their direct reports' plans. HR sees all plans. Skip-levels (manager's manager) see plans for their org. Compensation discussions stay manager-and-HR-only.
How long does it take to roll out skills matrix in a 100-person company?
Plan 6-8 weeks: 2 weeks to define skill taxonomy (which skills matter, how granular), 2 weeks for managers to rate direct reports, 2 weeks for employees to self-rate, 1 week for calibration discussion to align, 1 week for go-live + adjustments. Done well, this becomes a permanent reference; done poorly, it stays at 30% completion forever.
Does the 9-box require manager training?
Yes. The auto-populated grid is a starting point, not a final placement. Managers need calibration training to apply consistent definitions of "performance" and "potential". Without calibration, the grid produces unreliable results. ECOSIRE includes a calibration workshop in our HR rollout package.
Odoo 19's HR module is now strong enough to be the primary HRIS for mid-market companies, especially those already running Odoo for ERP. ECOSIRE's Odoo implementation team has rolled out HR-as-SoR for 15+ companies in the 50-500 employee range, including skills, performance cycles, and 9-box. We offer a fixed-fee 6-week HR module rollout. See our Odoo customization service if you need integration with an existing HRIS or payroll provider.
作者
ECOSIRE TeamTechnical Writing
The ECOSIRE technical writing team covers Odoo ERP, Shopify eCommerce, AI agents, Power BI analytics, GoHighLevel automation, and enterprise software best practices. Our guides help businesses make informed technology decisions.
相关文章
BMF Programmablaufplan Lohnsteuer 2026:实施德国官方工资税计算(XML、API、Odoo)
BMF Programmablaufplan Lohnsteuer 2026 开发人员指南:PAP 是什么、XML 伪代码格式、官方测试服务以及到 Odoo 工资单的映射。
2026 年 CRM 系统的成本是多少? 40 多个实施的实际定价
来自 40 多个实施的真实 CRM 定价:每个用户的许可成本、实施费用、隐藏成本以及 Odoo、HubSpot、Salesforce 等的 3 年 TCO。
eMAG Odoo 集成:将罗马尼亚最大的市场连接到您的 ERP(订单、库存、e-Factura)
将 eMAG Marketplace 连接到 Odoo ERP:报价和订单同步、AWB 运输、退货、库存和价格更新,以及卖家的罗马尼亚 e-Factura 合规性。
更多来自Performance & Scalability
Shopify 速度优化:真正改变核心网络生命力的技术清单 (2026)
经过现场测试的 2026 年 Shopify 速度清单 — 哪些因素实际上改进了真实商店中的 LCP、INP 和 CLS,哪些因素浪费了时间,以及如何审核应用程序和主题。
2026 年技术 SEO 审核清单:我们在每个客户网站上运行的 47 项检查
2026 年,我们在每个客户网站上运行了 47 点技术 SEO 审核清单——可爬行性、索引、规范、hreflang、核心网络生命和日志。
Odoo 19 性能基准:PostgreSQL 17 调整数字
真实的 Odoo 19 性能基准:Web 客户端速度、ORM 吞吐量、PG17 调整设置、连接池、工作线程数、扩展阈值。
OpenClaw 大规模成本优化和代币效率
OpenClaw 令牌成本优化:提示缓存、模型路由、响应缓存、批处理 API 和生产代理的每租户成本护栏。
Power BI 增量刷新超过 1000 万行的表
适用于 10M 以上行表的 Power BI 增量刷新手册:分区设计、RangeStart/RangeEnd、刷新策略、查询折叠和 DirectQuery 混合。
Webhook 调试和监控:完整的故障排除指南
通过这份涵盖故障模式、调试工具、重试策略、监控仪表板和安全最佳实践的完整指南掌握 Webhook 调试。