| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/19.0/sale_stock |
| VERSION | |
| VERSION | 1.0 |
| CATEGORY | |
| CATEGORY | Sales/Sales |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | Yes |
| AUTHORS | |
| AUTHORS | Odoo S.A. |
| MAINTAINERS | |
| MAINTAINERS | Odoo S.A. |
| COMMITTERS | |
| COMMITTERS | Raphael Collet, Odoo Translation Bot, Thibault Delavallée, Aaron Bohy, Arnold Moyaux, Julien Castiaux, Victor Feyens, Andrea Grazioso (agr-odoo), William Henrotin, svs-odoo, Tiffany Chang (tic), Rémy Voet (ryv), Gorash, Mathieu Duckerts-Antoine, William Braeckman, David (dafr), JF Aubert, Aurelien van Delft (avd), Adrien Widart (awt), clesgow, Djamel Touati, Pieter Claeys (clpi), Levi Siuzdak (sile), Dylan Kiss (dyki), Mayurrajsinh Rathod, Odoo, Anita (anko), Paweł Fertyk, adda-odoo, Walid (wasa), Ethan Vincent, lase@odoo.com, Quentin Wolfs, AMZIL Ayoub, kcv-odoo, nihp-odoo, Chrysanthe (chgo), Quang Nguyen, Hussein Ebrahim(hyhe), Mathieu Coutant, Stéphane Diez, dhha-odoo, kawkb, gteboul, sben-odoo, David Van Droogenbroeck (DROD), pkgu-odoo, Mohammad Abdulmoneim (abdu), djameltouati, Michaël Mattiello, Kev-Roche, Shrey Mehta, chha-odoo, MaximeNoirhomme, plha-odoo, Krzysztof Magusiak (krma), Akash Pandey, joseph, krip-odoo, Hadi El Yakhni, Ester Andreetto, nsirjacobs, bhna-odoo, rare-odoo, agbr-odoo, Lulu Grimalkin (lugr), Lancelot Semal, assh-odoo, Merlin Guillaume, srap-odoo, Léo Gizard (legi), hapt-odoo |
| WEBSITE | |
| WEBSITE | |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 01:51:40 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - sale - sales_team - base - base_setup - web - bus - web_tour - html_editor - account_payment - account - onboarding - product - uom - analytic - portal - http_routing - auth_signup - digest - resource - payment - utm - stock_account - stock - barcodes_gs1_nomenclature - barcodes |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | Manage sales quotations and orders ================================== This module makes the link between the sales and warehouses management applications. Preferences ----------- * Shipping: Choice of delivery at once or partial delivery * Invoicing: choose how invoices will be paid * Incoterms: International Commercial terms |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
exception_on_picking |
exception_on_picking | ir.ui.view | qweb | New |
exception_on_so |
exception_on_so | ir.ui.view | qweb | New |
report_delivery_document_inherit_sale_stock |
report_delivery_document_inherit_sale_stock | ir.ui.view | qweb | Inherits stock.report_delivery_document |
report_saleorder_document_inherit_sale_stock |
report_saleorder_document_inherit_sale_stock | ir.ui.view | qweb | Inherits sale.report_saleorder_document |
res_config_settings_view_form_stock |
res.config.settings.view.form.inherit.sale.stock.stock | res.config.settings | setting | Inherits stock.res_config_settings_view_form |
res_users_view_form |
res.users.form.inherit | res.users | group | Inherits base.view_users_form |
res_users_view_form_preferences |
res.users.preferences.form.inherit | res.users | group | Inherits base.view_users_form_simple_modif |
res_users_view_simple_form |
res.users.simple.form.inherit | res.users | group | Inherits base.view_users_simple_form |
sale_order_tree |
sale.order.list.inherit.sale.stock | sale.order | field | Inherits sale.sale_order_tree |
sale_stock.portal_my_orders |
Portal Orders Shipping Status Column | ir.ui.view | qweb | Inherits sale.portal_my_orders |
sale_stock.sale_order_portal_content_inherit_sale_stock |
Orders Shipping Followup | ir.ui.view | qweb | Inherits sale.sale_order_portal_content |
sale_stock_help_message_template |
sale_stock_help_message_template | ir.ui.view | qweb | Inherits stock.help_message_template |
sale_stock_sale_order_view_search_inherit |
sale_stock.sale.order.search.inherit | sale.order | filter | Inherits sale.sale_order_view_search_inherit_sale |
stock_location_route_view_form_inherit_sale_stock |
stock.route.form | stock.route | xpath | Inherits stock.stock_location_route_form_view |
stock_production_lot_view_form |
stock.production.lot.view.form | stock.lot | xpath | Inherits stock.view_production_lot_form |
stock_reference_sale_view_form |
stock.reference.sale | stock.reference | xpath | Inherits stock.stock_reference_form_view |
view_order_form_inherit_sale_stock |
sale.order.form.sale.stock | sale.order | button | Inherits sale.view_order_form |
view_order_line_tree_inherit_sale_stock |
sale.order.line.list.sale.stock.location | sale.order.line | field | Inherits sale.view_order_line_tree |
view_order_tree |
sale.order.list.inherit.sale.stock | sale.order | field | Inherits sale.view_order_tree |
view_picking_form |
sale.stock.view.picking.form | stock.picking | xpath | Inherits stock.view_picking_form |
view_stock_rules_report_sale |
Stock Rules Report Sale | stock.rules.report | xpath | Inherits stock.view_stock_rules_report |
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
security_lead
Float
default=0.0
help='Margin of error for dates promised to customers. Products will be scheduled for procurement and delivery that many days earlier than the actual promised date, to cope with unexpected delays in the supply chain.'
required=True
args: 'Sales Safety Days'
No public methods.
default_picking_policy
Selection
default='direct'
default_model='sale.order'
required=True
args: [('direct', 'Ship products as soon as available, with back orders'), ('one', 'Ship all products at once')], 'Picking Policy'
security_lead
Float
readonly=False
related='company_id.security_lead'
string='Security Lead Time'
use_security_lead
Boolean
config_parameter='sale_stock.use_security_lead'
help='Margin of error for dates promised to customers. Products will be scheduled for delivery that many days earlier than the actual promised date, to cope with unexpected delays in the supply chain.'
string='Security Lead Time for Sales'
No public methods.
property_warehouse_id
Many2one → stock.warehouse
check_company=True
company_dependent=True
string='Default Warehouse'
args: 'stock.warehouse'
SELF_READABLE_FIELDS(self)
SELF_WRITEABLE_FIELDS(self)
delivery_count
Integer
compute='_compute_picking_ids'
string='Delivery Orders'
delivery_status
Selection
compute='_compute_delivery_status'
help='Blue: Not Delivered/Started\n Orange: Partially Delivered\n Green: Fully Delivered'
store=True
string='Delivery Status'
args: [('pending', 'Not Delivered'), ('started', 'Started'), ('partial', 'Partially Delivered'), ('full', 'Fully Delivered')]
effective_date
Datetime
compute='_compute_effective_date'
help='Completion date of the first delivery order.'
store=True
args: 'Effective Date'
expected_date
Datetime
help='Delivery date you can promise to the customer, computed from the minimum lead time of the order lines in case of Service products. In case of shipping, the shipping policy of the order will be taken into account to either use the minimum or maximum lead time of the order lines.'
incoterm
Many2one → account.incoterms
help='International Commercial Terms are a series of predefined commercial terms used in international transactions.'
args: 'account.incoterms', 'Incoterm'
incoterm_location
Char
string='Incoterm Location'
json_popover
Char
compute='_compute_json_popover'
args: 'JSON data for the popover widget'
late_availability
Boolean
compute='_compute_late_availability'
help='True if any related picking has late availability'
search='_search_late_availability'
string='Late Availability'
picking_ids
One2many → stock.picking
string='Transfers'
args: 'stock.picking', 'sale_id'
picking_policy
Selection
default='direct'
help='If you deliver all products at once, the delivery order will be scheduled based on the greatest product lead time. Otherwise, it will be based on the shortest.'
required=True
string='Shipping Policy'
args: [('direct', 'As soon as possible'), ('one', 'When all products are ready')]
show_json_popover
Boolean
compute='_compute_json_popover'
args: 'Has late picking'
stock_reference_ids
Many2many → stock.reference
copy=False
string='References'
args: 'stock.reference', 'stock_reference_sale_rel', 'sale_id', 'reference_id'
warehouse_id
Many2one → stock.warehouse
check_company=True
compute='_compute_warehouse_id'
precompute=True
readonly=False
store=True
string='Warehouse'
args: 'stock.warehouse'
action_view_delivery(self)
write(self, vals)
customer_lead
Float
compute='_compute_customer_lead'
inverse='_inverse_customer_lead'
precompute=True
readonly=False
store=True
display_qty_widget
Boolean
compute='_compute_qty_to_deliver'
forecast_expected_date
Datetime
compute='_compute_qty_at_date'
free_qty_today
Float
compute='_compute_qty_at_date'
digits='Product Unit'
is_mto
Boolean
compute='_compute_is_mto'
is_storable
Boolean
related='product_id.is_storable'
move_ids
One2many → stock.move
string='Stock Moves'
args: 'stock.move', 'sale_line_id'
qty_available_today
Float
compute='_compute_qty_at_date'
qty_delivered_method
Selection
selection_add=[('stock_move', 'Stock Moves')]
qty_to_deliver
Float
compute='_compute_qty_to_deliver'
digits='Product Unit'
route_ids
Many2many → stock.route
domain=[('sale_selectable', '=', True)]
ondelete='restrict'
string='Routes'
args: 'stock.route'
scheduled_date
Datetime
compute='_compute_qty_at_date'
virtual_available_at_date
Float
compute='_compute_qty_at_date'
digits='Product Unit'
warehouse_id
Many2one → stock.warehouse
compute='_compute_warehouse_id'
store=True
args: 'stock.warehouse'
create(self, vals_list)
has_valued_move_ids(self)
write(self, vals)
warehouse_id
Many2one → stock.warehouse
readonly=True
args: 'stock.warehouse', 'Warehouse'
No public methods.
No new fields.
Public methods (0)No public methods.
sale_order_count
Integer
compute='_compute_sale_order_ids'
args: 'Sale order count'
sale_order_ids
Many2many → sale.order
compute='_compute_sale_order_ids'
string='Sales Orders'
args: 'sale.order'
action_view_so(self)
sale_line_id
Many2one → sale.order.line
index='btree_not_null'
args: 'sale.order.line', 'Sale Line'
write(self, vals)
No new fields.
Public methods (0)No public methods.
sale_id
Many2one → sale.order
compute='_compute_sale_id'
index='btree_not_null'
inverse='_set_sale_id'
store=True
string='Sales Order'
args: 'sale.order'
No public methods.
sale_ids
Many2many → sale.order
string='Sales'
args: 'sale.order', 'stock_reference_sale_rel', 'reference_id', 'sale_id'
No public methods.
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
sale_selectable
Boolean
No public methods.
No new fields.
Public methods (0)No public methods.
so_route_ids
Many2many → stock.route
domain="[('sale_selectable', '=', True)]"
help='Choose to apply SO lines specific routes.'
string='Apply specific routes'
args: 'stock.route'
No public methods.
No new fields.
Public methods (0)No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/18.0/sale_stock |
| VERSION | |
| VERSION | 1.0 |
| CATEGORY | |
| CATEGORY | Hidden |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | Yes |
| AUTHORS | |
| AUTHORS | |
| MAINTAINERS | |
| MAINTAINERS | |
| COMMITTERS | |
| COMMITTERS | Raphael Collet, Odoo Translation Bot, Martin Trigaux, Xavier Morel, qdp-odoo, Yannick Tivisse, Odoo Online, Laurent Smet, Arnold Moyaux, Victor Feyens, Andrea Grazioso (agr-odoo), William Henrotin, Akim Juillerat, Anh Thao Pham (pta), svs-odoo, Tiffany Chang (tic), Rémy Voet (ryv), Gorash, william-andre, David (dafr), PNO, Aurelien van Delft (avd), Vincent Larcin, alsh-odoo, Louis Wicket (wil), Walid, Adrien Widart (awt), Gauthier Wala (gawa), clesgow, Djamel Touati, Pieter Claeys (clpi), Claire Bretton (clbr), Levi Siuzdak (sile), Dylan Kiss (dyki), Julien Alardot (jual), Chong Wang (cwg), Odoo, Martin Maes, Ahmed Khalaf, Anita (anko), Paweł Fertyk, adda-odoo, Zachary Hanham, Walid (wasa), Ethan Vincent, lase@odoo.com, Quentin Wolfs, bary, Maxime de Neuville, AMZIL Ayoub, vava-odoo, Julien Carion (juca), Lina (liew), Chrysanthe (chgo), Louis (wil), Quang Nguyen, mano-odoo, Hussein Ebrahim(hyhe), Mathieu Coutant, kago-odoo, Stéphane Diez, Mohammad Abdulmoneim, dhha-odoo, gteboul, Jitendra Prajapat, jepbarasgarov, David Van Droogenbroeck (DROD), djameltouati, Pierre Pulinckx (pipu), Kev-Roche, Bastien (bvdn), MaximeNoirhomme, plha-odoo, rupa-odoo, joseph, krip-odoo, Hadi El Yakhni, Ester Andreetto, nsirjacobs, Lancelot Semal, assh-odoo, Léo Gizard (legi) |
| WEBSITE | |
| WEBSITE | |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 01:25:53 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - sale - sales_team - base - base_setup - web - bus - web_tour - html_editor - account_payment - account - onboarding - product - uom - analytic - portal - web_editor - http_routing - auth_signup - digest - resource - payment - utm - stock_account - stock - barcodes_gs1_nomenclature - barcodes |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | Manage sales quotations and orders ================================== This module makes the link between the sales and warehouses management applications. Preferences ----------- * Shipping: Choice of delivery at once or partial delivery * Invoicing: choose how invoices will be paid * Incoterms: International Commercial terms |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
exception_on_picking |
exception_on_picking | ir.ui.view | qweb | New |
exception_on_so |
exception_on_so | ir.ui.view | qweb | New |
report_delivery_document_inherit_sale_stock |
report_delivery_document_inherit_sale_stock | ir.ui.view | qweb | Inherits stock.report_delivery_document |
report_saleorder_document_inherit_sale_stock |
report_saleorder_document_inherit_sale_stock | ir.ui.view | qweb | Inherits sale.report_saleorder_document |
res_config_settings_view_form_stock |
res.config.settings.view.form.inherit.sale.stock.stock | res.config.settings | setting | Inherits stock.res_config_settings_view_form |
res_users_view_form |
res.users.form.inherit | res.users | group | Inherits base.view_users_form |
res_users_view_form_preferences |
res.users.preferences.form.inherit | res.users | group | Inherits base.view_users_form_simple_modif |
res_users_view_simple_form |
res.users.simple.form.inherit | res.users | group | Inherits base.view_users_simple_form |
sale_order_cancel_view_form_inherit |
sale.order.cancel.form.inherit | sale.order.cancel | span | Inherits sale.sale_order_cancel_view_form |
sale_order_portal_content_inherit_sale_stock |
Orders Shipping Followup | ir.ui.view | qweb | Inherits sale.sale_order_portal_content |
sale_order_tree |
sale.order.list.inherit.sale.stock | sale.order | field | Inherits sale.sale_order_tree |
sale_stock_help_message_template |
sale_stock_help_message_template | ir.ui.view | qweb | Inherits stock.help_message_template |
stock_location_route_view_form_inherit_sale_stock |
stock.route.form | stock.route | xpath | Inherits stock.stock_location_route_form_view |
stock_production_lot_view_form |
stock.production.lot.view.form | stock.lot | xpath | Inherits stock.view_production_lot_form |
view_order_form_inherit_sale_stock |
sale.order.form.sale.stock | sale.order | xpath | Inherits sale.view_order_form |
view_order_form_inherit_sale_stock_qty |
sale.order.line.list.sale.stock.qty | sale.order | xpath | Inherits sale.view_order_form |
view_order_line_tree_inherit_sale_stock |
sale.order.line.list.sale.stock.location | sale.order.line | xpath | Inherits sale.view_order_line_tree |
view_order_tree |
sale.order.list.inherit.sale.stock | sale.order | xpath | Inherits sale.view_order_tree |
view_picking_form |
sale.stock.view.picking.form | stock.picking | xpath | Inherits stock.view_picking_form |
view_stock_rules_report_sale |
Stock Rules Report Sale | stock.rules.report | xpath | Inherits stock.view_stock_rules_report |
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
sale_id
Many2one → sale.order
No public methods.
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
security_lead
Float
default=0.0
help='Margin of error for dates promised to customers. Products will be scheduled for procurement and delivery that many days earlier than the actual promised date, to cope with unexpected delays in the supply chain.'
required=True
args: 'Sales Safety Days'
No public methods.
default_picking_policy
Selection
default='direct'
default_model='sale.order'
required=True
args: [('direct', 'Ship products as soon as available, with back orders'), ('one', 'Ship all products at once')], 'Picking Policy'
security_lead
Float
readonly=False
related='company_id.security_lead'
string='Security Lead Time'
use_security_lead
Boolean
config_parameter='sale_stock.use_security_lead'
help='Margin of error for dates promised to customers. Products will be scheduled for delivery that many days earlier than the actual promised date, to cope with unexpected delays in the supply chain.'
string='Security Lead Time for Sales'
No public methods.
property_warehouse_id
Many2one → stock.warehouse
check_company=True
company_dependent=True
string='Default Warehouse'
args: 'stock.warehouse'
SELF_READABLE_FIELDS(self)
SELF_WRITEABLE_FIELDS(self)
delivery_count
Integer
compute='_compute_picking_ids'
string='Delivery Orders'
delivery_status
Selection
compute='_compute_delivery_status'
help='Blue: Not Delivered/Started\n Orange: Partially Delivered\n Green: Fully Delivered'
store=True
string='Delivery Status'
args: [('pending', 'Not Delivered'), ('started', 'Started'), ('partial', 'Partially Delivered'), ('full', 'Fully Delivered')]
effective_date
Datetime
compute='_compute_effective_date'
help='Completion date of the first delivery order.'
store=True
args: 'Effective Date'
expected_date
Datetime
help='Delivery date you can promise to the customer, computed from the minimum lead time of the order lines in case of Service products. In case of shipping, the shipping policy of the order will be taken into account to either use the minimum or maximum lead time of the order lines.'
incoterm
Many2one → account.incoterms
help='International Commercial Terms are a series of predefined commercial terms used in international transactions.'
args: 'account.incoterms', 'Incoterm'
incoterm_location
Char
string='Incoterm Location'
json_popover
Char
compute='_compute_json_popover'
args: 'JSON data for the popover widget'
picking_ids
One2many → stock.picking
string='Transfers'
args: 'stock.picking', 'sale_id'
picking_policy
Selection
default='direct'
help='If you deliver all products at once, the delivery order will be scheduled based on the greatest product lead time. Otherwise, it will be based on the shortest.'
required=True
string='Shipping Policy'
args: [('direct', 'As soon as possible'), ('one', 'When all products are ready')]
procurement_group_id
Many2one → procurement.group
copy=False
args: 'procurement.group', 'Procurement Group'
show_json_popover
Boolean
compute='_compute_json_popover'
args: 'Has late picking'
warehouse_id
Many2one → stock.warehouse
check_company=True
compute='_compute_warehouse_id'
precompute=True
readonly=False
store=True
string='Warehouse'
args: 'stock.warehouse'
action_view_delivery(self)
write(self, values)
display_delivery_alert
Boolean
compute='_compute_display_delivery_alert'
args: 'Delivery Alert'
No public methods.
customer_lead
Float
compute='_compute_customer_lead'
inverse='_inverse_customer_lead'
precompute=True
readonly=False
store=True
display_qty_widget
Boolean
compute='_compute_qty_to_deliver'
forecast_expected_date
Datetime
compute='_compute_qty_at_date'
free_qty_today
Float
compute='_compute_qty_at_date'
digits='Product Unit of Measure'
is_mto
Boolean
compute='_compute_is_mto'
is_storable
Boolean
related='product_id.is_storable'
move_ids
One2many → stock.move
string='Stock Moves'
args: 'stock.move', 'sale_line_id'
qty_available_today
Float
compute='_compute_qty_at_date'
qty_delivered_method
Selection
selection_add=[('stock_move', 'Stock Moves')]
qty_to_deliver
Float
compute='_compute_qty_to_deliver'
digits='Product Unit of Measure'
route_id
Many2one → stock.route
domain=[('sale_selectable', '=', True)]
ondelete='restrict'
string='Route'
args: 'stock.route'
scheduled_date
Datetime
compute='_compute_qty_at_date'
virtual_available_at_date
Float
compute='_compute_qty_at_date'
digits='Product Unit of Measure'
warehouse_id
Many2one → stock.warehouse
compute='_compute_warehouse_id'
store=True
args: 'stock.warehouse'
create(self, vals_list)
has_valued_move_ids(self)
write(self, values)
warehouse_id
Many2one → stock.warehouse
readonly=True
args: 'stock.warehouse', 'Warehouse'
No public methods.
No new fields.
Public methods (0)No public methods.
sale_order_count
Integer
compute='_compute_sale_order_ids'
args: 'Sale order count'
sale_order_ids
Many2many → sale.order
compute='_compute_sale_order_ids'
string='Sales Orders'
args: 'sale.order'
action_view_so(self)
sale_line_id
Many2one → sale.order.line
index='btree_not_null'
args: 'sale.order.line', 'Sale Line'
write(self, vals)
No new fields.
Public methods (0)No public methods.
sale_id
Many2one → sale.order
compute='_compute_sale_id'
index='btree_not_null'
inverse='_set_sale_id'
store=True
string='Sales Order'
args: 'sale.order'
No public methods.
No new fields.
Public methods (0)No public methods.
sale_selectable
Boolean
No public methods.
No new fields.
Public methods (0)No public methods.
so_route_ids
Many2many → stock.route
domain="[('sale_selectable', '=', True)]"
help='Choose to apply SO lines specific routes.'
string='Apply specific routes'
args: 'stock.route'
No public methods.
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
exception_on_picking |
exception_on_picking | ir.ui.view | qweb | New |
exception_on_so |
exception_on_so | ir.ui.view | qweb | New |
report_delivery_document_inherit_sale_stock |
report_delivery_document_inherit_sale_stock | ir.ui.view | qweb | Inherits stock.report_delivery_document |
report_saleorder_document_inherit_sale_stock |
report_saleorder_document_inherit_sale_stock | ir.ui.view | qweb | Inherits sale.report_saleorder_document |
res_config_settings_view_form_stock |
res.config.settings.view.form.inherit.sale.stock.stock | res.config.settings | setting | Inherits stock.res_config_settings_view_form |
res_users_view_form |
res.users.form.inherit | res.users | group | Inherits base.view_users_form |
res_users_view_form_preferences |
res.users.preferences.form.inherit | res.users | group | Inherits base.view_users_form_simple_modif |
res_users_view_simple_form |
res.users.simple.form.inherit | res.users | group | Inherits base.view_users_simple_form |
sale_order_cancel_view_form_inherit |
sale.order.cancel.form.inherit | sale.order.cancel | span | Inherits sale.sale_order_cancel_view_form |
sale_order_portal_content_inherit_sale_stock |
Orders Shipping Followup | ir.ui.view | qweb | Inherits sale.sale_order_portal_content |
sale_order_tree |
sale.order.tree.inherit.sale.stock | sale.order | field | Inherits sale.sale_order_tree |
stock_location_route_view_form_inherit_sale_stock |
stock.route.form | stock.route | xpath | Inherits stock.stock_location_route_form_view |
stock_production_lot_view_form |
stock.production.lot.view.form | stock.lot | xpath | Inherits stock.view_production_lot_form |
view_order_form_inherit_sale_stock |
sale.order.form.sale.stock | sale.order | xpath | Inherits sale.view_order_form |
view_order_form_inherit_sale_stock_qty |
sale.order.line.tree.sale.stock.qty | sale.order | xpath | Inherits sale.view_order_form |
view_order_line_tree_inherit_sale_stock |
sale.order.line.tree.sale.stock.location | sale.order.line | xpath | Inherits sale.view_order_line_tree |
view_order_tree |
sale.order.tree.inherit.sale.stock | sale.order | field | Inherits sale.view_order_tree |
view_stock_rules_report_sale |
Stock Rules Report Sale | stock.rules.report | xpath | Inherits stock.view_stock_rules_report |
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
sale_id
Many2one → sale.order
No public methods.
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
security_lead
Float
default=0.0
help='Margin of error for dates promised to customers. Products will be scheduled for procurement and delivery that many days earlier than the actual promised date, to cope with unexpected delays in the supply chain.'
required=True
args: 'Sales Safety Days'
No public methods.
default_picking_policy
Selection
default='direct'
default_model='sale.order'
required=True
args: [('direct', 'Ship products as soon as available, with back orders'), ('one', 'Ship all products at once')], 'Picking Policy'
security_lead
Float
readonly=False
related='company_id.security_lead'
string='Security Lead Time'
use_security_lead
Boolean
config_parameter='sale_stock.use_security_lead'
help='Margin of error for dates promised to customers. Products will be scheduled for delivery that many days earlier than the actual promised date, to cope with unexpected delays in the supply chain.'
string='Security Lead Time for Sales'
No public methods.
property_warehouse_id
Many2one → stock.warehouse
check_company=True
company_dependent=True
string='Default Warehouse'
args: 'stock.warehouse'
SELF_READABLE_FIELDS(self)
SELF_WRITEABLE_FIELDS(self)
delivery_count
Integer
compute='_compute_picking_ids'
string='Delivery Orders'
delivery_status
Selection
compute='_compute_delivery_status'
store=True
string='Delivery Status'
args: [('pending', 'Not Delivered'), ('started', 'Started'), ('partial', 'Partially Delivered'), ('full', 'Fully Delivered')]
effective_date
Datetime
compute='_compute_effective_date'
help='Completion date of the first delivery order.'
store=True
args: 'Effective Date'
expected_date
Datetime
help='Delivery date you can promise to the customer, computed from the minimum lead time of the order lines in case of Service products. In case of shipping, the shipping policy of the order will be taken into account to either use the minimum or maximum lead time of the order lines.'
incoterm
Many2one → account.incoterms
help='International Commercial Terms are a series of predefined commercial terms used in international transactions.'
args: 'account.incoterms', 'Incoterm'
incoterm_location
Char
string='Incoterm Location'
json_popover
Char
compute='_compute_json_popover'
args: 'JSON data for the popover widget'
picking_ids
One2many → stock.picking
string='Transfers'
args: 'stock.picking', 'sale_id'
picking_policy
Selection
default='direct'
help='If you deliver all products at once, the delivery order will be scheduled based on the greatest product lead time. Otherwise, it will be based on the shortest.'
required=True
string='Shipping Policy'
args: [('direct', 'As soon as possible'), ('one', 'When all products are ready')]
procurement_group_id
Many2one → procurement.group
copy=False
args: 'procurement.group', 'Procurement Group'
show_json_popover
Boolean
compute='_compute_json_popover'
args: 'Has late picking'
warehouse_id
Many2one → stock.warehouse
check_company=True
compute='_compute_warehouse_id'
precompute=True
readonly=False
required=True
store=True
string='Warehouse'
args: 'stock.warehouse'
action_view_delivery(self)
write(self, values)
display_delivery_alert
Boolean
compute='_compute_display_delivery_alert'
args: 'Delivery Alert'
No public methods.
customer_lead
Float
compute='_compute_customer_lead'
inverse='_inverse_customer_lead'
precompute=True
readonly=False
store=True
display_qty_widget
Boolean
compute='_compute_qty_to_deliver'
forecast_expected_date
Datetime
compute='_compute_qty_at_date'
free_qty_today
Float
compute='_compute_qty_at_date'
digits='Product Unit of Measure'
is_mto
Boolean
compute='_compute_is_mto'
move_ids
One2many → stock.move
string='Stock Moves'
args: 'stock.move', 'sale_line_id'
qty_available_today
Float
compute='_compute_qty_at_date'
qty_delivered_method
Selection
selection_add=[('stock_move', 'Stock Moves')]
qty_to_deliver
Float
compute='_compute_qty_to_deliver'
digits='Product Unit of Measure'
route_id
Many2one → stock.route
check_company=True
domain=[('sale_selectable', '=', True)]
ondelete='restrict'
string='Route'
args: 'stock.route'
scheduled_date
Datetime
compute='_compute_qty_at_date'
virtual_available_at_date
Float
compute='_compute_qty_at_date'
digits='Product Unit of Measure'
warehouse_id
Many2one
related='order_id.warehouse_id'
create(self, vals_list)
has_valued_move_ids(self)
write(self, values)
warehouse_id
Many2one → stock.warehouse
readonly=True
args: 'stock.warehouse', 'Warehouse'
No public methods.
No new fields.
Public methods (0)No public methods.
sale_order_count
Integer
compute='_compute_sale_order_ids'
args: 'Sale order count'
sale_order_ids
Many2many → sale.order
compute='_compute_sale_order_ids'
string='Sales Orders'
args: 'sale.order'
action_view_so(self)
sale_line_id
Many2one → sale.order.line
index='btree_not_null'
args: 'sale.order.line', 'Sale Line'
default_get(self, fields_list)
No new fields.
Public methods (0)No public methods.
sale_id
Many2one → sale.order
comodel_name='sale.order'
compute='_compute_sale_id'
index='btree_not_null'
store=True
string='Sales Order'
No public methods.
sale_selectable
Boolean
No public methods.
No new fields.
Public methods (0)No public methods.
so_route_ids
Many2many → stock.route
domain="[('sale_selectable', '=', True)]"
help='Choose to apply SO lines specific routes.'
string='Apply specific routes'
args: 'stock.route'
No public methods.
No new fields.
Public methods (0)No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/16.0/sale_stock |
| VERSION | |
| VERSION | 1.0 |
| CATEGORY | |
| CATEGORY | Hidden |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | Yes |
| AUTHORS | |
| AUTHORS | |
| MAINTAINERS | |
| MAINTAINERS | |
| COMMITTERS | |
| COMMITTERS | Raphael Collet, Odoo Translation Bot, Martin Trigaux, Fabien Pinckaers, Thibault Delavallée, Xavier Morel, Damien Bouvy, Barad Mahendra, Yannick Tivisse, Lucas Perais, Arnold Moyaux, Romeo Fragomeli, Victor Feyens, Andrea Grazioso (agr-odoo), William Henrotin, Akim Juillerat, Anh Thao Pham (pta), svs-odoo, Achraf (abz), Brice bib Bartoletti, Adrien Widart, Ivan Yelizariev, Touati Djamel (otd), Tiffany Chang (tic), Rémy Voet (ryv), Gorash, snd, Aurélien (avd), Stefan-Calin Crainiciuc (stcc), roen-odoo, Hubert Van de Walle (huvw), Miquel Raïch, momegahed, william-andre, PNO, yhu-odoo, thcl-odoo, mafo-odoo, william, Walid HANNICHE (waha), Yolann Sabaux, John Laterre (jol), Antoine Vandevenne (anv), Jinjiu Liu, Demesmaeker, Aurelien van Delft (avd), niyasraphy, Rodrigo, Matheus Leal Viana (malv), Merel Geens (mege), Walid, Adrien Widart (awt), Victor Piryns (pivi), Tommy (tong), amdi-odoo, clesgow, Djamel Touati, Julien Alardot (jual), Cedric Prieels (cpr), Horacio Tellez, Ahmed Khalaf (ahkh), adda-odoo, Mahdi Cheikh Rouhou (macr), Mattis Megevand (mmeg), Zachary Hanham, guva-odoo, BernatPForgeFlow, lase@odoo.com, AMZIL Ayoub, Martin Trigaux (mat), Chrysanthe (chgo), Hussein Ebrahim(hyhe), kago-odoo, mathysPaul |
| WEBSITE | |
| WEBSITE | |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:40:46 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - sale - sales_team - base - base_setup - web - bus - web_tour - account_payment - account - product - uom - analytic - portal - web_editor - http_routing - auth_signup - digest - resource - payment - utm - stock_account - stock - barcodes_gs1_nomenclature - barcodes |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | Manage sales quotations and orders ================================== This module makes the link between the sales and warehouses management applications. Preferences ----------- * Shipping: Choice of delivery at once or partial delivery * Invoicing: choose how invoices will be paid * Incoterms: International Commercial terms |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
exception_on_picking |
exception_on_picking | ir.ui.view | qweb | New |
exception_on_so |
exception_on_so | ir.ui.view | qweb | New |
report_delivery_document_inherit_sale_stock |
report_delivery_document_inherit_sale_stock | ir.ui.view | qweb | Inherits stock.report_delivery_document |
report_invoice_document_inherit_sale_stock |
report_invoice_document_inherit_sale_stock | ir.ui.view | qweb | Inherits account.report_invoice_document |
report_saleorder_document_inherit_sale_stock |
report_saleorder_document_inherit_sale_stock | ir.ui.view | qweb | Inherits sale.report_saleorder_document |
res_config_settings_view_form_sale |
res.config.settings.view.form.inherit.sale.stock.sale | res.config.settings | xpath | Inherits sale.res_config_settings_view_form |
res_config_settings_view_form_stock |
res.config.settings.view.form.inherit.sale.stock.stock | res.config.settings | div | Inherits stock.res_config_settings_view_form |
res_users_view_form |
res.users.form.inherit | res.users | group | Inherits base.view_users_form |
res_users_view_form_preferences |
res.users.preferences.form.inherit | res.users | group | Inherits base.view_users_form_simple_modif |
res_users_view_simple_form |
res.users.simple.form.inherit | res.users | group | Inherits base.view_users_simple_form |
sale_order_cancel_view_form_inherit |
sale.order.cancel.form.inherit | sale.order.cancel | span | Inherits sale.sale_order_cancel_view_form |
sale_order_portal_content_inherit_sale_stock |
Orders Shipping Followup | ir.ui.view | qweb | Inherits sale.sale_order_portal_content |
sale_report_product_product_replenishment |
sale_report_product_product_replenishment | ir.ui.view | qweb | Inherits stock.report_product_product_replenishment |
stock_location_route_view_form_inherit_sale_stock |
stock.route.form | stock.route | xpath | Inherits stock.stock_location_route_form_view |
stock_production_lot_view_form |
stock.production.lot.view.form | stock.lot | xpath | Inherits stock.view_production_lot_form |
view_order_form_inherit_sale_stock |
sale.order.form.sale.stock | sale.order | xpath | Inherits sale.view_order_form |
view_order_form_inherit_sale_stock_qty |
sale.order.line.tree.sale.stock.qty | sale.order | xpath | Inherits sale.view_order_form |
view_order_line_tree_inherit_sale_stock |
sale.order.line.tree.sale.stock.location | sale.order.line | xpath | Inherits sale.view_order_line_tree |
view_order_tree |
sale.order.tree.inherit.sale.stock | sale.order | xpath | Inherits sale.view_order_tree |
view_quotation_tree |
sale.order.tree.inherit.sale.stock | sale.order | xpath | Inherits sale.view_quotation_tree |
view_stock_rules_report_sale |
Stock Rules Report Sale | stock.rules.report | xpath | Inherits stock.view_stock_rules_report |
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
sale_id
Many2one → sale.order
No public methods.
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
security_lead
Float
default=0.0
help='Margin of error for dates promised to customers. Products will be scheduled for procurement and delivery that many days earlier than the actual promised date, to cope with unexpected delays in the supply chain.'
required=True
args: 'Sales Safety Days'
No public methods.
default_picking_policy
Selection
default='direct'
default_model='sale.order'
required=True
args: [('direct', 'Ship products as soon as available, with back orders'), ('one', 'Ship all products at once')], 'Picking Policy'
group_display_incoterm
Boolean
implied_group='sale_stock.group_display_incoterm'
args: 'Incoterms'
security_lead
Float
readonly=False
related='company_id.security_lead'
string='Security Lead Time'
use_security_lead
Boolean
config_parameter='sale_stock.use_security_lead'
help='Margin of error for dates promised to customers. Products will be scheduled for delivery that many days earlier than the actual promised date, to cope with unexpected delays in the supply chain.'
string='Security Lead Time for Sales'
No public methods.
property_warehouse_id
Many2one → stock.warehouse
check_company=True
company_dependent=True
string='Default Warehouse'
args: 'stock.warehouse'
SELF_READABLE_FIELDS(self)
SELF_WRITEABLE_FIELDS(self)
delivery_count
Integer
compute='_compute_picking_ids'
string='Delivery Orders'
delivery_status
Selection
compute='_compute_delivery_status'
store=True
string='Delivery Status'
args: [('pending', 'Not Delivered'), ('started', 'Started'), ('partial', 'Partially Delivered'), ('full', 'Fully Delivered')]
effective_date
Datetime
compute='_compute_effective_date'
help='Completion date of the first delivery order.'
store=True
args: 'Effective Date'
expected_date
Datetime
help='Delivery date you can promise to the customer, computed from the minimum lead time of the order lines in case of Service products. In case of shipping, the shipping policy of the order will be taken into account to either use the minimum or maximum lead time of the order lines.'
incoterm
Many2one → account.incoterms
help='International Commercial Terms are a series of predefined commercial terms used in international transactions.'
args: 'account.incoterms', 'Incoterm'
incoterm_location
Char
string='Incoterm Location'
json_popover
Char
compute='_compute_json_popover'
args: 'JSON data for the popover widget'
picking_ids
One2many → stock.picking
string='Transfers'
args: 'stock.picking', 'sale_id'
picking_policy
Selection
default='direct'
help='If you deliver all products at once, the delivery order will be scheduled based on the greatest product lead time. Otherwise, it will be based on the shortest.'
readonly=True
required=True
states={'draft': [('readonly', False)], 'sent': [('readonly', False)]}
string='Shipping Policy'
args: [('direct', 'As soon as possible'), ('one', 'When all products are ready')]
procurement_group_id
Many2one → procurement.group
copy=False
args: 'procurement.group', 'Procurement Group'
show_json_popover
Boolean
compute='_compute_json_popover'
args: 'Has late picking'
warehouse_id
Many2one → stock.warehouse
check_company=True
compute='_compute_warehouse_id'
precompute=True
readonly=False
required=True
states={'sale': [('readonly', True)], 'done': [('readonly', True)], 'cancel': [('readonly', False)]}
store=True
string='Warehouse'
args: 'stock.warehouse'
action_view_delivery(self)
write(self, values)
display_delivery_alert
Boolean
compute='_compute_display_delivery_alert'
args: 'Delivery Alert'
No public methods.
customer_lead
Float
compute='_compute_customer_lead'
inverse='_inverse_customer_lead'
precompute=True
readonly=False
store=True
display_qty_widget
Boolean
compute='_compute_qty_to_deliver'
forecast_expected_date
Datetime
compute='_compute_qty_at_date'
free_qty_today
Float
compute='_compute_qty_at_date'
digits='Product Unit of Measure'
is_mto
Boolean
compute='_compute_is_mto'
move_ids
One2many → stock.move
string='Stock Moves'
args: 'stock.move', 'sale_line_id'
qty_available_today
Float
compute='_compute_qty_at_date'
qty_delivered_method
Selection
selection_add=[('stock_move', 'Stock Moves')]
qty_to_deliver
Float
compute='_compute_qty_to_deliver'
digits='Product Unit of Measure'
route_id
Many2one → stock.route
check_company=True
domain=[('sale_selectable', '=', True)]
ondelete='restrict'
string='Route'
args: 'stock.route'
scheduled_date
Datetime
compute='_compute_qty_at_date'
virtual_available_at_date
Float
compute='_compute_qty_at_date'
digits='Product Unit of Measure'
warehouse_id
Many2one
related='order_id.warehouse_id'
create(self, vals_list)
write(self, values)
warehouse_id
Many2one → stock.warehouse
readonly=True
args: 'stock.warehouse', 'Warehouse'
No public methods.
sale_order_count
Integer
compute='_compute_sale_order_ids'
args: 'Sale order count'
sale_order_ids
Many2many → sale.order
compute='_compute_sale_order_ids'
string='Sales Orders'
args: 'sale.order'
action_view_so(self)
sale_line_id
Many2one → sale.order.line
index='btree_not_null'
args: 'sale.order.line', 'Sale Line'
No public methods.
sale_id
Many2one
index='btree_not_null'
readonly=False
related='group_id.sale_id'
store=True
string='Sales Order'
No public methods.
sale_selectable
Boolean
No public methods.
No new fields.
Public methods (0)No public methods.
so_route_ids
Many2many → stock.route
domain="[('sale_selectable', '=', True)]"
help='Choose to apply SO lines specific routes.'
string='Apply specific routes'
args: 'stock.route'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/15.0/sale_stock |
| VERSION | |
| VERSION | 1.0 |
| CATEGORY | |
| CATEGORY | Hidden |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | Yes |
| AUTHORS | |
| AUTHORS | |
| MAINTAINERS | |
| MAINTAINERS | |
| COMMITTERS | |
| COMMITTERS | Raphael Collet, Odoo Translation Bot, Martin Trigaux, Thibault Delavallée, Goffin Simon, Nicolas Martinelli, Guewen Baconnier, Aaron Bohy, Jeremy Kersten, GitHub, Yannick Tivisse, Pierre Masereel, Arnold Moyaux, Xavier-Do, Victor Feyens, Andrea Grazioso (agr-odoo), William Henrotin, Florent de Labarre, Julien Mougenot, Anh Thao Pham (pta), Katherine Zaoral, svs-odoo, Achraf (abz), Brice bib Bartoletti, Adrien Widart, Touati Djamel (otd), Swapnesh Shah, Tiffany Chang (tic), Rémy Voet (ryv), fja-odoo, snd, jbw, Aurélien (avd), Stefan-Calin Crainiciuc (stcc), roen-odoo, Hardik Prajapati, Bruno Zanotti (ADHOC), momegahed, william-andre, Víctor Martínez, yhu-odoo, thcl-odoo, mafo-odoo, Yolann Sabaux, Jinjiu Liu, Aurelien van Delft (avd), Matheus Leal Viana (malv), Merel Geens (mege), Walid, Mylyna Hy, Adrien Widart (awt), Victor Piryns (pivi), Tommy (tong), clesgow, Djamel Touati, Nicolas Pierre, Julien Alardot (jual), Mattis Megevand (mmeg), Zachary Hanham |
| WEBSITE | |
| WEBSITE | |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:25:26 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - sale - sales_team - base - base_setup - web - bus - web_tour - payment - account - product - uom - analytic - portal - web_editor - http_routing - auth_signup - digest - resource - utm - stock_account - stock - barcodes |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | Manage sales quotations and orders ================================== This module makes the link between the sales and warehouses management applications. Preferences ----------- * Shipping: Choice of delivery at once or partial delivery * Invoicing: choose how invoices will be paid * Incoterms: International Commercial terms |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
exception_on_picking |
exception_on_picking | ir.ui.view | qweb | New |
exception_on_so |
exception_on_so | ir.ui.view | qweb | New |
product_template_view_form_inherit_sale |
product.template.inherit.form | product.template | xpath | Inherits sale.product_template_form_view_sale_order_button |
product_template_view_form_inherit_stock |
product.template.inherit.form | product.template | button | Inherits stock.product_template_form_view_procurement_button |
report_delivery_document_inherit_sale_stock |
report_delivery_document_inherit_sale_stock | ir.ui.view | qweb | Inherits stock.report_delivery_document |
report_invoice_document_inherit_sale_stock |
report_invoice_document_inherit_sale_stock | ir.ui.view | qweb | Inherits account.report_invoice_document |
report_saleorder_document_inherit_sale_stock |
report_saleorder_document_inherit_sale_stock | ir.ui.view | qweb | Inherits sale.report_saleorder_document |
res_config_settings_view_form_sale |
res.config.settings.view.form.inherit.sale.stock.sale | res.config.settings | xpath | Inherits sale.res_config_settings_view_form |
res_config_settings_view_form_stock |
res.config.settings.view.form.inherit.sale.stock.stock | res.config.settings | div | Inherits stock.res_config_settings_view_form |
res_users_view_form |
res.users.form.inherit | res.users | group | Inherits base.view_users_form |
res_users_view_form_preferences |
res.users.preferences.form.inherit | res.users | group | Inherits base.view_users_form_simple_modif |
res_users_view_simple_form |
res.users.simple.form.inherit | res.users | group | Inherits base.view_users_simple_form |
sale_order_cancel_view_form_inherit |
sale.order.cancel.form.inherit | sale.order.cancel | field | Inherits sale.sale_order_cancel_view_form |
sale_order_portal_content_inherit_sale_stock |
Orders Shipping Followup | ir.ui.view | qweb | Inherits sale.sale_order_portal_content |
sale_report_product_product_replenishment |
sale_report_product_product_replenishment | ir.ui.view | qweb | Inherits stock.report_product_product_replenishment |
stock.product_template_kanban_stock_view |
New | |||
stock.view_stock_product_template_tree |
New | |||
stock.view_stock_product_tree |
New | |||
stock_location_route_view_form_inherit_sale_stock |
stock.location.route.form | stock.location.route | xpath | Inherits stock.stock_location_route_form_view |
stock_production_lot_view_form |
stock.production.lot.view.form | stock.production.lot | xpath | Inherits stock.view_production_lot_form |
view_order_form_inherit_sale_stock |
sale.order.form.sale.stock | sale.order | xpath | Inherits sale.view_order_form |
view_order_form_inherit_sale_stock_qty |
sale.order.line.tree.sale.stock.qty | sale.order | xpath | Inherits sale.view_order_form |
view_order_line_tree_inherit_sale_stock |
sale.order.line.tree.sale.stock.location | sale.order.line | xpath | Inherits sale.view_order_line_tree |
view_order_tree |
sale.order.tree.inherit.sale.stock | sale.order | xpath | Inherits sale.view_order_tree |
view_quotation_tree |
sale.order.tree.inherit.sale.stock | sale.order | xpath | Inherits sale.view_quotation_tree |
view_stock_rules_report_sale |
Stock Rules Report Sale | stock.rules.report | xpath | Inherits stock.view_stock_rules_report |
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
sale_id
Many2one → sale.order
No public methods.
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
security_lead
Float
default=0.0
help='Margin of error for dates promised to customers. Products will be scheduled for procurement and delivery that many days earlier than the actual promised date, to cope with unexpected delays in the supply chain.'
required=True
args: 'Sales Safety Days'
No public methods.
default_picking_policy
Selection
default='direct'
default_model='sale.order'
required=True
args: [('direct', 'Ship products as soon as available, with back orders'), ('one', 'Ship all products at once')], 'Picking Policy'
group_display_incoterm
Boolean
implied_group='sale_stock.group_display_incoterm'
args: 'Incoterms'
security_lead
Float
readonly=False
related='company_id.security_lead'
string='Security Lead Time'
use_security_lead
Boolean
config_parameter='sale_stock.use_security_lead'
help='Margin of error for dates promised to customers. Products will be scheduled for delivery that many days earlier than the actual promised date, to cope with unexpected delays in the supply chain.'
string='Security Lead Time for Sales'
No public methods.
property_warehouse_id
Many2one → stock.warehouse
check_company=True
company_dependent=True
string='Default Warehouse'
args: 'stock.warehouse'
SELF_READABLE_FIELDS(self)
SELF_WRITEABLE_FIELDS(self)
No new fields.
Public methods (0)No public methods.
delivery_count
Integer
compute='_compute_picking_ids'
string='Delivery Orders'
effective_date
Datetime
compute='_compute_effective_date'
help='Completion date of the first delivery order.'
store=True
args: 'Effective Date'
expected_date
Datetime
help='Delivery date you can promise to the customer, computed from the minimum lead time of the order lines in case of Service products. In case of shipping, the shipping policy of the order will be taken into account to either use the minimum or maximum lead time of the order lines.'
incoterm
Many2one → account.incoterms
help='International Commercial Terms are a series of predefined commercial terms used in international transactions.'
args: 'account.incoterms', 'Incoterm'
json_popover
Char
compute='_compute_json_popover'
args: 'JSON data for the popover widget'
picking_ids
One2many → stock.picking
string='Transfers'
args: 'stock.picking', 'sale_id'
picking_policy
Selection
default='direct'
help='If you deliver all products at once, the delivery order will be scheduled based on the greatest product lead time. Otherwise, it will be based on the shortest.'
readonly=True
required=True
states={'draft': [('readonly', False)], 'sent': [('readonly', False)]}
string='Shipping Policy'
args: [('direct', 'As soon as possible'), ('one', 'When all products are ready')]
procurement_group_id
Many2one → procurement.group
copy=False
args: 'procurement.group', 'Procurement Group'
show_json_popover
Boolean
compute='_compute_json_popover'
args: 'Has late picking'
warehouse_id
Many2one → stock.warehouse
check_company=True
default=_default_warehouse_id
readonly=True
required=True
states={'draft': [('readonly', False)], 'sent': [('readonly', False)]}
string='Warehouse'
args: 'stock.warehouse'
action_view_delivery(self)
create(self, vals)
onchange_user_id(self)
write(self, values)
display_delivery_alert
Boolean
compute='_compute_display_delivery_alert'
args: 'Delivery Alert'
No public methods.
display_qty_widget
Boolean
compute='_compute_qty_to_deliver'
forecast_expected_date
Datetime
compute='_compute_qty_at_date'
free_qty_today
Float
compute='_compute_qty_at_date'
digits='Product Unit of Measure'
is_mto
Boolean
compute='_compute_is_mto'
move_ids
One2many → stock.move
string='Stock Moves'
args: 'stock.move', 'sale_line_id'
product_type
Selection
related='product_id.detailed_type'
qty_available_today
Float
compute='_compute_qty_at_date'
qty_delivered_method
Selection
selection_add=[('stock_move', 'Stock Moves')]
qty_to_deliver
Float
compute='_compute_qty_to_deliver'
digits='Product Unit of Measure'
route_id
Many2one → stock.location.route
check_company=True
domain=[('sale_selectable', '=', True)]
ondelete='restrict'
string='Route'
args: 'stock.location.route'
scheduled_date
Datetime
compute='_compute_qty_at_date'
virtual_available_at_date
Float
compute='_compute_qty_at_date'
digits='Product Unit of Measure'
warehouse_id
Many2one
related='order_id.warehouse_id'
create(self, vals_list)
write(self, values)
warehouse_id
Many2one → stock.warehouse
readonly=True
args: 'stock.warehouse', 'Warehouse'
No public methods.
sale_selectable
Boolean
No public methods.
sale_line_id
Many2one → sale.order.line
index=True
args: 'sale.order.line', 'Sale Line'
No public methods.
sale_id
Many2one
readonly=False
related='group_id.sale_id'
store=True
string='Sales Order'
No public methods.
sale_order_count
Integer
compute='_compute_sale_order_ids'
args: 'Sale order count'
sale_order_ids
Many2many → sale.order
compute='_compute_sale_order_ids'
string='Sales Orders'
args: 'sale.order'
action_view_so(self)
No new fields.
Public methods (0)No public methods.
so_route_ids
Many2many → stock.location.route
domain="[('sale_selectable', '=', True)]"
help='Choose to apply SO lines specific routes.'
string='Apply specific routes'
args: 'stock.location.route'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/14.0/sale_stock |
| VERSION | |
| VERSION | 1.0 |
| CATEGORY | |
| CATEGORY | Hidden |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | Yes |
| AUTHORS | |
| AUTHORS | |
| MAINTAINERS | |
| MAINTAINERS | |
| COMMITTERS | |
| COMMITTERS | Odoo Translation Bot, Martin Trigaux, Olivier Dony, Christophe Simonis, Goffin Simon, Simon Lejeune, Ravi Gohil, Nicolas Martinelli, Guewen Baconnier, Nicolas Lempereur, Aaron Bohy, GitHub, Damien Bouvy, Yannick Tivisse, Laurent Smet, Arnold Moyaux, Julien Castiaux, Xavier-Do, jvm-odoo, Victor Feyens, Andrea Grazioso (agr-odoo), William Henrotin, Akim Juillerat, oco-odoo, Florent de Labarre, fw-bot, Anh Thao Pham (pta), Katherine Zaoral, Debauche Stéphane, svs-odoo, Rémy Baranx (bar), Achraf (abz), Lucas Lefèvre, Brice bib Bartoletti, Adrien Widart, Touati Djamel (otd), Swapnesh Shah, Tiffany Chang (tic), Rémy Voet (ryv), fja-odoo, snd, Hiral Bhavsar, Aurélien (avd), Kevin Baptiste, Pratima Gupta, Stefan-Calin Crainiciuc (stcc), roen-odoo, Miquel Raïch, Bruno Zanotti (ADHOC), sergio-teruel, momegahed, jdoutreloux, Jigar Vaghela, Nicolas (vin), thcl-odoo, mafo-odoo, william, Walid HANNICHE (waha), Yolann Sabaux, Hemali Bhimani, Jinjiu Liu, bve-odoo, Merel Geens (mege), Mylyna Hy, Adrien Widart (awt) |
| WEBSITE | |
| WEBSITE | |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:14:27 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - sale - sales_team - base - base_setup - web - bus - web_tour - payment - account - product - uom - analytic - portal - web_editor - http_routing - auth_signup - digest - resource - utm - stock_account - stock - barcodes |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | Manage sales quotations and orders ================================== This module makes the link between the sales and warehouses management applications. Preferences ----------- * Shipping: Choice of delivery at once or partial delivery * Invoicing: choose how invoices will be paid * Incoterms: International Commercial terms |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
exception_on_picking |
exception_on_picking | ir.ui.view | qweb | New |
exception_on_so |
exception_on_so | ir.ui.view | qweb | New |
product_template_view_form_inherit_sale |
product.template.inherit.form | product.template | xpath | Inherits sale.product_template_form_view_sale_order_button |
product_template_view_form_inherit_stock |
product.template.inherit.form | product.template | button | Inherits stock.product_template_form_view_procurement_button |
report_delivery_document_inherit_sale_stock |
report_delivery_document_inherit_sale_stock | ir.ui.view | qweb | Inherits stock.report_delivery_document |
report_invoice_document_inherit_sale_stock |
report_invoice_document_inherit_sale_stock | ir.ui.view | qweb | Inherits account.report_invoice_document |
report_saleorder_document_inherit_sale_stock |
report_saleorder_document_inherit_sale_stock | ir.ui.view | qweb | Inherits sale.report_saleorder_document |
res_config_settings_view_form_sale |
res.config.settings.view.form.inherit.sale.stock.sale | res.config.settings | xpath | Inherits sale.res_config_settings_view_form |
res_config_settings_view_form_stock |
res.config.settings.view.form.inherit.sale.stock.stock | res.config.settings | div | Inherits stock.res_config_settings_view_form |
res_users_view_form |
res.users.form.inherit | res.users | group | Inherits base.view_users_form |
res_users_view_form_preferences |
res.users.preferences.form.inherit | res.users | group | Inherits base.view_users_form_simple_modif |
res_users_view_simple_form |
res.users.simple.form.inherit | res.users | group | Inherits base.view_users_simple_form |
sale_order_cancel_view_form_inherit |
sale.order.cancel.form.inherit | sale.order.cancel | field | Inherits sale.sale_order_cancel_view_form |
sale_order_line_view_list |
sale.order.line.view.list | ir.ui.view | qweb | Inherits web.assets_backend |
sale_order_portal_content_inherit_sale_stock |
Orders Shipping Followup | ir.ui.view | qweb | Inherits sale.sale_order_portal_content |
sale_report_product_product_replenishment |
sale_report_product_product_replenishment | ir.ui.view | qweb | Inherits stock.report_product_product_replenishment |
sale_stock_report_invoice_document |
sale_stock_report_invoice_document | ir.ui.view | qweb | Inherits account.report_invoice_document |
stock_location_route_view_form_inherit_sale_stock |
stock.location.route.form | stock.location.route | xpath | Inherits stock.stock_location_route_form_view |
stock_production_lot_view_form |
stock.production.lot.view.form | stock.production.lot | xpath | Inherits stock.view_production_lot_form |
view_order_form_inherit_sale_stock |
sale.order.form.sale.stock | sale.order | xpath | Inherits sale.view_order_form |
view_order_form_inherit_sale_stock_qty |
sale.order.line.tree.sale.stock.qty | sale.order | xpath | Inherits sale.view_order_form |
view_order_line_tree_inherit_sale_stock |
sale.order.line.tree.sale.stock.location | sale.order.line | xpath | Inherits sale.view_order_line_tree |
view_order_tree |
sale.order.tree.inherit.sale.stock | sale.order | xpath | Inherits sale.view_order_tree |
view_quotation_tree |
sale.order.tree.inherit.sale.stock | sale.order | xpath | Inherits sale.view_quotation_tree |
view_stock_rules_report_sale |
Stock Rules Report Sale | stock.rules.report | xpath | Inherits stock.view_stock_rules_report |
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
sale_id
Many2one → sale.order
No public methods.
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
security_lead
Float
default=0.0
help='Margin of error for dates promised to customers. Products will be scheduled for procurement and delivery that many days earlier than the actual promised date, to cope with unexpected delays in the supply chain.'
required=True
args: 'Sales Safety Days'
No public methods.
default_picking_policy
Selection
default='direct'
default_model='sale.order'
required=True
args: [('direct', 'Ship products as soon as available, with back orders'), ('one', 'Ship all products at once')], 'Picking Policy'
group_display_incoterm
Boolean
implied_group='sale_stock.group_display_incoterm'
args: 'Incoterms'
group_lot_on_invoice
Boolean
implied_group='sale_stock.group_lot_on_invoice'
args: 'Display Lots & Serial Numbers on Invoices'
security_lead
Float
readonly=False
related='company_id.security_lead'
string='Security Lead Time'
use_security_lead
Boolean
config_parameter='sale_stock.use_security_lead'
help='Margin of error for dates promised to customers. Products will be scheduled for delivery that many days earlier than the actual promised date, to cope with unexpected delays in the supply chain.'
string='Security Lead Time for Sales'
No public methods.
property_warehouse_id
Many2one → stock.warehouse
check_company=True
company_dependent=True
string='Default Warehouse'
args: 'stock.warehouse'
No public methods.
delivery_count
Integer
compute='_compute_picking_ids'
string='Delivery Orders'
effective_date
Date
compute='_compute_effective_date'
help='Completion date of the first delivery order.'
store=True
args: 'Effective Date'
expected_date
Datetime
help='Delivery date you can promise to the customer, computed from the minimum lead time of the order lines in case of Service products. In case of shipping, the shipping policy of the order will be taken into account to either use the minimum or maximum lead time of the order lines.'
incoterm
Many2one → account.incoterms
help='International Commercial Terms are a series of predefined commercial terms used in international transactions.'
args: 'account.incoterms', 'Incoterm'
json_popover
Char
compute='_compute_json_popover'
args: 'JSON data for the popover widget'
picking_ids
One2many → stock.picking
string='Transfers'
args: 'stock.picking', 'sale_id'
picking_policy
Selection
default='direct'
help='If you deliver all products at once, the delivery order will be scheduled based on the greatest product lead time. Otherwise, it will be based on the shortest.'
readonly=True
required=True
states={'draft': [('readonly', False)], 'sent': [('readonly', False)]}
string='Shipping Policy'
args: [('direct', 'As soon as possible'), ('one', 'When all products are ready')]
procurement_group_id
Many2one → procurement.group
copy=False
args: 'procurement.group', 'Procurement Group'
show_json_popover
Boolean
compute='_compute_json_popover'
args: 'Has late picking'
warehouse_id
Many2one → stock.warehouse
check_company=True
default=_default_warehouse_id
readonly=True
required=True
states={'draft': [('readonly', False)], 'sent': [('readonly', False)]}
string='Warehouse'
args: 'stock.warehouse'
action_view_delivery(self)
create(self, vals)
onchange_user_id(self)
write(self, values)
display_delivery_alert
Boolean
compute='_compute_display_delivery_alert'
args: 'Delivery Alert'
No public methods.
display_qty_widget
Boolean
compute='_compute_qty_to_deliver'
forecast_expected_date
Datetime
compute='_compute_qty_at_date'
free_qty_today
Float
compute='_compute_qty_at_date'
digits='Product Unit of Measure'
is_mto
Boolean
compute='_compute_is_mto'
move_ids
One2many → stock.move
string='Stock Moves'
args: 'stock.move', 'sale_line_id'
product_packaging
Many2one → product.packaging
check_company=True
default=False
string='Package'
args: 'product.packaging'
product_type
Selection
related='product_id.type'
qty_available_today
Float
compute='_compute_qty_at_date'
qty_delivered_method
Selection
selection_add=[('stock_move', 'Stock Moves')]
qty_to_deliver
Float
compute='_compute_qty_to_deliver'
digits='Product Unit of Measure'
route_id
Many2one → stock.location.route
check_company=True
domain=[('sale_selectable', '=', True)]
ondelete='restrict'
string='Route'
args: 'stock.location.route'
scheduled_date
Datetime
compute='_compute_qty_at_date'
virtual_available_at_date
Float
compute='_compute_qty_at_date'
digits='Product Unit of Measure'
warehouse_id
Many2one
related='order_id.warehouse_id'
create(self, vals_list)
write(self, values)
warehouse_id
Many2one → stock.warehouse
readonly=True
args: 'stock.warehouse', 'Warehouse'
No public methods.
sale_selectable
Boolean
No public methods.
sale_line_id
Many2one → sale.order.line
index=True
args: 'sale.order.line', 'Sale Line'
No public methods.
sale_id
Many2one
readonly=False
related='group_id.sale_id'
store=True
string='Sales Order'
No public methods.
sale_order_count
Integer
compute='_compute_sale_order_ids'
args: 'Sale order count'
sale_order_ids
Many2many → sale.order
compute='_compute_sale_order_ids'
string='Sales Orders'
args: 'sale.order'
action_view_so(self)
No new fields.
Public methods (0)No public methods.
so_route_ids
Many2many → stock.location.route
domain="[('sale_selectable', '=', True)]"
help='Choose to apply SO lines specific routes.'
string='Apply specific routes'
args: 'stock.location.route'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/13.0/sale_stock |
| VERSION | |
| VERSION | 1.0 |
| CATEGORY | |
| CATEGORY | Hidden |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | Yes |
| AUTHORS | |
| AUTHORS | |
| MAINTAINERS | |
| MAINTAINERS | |
| COMMITTERS | |
| COMMITTERS | Odoo Translation Bot, Martin Trigaux, Denis Ledoux, Christophe Simonis, David Monjoie, Goffin Simon, Simon Lejeune, Nicolas Martinelli, Guewen Baconnier, qdp-odoo, Aaron Bohy, GitHub, Damien Bouvy, Barad Mahendra, Yannick Tivisse, Odoo Online, Pierre Masereel, Laurent Smet, jem-odoo, Jorge Pinna Puissant, Toufik Ben Jaa, Arnold Moyaux, Adrian Torres, wan, Julien Castiaux, Aurélien Warnon, Xavier-Do, jvm-odoo, Victor Feyens, Andrea Grazioso (agr-odoo), William Henrotin, Akim Juillerat, Anh Thao Pham (pta), Katherine Zaoral, svs-odoo, Achraf (abz), Brice bib Bartoletti, Adrien Widart, Prakash Prajapati, nie, Tiffany Chang (tic), fja-odoo, Aurélien (avd), root, Arnaud Baes, Miquel Raïch, Bruno Zanotti (ADHOC), sergio-teruel, momegahed, jdoutreloux |
| WEBSITE | |
| WEBSITE | |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:06:41 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - sale - sales_team - base - base_setup - web - bus - web_tour - payment - account - product - uom - analytic - portal - web_editor - http_routing - auth_signup - digest - resource - utm - stock_account - stock - barcodes |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | Manage sales quotations and orders ================================== This module makes the link between the sales and warehouses management applications. Preferences ----------- * Shipping: Choice of delivery at once or partial delivery * Invoicing: choose how invoices will be paid * Incoterms: International Commercial terms |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
exception_on_picking |
exception_on_picking | ir.ui.view | qweb | New |
exception_on_so |
exception_on_so | ir.ui.view | qweb | New |
product_template_view_form_inherit_sale |
product.template.inherit.form | product.template | xpath | Inherits sale.product_template_form_view_sale_order_button |
product_template_view_form_inherit_stock |
product.template.inherit.form | product.template | button | Inherits stock.product_template_form_view_procurement_button |
report_delivery_document_inherit_sale_stock |
report_delivery_document_inherit_sale_stock | ir.ui.view | qweb | Inherits stock.report_delivery_document |
report_invoice_document_inherit_sale_stock |
report_invoice_document_inherit_sale_stock | ir.ui.view | qweb | Inherits account.report_invoice_document |
report_saleorder_document_inherit_sale_stock |
report_saleorder_document_inherit_sale_stock | ir.ui.view | qweb | Inherits sale.report_saleorder_document |
res_config_settings_view_form_sale |
res.config.settings.view.form.inherit.sale.stock.sale | res.config.settings | xpath | Inherits sale.res_config_settings_view_form |
res_config_settings_view_form_stock |
res.config.settings.view.form.inherit.sale.stock.stock | res.config.settings | div | Inherits stock.res_config_settings_view_form |
sale_order_line_view_list |
sale.order.line.view.list | ir.ui.view | qweb | Inherits web.assets_backend |
sale_order_portal_content_inherit_sale_stock |
Orders Shipping Followup | ir.ui.view | qweb | Inherits sale.sale_order_portal_content |
sale_stock_report_invoice_document |
sale_stock_report_invoice_document | ir.ui.view | qweb | Inherits account.report_invoice_document |
stock_location_route_view_form_inherit_sale_stock |
stock.location.route.form | stock.location.route | xpath | Inherits stock.stock_location_route_form_view |
stock_production_lot_view_form |
stock.production.lot.view.form | stock.production.lot | xpath | Inherits stock.view_production_lot_form |
view_order_form_inherit_sale_stock |
sale.order.form.sale.stock | sale.order | xpath | Inherits sale.view_order_form |
view_order_form_inherit_sale_stock_qty |
sale.order.line.tree.sale.stock.qty | sale.order | xpath | Inherits sale.view_order_form |
view_order_line_tree_inherit_sale_stock |
sale.order.line.tree.sale.stock.location | sale.order.line | xpath | Inherits sale.view_order_line_tree |
view_order_tree |
sale.order.tree.inherit.sale.stock | sale.order | xpath | Inherits sale.view_order_tree |
view_quotation_tree |
sale.order.tree.inherit.sale.stock | sale.order | xpath | Inherits sale.view_quotation_tree |
view_stock_rules_report_sale |
Stock Rules Report Sale | stock.rules.report | xpath | Inherits stock.view_stock_rules_report |
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
sale_id
Many2one → sale.order
No public methods.
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
security_lead
Float
default=0.0
help='Margin of error for dates promised to customers. Products will be scheduled for procurement and delivery that many days earlier than the actual promised date, to cope with unexpected delays in the supply chain.'
required=True
args: 'Sales Safety Days'
No public methods.
default_picking_policy
Selection
default='direct'
default_model='sale.order'
required=True
args: [('direct', 'Ship products as soon as available, with back orders'), ('one', 'Ship all products at once')], 'Picking Policy'
group_display_incoterm
Boolean
implied_group='sale_stock.group_display_incoterm'
args: 'Incoterms'
group_lot_on_invoice
Boolean
implied_group='sale_stock.group_lot_on_invoice'
args: 'Display Lots & Serial Numbers on Invoices'
security_lead
Float
readonly=False
related='company_id.security_lead'
string='Security Lead Time'
use_security_lead
Boolean
config_parameter='sale_stock.use_security_lead'
help='Margin of error for dates promised to customers. Products will be scheduled for delivery that many days earlier than the actual promised date, to cope with unexpected delays in the supply chain.'
string='Security Lead Time for Sales'
No public methods.
delivery_count
Integer
compute='_compute_picking_ids'
string='Delivery Orders'
effective_date
Date
compute='_compute_effective_date'
help='Completion date of the first delivery order.'
store=True
args: 'Effective Date'
expected_date
Datetime
help='Delivery date you can promise to the customer, computed from the minimum lead time of the order lines in case of Service products. In case of shipping, the shipping policy of the order will be taken into account to either use the minimum or maximum lead time of the order lines.'
incoterm
Many2one → account.incoterms
help='International Commercial Terms are a series of predefined commercial terms used in international transactions.'
args: 'account.incoterms', 'Incoterm'
picking_ids
One2many → stock.picking
string='Transfers'
args: 'stock.picking', 'sale_id'
picking_policy
Selection
default='direct'
help='If you deliver all products at once, the delivery order will be scheduled based on the greatest product lead time. Otherwise, it will be based on the shortest.'
readonly=True
required=True
states={'draft': [('readonly', False)], 'sent': [('readonly', False)]}
string='Shipping Policy'
args: [('direct', 'As soon as possible'), ('one', 'When all products are ready')]
procurement_group_id
Many2one → procurement.group
copy=False
args: 'procurement.group', 'Procurement Group'
warehouse_id
Many2one → stock.warehouse
check_company=True
default=_default_warehouse_id
readonly=True
required=True
states={'draft': [('readonly', False)], 'sent': [('readonly', False)]}
string='Warehouse'
args: 'stock.warehouse'
action_cancel(self)
action_view_delivery(self)
create(self, vals)
write(self, values)
display_qty_widget
Boolean
compute='_compute_qty_to_deliver'
free_qty_today
Float
compute='_compute_qty_at_date'
is_mto
Boolean
compute='_compute_is_mto'
move_ids
One2many → stock.move
string='Stock Moves'
args: 'stock.move', 'sale_line_id'
product_packaging
Many2one → product.packaging
check_company=True
default=False
string='Package'
args: 'product.packaging'
product_type
Selection
related='product_id.type'
qty_available_today
Float
compute='_compute_qty_at_date'
qty_delivered_method
Selection
selection_add=[('stock_move', 'Stock Moves')]
qty_to_deliver
Float
compute='_compute_qty_to_deliver'
route_id
Many2one → stock.location.route
check_company=True
domain=[('sale_selectable', '=', True)]
ondelete='restrict'
string='Route'
args: 'stock.location.route'
scheduled_date
Datetime
compute='_compute_qty_at_date'
virtual_available_at_date
Float
compute='_compute_qty_at_date'
warehouse_id
Many2one → stock.warehouse
compute='_compute_qty_at_date'
args: 'stock.warehouse'
create(self, vals_list)
write(self, values)
warehouse_id
Many2one → stock.warehouse
readonly=True
args: 'stock.warehouse', 'Warehouse'
No public methods.
sale_selectable
Boolean
No public methods.
sale_line_id
Many2one → sale.order.line
index=True
args: 'sale.order.line', 'Sale Line'
No public methods.
sale_id
Many2one
readonly=False
related='group_id.sale_id'
store=True
string='Sales Order'
No public methods.
sale_order_count
Integer
compute='_compute_sale_order_ids'
args: 'Sale order count'
sale_order_ids
Many2many → sale.order
compute='_compute_sale_order_ids'
string='Sales Orders'
args: 'sale.order'
action_view_so(self)
No new fields.
Public methods (0)No public methods.
so_route_ids
Many2many → stock.location.route
domain="[('sale_selectable', '=', True)]"
help='Choose to apply SO lines specific routes.'
string='Apply specific routes'
args: 'stock.location.route'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/12.0/sale_stock |
| VERSION | |
| VERSION | 1.0 |
| CATEGORY | |
| CATEGORY | Hidden |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | Yes |
| AUTHORS | |
| AUTHORS | |
| MAINTAINERS | |
| MAINTAINERS | |
| COMMITTERS | |
| COMMITTERS | Raphael Collet, Odoo Translation Bot, Martin Trigaux, Fabien Pinckaers, Thibault Delavallée, Christophe Simonis, Goffin Simon, Simon Lejeune, Nicolas Martinelli, Nicolas Lempereur, qdp-odoo, GitHub, Yannick Tivisse, qsm-odoo, Pierre Masereel, Romain Derie, jem-odoo, RomainLibert, Christophe Monniez, Julien (juc) Castiaux, Nans Lefebvre, Johan Demaret Rivarola, jev-odoo, Arnold Moyaux, Adrian Torres, XavierDo, Aurélien Warnon, Xavier-Do, Andrea Grazioso (agr-odoo), William Henrotin, Sébastien Theys, Anh Thao Pham (pta), Kinjal Mehta, Quentin Smetz (qsm), Adrien Widart |
| WEBSITE | |
| WEBSITE | |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-05 23:57:00 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - sale - sales_team - base - base_setup - web - bus - web_tour - payment - account - product - decimal_precision - uom - analytic - portal - http_routing - digest - stock_account - stock - barcodes |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | Manage sales quotations and orders ================================== This module makes the link between the sales and warehouses management applications. Preferences ----------- * Shipping: Choice of delivery at once or partial delivery * Invoicing: choose how invoices will be paid * Incoterms: International Commercial terms |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
assets_backend |
assets_backend | ir.ui.view | qweb | Inherits web.assets_backend |
exception_on_picking |
exception_on_picking | ir.ui.view | qweb | New |
exception_on_so |
exception_on_so | ir.ui.view | qweb | New |
invoice_form_inherit_sale_stock |
account.invoice.form.sale.stock | account.invoice | data | Inherits account.invoice_form |
product_template_view_form_inherit_sale |
product.template.inherit.form | product.template | xpath | Inherits sale.product_template_form_view_sale_order_button |
product_template_view_form_inherit_stock |
product.template.inherit.form | product.template | button | Inherits stock.product_template_form_view_procurement_button |
report_delivery_document_inherit_sale_stock |
report_delivery_document_inherit_sale_stock | ir.ui.view | qweb | Inherits stock.report_delivery_document |
report_invoice_document_inherit_sale_stock |
report_invoice_document_inherit_sale_stock | ir.ui.view | qweb | Inherits account.report_invoice_document |
report_saleorder_document_inherit_sale_stock |
report_saleorder_document_inherit_sale_stock | ir.ui.view | qweb | Inherits sale.report_saleorder_document |
res_config_settings_view_form_sale |
res.config.settings.view.form.inherit.sale.stock.sale | res.config.settings | xpath | Inherits sale.res_config_settings_view_form |
res_config_settings_view_form_stock |
res.config.settings.view.form.inherit.sale.stock.stock | res.config.settings | div | Inherits stock.res_config_settings_view_form |
sale_order_portal_content_inherit_sale_stock |
Orders Shipping Followup | ir.ui.view | qweb | Inherits sale.sale_order_portal_content |
stock_config_settings_view_form_inherit_sale_stock |
stock.config.settings.inherit.sale.stock | stock.config.settings | div | Inherits stock.view_stock_config_settings |
stock_location_route_view_form_inherit_sale_stock |
stock.location.route.form | stock.location.route | xpath | Inherits stock.stock_location_route_form_view |
stock_production_lot_view_form |
stock.production.lot.view.form | stock.production.lot | xpath | Inherits stock.view_production_lot_form |
stock_production_lot_view_form_simple |
stock.production.lot.view.form.simple | stock.production.lot | xpath | Inherits stock.view_production_lot_form_simple |
view_order_form_inherit_sale_stock |
sale.order.form.sale.stock | sale.order | xpath | Inherits sale.view_order_form |
view_order_line_tree_inherit_sale_stock |
sale.order.line.tree.sale.stock.location | sale.order.line | xpath | Inherits sale.view_order_line_tree |
view_stock_rules_report_sale |
Stock Rules Report Sale | stock.rules.report | xpath | Inherits stock.view_stock_rules_report |
incoterms_id
Many2one → account.incoterms
help='Incoterms are series of sales terms. They are used to divide transaction costs and responsibilities between buyer and seller and reflect state-of-the-art transportation practices.'
readonly=True
states={'draft': [('readonly', False)]}
string='Incoterms'
args: 'account.incoterms'
No public methods.
No new fields.
Public methods (0)No public methods.
sale_id
Many2one → sale.order
No public methods.
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
security_lead
Float
default=0.0
help='Margin of error for dates promised to customers. Products will be scheduled for procurement and delivery that many days earlier than the actual promised date, to cope with unexpected delays in the supply chain.'
required=True
args: 'Sales Safety Days'
No public methods.
default_picking_policy
Selection
default='direct'
default_model='sale.order'
required=True
args: [('direct', 'Ship products as soon as available, with back orders'), ('one', 'Ship all products at once')], 'Picking Policy'
group_display_incoterm
Boolean
implied_group='sale_stock.group_display_incoterm'
args: 'Incoterms'
group_route_so_lines
Boolean
implied_group='sale_stock.group_route_so_lines'
args: 'Order-Specific Routes'
security_lead
Float
readonly=False
related='company_id.security_lead'
string='Security Lead Time'
use_security_lead
Boolean
config_parameter='sale_stock.use_security_lead'
help='Margin of error for dates promised to customers. Products will be scheduled for delivery that many days earlier than the actual promised date, to cope with unexpected delays in the supply chain.'
oldname='default_new_security_lead'
string='Security Lead Time for Sales'
No public methods.
delivery_count
Integer
compute='_compute_picking_ids'
string='Delivery Orders'
effective_date
Date
compute='_compute_effective_date'
help='Completion date of the first delivery order.'
store=True
args: 'Effective Date'
incoterm
Many2one → account.incoterms
help='International Commercial Terms are a series of predefined commercial terms used in international transactions.'
args: 'account.incoterms', 'Incoterms'
picking_ids
One2many → stock.picking
string='Pickings'
args: 'stock.picking', 'sale_id'
picking_policy
Selection
default='direct'
help='If you deliver all products at once, the delivery order will be scheduled based on the greatest product lead time. Otherwise, it will be based on the shortest.'
readonly=True
required=True
states={'draft': [('readonly', False)], 'sent': [('readonly', False)]}
string='Shipping Policy'
args: [('direct', 'Deliver each product when available'), ('one', 'Deliver all products at once')]
procurement_group_id
Many2one → procurement.group
copy=False
args: 'procurement.group', 'Procurement Group'
warehouse_id
Many2one → stock.warehouse
default=_default_warehouse_id
readonly=True
required=True
states={'draft': [('readonly', False)], 'sent': [('readonly', False)]}
string='Warehouse'
args: 'stock.warehouse'
action_cancel(self)
action_view_delivery(self)
write(self, values)
move_ids
One2many → stock.move
string='Stock Moves'
args: 'stock.move', 'sale_line_id'
product_packaging
Many2one → product.packaging
default=False
string='Package'
args: 'product.packaging'
qty_delivered_method
Selection
selection_add=[('stock_move', 'Stock Moves')]
route_id
Many2one → stock.location.route
domain=[('sale_selectable', '=', True)]
ondelete='restrict'
string='Route'
args: 'stock.location.route'
create(self, vals_list)
write(self, values)
warehouse_id
Many2one → stock.warehouse
readonly=True
args: 'stock.warehouse', 'Warehouse'
No public methods.
sale_selectable
Boolean
No public methods.
sale_line_id
Many2one → sale.order.line
index=True
args: 'sale.order.line', 'Sale Line'
No public methods.
sale_id
Many2one
readonly=False
related='group_id.sale_id'
store=True
string='Sales Order'
No public methods.
sale_order_count
Integer
compute='_compute_sale_order_ids'
args: 'Sale order count'
sale_order_ids
Many2many → sale.order
compute='_compute_sale_order_ids'
string='Sales Orders'
args: 'sale.order'
action_view_so(self)
No new fields.
Public methods (0)No public methods.
so_route_ids
Many2many → stock.location.route
domain="[('sale_selectable', '=', True)]"
help='Choose to apply SO lines specific routes.'
string='Apply specific rotues'
args: 'stock.location.route'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/11.0/sale_stock |
| VERSION | |
| VERSION | 1.0 |
| CATEGORY | |
| CATEGORY | Hidden |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | Yes |
| AUTHORS | |
| AUTHORS | |
| MAINTAINERS | |
| MAINTAINERS | |
| COMMITTERS | |
| COMMITTERS | Odoo Translation Bot, Martin Trigaux, Olivier Dony, Josse Colpaert, Christophe Simonis, Goffin Simon, Simon Lejeune, Nicolas Martinelli, qdp-odoo, GitHub, Lucas Perais (lpe), Yannick Tivisse, Odoo Online, Pierre Masereel, DVE, fwi-odoo, len-odoo, Jorge Pinna Puissant, Nans Lefebvre, amoyaux, Arnold Moyaux, Carlos Dauden, rar-odoo |
| WEBSITE | |
| WEBSITE | https://www.odoo.com/page/warehouse |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-05 23:53:42 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - sale_management - sale - sales_team - base - base_setup - web - bus - web_tour - account - product - decimal_precision - analytic - web_planner - portal - http_routing - account_invoicing - stock_account - stock - barcodes |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | Manage sales quotations and orders ================================== This module makes the link between the sales and warehouses management applications. Preferences ----------- * Shipping: Choice of delivery at once or partial delivery * Invoicing: choose how invoices will be paid * Incoterms: International Commercial terms You can choose flexible invoicing methods: * *On Demand*: Invoices are created manually from Sales Orders when needed * *On Delivery Order*: Invoices are generated from picking (delivery) * *Before Delivery*: A Draft invoice is created and must be paid before delivery |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
assets_backend |
assets_backend | ir.ui.view | qweb | Inherits web.assets_backend |
invoice_form_inherit_sale_stock |
account.invoice.form.sale.stock | account.invoice | data | Inherits account.invoice_form |
product_template_view_form_inherit_sale |
product.template.inherit.form | product.template | xpath | Inherits sale.product_template_form_view_sale_order_button |
product_template_view_form_inherit_stock |
product.template.inherit.form | product.template | button | Inherits stock.product_template_form_view_procurement_button |
report_delivery_document_inherit_sale_stock |
report_delivery_document_inherit_sale_stock | ir.ui.view | qweb | Inherits stock.report_delivery_document |
report_invoice_document_inherit_sale_stock |
report_invoice_document_inherit_sale_stock | ir.ui.view | qweb | Inherits account.report_invoice_document |
report_saleorder_document_inherit_sale_stock |
report_saleorder_document_inherit_sale_stock | ir.ui.view | qweb | Inherits sale.report_saleorder_document |
res_config_settings_view_form_sale |
res.config.settings.view.form.inherit.sale.stock.sale | res.config.settings | xpath | Inherits sale.res_config_settings_view_form |
res_config_settings_view_form_stock |
res.config.settings.view.form.inherit.sale.stock.stock | res.config.settings | div | Inherits stock.res_config_settings_view_form |
stock_config_settings_view_form_inherit_sale_stock |
stock.config.settings.inherit.sale.stock | stock.config.settings | div | Inherits stock.view_stock_config_settings |
stock_location_route_view_form_inherit_sale_stock |
stock.location.route.form | stock.location.route | xpath | Inherits stock.stock_location_route_form_view |
view_order_form_inherit_sale_stock |
sale.order.form.sale.stock | sale.order | xpath | Inherits sale.view_order_form |
view_order_line_tree_inherit_sale_stock |
sale.order.line.tree.sale.stock.location | sale.order.line | xpath | Inherits sale.view_order_line_tree |
incoterms_id
Many2one → stock.incoterms
help='Incoterms are series of sales terms. They are used to divide transaction costs and responsibilities between buyer and seller and reflect state-of-the-art transportation practices.'
readonly=True
states={'draft': [('readonly', False)]}
string='Incoterms'
args: 'stock.incoterms'
No public methods.
No new fields.
Public methods (0)No public methods.
sale_id
Many2one → sale.order
No public methods.
No new fields.
Public methods (0)No public methods.
security_lead
Float
default=0.0
help='Margin of error for dates promised to customers. Products will be scheduled for procurement and delivery that many days earlier than the actual promised date, to cope with unexpected delays in the supply chain.'
required=True
args: 'Sales Safety Days'
No public methods.
default_picking_policy
Selection
default='direct'
default_model='sale.order'
required=True
args: [('direct', 'Ship products as soon as available, with back orders'), ('one', 'Ship all products at once')], 'Shipping Management'
group_display_incoterm
Boolean
implied_group='sale_stock.group_display_incoterm'
args: 'Incoterms'
group_route_so_lines
Boolean
implied_group='sale_stock.group_route_so_lines'
args: 'Order-Specific Routes'
module_sale_order_dates
Boolean
security_lead
Float
related='company_id.security_lead'
string='Security Lead Time'
use_security_lead
Boolean
help='Margin of error for dates promised to customers. Products will be scheduled for delivery that many days earlier than the actual promised date, to cope with unexpected delays in the supply chain.'
oldname='default_new_security_lead'
string='Security Lead Time for Sales'
get_values(self)
set_values(self)
delivery_count
Integer
compute='_compute_picking_ids'
string='Delivery Orders'
incoterm
Many2one → stock.incoterms
help='International Commercial Terms are a series of predefined commercial terms used in international transactions.'
args: 'stock.incoterms', 'Incoterms'
picking_ids
One2many → stock.picking
string='Pickings'
args: 'stock.picking', 'sale_id'
picking_policy
Selection
default='direct'
readonly=True
required=True
states={'draft': [('readonly', False)], 'sent': [('readonly', False)]}
string='Shipping Policy'
args: [('direct', 'Deliver each product when available'), ('one', 'Deliver all products at once')]
procurement_group_id
Many2one → procurement.group
copy=False
args: 'procurement.group', 'Procurement Group'
warehouse_id
Many2one → stock.warehouse
default=_default_warehouse_id
readonly=True
required=True
states={'draft': [('readonly', False)], 'sent': [('readonly', False)]}
string='Warehouse'
args: 'stock.warehouse'
action_cancel(self)
action_view_delivery(self)
move_ids
One2many → stock.move
string='Stock Moves'
args: 'stock.move', 'sale_line_id'
product_packaging
Many2one → product.packaging
default=False
string='Package'
args: 'product.packaging'
route_id
Many2one → stock.location.route
domain=[('sale_selectable', '=', True)]
ondelete='restrict'
string='Route'
args: 'stock.location.route'
create(self, values)
write(self, values)
warehouse_id
Many2one → stock.warehouse
readonly=True
args: 'stock.warehouse', 'Warehouse'
No public methods.
sale_selectable
Boolean
No public methods.
sale_line_id
Many2one → sale.order.line
index=True
args: 'sale.order.line', 'Sale Line'
write(self, vals)
sale_id
Many2one
related='group_id.sale_id'
store=True
string='Sales Order'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/10.0/sale_stock |
| VERSION | |
| VERSION | 1.0 |
| CATEGORY | |
| CATEGORY | Hidden |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | Yes |
| AUTHORS | |
| AUTHORS | |
| MAINTAINERS | |
| MAINTAINERS | |
| COMMITTERS | |
| COMMITTERS | Raphael Collet, Odoo Translation Bot, Martin Trigaux, Fabien Pinckaers, Olivier Dony, Thibault Delavallée, Denis Ledoux, Christophe Simonis, David Monjoie, Goffin Simon, Simon Lejeune, Nicolas Martinelli, Julien Legros, qdp-odoo, Jeremy Kersten, Yannick Tivisse, qsm-odoo, len-odoo, amoyaux |
| WEBSITE | |
| WEBSITE | https://www.odoo.com/page/warehouse |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-05 23:50:47 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - sale - sales_team - base - base_setup - web_kanban - web - bus - web_tour - account - product - decimal_precision - report - analytic - web_planner - procurement - stock_account - stock - barcodes |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | Manage sales quotations and orders ================================== This module makes the link between the sales and warehouses management applications. Preferences ----------- * Shipping: Choice of delivery at once or partial delivery * Invoicing: choose how invoices will be paid * Incoterms: International Commercial terms You can choose flexible invoicing methods: * *On Demand*: Invoices are created manually from Sales Orders when needed * *On Delivery Order*: Invoices are generated from picking (delivery) * *Before Delivery*: A Draft invoice is created and must be paid before delivery |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
assets_backend |
assets_backend | ir.ui.view | qweb | Inherits web.assets_backend |
invoice_form_inherit_sale_stock |
account.invoice.form.sale.stock | account.invoice | data | Inherits account.invoice_form |
report_delivery_document_inherit_sale_stock |
report_delivery_document_inherit_sale_stock | ir.ui.view | qweb | Inherits stock.report_delivery_document |
report_invoice_document_inherit_sale_stock |
report_invoice_document_inherit_sale_stock | ir.ui.view | qweb | Inherits account.report_invoice_document |
report_saleorder_document_inherit_sale_stock |
report_saleorder_document_inherit_sale_stock | ir.ui.view | qweb | Inherits sale.report_saleorder_document |
stock_location_route_form_view_inherit_sale_stock |
stock.location.route.form | stock.location.route | xpath | Inherits stock.stock_location_route_form_view |
view_order_form_inherit_sale_stock |
sale.order.form.sale.stock | sale.order | xpath | Inherits sale.view_order_form |
view_order_line_tree_inherit_sale_stock |
sale.order.line.tree.sale.stock.location | sale.order.line | xpath | Inherits sale.view_order_line_tree |
view_sales_config_inherit_sale_stock |
sale settings | sale.config.settings | group | Inherits sale.view_sales_config |
view_stock_return_picking_form_inherit_sale_stock |
stock.return.picking.sale.stock.form | stock.return.picking | field | Inherits stock.view_stock_return_picking_form |
incoterms_id
Many2one → stock.incoterms
help='Incoterms are series of sales terms. They are used to divide transaction costs and responsibilities between buyer and seller and reflect state-of-the-art transportation practices.'
readonly=True
states={'draft': [('readonly', False)]}
string='Incoterms'
args: 'stock.incoterms'
No public methods.
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
security_lead
Float
default=0.0
help='Margin of error for dates promised to customers. Products will be scheduled for procurement and delivery that many days earlier than the actual promised date, to cope with unexpected delays in the supply chain.'
required=True
args: 'Sales Safety Days'
No public methods.
default_picking_policy
Selection
group_mrp_properties
Selection
help='Allows you to tag sales order lines with properties.'
implied_group='sale.group_mrp_properties'
args: [(0, "Don't use manufacturing properties (recommended as its easier)"), (1, 'Allow setting manufacturing order properties per order line (advanced)')], 'Properties on SO Lines'
group_route_so_lines
Selection
implied_group='sale_stock.group_route_so_lines'
args: [(0, 'No order specific routes like MTO or drop shipping'), (1, 'Choose specific routes on sales order lines (advanced)')], 'Order Routing'
module_delivery
Selection
module_sale_order_dates
Selection
security_lead
Float
related='company_id.security_lead'
string='Sales Safety Days *'
get_default_sale_config(self, fields)
set_sale_defaults(self)
delivery_count
Integer
compute='_compute_picking_ids'
string='Delivery Orders'
incoterm
Many2one → stock.incoterms
help='International Commercial Terms are a series of predefined commercial terms used in international transactions.'
args: 'stock.incoterms', 'Incoterms'
picking_ids
Many2many → stock.picking
compute='_compute_picking_ids'
string='Picking associated to this sale'
args: 'stock.picking'
picking_policy
Selection
default='direct'
readonly=True
required=True
states={'draft': [('readonly', False)], 'sent': [('readonly', False)]}
string='Shipping Policy'
args: [('direct', 'Deliver each product when available'), ('one', 'Deliver all products at once')]
warehouse_id
Many2one → stock.warehouse
default=_default_warehouse_id
readonly=True
required=True
states={'draft': [('readonly', False)], 'sent': [('readonly', False)]}
string='Warehouse'
args: 'stock.warehouse'
action_cancel(self)
action_view_delivery(self)
product_packaging
Many2one → product.packaging
default=False
string='Packaging'
args: 'product.packaging'
product_tmpl_id
Many2one → product.template
readonly=True
related='product_id.product_tmpl_id'
string='Product Template'
args: 'product.template'
route_id
Many2one → stock.location.route
domain=[('sale_selectable', '=', True)]
string='Route'
args: 'stock.location.route'
No public methods.
warehouse_id
Many2one → stock.warehouse
readonly=True
args: 'stock.warehouse', 'Warehouse'
No public methods.
sale_selectable
Boolean
No public methods.
to_refund_so
Boolean
copy=False
default=False
help='Trigger a decrease of the delivered quantity in the associated Sale Order'
args: 'To Refund in SO'
action_done(self)
assign_picking(self)
sale_id
Many2one → sale.order
compute='_compute_sale_id'
search='_search_sale_id'
args: 'sale.order', 'Sale Order'
No public methods.
No new fields.
Public methods (0)No public methods.
to_refund_so
Boolean
help='Trigger a decrease of the delivered quantity in the associated Sale Order'
string='To Refund'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/9.0/sale_stock |
| VERSION | |
| VERSION | 1.0 |
| CATEGORY | |
| CATEGORY | Hidden |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | Yes |
| AUTHORS | |
| AUTHORS | |
| MAINTAINERS | |
| MAINTAINERS | |
| COMMITTERS | |
| COMMITTERS | Raphael Collet, Odoo Translation Bot, Martin Trigaux, Fabien Pinckaers, Olivier Dony, Thibault Delavallée, Josse Colpaert, Denis Ledoux, Christophe Simonis, Xavier Morel, Goffin Simon, Frédéric van der Essen, Nicolas Martinelli, Jérome Maes, Richard Mathot, qdp-odoo, Aaron Bohy, Damien Bouvy, Yannick Tivisse, qsm-odoo, Martin Geubelle, Ajay javiya |
| WEBSITE | |
| WEBSITE | https://www.odoo.com/page/warehouse |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-05 23:48:29 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - sale - sales_team - base - base_setup - web_kanban - web - bus - account - product - decimal_precision - report - analytic - web_tip - web_planner - procurement - stock_account - stock - barcodes |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | Manage sales quotations and orders ================================== This module makes the link between the sales and warehouses management applications. Preferences ----------- * Shipping: Choice of delivery at once or partial delivery * Invoicing: choose how invoices will be paid * Incoterms: International Commercial terms You can choose flexible invoicing methods: * *On Demand*: Invoices are created manually from Sales Orders when needed * *On Delivery Order*: Invoices are generated from picking (delivery) * *Before Delivery*: A Draft invoice is created and must be paid before delivery |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
invoice_form_inherit_sale_stock |
account.invoice.form.sale.stock | account.invoice | data | Inherits account.invoice_form |
report_invoice_document_inherit_sale_stock |
report_invoice_document_inherit_sale_stock | ir.ui.view | qweb | Inherits account.report_invoice_document |
report_saleorder_document_inherit_sale_stock |
report_saleorder_document_inherit_sale_stock | ir.ui.view | qweb | Inherits sale.report_saleorder_document |
stock_location_route_form_view_inherit_sale_stock |
stock.location.route.form | stock.location.route | xpath | Inherits stock.stock_location_route_form_view |
view_company_form_inherit_sale_stock |
res.company.mrp.config | res.company | xpath | Inherits base.view_company_form |
view_order_form_inherit_sale_stock |
sale.order.form.sale.stock | sale.order | data | Inherits sale.view_order_form |
view_order_line_tree_inherit_sale_stock |
sale.order.line.tree.sale.stock.location | sale.order.line | xpath | Inherits sale.view_order_line_tree |
view_sales_config_inherit_sale_stock |
sale settings | sale.config.settings | xpath | Inherits sale.view_sales_config |
incoterms_id
Many2one → stock.incoterms
help='Incoterms are series of sales terms. They are used to divide transaction costs and responsibilities between buyer and seller and reflect state-of-the-art transportation practices.'
readonly=True
states={'draft': [('readonly', False)]}
string='Incoterms'
args: 'stock.incoterms'
No public methods.
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
security_lead
Float
default=0.0
help='Margin of error for dates promised to customers. Products will be scheduled for procurement and delivery that many days earlier than the actual promised date, to cope with unexpected delays in the supply chain.'
required=True
args: 'Sales Safety Days'
No public methods.
default_picking_policy
Selection
group_mrp_properties
Selection
help='Allows you to tag sales order lines with properties.'
implied_group='sale.group_mrp_properties'
args: [(0, "Don't use manufacturing properties (recommended as its easier)"), (1, 'Allow setting manufacturing order properties per order line (advanced)')], 'Properties on SO Lines'
group_route_so_lines
Selection
implied_group='sale_stock.group_route_so_lines'
args: [(0, 'No order specific routes like MTO or drop shipping'), (1, 'Choose specific routes on sales order lines (advanced)')], 'Order Routing'
module_delivery
Selection
get_default_sale_config(self, fields)
set_sale_defaults(self)
delivery_count
Integer
compute='_compute_picking_ids'
string='Delivery Orders'
incoterm
Many2one → stock.incoterms
help='International Commercial Terms are a series of predefined commercial terms used in international transactions.'
args: 'stock.incoterms', 'Incoterms'
picking_ids
Many2many → stock.picking
compute='_compute_picking_ids'
string='Picking associated to this sale'
args: 'stock.picking'
picking_policy
Selection
default='direct'
readonly=True
required=True
states={'draft': [('readonly', False)], 'sent': [('readonly', False)]}
string='Shipping Policy'
args: [('direct', 'Deliver each product when available'), ('one', 'Deliver all products at once')]
warehouse_id
Many2one → stock.warehouse
default=_default_warehouse_id
readonly=True
required=True
states={'draft': [('readonly', False)], 'sent': [('readonly', False)]}
string='Warehouse'
args: 'stock.warehouse'
action_cancel(self)
action_view_delivery(self)
product_packaging
Many2one → product.packaging
default=False
string='Packaging'
args: 'product.packaging'
product_tmpl_id
Many2one → product.template
readonly=True
related='product_id.product_tmpl_id'
string='Product Template'
args: 'product.template'
route_id
Many2one → stock.location.route
domain=[('sale_selectable', '=', True)]
string='Route'
args: 'stock.location.route'
No public methods.
warehouse_id
Many2one → stock.warehouse
readonly=True
args: 'stock.warehouse', 'Warehouse'
No public methods.
sale_selectable
Boolean
string='Selectable on Sales Order Line'
No public methods.
No new fields.
Public methods (1)action_done(self)
sale_id
Many2one → sale.order
comodel_name='sale.order'
compute='_compute_sale_id'
search='_search_sale_id'
string='Sale Order'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/8.0/sale_stock |
| VERSION | |
| VERSION | 1.0 |
| CATEGORY | |
| CATEGORY | Hidden |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | Yes |
| AUTHORS | |
| AUTHORS | OpenERP SA |
| MAINTAINERS | |
| MAINTAINERS | OpenERP SA |
| COMMITTERS | |
| COMMITTERS | Raphael Collet, Randhir Mayatra (OpenERP), Odoo Translation Bot, Turkesh Patel (Open ERP), Christophe Matthieu, Martin Trigaux, Ajay Chauhan (OpenERP), Foram Katharotiya (OpenERP), Fabien Pinckaers, Antony Lesuisse, Olivier Dony, Tejas Tank, Thibault Delavallée, Vo Minh Thu, Josse Colpaert, Launchpad Translations on behalf of openerp, Quentin (OpenERP), Denis Ledoux, Fabien Meghazi, Christophe Simonis, Xavier Morel, Goffin Simon, Cedric Snauwaert, Simon Lejeune, Nicolas Martinelli, RGA(OpenERP), Amit Bhavsar (Open ERP), Lionel Sausin, Anand Patel (OpenERP), jke-openerp, Aaron Bohy, Bharat R. Devnani (OpenERP), openerp-sle, Gery Debongnie, sgo@tinyerp.com, Mansi Kariya (OpenERP Trainee), Darshan Kalola (OpenERP), Darshan Kalola, Jitendra Prajapati (OpenERP) |
| WEBSITE | |
| WEBSITE | https://www.odoo.com/page/warehouse |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-05 23:45:38 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - sale - sales_team - base - base_setup - web_kanban - web - web_kanban_sparkline - account_voucher - account - product - decimal_precision - report - analytic - board - edi - email_template - procurement - stock_account - stock - web_kanban_gauge |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | Manage sales quotations and orders ================================== This module makes the link between the sales and warehouses management applications. Preferences ----------- * Shipping: Choice of delivery at once or partial delivery * Invoicing: choose how invoices will be paid * Incoterms: International Commercial terms You can choose flexible invoicing methods: * *On Demand*: Invoices are created manually from Sales Orders when needed * *On Delivery Order*: Invoices are generated from picking (delivery) * *Before Delivery*: A Draft invoice is created and must be paid before delivery |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
mrp_company |
res.company.mrp.config | res.company | xpath | Inherits base.view_company_form |
stock_location_route_form_view_inherit |
stock.location.route.form | stock.location.route | xpath | Inherits stock.stock_location_route_form_view |
view_order_form_inherit |
sale.order.form.sale.stock | sale.order | data | Inherits sale.view_order_form |
view_order_form_inherit2 |
sale.order.line.form.sale.stock.location | sale.order.line | data | Inherits sale.view_order_line_form2 |
view_order_line_tree_inherit |
sale.order.line.tree.sale.stock.location | sale.order.line | xpath | Inherits sale.view_order_line_tree |
view_picking_internal_search_inherit |
stock.picking.search.inherit | stock.picking | xpath | Inherits stock.view_picking_internal_search |
view_res_partner_tree_type |
res.partner.tree.inherit.type | res.partner | field | Inherits base.view_partner_tree |
view_sales_config_sale_stock |
sale settings | sale.config.settings | data | Inherits sale.view_sales_config |
No models found for this module.
| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/7.0/sale_stock |
| VERSION | |
| VERSION | 1.0 |
| CATEGORY | |
| CATEGORY | Hidden |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | Yes |
| AUTHORS | |
| AUTHORS | OpenERP SA |
| MAINTAINERS | |
| MAINTAINERS | OpenERP SA |
| COMMITTERS | |
| COMMITTERS | Raphael Collet, Twinkle Christian (OpenERP), Cecile Tonglet, Atul Patel (OpenERP), Odoo Translation Bot, Turkesh Patel (Open ERP), pankita shah (Open ERP), Martin Trigaux, Ajay Chauhan (OpenERP), Purnendu Singh (OpenERP), Fabien Pinckaers, Antony Lesuisse, Saurang Suthar, Olivier Dony, Rajesh Prajapati (OpenERP), Divyesh Makwana (Open ERP), Thibault Delavallée, Vo Minh Thu, Launchpad Translations on behalf of openerp, vta vta@openerp.com, Quentin (OpenERP), Denis Ledoux, Mayur Maheshwari (OpenERP), Sanjay Gohel (Open ERP), Christophe Simonis, Anael Closson, Khushboo Bhatt (Open ERP), Cedric Snauwaert, Amit Patel, Dhruti Shastri (OpenERP), Nicolas Martinelli, Davide Corio, Jigar Amin, Sebastien LANGE, Yannick Vaucher, Chandni Machchhar (OpenERP) |
| WEBSITE | |
| WEBSITE | http://www.openerp.com |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-05 23:43:08 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - sale - account_voucher - account - base_setup - base - web_kanban - web - product - process - decimal_precision - analytic - board - edi - email_template - stock - procurement |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | Manage sales quotations and orders ================================== This module makes the link between the sales and warehouses management applications. Preferences ----------- * Shipping: Choice of delivery at once or partial delivery * Invoicing: choose how invoices will be paid * Incoterms: International Commercial terms You can choose flexible invoicing methods: * *On Demand*: Invoices are created manually from Sales Orders when needed * *On Delivery Order*: Invoices are generated from picking (delivery) * *Before Delivery*: A Draft invoice is created and must be paid before delivery |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
mrp_company |
res.company.mrp.config | res.company | xpath | Inherits base.view_company_form |
stock_move_sale |
stock.move.form | stock.move | xpath | Inherits stock.view_move_form |
stock_picking_inherit_sale |
stock.picking.form | stock.picking | field | Inherits stock.view_picking_form |
stock_picking_out_inherit_sale |
Outgoing picking Inherited | stock.picking.out | field | Inherits stock.view_picking_out_form |
view_order_form_inherit |
sale.order.form.sale.stock | sale.order | data | Inherits sale.view_order_form |
view_order_product_tree_inherit |
sale.report.tree.sale.stock | sale.report | field | Inherits sale.view_order_product_tree |
view_res_partner_tree_type |
res.partner.tree.inherit.type | res.partner | field | Inherits base.view_partner_tree |
view_sale_shop_form_inherit |
sale.shop.inherit.form | sale.shop | xpath | Inherits sale.view_shop_form |
view_sales_config_sale_stock |
sale settings | sale.config.settings | data | Inherits sale.view_sales_config |
view_shop_tree_inherit |
sale.shop.sale.stock | sale.shop | field | Inherits sale.view_shop_tree |
No models found for this module.