Skip to Content
Odoo model

project.project

Project. Defined in module project; exists in Odoo 16, 17, 18, 19, 20. Across the upgrade steps we tracked: 62 fields added, 31 removed, 0 renamed, 1 type changes.

A top-level container used to organize and track a group of related project.tasks. Provides a high-level overview of progress, budget, and time spent on a specific initiative or client.

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

Odoo 16 to 17

Community only All changes in this step

Fields removed (10)

FieldTypeModuleNotes
alias_enabledbooleanproject
alias_valuecharproject
allow_recurring_tasksbooleanproject
allow_subtasksbooleanproject
commercial_partner_idmany2oneproject
display_create_orderbooleansale_timesheet
partner_emailcharproject
partner_phonecharproject
task_count_with_subtasksintegerproject
timesheet_countintegerhr_timesheet

Fields added (5)

FieldTypeModule
billing_typeselectionsale_timesheet
closed_task_countintegerproject
display_sales_stat_buttonsbooleansale_project
open_task_countintegerproject
sale_order_line_countintegersale_project
1 views of this model removed
  • sale_timesheet.project_project_view_form_simplified_inherit

Odoo 17 to 18

Community only All changes in this step

Fields removed (6)

FieldTypeModuleNotes
allow_ratingbooleanproject
analytic_account_idmany2oneproject
billable_percentageintegersale_timesheet
doc_countintegerproject
expenses_countintegerproject_hr_expense
workorder_countintegerproject_mrp

Fields added (12)

FieldTypeModule
account_idmany2oneproject
analytic_account_activebooleanhr_timesheet
can_mark_milestone_as_donebooleanproject
duration_trackingjsonproject
effective_hoursfloathr_timesheet
is_milestone_deadline_exceededbooleanproject
milestone_progressintegerproject
next_milestone_idmany2oneproject
reinvoiced_sale_order_idmany2onesale_project
sale_order_stateselectionsale_project
task_completion_percentagefloatproject
update_countintegerproject

Now also inherits analytic.plan.fields.mixin, mail.tracking.duration.mixin (fields from these parents are listed on their own pages).

Odoo 18 to 19

Community + Enterprise All changes in this step

Fields removed (6)

FieldTypeModuleNotes
documents_tag_idsmany2manydocuments_project
rating_activebooleanproject
rating_request_deadlinedatetimeproject
rating_statusselectionproject
rating_status_periodselectionproject
use_documentsbooleandocuments_project

Fields added (24)

Show all 24
FieldTypeModule
allow_geolocationbooleanindustry_fsm
allow_recurring_tasksbooleanproject
database_api_keychardatabases
database_api_key_to_usechardatabases
database_api_loginchardatabases
database_can_accessbooleandatabases
database_fetch_documentsbooleandatabases
database_fetch_draft_entriesbooleandatabases
database_fetch_tax_returnsbooleandatabases
database_hostingselectiondatabases
database_kpi_base_definition_idmany2onedatabases
database_kpi_propertiespropertiesdatabases
database_last_synchrodatetimedatabases
database_namechardatabases
database_nb_documentsintegerdatabases
database_nb_synchro_errorsintegerdatabases
database_nb_usersintegerdatabases
database_urlchardatabases
database_user_idsone2manydatabases
database_versionchardatabases
hide_pricebooleanindustry_fsm_sale
is_templatebooleanproject
show_ratingsbooleanproject
stage_id_colorintegerproject

Type changed (1)

FieldOdoo 18Odoo 19
total_timesheet_time integerfloat

No longer inherits documents.mixin.

1 actions on this model removed
  • industry_fsm.fsm_customer_ratings_server_action

Odoo 19 to 20

Community + Enterprise All changes in this step

Fields removed (9)

FieldTypeModuleNotes
allow_geolocationbooleanindustry_fsmIts module (industry_fsm) is not in Odoo 20: removed, renamed or merged into another module.
allow_materialbooleanindustry_fsm_saleIts module (industry_fsm_sale) is not in Odoo 20: removed, renamed or merged into another module.
allow_quotationsbooleanindustry_fsm_saleIts module (industry_fsm_sale) is not in Odoo 20: removed, renamed or merged into another module.
allow_worksheetsbooleanindustry_fsm_reportIts module (industry_fsm_report) is not in Odoo 20: removed, renamed or merged into another module.
hide_pricebooleanindustry_fsm_saleIts module (industry_fsm_sale) is not in Odoo 20: removed, renamed or merged into another module.
is_fsmbooleanindustry_fsmIts module (industry_fsm) is not in Odoo 20: removed, renamed or merged into another module.
privacy_visibility_warningcharproject
stage_id_colorintegerproject
worksheet_template_idmany2oneindustry_fsm_reportIts module (industry_fsm_report) is not in Odoo 20: removed, renamed or merged into another module.

Fields added (21)

Show all 21
FieldTypeModule
allowed_internal_user_idsmany2manyproject
budget_countintegerproject_account_budget
date_last_stage_updatedatetimeproject
documents_folder_user_permissionselectiondocuments_project
estimated_costmonetarysale_project_margin
estimated_cost_ratiofloatsale_project_margin
google_map_iframehtmlproject
lead_idmany2onecrm_sale_project
next_milestone_statuscharproject
partner_emailcharproject
partner_phonecharproject
real_costmonetarysale_project
real_cost_ratiofloatsale_project
sale_order_amount_totalmonetarysale_project
sale_warning_texttextsale_project
stat_extra_time_valuecharhr_timesheet
stat_success_ratefloathr_timesheet
stat_timesheet_valuecharhr_timesheet
total_budget_achieved_amountmonetaryproject_account_budget
total_budget_achieved_progressfloatproject_account_budget
user_is_database_userbooleandatabases

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

22 views of this model removed
  • documents_project.project_view_kanban_inherit_documents
  • helpdesk_fsm_sale.project_view_form_inherit
  • hr_timesheet.project_project_view_form_simplified_inherit_timesheet
  • hr_timesheet.view_project_kanban_inherited
  • industry_fsm.edit_fsm_project_inherit
  • industry_fsm.project_project_view_form_simplified_footer_fsm
  • industry_fsm.project_project_view_form_simplified_inherit
  • industry_fsm.project_view_form_inherit
  • industry_fsm.project_view_tree_primary
  • industry_fsm.view_project_fsm
  • industry_fsm.view_project_kanban_fsm
  • industry_fsm_report.project_project_form_inherit_industry_fsm_report
  • industry_fsm_report.view_project_kanban_inherit_industry_fsm_report
  • industry_fsm_sale.project_project_view_form_simplified_inherit
  • industry_fsm_sale.project_project_view_inherit_project_filter_fsm_sale
  • industry_fsm_sale.project_view_form_inherit
  • industry_fsm_sale.view_project_inherit_fsm_sale
  • project.project_view_kanban_inherit_project
  • project_account_budget.project_project_kanban_view_inherited
  • project_timesheet_forecast_sale.project_timesheet_forecast_view_kanban_inherit_sale_timesheet
  • sale_timesheet.project_project_view_kanban_inherit_sale_timesheet
  • sale_timesheet.project_project_view_kanban_inherit_sale_timesheet_so_button
4 actions on this model removed
  • esg_project.action_load_demo_data
  • esg_project.esg_initiatives_server_action
  • industry_fsm.open_create_project_fsm
  • industry_fsm.project_project_action_only_fsm
2 menus opening this model removed
  • esg_project.menu_esg_initiatives
  • industry_fsm.fsm_menu_settings_project

All fields declared on project.project (164)

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 164 fields
FieldTypeLabelModule1617181920
access_instruction_messagecharAccess Instruction Messageproject
account_idmany2one account.analytic.accountproject
activebooleanproject
alias_enabledbooleanUse Email Aliasproject
alias_idmany2one mail.aliasAliasproject
alias_valuecharAlias emailproject
allocated_hoursfloatAllocated Timehr_timesheet
allow_billablebooleanBillablesale_project
allow_geolocationbooleanGeolocationindustry_fsmE
allow_materialbooleanProducts on Tasksindustry_fsm_saleE
allow_milestonesbooleanMilestonesproject
allow_quotationsbooleanExtra Quotationsindustry_fsm_saleE
allow_ratingbooleanAllow Customer Ratingsproject
allow_recurring_tasksbooleanRecurring Tasksproject
allow_subtasksbooleanSub-tasksproject
allow_task_dependenciesbooleanTask Dependenciesproject
allow_timesheetsbooleanTimesheetshr_timesheet
allow_worksheetsbooleanWorksheetsindustry_fsm_reportE
allowed_internal_user_idsmany2many res.usersTeam Membersproject
analytic_account_activebooleanActive Accounthr_timesheet
analytic_account_balancemonetaryproject
analytic_account_idmany2one account.analytic.accountAnalytic Accountproject
assets_countinteger# Assetsproject_account_assetE
billable_percentageintegersale_timesheet
billing_typeselectionsale_timesheet
bom_countintegerproject_mrp
budget_countintegerproject_account_budgetE
can_mark_milestone_as_donebooleanproject
closed_task_countintegerClosed Task Countproject
collaborator_countinteger# Collaboratorsproject
collaborator_idsone2many project.collaboratorCollaboratorsproject
colorintegerColor Indexproject
commercial_partner_idmany2oneproject
company_idmany2one res.companyCompanyproject
contracts_countinteger# Contractsproject_hr_payroll_accountE
currency_idmany2one res.currencyCurrencyproject
database_api_keycharDatabase API KeydatabasesE
database_api_key_to_usechardatabasesE
database_api_logincharDatabase API LogindatabasesE
database_can_accessbooleandatabasesE
database_fetch_documentsbooleanFetch DocumentsdatabasesE
database_fetch_draft_entriesbooleanFetch Draft Journal EntriesdatabasesE
database_fetch_tax_returnsbooleanFetch Tax ReturnsdatabasesE
database_hostingselectionHostingdatabasesE
database_kpi_base_definition_idmany2one properties.base.definitiondatabasesE
database_kpi_propertiespropertiesMetricsdatabasesE
database_last_synchrodatetimeLast SynchronizationdatabasesE
database_namecharDatabase NamedatabasesE
database_nb_documentsintegerAmount of documents in InboxdatabasesE
database_nb_synchro_errorsintegerSynchronization Errors CountdatabasesE
database_nb_usersintegerAmount of UsersdatabasesE
database_urlcharDatabase URLdatabasesE
database_user_idsone2many databases.userDatabase UsersdatabasesE
database_versioncharDatabase VersiondatabasesE
datedateExpiration Dateproject
date_last_stage_updatedatetimeLast Stage Updateproject
date_startdateStart Dateproject
descriptionhtmlproject
display_create_orderbooleansale_timesheet
display_planning_timesheet_analysisbooleanproject_timesheet_forecast_saleE
display_sales_stat_buttonsbooleansale_project
doc_countintegerNumber of documents attachedproject
document_countintegerdocuments_projectE
document_idsone2many documents.documentdocuments_projectE
documents_folder_idmany2one documents.documentDocuments Folderdocuments_projectE
documents_folder_user_permissionselectiondocuments_projectE
documents_tag_idsmany2many documents.tagDefault Tagsdocuments_projectE
duration_trackingjsonproject
effective_hoursfloatTime Spenthr_timesheet
encode_uom_in_daysbooleanhr_timesheet
estimated_costmonetarysale_project_margin
estimated_cost_ratiofloatsale_project_margin
expenses_countinteger# Expensesproject_hr_expense
favorite_user_idsmany2many res.usersMembersproject
google_map_iframehtmlproject
has_any_so_to_invoicebooleanHas SO to Invoicesale_project
has_any_so_with_nothing_to_invoicebooleanHas a SO with an invoice status of Nosale_project
has_helpdesk_teambooleanHas Helpdesk Teamshelpdesk_timesheetE
helpdesk_teamone2many helpdesk.teamhelpdesk_timesheetE
hide_pricebooleanHide price on customer report and portalindustry_fsm_saleE
invoice_countintegersale_project
is_favoritebooleanShow Project on Dashboardproject
is_fsmbooleanField Serviceindustry_fsmE
is_internal_projectbooleanhr_timesheet
is_milestone_deadline_exceededbooleanproject
is_milestone_exceededbooleanproject
is_project_overtimebooleanProject in Overtimehr_timesheet
is_rottingbooleanproject
is_templatebooleanproject
label_taskscharUse Tasks asproject
last_update_colorintegerproject
last_update_idmany2one project.updateLast Updateproject
last_update_statusselectionproject
lead_idmany2one crm.leadcrm_sale_project
milestone_countintegerproject
milestone_count_reachedintegerproject
milestone_idsone2many project.milestoneproject
milestone_progressintegerMilestones Reachedproject
namecharNameproject
next_milestone_idmany2one project.milestoneproject
next_milestone_statuscharproject
open_task_countintegerOpen Task Countproject
partner_emailcharEmailproject
partner_idmany2one res.partnerCustomerproject
partner_phonecharPhoneproject
pricing_typeselectionPricingsale_timesheet
privacy_visibilityselectionVisibilityproject
privacy_visibility_warningcharPrivacy Visibility Warningproject
production_countintegerproject_mrp
purchase_orders_countinteger# Purchase Ordersproject_purchase
rating_activebooleanCustomer Ratingsproject
rating_request_deadlinedatetimeproject
rating_statusselectionCustomer Ratings Statusproject
rating_status_periodselectionRating Frequencyproject
real_costmonetarysale_project
real_cost_ratiofloatsale_project
reinvoiced_sale_order_idmany2one sale.orderSales Ordersale_project
remaining_hoursfloatTime Remaininghr_timesheet
resource_calendar_idmany2one resource.calendarWorking Timeproject
rotting_daysintegerproject
sale_line_employee_idsone2many project.sale.line.employee.mapSale line/Employee mapsale_timesheet
sale_line_idmany2one sale.order.lineSales Order Itemsale_project
sale_order_amount_totalmonetarysale_project
sale_order_countintegersale_project
sale_order_idmany2oneSales Ordersale_project
sale_order_line_countintegersale_project
sale_order_stateselectionsale_project
sale_warning_texttextProject Warningsale_project
sequenceintegerproject
show_ratingsbooleanproject
stage_idmany2one project.project.stageStageproject
stage_id_colorintegerStage Colorproject
stat_extra_time_valuecharhr_timesheet
stat_success_ratefloathr_timesheet
stat_timesheet_valuecharhr_timesheet
tag_idsmany2many project.tagsTagsproject
task_completion_percentagefloatproject
task_countintegerTask Countproject
task_count_with_subtasksintegerproject
task_idsone2many project.taskTasksproject
task_properties_definitionproperties_definitionTask Propertiesproject
tasksone2many project.taskTask Activitiesproject
ticket_countinteger# Ticketshelpdesk_timesheetE
ticket_idsone2many helpdesk.ticketTicketshelpdesk_timesheetE
timesheet_countintegerhr_timesheet
timesheet_encode_uom_idmany2one uom.uomhr_timesheet
timesheet_idsone2many account.analytic.lineAssociated Timesheetshr_timesheet
timesheet_product_idmany2one product.productTimesheet Productsale_timesheet
total_budget_achieved_amountmonetaryproject_account_budgetE
total_budget_achieved_progressfloatproject_account_budgetE
total_budget_amountmonetaryTotal planned amountproject_account_budgetE
total_budget_progressfloatBudget Spentproject_account_budgetE
total_forecast_timeintegerproject_forecastE
total_timesheet_timefloatTotal amount of time (in the proper unit) recorded in the project, rounded to the unit.hr_timesheet
type_idsmany2many project.task.typeTasks Stagesproject
update_countintegerproject
update_idsone2many project.updateproject
use_documentsbooleanDocumentsdocuments_projectE
user_idmany2one res.usersProject Managerproject
user_is_database_userbooleandatabasesE
vendor_bill_countintegersale_project
warning_employee_ratebooleansale_timesheet
workorder_countintegerproject_mrp
worksheet_template_idmany2one worksheet.templateWorksheet Templateindustry_fsm_reportE
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.