stock.picking.type: fields, relations and API
The stock.picking.type model ("Picking Type") is a persistent model declared by the Inventory module, then extended by 9 other modules. It exposes 110 fields, 104 of them declared directly on the model; 31 fields from other models point to it. Below you will find every field with its technical name, type, label and relations, followed by an Odoo 20 JSON-2 API call.
Model identity
- Technical name
stock.picking.type- Label
- Picking Type
- Type
- Persistent (models.Model)
- SQL table
stock_picking_type- Origin module
- Inventory (
stock) - Extended by
- mrp, stock_account, stock_delivery, repair, stock_dropshipping, pos_stock, project_stock_account, project_mrp_account, stock_fleet
- Default order (_order)
is_favorite desc, sequence, id- Inherits from (mixins)
- pos.load.mixin
Model fields
104 own fields, 0 inherited from mixins and 6 automatic ORM fields. Click a name to get a direct link to that field.
110 of 110 fields shown
| Technical name | Label | Type | Details |
|---|---|---|---|
| active | Active | boolean | |
| allocated_location_id | Location for allocation Allow to define the location where allocated products should be sent. | many2one | |
| analytic_costs | Analytic Costs Validating stock pickings will generate analytic entries for the selected project. Products set for re-invoicing will also be billed to the customer. | boolean | computed, stored added by Project Stock Account ( |
| auto_batch | Automatic Batches Automatically put pickings into batches as they are confirmed when possible. | boolean | |
| auto_confirm_production | Auto Confirm Production Uncheck this option if you want to create a draft production order on replenishment, instead of a confirmed one. | boolean | added by Manufacturing ( |
| auto_print_carrier_labels | Auto Print Carrier Labels Automatically print the carrier labels of the picking when they are created. | boolean | added by Delivery - Stock ( |
| auto_print_cmr_report | Auto Print Consignment Note (CMR) If this checkbox is ticked, Odoo will automatically print the Consignment Note (CMR) of a delivery when it is validated. | boolean | added by Stock Transport ( |
| auto_print_delivery_slip | Auto Print Delivery Slip If this checkbox is ticked, Odoo will automatically print the delivery slip of a picking when it is validated. | boolean | |
| auto_print_done_mrp_lot | Auto Print Produced Lot Label If this checkbox is ticked, Odoo will automatically print the lot/SN label of a MO when it is done. | boolean | added by Manufacturing ( |
| auto_print_done_mrp_product_labels | Auto Print Produced Product Labels If this checkbox is ticked, Odoo will automatically print the product labels of a MO when it is done. | boolean | added by Manufacturing ( |
| auto_print_done_production_order | Auto Print Done Production Order If this checkbox is ticked, Odoo will automatically print the production order of a MO when it is done. | boolean | added by Manufacturing ( |
| auto_print_export_documents | Auto Print Export Documents Automatically print the export documents of the picking when they are created. Availability of export documents depends on the carrier and the destination. | boolean | added by Delivery - Stock ( |
| auto_print_generated_mrp_lot | Auto Print Generated Lot/SN Label Automatically print the lot/SN label when the "Create a new serial/lot number" button is used. | boolean | added by Manufacturing ( |
| auto_print_lot_labels | Auto Print Lot/SN Labels If this checkbox is ticked, Odoo will automatically print the lot/SN labels of a picking when it is validated. | boolean | |
| auto_print_mrp_reception_report | Auto Print Allocation Report If this checkbox is ticked, Odoo will automatically print the allocation report of a MO when it is done and has assigned moves. | boolean | added by Manufacturing ( |
| auto_print_mrp_reception_report_labels | Auto Print Allocation Report Labels If this checkbox is ticked, Odoo will automatically print the allocation report labels of a MO when it is done. | boolean | added by Manufacturing ( |
| auto_print_package_label | Auto Print Package Label If this checkbox is ticked, Odoo will automatically print the package label when "Put in Pack" button is used. | boolean | |
| auto_print_packages | Auto Print Packages If this checkbox is ticked, Odoo will automatically print the packages and their contents of a picking when it is validated. | boolean | |
| auto_print_product_labels | Auto Print Product Labels If this checkbox is ticked, Odoo will automatically print the product labels of a picking when it is validated. | boolean | |
| auto_print_reception_report | Auto Print Reception Report If this checkbox is ticked, Odoo will automatically print the reception report of a picking when it is validated and has assigned moves. | boolean | |
| auto_print_reception_report_labels | Auto Print Reception Report Labels If this checkbox is ticked, Odoo will automatically print the reception report labels of a picking when it is validated. | boolean | |
| auto_print_return_slip | Auto Print Return Slip If this checkbox is ticked, Odoo will automatically print the return slip of a picking when it is validated. | boolean | |
| auto_show_allocation_report | Show Allocation If this checkbox is ticked, Odoo will automatically show the allocation report (if there are moves to allocate to) when validating. | boolean | |
| barcode | Barcode | char | |
| batch_auto_confirm | Auto-confirm | boolean | |
| batch_creation_type | Batch Creation | selection | computed Values: |
| batch_group_by_carrier | Carrier Automatically group batches by carriers | boolean | added by Delivery - Stock ( |
| batch_group_by_dest_loc | Group by Destination Location Automatically group batches by their destination location. | boolean | |
| batch_group_by_destination | Destination Country Automatically group batches by destination country. | boolean | |
| batch_group_by_partner | Contact Automatically group batches by contacts. | boolean | |
| batch_group_by_src_loc | Group by Source Location Automatically group batches by their source location. | boolean | |
| batch_max_lines | Maximum lines A transfer will not be automatically added to batches that will exceed this number of lines if the transfer is added to it. Leave this value as '0' if no line limit. | integer | |
| batch_max_pickings | Maximum transfers A transfer will not be automatically added to batches that will exceed this number of transfers. Leave this value as '0' if no transfer limit. | integer | |
| batch_max_weight | Maximum weight A transfer will not be automatically added to batches that will exceed this weight if the transfer is added to it. Leave this value as '0' if no weight limit. | integer | added by Delivery - Stock ( |
| batch_properties_definition | Batch Properties | properties_definition | |
| code | Type of Operation | selection | required Values: |
| color | Color | integer | |
| company_id | Company | many2one | required |
| count_mo_in_progress | Number of Manufacturing Orders In Progress | integer | computed added by Manufacturing ( |
| count_mo_late | Number of Manufacturing Orders Late | integer | computed added by Manufacturing ( |
| count_mo_to_close | Number of Manufacturing Orders To Close | integer | computed added by Manufacturing ( |
| count_mo_todo | Number of Manufacturing Orders to Process | integer | computed added by Manufacturing ( |
| count_mo_waiting | Number of Manufacturing Orders Waiting | integer | computed added by Manufacturing ( |
| count_picking | Count Picking | integer | computed |
| count_picking_backorders | Count Picking Backorders | integer | computed |
| count_picking_batch | Count Picking Batch | integer | computed |
| count_picking_draft | Count Picking Draft | integer | computed |
| count_picking_late | Count Picking Late | integer | computed |
| count_picking_ready | Count Picking Ready | integer | computed |
| count_picking_waiting | Count Picking Waiting | integer | computed |
| count_repair_confirmed | Number of Repair Orders Confirmed | integer | computed added by Repairs ( |
| count_repair_late | Number of Late Repair Orders | integer | computed added by Repairs ( |
| count_repair_ready | Number of Repair Orders to Process | integer | computed added by Repairs ( |
| country_code | Country Code | char | related: added by WMS Accounting ( |
| create_backorder | Create Backorder When validating a transfer: * Ask: users are asked to choose if they want to make a backorder for remaining products * Always: a backorder is automatically created for the remaining products * Never: remaining products are cancelled | selection | required Values: |
| default_location_dest_id | Destination Location This is the default destination location when this operation is manually created. However, it is possible to change it afterwards or that the routes use another one by default. | many2one | requiredcomputed, stored |
| default_location_src_id | Source Location This is the default source location when this operation is manually created. However, it is possible to change it afterwards or that the routes use another one by default. | many2one | requiredcomputed, stored |
| default_product_location_dest_id | Product Destination Location This is the default destination location for the product to be repaired in repair orders with this operation type. | many2one | computed, stored added by Repairs ( |
| default_product_location_src_id | Product Source Location This is the default source location for the product to be repaired in repair orders with this operation type. | many2one | computed, stored added by Repairs ( |
| default_recycle_location_dest_id | Recycle Destination Location This is the default recycle destination location when you create a repair order with this operation type. | many2one | computed, stored added by Repairs ( |
| default_remove_location_dest_id | Remove Destination Location This is the default remove destination location when you create a repair order with this operation type. | many2one | computed, stored added by Repairs ( |
| dispatch_management | Dispatch Management Enable this option to display dispatch management related details in the batch/wave form view and operations kanban overview. | boolean | added by Stock Transport ( |
| dock_ids | Dock | many2many | computed, stored added by Stock Transport ( |
| done_mrp_lot_label_to_print | Lot/SN Label to Print | selection | Values computed at runtime added by Manufacturing ( |
| favorite_user_ids | Favorite User | many2many | |
| generated_mrp_lot_label_to_print | Generated Lot/SN Label to Print | selection | Values computed at runtime added by Manufacturing ( |
| has_stock_reports_to_print | Has Stock Reports To Print | boolean | computed added by PoS - Stock ( |
| hide_reservation_method | Hide Reservation Method | boolean | computed |
| is_favorite | Show Operation in Overview | boolean | computed |
| kanban_dashboard_graph | Kanban Dashboard Graph | text | computed |
| lot_label_format | Lot Label Format to auto-print | selection | Values computed at runtime |
| move_type | Shipping Policy It specifies goods to be transferred partially or all at once | selection | required Values: |
| mrp_product_label_to_print | Product Label to Print | selection | Values computed at runtime added by Manufacturing ( |
| name | Operation Type | char | requiredtranslatable |
| open_button_style | Open Button Style | selection | computed Values: |
| package_label_to_print | Package Label to Print | selection | Values: |
| picking_properties_definition | Picking Properties | properties_definition | |
| print_label | Generate Shipping Labels Check this box if you want to generate shipping label in this operation. | boolean | computed, stored |
| product_label_format | Product Label Format to auto-print | selection | Values computed at runtime |
| repair_properties_definition | Repair Properties | properties_definition | added by Repairs ( |
| reservation_days_before | Days Maximum number of days before scheduled date that products should be reserved. | integer | |
| reservation_days_before_priority | Days when starred Maximum number of days before scheduled date that priority picking products should be reserved. | integer | |
| reservation_method | Reservation Method How products in transfers of this operation type should be reserved. | selection | required Values: |
| return_picking_type_id | Operation Type for Returns | many2one | |
| sequence | Sequence Used to order the 'All Operations' kanban view | integer | |
| sequence_code | Sequence Prefix | char | related: |
| sequence_id | Reference Sequence | many2one | |
| set_package_type | Set Package Type If ticked, you will be able to select which package or package type to use in a put in pack | boolean | |
| show_entire_packs | Move Entire Packages If ticked, packages to move will be directly displayed in Barcode instead of the products they contain | boolean | |
| show_picking_type | Show Picking Type | boolean | computed |
| show_return_picking_type | Show Return Picking Type | boolean | computed |
| use_create_components_lots | Create New Lots/Serial Numbers for Components Allow to create new lot/serial numbers for the components | boolean | added by Manufacturing ( |
| use_create_lots | Create New Lots/Serial Numbers If this is checked only, it will suppose you want to create new Lots/Serial Numbers, so you can provide them in a text field. | boolean | computed, stored |
| use_existing_lots | Use Existing Lots/Serial Numbers If this is checked, you will be able to choose the Lots/Serial Numbers. You can also decide to not put lots in this operation type. This means it will create stock with no lot or not put a restriction on the lot taken. | boolean | computed, stored |
| warehouse_id | Warehouse | many2one | computed, stored |
| wave_category_ids | Wave Product Categories Categories to consider when grouping waves. | many2many | |
| wave_date_granularity | Date Precision Precision to consider when grouping waves. | selection | Values: |
| wave_group_by_category | Product Category Split transfers by product category, then group transfers that have the same product category. | boolean | |
| wave_group_by_date | Group by Date Split transfers by their date. | boolean | |
| wave_group_by_location | Location Split transfers by defined locations, then group transfers with the same location. | boolean | |
| wave_group_by_product | Product Split transfers by product then group transfers that have the same product. | boolean | |
| wave_location_ids | Wave Locations Locations to consider when grouping waves. | many2many | |
| weight_uom_name | Weight unit of measure label | char | read-onlycomputed added by Delivery - Stock ( |
| wo_properties_definition | Workorder Properties | properties_definition | added by Manufacturing ( |
| create_date | Created on | datetime | read-onlyautomatic |
| create_uid | Created by | many2one | read-onlyautomatic |
| display_name | Display Name | char | read-onlycomputedautomatic |
| id | ID | integer | read-onlyautomatic |
| write_date | Last Updated on | datetime | read-onlyautomatic |
| write_uid | Last Updated by | many2one | read-onlyautomatic |
Relations
Models linked from this model
- ir.sequence: sequence_id
- product.category: wave_category_ids
- res.company: company_id
- res.users: favorite_user_ids
- stock.location: allocated_location_id, default_location_dest_id, default_location_src_id, default_product_location_dest_id, default_product_location_src_id, default_recycle_location_dest_id, default_remove_location_dest_id, dock_ids, wave_location_ids
- stock.picking.type: return_picking_type_id
- stock.warehouse: warehouse_id
Fields of other models pointing here
- mrp.bom: picking_type_id
- mrp.production: picking_type_id
- mrp.workorder: picking_type_id
- pos.config: picking_type_id
- pos.order: picking_type_id
- purchase.order: picking_type_id
- purchase.requisition: picking_type_id
- repair.order: picking_type_id
- res.company: dropship_subcontractor_pick_type_id
- res.config.settings: pos_picking_type_id
- stock.move: picking_type_id
- stock.move.line: picking_type_id
- stock.picking: picking_type_id
- stock.picking.batch: picking_type_id
- stock.picking.type: return_picking_type_id
- stock.rule: picking_type_id
- stock.warehouse: in_type_id, int_type_id, manu_type_id, out_type_id, pack_type_id, pbm_type_id, pick_type_id, pos_type_id, qc_type_id, repair_type_id, sam_type_id, store_type_id, subcontracting_resupply_type_id, subcontracting_type_id, xdock_type_id
Reading this model through the API
Odoo 20 JSON-2 API call reading the first five records with real fields of the model. Replace the instance, database and API key with your own.
curl -X POST "https://your-instance.odoo.com/json/2/stock.picking.type/search_read" \
-H "Authorization: bearer $ODOO_API_KEY" \
-H "X-Odoo-Database: your-db" \
-H "Content-Type: application/json" \
-d '{"domain":[],"fields":["name","code","company_id","create_backorder","default_location_dest_id"],"limit":5}'import requests
BASE_URL = "https://your-instance.odoo.com/json/2"
headers = {"Authorization": f"bearer {API_KEY}", "X-Odoo-Database": "your-db"}
res = requests.post(
f"{BASE_URL}/stock.picking.type/search_read",
headers=headers,
json={"domain": [], "fields": ["name","code","company_id","create_backorder","default_location_dest_id"], "limit": 5},
)
res.raise_for_status()
print(res.json())- External API access requires Odoo's Custom plan.
- XML-RPC and JSON-RPC will be removed in Odoo 22 (fall 2028): use JSON-2.
- The access rights and record rules of the key's user apply.
Cite this tool
Writing a tutorial, internal documentation or a forum answer? Copy this link to send your readers to the up-to-date reference.
<a href="https://aidoo.ai/en/outils/explorateur-modeles-odoo/stock-picking-type">stock.picking.type (Odoo 20.0)</a>Sources
Data verified on September 25, 2026 · Odoo 20.0 Community
Have an Odoo project, or want to put your ERP to work with AI? Let's talk
Implementation, custom module development, connecting Claude or ChatGPT to your data: tell us about your context and we will reply within 24 business hours.