Skip to Content
Odoo model

stock.move.line

Product Moves (Stock Move Line). Defined in module stock; exists in Odoo 16, 17, 18, 19, 20. Across the upgrade steps we tracked: 25 fields added, 17 removed, 0 renamed.

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

Odoo 16 to 17

Community only All changes in this step

Fields removed (5)

FieldTypeModuleNotes
carrier_namechardelivery
is_initial_demand_editablebooleanstock
qty_donefloatstock
reserved_qtyfloatstock
reserved_uom_qtyfloatstock

Fields added (7)

FieldTypeModule
pickedbooleanstock
picking_location_dest_idmany2onestock
picking_location_idmany2onestock
product_packaging_qtyfloatstock
quant_idmany2onestock
quantityfloatstock
quantity_product_uomfloatstock
2 views of this model removed
  • delivery.stock_move_line_view_search_delivery
  • delivery.view_move_line_tree_detailed_delivery

Odoo 17 to 18

Community only All changes in this step

Fields added (1)

FieldTypeModule
scheduled_datedatetimestock

Odoo 18 to 19

Community + Enterprise All changes in this step

Fields removed (8)

FieldTypeModuleNotes
description_bom_linecharmrp
package_level_idmany2onestock
picking_type_entire_packsbooleanstock
product_packaging_idmany2onestock_barcode
product_packaging_qtyfloatstock
product_packaging_uom_qtyfloatstock_barcode
product_uom_category_idmany2onestock
quality_check_idsone2manymrp_workorder

Fields added (13)

FieldTypeModule
allowed_uom_idsmany2manystock
electronic_product_codecharstock_barcode
is_entire_packbooleanstock
l10n_mx_edi_customs_numbercharl10n_mx_edi_landing
lot_propertiespropertiesstock_barcode
move_partner_idmany2onestock
outermost_result_package_idmany2onestock_barcode
package_history_idmany2onestock
packaging_uom_idmany2onestock_barcode
packaging_uom_qtyfloatstock_barcode
removal_datedatetimeproduct_expiry
result_package_dest_namecharstock
scrap_idmany2onestock
1 views of this model removed
  • mrp.view_stock_move_line_detailed_operation_tree_mrp

Odoo 19 to 20

Community + Enterprise All changes in this step

Fields removed (4)

FieldTypeModuleNotes
manual_consumptionbooleanstock_barcode_mrp
product_uom_idmany2onestock
scheduled_datedatetimestock
scrap_idmany2onestock

Fields added (4)

FieldTypeModule
is_scrapbooleanstock
product_category_idmany2onestock
uom_idmany2onestock
visual_lot_namecharmrp
6 views of this model removed
  • quality_control_picking_batch.view_move_line_tree
  • stock_barcode_picking_batch.stock_move_line_product_selector_inherit
  • stock_picking_batch.stock_move_line_view_search_inherit_stock_picking_batch
  • stock_picking_batch.view_move_line_tree
  • stock_picking_batch.view_move_line_tree_detailed_wave
  • stock_picking_batch.view_move_line_tree_inherit_stock_picking_batch
3 actions on this model removed
  • stock.action_revert_inventory_adjustment
  • stock_picking_batch.action_prepare_wave
  • stock_picking_batch.action_prepare_wave_for_picking_type

All fields declared on stock.move.line (94)

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 94 fields
FieldTypeLabelModule1617181920
allowed_uom_idsmany2many uom.uomstock
batch_idmany2onestock
carrier_idmany2onestock_delivery
carrier_namecharCarrier Namedelivery
check_idsone2many quality.checkChecksquality_controlE
check_stateselectionquality_controlE
company_idmany2one res.companyCompanystock
consume_line_idsmany2many stock.move.linestock
datedatetimeDatestock
description_bom_linecharmrp
description_pickingtextDescription pickingstock
destination_country_codecharstock_delivery
dummy_idcharstock_barcodeE
electronic_product_codecharstock_barcodeE
expiration_datedatetimeExpiration Dateproduct_expiry
formatted_product_barcodecharstock_barcodeE
hide_lotbooleanstock_barcodeE
hide_lot_namebooleanstock_barcodeE
image_1920imagestock_barcodeE
is_entire_packbooleanIs added through entire packagestock
is_expiredbooleanproduct_expiry
is_initial_demand_editablebooleanstock
is_inventorybooleanstock
is_lockedbooleanstock
is_scrapbooleanstock
is_subcontract_stock_barcodebooleanstock_barcode_mrp_subcontractingE
l10n_mx_edi_customs_numbercharl10n_mx_edi_landingE
l10n_mx_edi_weightfloatl10n_mx_edi_stockE
location_dest_idmany2one stock.locationTostock
location_dest_usageselectionDestination Location Typestock
location_idmany2one stock.locationFromstock
location_processedbooleanstock_barcodeE
location_usageselectionSource Location Typestock
lot_idmany2one stock.lotLot/Serial Numberstock
lot_namecharLot/Serial Number Namestock
lot_propertiespropertiesstock_barcodeE
lots_visiblebooleanstock
manual_consumptionbooleanstock_barcode_mrpE
move_idmany2one stock.moveStock Operationstock
move_partner_idmany2onestock
origincharSourcestock
outermost_result_package_idmany2one stock.packagestock_barcodeE
owner_idmany2one res.partnerFrom Ownerstock
package_history_idmany2one stock.package.historyPackage Historystock
package_idmany2one stock.packageSource Packagestock
package_level_idmany2one stock.package_levelPackage Levelstock
packaging_uom_idmany2one uom.uomPackaging Unit of Measurestock_barcodeE
packaging_uom_qtyfloatPackaging Quantitystock_barcodeE
parent_location_dest_idmany2one stock.locationstock_barcodeE
parent_location_idmany2one stock.locationstock_barcodeE
pick_type_create_components_lotsbooleanstock_barcode_mrpE
pickedbooleanPickedstock
picking_codeselectionstock
picking_idmany2one stock.pickingTransferstock
picking_location_dest_idmany2onestock
picking_location_idmany2onestock
picking_partner_idmany2onestock
picking_type_entire_packsbooleanstock
picking_type_idmany2one stock.picking.typeOperation typestock
picking_type_use_create_lotsbooleanstock
picking_type_use_existing_lotsbooleanstock
produce_line_idsmany2many stock.move.linestock
product_barcodecharstock_barcodeE
product_category_idmany2oneProduct Categorystock
product_category_namecharProduct Categorystock_barcodeE
product_idmany2one product.productProductstock
product_packaging_idmany2onestock_barcodeE
product_packaging_qtyfloatReserved Packaging Quantitystock
product_packaging_uom_qtyfloatPackaging Quantitystock_barcodeE
product_reference_codecharProduct Reference Codestock_barcodeE
product_stock_quant_idsone2many stock.quantstock_barcodeE
product_uom_category_idmany2onestock
product_uom_idmany2one uom.uomUnitstock
production_idmany2one mrp.productionProduction Ordermrp
qty_donefloatDonestock_barcodeE
quality_check_idsone2many quality.checkCheckmrp_workorderE
quant_idmany2one stock.quantPick Fromstock
quantityfloatQuantitystock
quantity_product_uomfloatQuantity in Product UoMstock
referencecharstock
removal_datedatetimeRemoval Dateproduct_expiry
reserved_qtyfloatReal Reserved Quantitystock
reserved_uom_qtyfloatReservedstock
result_package_dest_namecharDestination Package Namestock
result_package_idmany2one stock.packageDestination Packagestock
sale_pricefloatstock_delivery
scheduled_datedatetimeScheduled Datestock
scrap_idmany2onestock
stateselectionstock
trackingselectionstock
uom_idmany2one uom.uomUnitstock
use_expiration_datebooleanUse Expiration Dateproduct_expiry
visual_lot_namecharVisual Pre-generated Lotmrp
workorder_idmany2one mrp.workorderWork Ordermrp
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.