Skip to Content
Odoo model

mrp.workorder

Work Order. Defined in module mrp; exists in Odoo 16, 17, 18, 19, 20. Across the upgrade steps we tracked: 24 fields added, 23 removed, 0 renamed, 1 type changes.

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

Odoo 16 to 17

Community only All changes in this step

Fields removed (4)

FieldTypeModuleNotes
date_planned_finisheddatetimemrp
date_planned_startdatetimemrp
mo_analytic_account_line_idmany2onemrp_account
wc_analytic_account_line_idmany2onemrp_account

Fields added (4)

FieldTypeModule
barcodecharmrp
has_worksheetbooleanmrp
mo_analytic_account_line_idsmany2manymrp_account
wc_analytic_account_line_idsmany2manymrp_account

Odoo 17 to 18

Community only All changes in this step

Fields added (1)

FieldTypeModule
sequenceintegermrp
2 views of this model removed
  • mrp.mrp_workorder_view_gantt
  • mrp.workcenter_line_gantt_production

Odoo 18 to 19

Community + Enterprise All changes in this step

Fields removed (11)

FieldTypeModuleNotes
additionalbooleanmrp_workorder
finished_lot_idmany2onemrp
has_operation_notebooleanmrp_workorder
has_worksheetbooleanmrp
lot_idmany2onemrp_workorder
move_line_idmany2onemrp_workorder
operation_notehtmlmrp
qty_donefloatmrp_workorder
worksheetbinarymrp
worksheet_google_slidecharmrp
worksheet_typeselectionmrp

Fields added (5)

FieldTypeModule
cost_modeselectionmrp
employee_costs_hourfloatmrp_workorder
finished_lot_idsmany2manymrp
product_variant_attributesmany2manymrp
qty_readyfloatmrp

Type changed (1)

FieldOdoo 18Odoo 19
last_working_user_id one2manymany2one

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

Odoo 19 to 20

Community + Enterprise All changes in this step

Fields removed (8)

FieldTypeModuleNotes
connected_employee_idsmany2manymrp_workorder
consumptionselectionmrp
finished_lot_idsmany2manymrp
json_popovercharmrp
product_uom_idmany2onemrp
scrap_countintegermrp
scrap_idsone2manymrp
show_json_popoverbooleanmrp

Fields added (14)

FieldTypeModule
backorder_countintegermrp
colorintegermrp
costfloatmrp
decoration_datescharmrp
has_conflictsbooleanmrp
has_planning_issuesbooleanmrp
picking_type_idmany2onemrp
priorityselectionmrp
production_lot_producing_idmany2manymrp
production_reference_idsmany2manymrp
propertiespropertiesmrp
qty_to_producefloatmrp
remaining_timefloatmrp
uom_idmany2onemrp

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

No longer inherits barcodes.barcode_events_mixin.

3 views of this model removed
  • mrp_workorder.mrp_workorder_view_form_tablet
  • mrp_workorder.mrp_workorder_view_gantt_dependencies
  • mrp_workorder_expiry.mrp_workorder_view_form_tablet_expiry_inherit

All fields declared on mrp.workorder (113)

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 113 fields
FieldTypeLabelModule1617181920
additionalbooleanmrp_workorderE
all_employees_allowedbooleanmrp_workorderE
allow_producing_quantity_changebooleanAllow Changes to Producing Quantitymrp_workorderE
allow_workorder_dependenciesbooleanmrp
allowed_employeesmany2manymrp_workorderE
backorder_countintegerCount of linked backordersmrp
barcodecharmrp
blocked_by_workorder_idsmany2many mrp.workorderBlocked Bymrp
check_idsone2many quality.checkmrp_workorderE
colorintegerColormrp
company_idmany2onemrp
connected_employee_idsmany2many hr.employeemrp_workorderE
consumptionselectionmrp
costfloatCostmrp
cost_modeselectionmrp
costs_hourfloatCost per hourmrp
current_quality_check_idmany2one quality.checkCurrent Quality Checkmrp_workorderE
date_finisheddatetimeEndmrp
date_planned_finisheddatetimeScheduled End Datemrp
date_planned_startdatetimeScheduled Start Datemrp
date_startdatetimePlanned Datemrp
decoration_datescharmrp
done_check_idsmany2many quality.checkmrp_workorderE
durationfloatReal Durationmrp
duration_expectedfloatExpected Durationmrp
duration_percentintegerDuration Deviation (%)mrp
duration_unitfloatDuration Per Unitmrp
employee_analytic_account_line_idsmany2many account.analytic.linemrp_workorder_hr_accountE
employee_assigned_idsmany2many hr.employeeAssignedmrp_workorderE
employee_costs_hourfloatEmployee Cost per hourmrp_workorderE
employee_idmany2one hr.employeeEmployeemrp_workorderE
employee_idsmany2many hr.employeeWorking employeesmrp_workorderE
employee_namecharmrp_workorderE
finished_lot_idmany2one stock.lotLot/Serial Numbermrp
finished_lot_idsmany2many stock.lotLot/Serial Numbersmrp
finished_product_check_idsmany2many quality.checkmrp_workorderE
has_conflictsbooleanHas conflictsmrp
has_operation_notebooleanHas Descriptionmrp_workorderE
has_planning_issuesbooleanHas planning issuesmrp
has_worksheetbooleanmrp
is_first_started_wobooleanIs The first Work Ordermrp_workorderE
is_last_lotbooleanIs Last lotmrp_workorderE
is_last_unfinished_wobooleanIs Last Work Order To Processmrp_workorderE
is_plannedbooleanmrp
is_producedbooleanHas Been Producedmrp
is_user_workingbooleanIs the Current User Workingmrp
json_popovercharPopover Data JSONmrp
last_working_user_idmany2one res.usersLast user that worked on this work order.mrp
leave_idmany2one resource.calendar.leavesmrp
lot_idmany2onemrp_workorderE
mo_analytic_account_line_idmany2one account.analytic.linemrp_account
mo_analytic_account_line_idsmany2many account.analytic.linemrp_account
move_finished_idsone2many stock.moveFinished Movesmrp
move_idmany2onemrp_workorderE
move_line_idmany2onemrp_workorderE
move_line_idsone2many stock.move.lineMoves to Trackmrp
move_raw_idsone2many stock.moveRaw Movesmrp
namecharWork Ordermrp
needed_by_workorder_idsmany2many mrp.workorderBlocksmrp
operation_idmany2one mrp.routing.workcenterOperationmrp
operation_notehtmlDescriptionmrp
picking_type_idmany2onemrp
picturebinarymrp_workorderE
priorityselectionmrp
product_description_variantscharmrp_workorderE
product_idmany2onemrp
product_trackingselectionmrp
product_uom_idmany2one uom.uomUnit of Measuremrp
product_variant_attributesmany2many product.template.attribute.valuemrp
production_availabilityselectionStock Availabilitymrp
production_bom_idmany2one mrp.bommrp
production_datedatetimeProduction Datemrp
production_idmany2one mrp.productionManufacturing Ordermrp
production_lot_producing_idmany2many stock.lotmrp
production_reference_idsmany2manyReferencesmrp
production_stateselectionProduction Statemrp
progressfloatProgress Done (%)mrp
propertiespropertiesPropertiesmrp
qty_donefloatmrp_workorderE
qty_producedfloatQuantity Donemrp
qty_producingfloatCurrently Produced Quantitymrp
qty_productionfloatOriginal Production Quantitymrp
qty_readyfloatQuantity Readymrp
qty_remainingfloatQuantity To Be Producedmrp
qty_reported_from_previous_wofloatCarried Quantitymrp
qty_to_producefloatQuantity To Producemrp
quality_alert_countintegermrp_workorderE
quality_alert_idsone2many quality.alertmrp_workorderE
quality_check_failbooleanmrp_workorderE
quality_check_todobooleanmrp_workorderE
quality_point_countintegerStepsmrp_workorderE
quality_point_idsmany2many quality.pointmrp_workorderE
quality_stateselectionQuality Statemrp_workorderE
remaining_timefloatRemaining Working Timemrp
scrap_countintegerScrap Movemrp
scrap_idsone2many stock.scrapmrp
sequenceintegerSequencemrp
show_json_popoverbooleanShow Popover?mrp
stateselectionStatusmrp
test_typecharmrp_workorderE
test_type_idmany2one quality.point.test_typeTest Typemrp_workorderE
time_idsone2many mrp.workcenter.productivitymrp
uom_idmany2onemrp
user_idmany2onemrp_workorderE
wc_analytic_account_line_idmany2one account.analytic.linemrp_account
wc_analytic_account_line_idsmany2many account.analytic.linemrp_account
workcenter_idmany2one mrp.workcenterWork Centermrp
working_stateselectionWorkcenter Statusmrp
working_user_idsone2many res.usersWorking user on this work order.mrp
worksheetbinaryWorksheetmrp
worksheet_google_slidecharWorksheet URLmrp
worksheet_pageintegerWorksheet pagemrp_workorderE
worksheet_typeselectionWorksheet Typemrp
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.