Skip to Content
Odoo model

hr.job

Job Position. Defined in module hr; exists in Odoo 16, 17, 18, 19, 20. Across the upgrade steps we tracked: 29 fields added, 18 removed, 0 renamed.

  1. Odoo 16 hr
  2. Odoo 17 hr
  3. Odoo 18 hr
  4. Odoo 19 hr
  5. Odoo 20 hr

Odoo 16 to 17

Community only All changes in this step

Fields removed (1)

FieldTypeModuleNotes
hr_responsible_idmany2onehr_recruitment

Fields added (3)

FieldTypeModule
allowed_user_idsmany2manyhr_recruitment
applicant_properties_definitionproperties_definitionhr_recruitment
published_datedatewebsite_hr_recruitment

Now also inherits website.searchable.mixin (fields from these parents are listed on their own pages).

Odoo 17 to 18

Community only All changes in this step

Fields added (6)

FieldTypeModule
date_fromdatehr_recruitment
date_todatehr_recruitment
full_urlcharwebsite_hr_recruitment
industry_idmany2onehr_recruitment
job_propertiespropertieshr_recruitment
skill_idsmany2manyhr_recruitment_skills

Odoo 18 to 19

Community + Enterprise All changes in this step

Fields removed (3)

FieldTypeModuleNotes
activities_overdueintegerhr_recruitment
activities_todayintegerhr_recruitment
default_contract_idmany2onehr_contract_salary

Fields added (9)

FieldTypeModule
activity_countintegerhr_recruitment
applicant_matching_scorefloathr_recruitment_skills
contract_template_idmany2onehr_contract_salary
current_job_skill_idsone2manyhr_skills
employee_countintegerhr_recruitment
expected_degreemany2onehr_recruitment
job_skill_idsone2manyhr_skills
job_source_idsone2manyhr_recruitment
open_application_countintegerhr_recruitment

Now also inherits mail.activity.mixin (fields from these parents are listed on their own pages).

No longer inherits documents.mixin.

1 views of this model removed
  • hr_recruitment_skills.hr_job_form_inherit_hr_recruitment_skills
1 actions on this model removed
  • hr_referral.action_hr_job_launch_referral_campaign

Odoo 19 to 20

Community + Enterprise All changes in this step

Fields removed (14)

FieldTypeModuleNotes
allowed_user_idsmany2manyhr
applicant_properties_definitionproperties_definitionhr_recruitment
contract_type_idmany2onehr
display_l10n_be_scalebooleanl10n_be_hr_payroll
favorite_user_idsmany2manyhr_recruitment
l10n_be_contract_ipbooleanl10n_be_hr_contract_salary
l10n_be_contract_withholding_taxes_exemptionbooleanl10n_be_hr_contract_salary
l10n_be_custom_representation_feesbooleanl10n_be_hr_contract_salary
l10n_be_custom_representation_fees_car_managementbooleanl10n_be_hr_contract_salary
l10n_be_custom_representation_fees_homeworkingbooleanl10n_be_hr_contract_salary
l10n_be_custom_representation_fees_internetbooleanl10n_be_hr_contract_salary
l10n_be_custom_representation_fees_phonebooleanl10n_be_hr_contract_salary
l10n_be_scale_categoryselectionl10n_be_hr_payroll
user_idmany2onehr

Fields added (11)

FieldTypeModule
company_country_codecharhr
company_partner_idmany2onehr_recruitment
documents_bridge_enabledbooleandocuments_hr_recruitment
employee_type_idmany2onehr
favorite_recruiter_idsmany2manyhr_recruitment
l10n_ae_mohre_skill_levelselectionl10n_ae_hr_payroll
matching_applicant_skill_idsmany2manyhr_recruitment_skills
missing_applicant_skill_idsmany2manyhr_recruitment_skills
recruiter_idmany2onehr
tag_idsmany2manyhr_recruitment
website_ratinghtmlwebsite_hr_recruitment

Now also inherits ai.preview.card.mixin, documents.mixin, website.structured_data.mixin (fields from these parents are listed on their own pages).

4 views of this model removed
  • l10n_be_hr_contract_salary.hr_job_payroll_view_tree
  • l10n_be_hr_contract_salary.hr_job_view_form
  • l10n_be_hr_contract_salary.l10n_be_hr_job_payroll_view_tree
  • l10n_be_hr_payroll.hr_job_view_form
3 actions on this model removed
  • hr_recruitment_skills.action_applicant_search_applicant
  • hr_recruitment_skills.action_find_matching_job
  • l10n_be_hr_contract_salary.action_hr_job_payroll_configuration
1 menus opening this model removed
  • l10n_be_hr_contract_salary.menu_hr_job_positions

All fields declared on hr.job (90)

Fields this model declares itself in any version, with the versions they exist in. Inherited fields (mail.thread and other mixins) are on the parent model's page.

present not present not covered (Enterprise, Odoo 16 and 17)

Show all 90 fields
FieldTypeLabelModule1617181920
activebooleanhr
activities_overdueintegerhr_recruitment
activities_todayintegerhr_recruitment
activity_countintegerhr_recruitment
address_idmany2one res.partnerJob Locationhr_recruitment
alias_idmany2one mail.aliasAliashr_recruitment
all_application_countintegerAll Application Counthr_recruitment
allowed_user_idsmany2many res.usershr
applicant_hiredintegerApplicants Hiredhr_recruitment
applicant_matching_scorefloatMatching Score(%)hr_recruitment_skills
applicant_properties_definitionproperties_definitionApplicant Propertieshr_recruitment
application_countintegerApplication Counthr_recruitment
application_idsone2many hr.applicantJob Applicationshr_recruitment
colorintegerColor Indexhr_recruitment
company_country_codecharhr
company_idmany2one res.companyCompanyhr
company_partner_idmany2one res.partnerhr_recruitment
contract_template_idmany2one hr.versionContract Templatehr_contract_salaryE
contract_type_idmany2one hr.contract.typeEmployment Typehr
currency_idmany2one res.currencyhr_recruitment
current_job_skill_idsone2many hr.job.skillhr_skills
date_fromdatehr_recruitment_integration_baseE
date_todatehr_recruitment_integration_baseE
default_contract_idmany2one hr.contractContract Templatehr_contract_salaryE
department_idmany2one hr.departmentDepartmenthr
descriptionhtmlJob Descriptionhr
direct_clicksintegerhr_referralE
display_l10n_be_scalebooleanl10n_be_hr_payrollE
document_idsone2many ir.attachmentDocumentshr_recruitment
documents_bridge_enabledbooleandocuments_hr_recruitmentE
documents_countintegerDocument Counthr_recruitment
employee_countintegerhr_recruitment
employee_idsone2many hr.employeeEmployeeshr
employee_type_idmany2one hr.employee.typeEmployee Typehr
expected_degreemany2one hr.recruitment.degreehr_recruitment
expected_employeesintegerTotal Forecasted Employeeshr
extended_interviewer_idsmany2many res.usershr_recruitment
facebook_clicksintegerhr_referralE
favorite_recruiter_idsmany2many hr.employeehr_recruitment
favorite_user_idsmany2many res.usershr_recruitment
full_urlcharjob URLwebsite_hr_recruitment
hr_responsible_idmany2one res.usersHR Responsiblehr_recruitment
industry_idmany2one res.partner.industryIndustryhr_recruitment
interviewer_idsmany2many res.usersInterviewershr_recruitment
is_favoritebooleanhr_recruitment
job_detailshtmlProcess Detailswebsite_hr_recruitment
job_open_datedateJob Start Recruitment Datehr_referralE
job_post_countintegerNumber of Job Postshr_recruitment_integration_baseE
job_post_idsone2many hr.job.postJob Postshr_recruitment_integration_baseE
job_propertiespropertiesPropertieshr_recruitment
job_skill_idsone2many hr.job.skillSkillshr_skills
job_source_idsone2many hr.recruitment.sourcehr_recruitment
l10n_ae_mohre_skill_levelselectionMOHRE Skill Levell10n_ae_hr_payrollE
l10n_be_contract_ipbooleanIntellectual Propertyl10n_be_hr_contract_salaryE
l10n_be_contract_withholding_taxes_exemptionbooleanWithholding Taxes Exemptionl10n_be_hr_contract_salaryE
l10n_be_custom_representation_feesbooleanCustomized Representation Feesl10n_be_hr_contract_salaryE
l10n_be_custom_representation_fees_car_managementbooleanCar Managementl10n_be_hr_contract_salaryE
l10n_be_custom_representation_fees_homeworkingbooleanHomeworkingl10n_be_hr_contract_salaryE
l10n_be_custom_representation_fees_internetbooleanInternetl10n_be_hr_contract_salaryE
l10n_be_custom_representation_fees_phonebooleanPhonel10n_be_hr_contract_salaryE
l10n_be_scale_categoryselectionl10n_be_hr_payrollE
linkedin_clicksintegerhr_referralE
manager_idmany2one hr.employeeDepartment Managerhr_recruitment
matching_applicant_skill_idsmany2many hr.skillMatching Skillshr_recruitment_skills
max_pointsintegerhr_referralE
missing_applicant_skill_idsmany2many hr.skillMissing Skillshr_recruitment_skills
namecharJob Positionhr
new_application_countintegerNew Applicationhr_recruitment
no_of_employeeintegerCurrent Number of Employeeshr
no_of_hired_employeeintegerHiredhr_recruitment
no_of_recruitmentintegerTargethr
old_application_countintegerOld Applicationhr_recruitment
open_application_countintegerOpen Application Counthr_recruitment
payment_intervalselectionScheduled Payhr_recruitment
published_datedatewebsite_hr_recruitment
recruiter_idmany2one hr.employeeRecruiterhr
requirementstextRequirementshr
salary_maxmonetaryMaximum Salaryhr_recruitment
salary_minmonetaryMinimum Salaryhr_recruitment
schedule_idmany2one resource.calendarWorking Schedulehr_recruitment_integration_baseE
sequenceintegerhr
skill_idsmany2many hr.skillExpected Skillshr_skills
survey_idmany2one survey.surveyInterview Formhr_recruitment_survey
tag_idsmany2many hr.job.tagTagshr_recruitment
twitter_clicksintegerX Clickshr_referralE
user_idmany2one res.usersRecruiterhr
utm_campaign_idmany2one utm.campaignCampaignhr_referralE
website_descriptionhtmlWebsite descriptionwebsite_hr_recruitment
website_publishedbooleanwebsite_hr_recruitment
website_ratinghtmlWebsite ratingwebsite_hr_recruitment
Coverage. Odoo 16 to 17 and 17 to 18 compare Community modules only (the Enterprise 16 and 17 sources are not available to us). Odoo 18 to 19 and 19 to 20 include Community and Enterprise modules. Everything here comes from a static read of the Odoo source code: a field counts as removed only when no parent model, mixin or delegated model still provides it. Fields created dynamically at run time can be missed, and entries we could not confirm are marked as low confidence.