Skip to content

Skills & Resume Management

Overview

The Skills & Resume module is a native Odoo component that lives inside the Employees app. It allows managers and employees to track professional skills with proficiency levels, maintain structured resume/CV records, and generate printable PDF resumes. HR Officers use it to catalog workforce capabilities, identify skill gaps across departments, and track how employee skills evolve over time. Employees can view and edit their own skills and resume lines directly from their user profile.

Last Updated: March 2026 Target Audience: HR Officers, Managers, All Employees


The Skills & Resume module does not have its own top-level menu. All features are accessed through the Employees app and employee records:

Employees
├── Employee Form
│   └── Resume Tab (skills + resume lines)
├── Reporting
│   └── Skills (pivot/list report)
└── Configuration
    ├── Employee
    │   └── Skill Types
    └── Resume (Developer Mode only)
        └── Line Types

Additionally, the Skill History Report is accessible as a server action from Department kanban cards (three-dot menu > Skills History).


Resume Tab on the Employee Form

When the module is installed, every employee form gains a Resume tab. This tab is split into two columns:

  • Left column (Resume): Work history, education, and other resume entries organized by type
  • Right column (Skills): Skill proficiency entries grouped by skill type, each with a progress bar

Both employees and HR users can edit this tab, subject to the security rules described below.


Skills

Skills represent specific competencies that an employee possesses. Each skill has a type, a name, and a proficiency level expressed as a percentage from 0 to 100.

Skill Types (hr.skill.type)

Skill types are categories that group related skills and define the available proficiency levels. Out of the box, Odoo creates one skill type: Languages.

Field What It Means Example
Name Category name for the skill group "Languages", "Technical", "Equipment"
Skills List of individual skills within this type "English", "Spanish" under Languages
Levels Proficiency levels available for this type "Beginner (25%)", "Intermediate (50%)", "Advanced (75%)", "Expert (100%)"

Managing Skill Types

  1. Navigate to Employees > Configuration > Skill Types
  2. Click New
  3. Enter a Name (e.g., "Equipment Certifications")
  4. Under Skills, add individual skill names (e.g., "Forklift", "Crane", "Baler")
  5. Under Levels, add proficiency levels with progress percentages
  6. Mark one level as Default -- this level auto-selects when an employee adds a skill from this type
  7. Save

Design levels before adding skills

Set up your proficiency levels first since they apply to all skills within the type. For example, a "Certifications" type might use levels like "In Training (25%)", "Certified (75%)", and "Master Certified (100%)".

Skills (hr.skill)

Individual skills belong to a skill type and represent a specific competency that can be assigned to employees.

Field What It Means Example
Name The skill name "Python", "Forklift", "Spanish"
Sequence Display order within the skill type 10 (default)
Skill Type The category this skill belongs to "Languages", "Technical"

Skill Levels (hr.skill.level)

Skill levels define the proficiency scale for a given skill type. Each level has a name and a progress percentage.

Field What It Means Example
Name Level label "Beginner", "Intermediate", "Expert"
Progress Percentage from 0 to 100 representing mastery 25, 50, 100
Default Level If checked, this level auto-selects when a new skill of this type is added Only one per skill type

Progress must be between 0 and 100

The system enforces a database constraint that the progress value is between 0 and 100 inclusive. Attempting to set a value outside this range will cause an error.

Employee Skills (hr.employee.skill)

Employee skill records link an employee to a specific skill at a specific proficiency level.

Field What It Means Example
Employee The employee who has this skill "John Smith"
Skill Type The category "Languages"
Skill The specific skill (filtered by skill type) "Spanish"
Skill Level Proficiency level (filtered by skill type) "Intermediate"
Progress Read-only percentage from the selected level 50

One level per skill per employee

A database constraint prevents assigning two different levels of the same skill to the same employee. If you need to update a proficiency level, edit the existing skill entry rather than creating a new one.

Adding a Skill to an Employee

  1. Open the employee's record in Employees
  2. Go to the Resume tab
  3. In the right-hand Skills column, click the + button
  4. Select the Skill Type (e.g., "Languages")
  5. Select the Skill (e.g., "Spanish") -- the dropdown filters to skills within the chosen type
  6. Select the Skill Level (e.g., "Intermediate") -- the default level auto-selects if one is configured
  7. The progress bar fills to reflect the chosen level's percentage
  8. Save the employee record

Updating an Employee's Skill Level

  1. Open the employee's record and go to the Resume tab
  2. Find the skill in the right-hand column
  3. Click on the skill entry to edit it
  4. Change the Skill Level to the new proficiency
  5. Save -- the system creates a log entry recording the change

Skill History (hr.employee.skill.log)

Every time an employee's skill is created or updated, the system automatically creates a log entry. This builds a historical record of how skills evolve over time, which is useful for tracking professional development and training outcomes.

Field What It Means Example
Employee The employee whose skill was recorded "Jane Doe"
Department The employee's department at the time of the log entry "Operations"
Skill Type Category of the skill "Equipment Certifications"
Skill The specific skill "Forklift"
Skill Level The proficiency level at the time "Certified"
Progress Percentage at the time (stored, averaged in reports) 75
Date When the log entry was created 2026-03-01

Logs are created automatically

You do not need to create skill history entries manually. They are generated whenever a skill is added or its level changes. When an employee changes departments, existing skills are also re-logged under the new department.

Viewing Skill History

For a single employee:

  1. The Skill History Report can be accessed as a server action from the employee record

For a department:

  1. Navigate to Employees (kanban view of departments)
  2. Click the three-dot menu on a department card
  3. Select Skill History Report
  4. A line graph shows skill progress over time, grouped by skill
  5. Switch to list view for a tabular breakdown of all log entries

The graph view displays progress over time as a line chart, allowing managers to see trends in skill development across their team.


Resume Lines (hr.resume.line)

Resume lines are structured entries on an employee's professional history. They appear in the left column of the Resume tab, grouped by type.

Field What It Means Example
Employee The employee this line belongs to "John Smith"
Title Name or title of the entry "Scott Recycling", "B.S. Environmental Science"
Type Category of the entry "Experience", "Education"
Start Date When this entry began 2022-06-15
End Date When this entry ended (blank = ongoing/current) 2025-12-31 or blank
Description Details about the role, degree, or entry "Managed operations for 3 locations"
Display Type Controls the visual template for this line "Classic" (default)

Auto-created on hire

When a new employee record is created, the system automatically creates an "Experience" resume line using the company name as the title, the creation date as the start date, and the employee's job title as the description. This ensures every employee starts with at least one resume entry.

Resume Line Types (hr.resume.line.type)

Resume line types categorize resume entries. Two types are created by default:

Type Sequence Description
Experience 1 Work history entries
Education 2 Degrees, certifications, coursework

Additional types can be created in Developer Mode via Employees > Configuration > Resume > Line Types. Resume lines without a type are grouped under "Other" in the CV report.

Adding a Resume Line

  1. Open the employee's record in Employees
  2. Go to the Resume tab
  3. In the left-hand Resume column, click the + button for the desired type (Experience, Education, etc.)
  4. Enter the Title (e.g., "Previous Employer Name" or "University of Arizona")
  5. Set the Start Date and optionally the End Date (leave blank if current)
  6. Add a Description with relevant details
  7. Save the employee record

CV / Resume PDF Export

The module includes a customizable PDF resume generator that produces professional-looking resumes for one or more employees.

Printing a Resume

  1. Open an employee's record (or select multiple employees from the list view)
  2. Click Print > Print Resume (available in both form and list views)
  3. The Print Resume wizard opens with the following options:
Option What It Does Default
Colors (Primary) Background color for the sidebar panel Company primary color or #666666
Colors (Secondary) Accent color for section headers Company secondary color or #666666
Contact Information Include company email, phone, and website in the sidebar Checked
Skills Include a skills section with progress bars (hidden if employee has no skills) Checked
Others Include resume lines that have no type assigned (hidden if none exist) Checked
  1. Click Print
  2. A PDF downloads with the filename "CV - Employee Name.pdf" (or "Resumes.pdf" for multiple employees)

What the PDF Contains

The generated resume PDF includes:

  • Header: Company logo and address
  • Sidebar: Employee photo, name, job title, and optional contact information (company email, phone, website)
  • Resume sections: Grouped by resume line type (Experience, Education, etc.), showing title, date range, and description
  • Languages section: If the employee has skills under the "Languages" skill type, they appear in a dedicated section with proficiency levels
  • Skills section: All non-language skills displayed with horizontal progress bars showing the proficiency percentage

The PDF uses A4 portrait format with custom margins optimized for readability.

Customize colors to match your brand

The wizard pulls default colors from your company settings (Website > Configuration > Colors). Set your company's primary and secondary colors once, and all resumes will use them by default.


Employee Skills Report

A dedicated reporting view provides a cross-company overview of all employee skills.

Accessing the Report

  1. Navigate to Employees > Reporting > Skills
  2. The default view shows a list of employees with their skills, filtered to employees who have at least one skill
  3. Switch to Pivot view for a matrix of employees vs. skill types with proficiency percentages

Report Fields

Field What It Shows
Employee Employee name with avatar
Skill Type Category of the skill
Skill Specific skill name
Skill Level Proficiency level name
Progress Proficiency percentage (averaged in pivot aggregations)
Department Employee's department
Company Employee's company

Useful Filters and Groups

Filter/Group Purpose
Employees with Skills Show only employees who have at least one skill (default)
Employees without Skills Find employees with no skills recorded -- useful for data completeness audits
Group by Department See skill distribution across departments
Group by Skill Type See which skill categories are most common
Group by Skill See how many employees have each specific skill

Find training gaps

Use the "Employees without Skills" filter combined with a department group-by to identify teams where skill tracking has not been completed. This is useful for planning training initiatives.


Search and Filtering

The module adds search capabilities to the employee list and kanban views:

Search Field What It Searches
Skills Filter employees by skill name
Resume Search resume line titles and descriptions
Group by Skills Group employees by their assigned skills

To find employees with a specific skill:

  1. Navigate to Employees
  2. In the search bar, type the skill name (e.g., "Forklift")
  3. Select the skill from the Skills dropdown suggestion
  4. The list filters to show only employees with that skill

Security

Access Control

Model HR Officers Regular Employees
Skill Types Full access (read, create, edit, delete) Read only
Skills Full access Read and create only
Skill Levels Full access Read only
Employee Skills Full access Full access (own records only, see rules below)
Resume Lines Full access Full access (own records only, see rules below)
Resume Line Types Full access Read only
Skill History Logs Read, create, edit (no delete) No access
Employee Skills Report Read only No access
CV Wizard Full access Full access

Record Rules

Rule Effect
Resume: employee: read all All internal users can read all resume lines
Resume: employee: create/write/unlink own Employees can only create, edit, and delete their own resume lines
Resume: HR user: all HR Officers have full access to all resume lines
Employee skill: employee: read all All internal users can read all employee skills
Employee skill: employee: create/write/unlink own Employees can only create, edit, and delete their own skills
Employee skill: HR user: all HR Officers have full access to all employee skills
Employee Skill Report: Multi-Company Report data is filtered by the user's allowed companies

Self-service via user profile

Employees can edit their own skills and resume lines without HR access. The res.users model exposes resume_line_ids and employee_skill_ids as self-readable and self-writable fields, meaning employees can update these through their own user preferences form (My Profile > Resume tab).

CV Printing Restrictions

  • Any internal user can print their own resume via the CV wizard
  • Only HR Officers (hr.group_hr_user) can print resumes for other employees
  • The /print/cv controller endpoint validates these permissions and returns a 404 for unauthorized requests

Default Data

The module ships with the following pre-configured data:

Record Type Purpose
Experience Resume Line Type Default category for work history entries
Education Resume Line Type Default category for education entries
Languages Skill Type Default skill category for language proficiencies

These records are created on module installation and serve as starting points. You can rename them, add to them, or create additional types to match your organization's needs.


Common Tasks Summary

Task Steps
Add a skill to an employee Employee form > Resume tab > Skills column > + > Select type, skill, and level
Update a skill level Employee form > Resume tab > Click skill > Change level > Save
Add a resume line Employee form > Resume tab > Resume column > + > Enter title, dates, description
Create a new skill type Employees > Configuration > Skill Types > New > Add skills and levels
Print an employee's resume Employee form (or list) > Print > Print Resume > Configure options > Print
View skill history for a department Department kanban > Three-dot menu > Skill History Report
View the skills report Employees > Reporting > Skills
Find employees with a specific skill Employee list > Search bar > Type skill name > Select from Skills dropdown
Find employees without skills Employees > Reporting > Skills > Filter: "Employees without Skills"

Questions? Contact your supervisor or HR administrator.