Skip to content

HR Course Management

Overview

The HR Course module provides a structured system for managing employee training courses. HR managers define course templates with categories and content, then schedule specific instances of those courses with dates, costs, attendees, and instructors. Each scheduled course moves through a state machine from draft to completion, with attendee results (passed/failed/absent) tracked and validated before a course can be finalized. Employees can view their own course history from their employee record.

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


HR
├── Courses
│   ├── Courses
│   └── Courses Schedule
└── Configuration
    └── Course Categories

Courses and Courses Schedule are visible only to HR Managers. Course Categories is found under the main HR Configuration menu.


Course Categories

Categories are simple labels used to organize courses into groups. Each category has a unique name.

Menu path: HR > Configuration > Course Categories

Field What It Means Example
Course category Name of the category (must be unique) "Safety Training"

Set up categories first

Create your categories before creating courses. Common categories at Scott Recycling might include Safety Training, Equipment Certification, Compliance, and Professional Development.


Courses (Templates)

A course record is the reusable template that defines what a training course covers. It does not have dates or attendees -- those belong to the Course Schedule. Think of a course as the "what" and the schedule as the "when."

Menu path: HR > Courses > Courses

Course Fields

Field What It Means Example
Name Title of the course "Forklift Operator Certification"
Category The course category (required) "Equipment Certification"
Has Permanence Whether the course certification has an expiration/renewal period Checked
Permanence Time How long the certification is valid (only visible when Has Permanence is checked) "12 months"

Course Tabs

Tab What It Contains
Content Rich-text description of the course material and curriculum
Objective Rich-text description of learning objectives and goals
Evaluation criteria Rich-text description of how attendees will be assessed
Schedules Inline list of all scheduled instances of this course (name, cost, authorized by, dates, state)

Creating a Course

  1. Navigate to HR > Courses > Courses
  2. Click New
  3. Enter the Course Name
  4. Select or create a Category
  5. If the training has an expiration, check Has Permanence and enter the Permanence Time (e.g., "6 months", "1 year")
  6. Fill in the Content, Objective, and Evaluation criteria tabs as needed
  7. Save

Courses have chatter

Course records include the Odoo chatter (messages, followers, activities). Use this to discuss course content updates, attach reference documents, or schedule follow-up activities.


Course Schedule

A course schedule is a specific instance of a course -- the actual training event with dates, cost, location, instructor, and attendees. This is where all the day-to-day course management happens.

Menu path: HR > Courses > Courses Schedule

Schedule Fields

Field What It Means Example
Name Title for this specific session "Forklift Cert -- March 2026"
Course Link to the parent course template (required) "Forklift Operator Certification"
Course Cost Monetary cost of running this session (required) $500.00
Currency Currency for the cost (defaults to company currency; only visible with multi-currency enabled) USD
Authorized by Employee who authorized this training (required) "Jane Smith"
Training company External company providing the training "SafetyFirst Training LLC"
Instructor One or more instructors (displayed as tags) "John Doe, Maria Garcia"
Place Location where the training takes place "Warehouse B Conference Room"
Start Date When the training begins (locked after draft) 2026-03-15
End Date When the training ends (must be on or after start date; locked after draft) 2026-03-16
Comment General comments about this session "Rescheduled from February"

Dates lock after Draft

The Start Date, End Date, and Authorized by fields become read-only once you move the schedule out of Draft. Make sure these are correct before advancing to the next stage.

Schedule Tabs

Tab When Visible What It Contains
Attendees Draft, Waiting Attendees, Cancelled List of employees assigned to attend this session
Course Results In Progress, In Validation, Completed Per-attendee results (passed/failed/absent/pending)
Internal notes Always (HR Managers only) Private notes visible only to HR managers

Status Workflow

Every course schedule follows a five-stage workflow. Only HR Managers can advance stages using the buttons in the form header.

Draft --> Waiting Attendees --> In Progress --> In Validation --> Completed
  |
  +--> Cancelled (from any non-completed stage)

Any stage can be reset Back to Draft (with confirmation)

Stage Details

Stage What Happens Available Actions
Draft Initial setup. Set dates, cost, location, instructor, and authorized-by. Assign attendees (advances to Waiting Attendees), Cancel Course, Back to Draft
Waiting Attendees Add employees to the attendee list. This is the only stage where the attendee list is editable. Start Course (advances to In Progress), Cancel Course, Back to Draft
In Progress Course is actively running. Attendee records are created automatically from the attendee list. If an employee was removed from the list, they are archived and a log message is posted. Rate Course (advances to In Validation), Cancel Course, Back to Draft
In Validation Rate each attendee's result. The attendee result list becomes editable. Use "Pass everybody" for quick bulk grading. Complete Course (advances to Completed), Cancel Course, Back to Draft
Completed Final state. All results are locked. The course is done. None (terminal state)
Cancelled Course was cancelled. Shown with red label. Back to Draft

Transition: Waiting Attendees to In Progress

When you click Start Course, the system automatically:

  1. Creates an attendee record (hr.course.attendee) for each employee in the attendee list who does not already have one
  2. Archives (soft-deletes) attendee records for any employees who were removed from the list since the last transition
  3. Posts a chatter message listing any removed employees

Transition: In Validation to Completed

When you click Complete Course, the system checks that every active attendee has a result other than "pending." If any attendee still has a pending result, the system blocks completion with a validation error.

All results must be set before completing

You cannot complete a course while any attendee has a "Pending" result. Set every attendee to Passed, Failed, or Absent first. Use the Pass everybody button if all attendees passed.


Managing Attendees

Adding Attendees

  1. Open the course schedule record
  2. Click Assign attendees to move from Draft to Waiting Attendees
  3. In the Attendees tab, add employees to the list
  4. Click Start Course when the roster is finalized

Removing Attendees

If you need to remove someone after the course has started:

  1. Remove the employee from the Attendees list (the many2many field)
  2. The next time Start Course is triggered (or re-triggered), their attendee record will be archived
  3. A chatter message will document who was removed

Recording Results

Setting Individual Results

  1. Advance the course to In Validation by clicking Rate Course
  2. In the Course Results tab, set each attendee's result using the inline dropdown
Result What It Means Row Color
Passed Employee successfully completed the course Green
Failed Employee did not meet the evaluation criteria Red
Absent Employee did not attend Red
Pending Not yet graded (default) Normal

Bulk Pass All Attendees

  1. In the In Validation stage, click the Pass everybody button (top-right of the Course Results tab)
  2. All attendees are set to Passed
  3. Click Complete Course to finalize

Use 'Pass everybody' then adjust exceptions

If most attendees passed, click Pass everybody first, then manually change the few who failed or were absent. This is faster than setting each one individually.


Employee Course History

Each employee record includes a Courses stat button (graduation cap icon) that shows how many courses they have attended.

Viewing an Employee's Courses

  1. Open the employee's record (HR > Employees)
  2. Click the Courses button in the stat button bar (shows the count of course attendee records)
  3. The list view shows all course attendee records for that employee with columns:
Column What It Shows
Course Schedule Name of the scheduled course
State Current state of the course schedule
Course Start Start date
Course End End date
Result Passed, Failed, Absent, or Pending

Row colors in the employee's course list:

  • Green: Course is not cancelled and result is Passed
  • Red: Course is not cancelled and result is Failed or Absent
  • Muted/Gray: Course was cancelled

Course Attendee Record

Each attendee record tracks one employee's participation in one scheduled course.

Field What It Means
Course Schedule The scheduled course this record belongs to
Employee The attending employee
Course Start Start date (inherited from the schedule)
Course End End date (inherited from the schedule)
State Current state (inherited from the schedule)
Result Passed, Failed, Absent, or Pending
Active Whether this record is active (archived records are hidden by default)

Attendee records are created automatically

You do not create attendee records manually. They are generated when the course schedule transitions from Waiting Attendees to In Progress. The results are then edited inline during the In Validation stage.


Security

Access Rights

Model Regular Employee HR Manager
Course (template) Read only Full access (create, read, write, delete)
Course Schedule Read only Full access
Course Attendee Read only Full access
Course Category Read only Full access

Record Rules

Rule Who It Applies To What It Does
Course Schedule -- Employee All internal users Can only see course schedules where they are in the attendee list
Course Schedule -- Manager HR Managers Can see all course schedules
Course Attendee -- Employee All internal users Can only see attendee records where they are the employee
Course Attendee -- Manager HR Managers Can see all attendee records

Regular employees see only their own courses

Non-manager employees can only view course schedules they are assigned to and their own attendee results. They cannot create, edit, or delete any course records. The menu items for Courses and Courses Schedule are also restricted to HR Managers.


Common Tasks Summary

Task Steps
Create a course category HR > Configuration > Course Categories > New > Enter name > Save
Create a course template HR > Courses > Courses > New > Fill in name, category, content > Save
Schedule a training session HR > Courses > Courses Schedule > New > Select course, set dates/cost/authorized by > Save
Add attendees Open schedule > Assign attendees > Add employees in Attendees tab > Start Course
Record results Open schedule in In Progress > Rate Course > Set each attendee result > Complete Course
Pass everyone at once In Validation stage > Click "Pass everybody" > Complete Course
View an employee's training history Open employee record > Click the Courses stat button
Cancel a course Open schedule > Click "Cancel Course" (available in any stage except Completed and Cancelled)
Reopen a cancelled course Open cancelled schedule > Click "Back to Draft" (confirm the prompt)

Questions? Contact your HR administrator.