TIP: You can type at any time to perform a new search.
Delivery - Stock
stock_delivery · odoo/odoo
🛠 Migration considerations
- Raw `cr.execute()` INSERT/UPDATE/DELETE bypasses the ORM (no compute/constrains/tracking/mail): `UPDATE stock_move move SET weight = move.product_qty * product.weight FROM product_product product WHERE move.product_id = product.id AND move.state != 'cancel'` - re-check the table/column names still match after upgrading. migration-raw-sql-write · source
Found by automated static analysis: patterns worth a look before/after upgrading this module to a newer Odoo version.
- Repository
- odoo/odoo · module folder
- Module version
- 1.0
- Category
- Shipping Connectors
- Folder size
- 1.29 MB
- License
- LGPL-3
- Application
- No
- Auto-installable
- Yes
- Website
- None
- Last tracking update
- 2026-08-15 22:44:21
- Authors
- Odoo S.A.
- Maintainers
- Odoo S.A.
- Committers
- Raphael Collet, Thibault Delavallée, Odoo Translation Bot, Pierre Masereel, Arnold Moyaux, Julien Castiaux, Victor Feyens, Andrea Grazioso (agr-odoo), William Henrotin, Alvaro Fuentes, Rémy Voet (ryv), Tiffany Chang (tic), Gorash, William Braeckman, Mathieu Walravens, Djamel Touati, Pieter Claeys (clpi), Dylan Kiss (dyki), lase@odoo.com, Quentin Wolfs, reka-odoo, kcv-odoo, nihp-odoo, Mohammad Abdulmoneim, David Van Droogenbroeck (DROD), Mohammad Abdulmoneim (abdu), djameltouati, Krzysztof Magusiak (krma), Hazem Ibrahim, vlst-odoo, Lancelot Semal, Amr Elkhatieb, srap-odoo
- Odoo dependencies
- Python dependencies
- None
- System dependencies
- None
- Required by
- delivery_auto_refresh, delivery_carrier_account, delivery_carrier_agency, delivery_carrier_multi_zip, delivery_carrier_option, delivery_carrier_picking_valid, delivery_driver, delivery_mondialrelay, delivery_package_number, delivery_price_method, delivery_purchase, delivery_state, delivery_stock_picking_batch, l10n_it_stock_ddt, l10n_ro_edi_stock, partner_delivery_schedule, product_harmonized_system_delivery, sale_manual_delivery, shopify_connector, stock_delivery_note, website_sale_stock
- Description
Allows you to add delivery methods in pickings. =============================================== When creating invoices from picking, the system is able to add and compute the shipping line.
Code Analysis ⓘ
Views touched (28)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
alternative_zpl_label |
alternative_zpl_label | ir.ui.view | qweb | Inherits stock.alternative_zpl_label |
choose_delivery_carrier_view_form |
choose.delivery.carrier.form | choose.delivery.carrier | form | Inherits delivery.choose_delivery_carrier_view_form |
delivery_stock_report_delivery_no_package_section_line |
delivery_stock_report_delivery_no_package_section_line | ir.ui.view | qweb | Inherits stock.stock_report_delivery_no_package_section_line |
delivery_tracking_url_warning_form |
delivery.carrier.warning.url.form | stock.picking | form | New |
label_package_template_view_delivery |
label_package_template_view_delivery | ir.ui.view | qweb | Inherits stock.label_package_template_view |
normal_zpl_label |
normal_zpl_label | ir.ui.view | qweb | Inherits stock.normal_zpl_label |
product_template_hs_code |
product.template.form.hs_code | product.template | form | Inherits stock.view_template_property_form |
report_delivery_document2 |
report_delivery_document2 | ir.ui.view | qweb | Inherits stock.report_delivery_document |
report_package_barcode_delivery |
report_package_barcode_delivery | ir.ui.view | qweb | Inherits stock.report_package_barcode |
report_package_barcode_small_delivery |
report_package_barcode_small_delivery | ir.ui.view | qweb | Inherits stock.report_package_barcode_small |
report_shipping2 |
report_shipping2 | ir.ui.view | qweb | Inherits stock.report_picking |
sale_order_portal_content_inherit_sale_stock_inherit_website_sale |
Shipping tracking on orders followup | ir.ui.view | qweb | Inherits sale_stock.sale_order_portal_content_inherit_sale_stock |
stock_location_route_view_form_inherit_stock_delivery |
stock.route.form | stock.route | form | Inherits stock.stock_location_route_form_view |
stock_move_line_view_search_delivery |
stock.move.line.search.delivery | stock.move.line | search | Inherits stock.stock_move_line_view_search |
stock_package_type_form_delivery |
stock.package.type.form.delivery | stock.package.type | form | Inherits stock.stock_package_type_form |
stock_package_type_tree_delivery |
stock.package.type.list.delivery | stock.package.type | list | Inherits stock.stock_package_type_tree |
stock_package_view_form |
stock.package.weight.form | stock.package | form | Inherits stock.stock_package_view_form |
stock_put_in_pack_form |
stock.put.in.pack.form | stock.put.in.pack | form | Inherits stock.stock_put_in_pack_form |
stock_report_delivery_aggregated_move_lines_inherit_delivery |
stock_report_delivery_aggregated_move_lines_inherit_delivery | ir.ui.view | qweb | Inherits stock.stock_report_delivery_aggregated_move_lines |
stock_report_delivery_has_serial_move_line_inherit_delivery |
stock_report_delivery_has_serial_move_line_inherit_delivery | ir.ui.view | qweb | Inherits stock.stock_report_delivery_has_serial_move_line |
stock_report_delivery_package_section_line_inherit_delivery |
stock_report_delivery_package_section_line_inherit_delivery | ir.ui.view | qweb | Inherits stock.stock_report_delivery_package_section_line |
view_delivery_carrier_form_inherit_stock_delivery |
delivery.carrier.form | delivery.carrier | form | Inherits delivery.view_delivery_carrier_form |
view_move_line_tree_detailed_delivery |
stock.move.line.list.detailed | stock.move.line | list | Inherits stock.view_move_line_tree_detailed |
view_picking_type_form_delivery |
stock.picking.type.list.delivery | stock.picking.type | list | Inherits stock.view_picking_type_form |
view_picking_withcarrier_out_form |
delivery.stock.picking_withcarrier.form.view | stock.picking | form | Inherits stock.view_picking_form |
view_picking_withweight_internal_move_form |
stock.picking_withweight.internal.move.form.view | stock.move | form | Inherits stock.view_move_form |
view_stock_rule_form_delivery |
stock.rule.list.delivery | stock.rule | list | Inherits stock.view_stock_rule_form |
vpicktree_view_tree |
stock.picking.delivery.list.inherit.delivery | stock.picking | list | Inherits stock.vpicktree |
HTTP endpoints (0)
No HTTP endpoints found for this module.
Models touched (13)
New fields (0)
No new fields.
Public methods (0)No public methods.
New fields (2)
-
invoice_policySelectionhelp='Estimated Cost: the customer will be invoiced the estimated cost of the shipping.\nReal Cost: the customer will be invoiced the real cost of the shipping, the cost of theshipping will be updated on the SO after the delivery.'ondelete={'real': 'set default'}selection_add=[('real', 'Real cost')] -
route_idsMany2many → stock.routedomain=[('shipping_selectable', '=', True)] args: 'stock.route', 'stock_route_shipping', 'shipping_id', 'route_id', 'Routes'
-
base_on_rule_cancel_shipment(self, pickings) -
base_on_rule_get_tracking_link(self, picking) -
base_on_rule_send_shipping(self, pickings) -
cancel_shipment(self, pickings)Cancel a shipment :param pickings: A recordset of pickings -
fixed_cancel_shipment(self, pickings) -
fixed_get_tracking_link(self, picking) -
fixed_send_shipping(self, pickings) -
get_return_label(self, pickings, tracking_number=None, origin_date=None) -
get_return_label_prefix(self) -
get_tracking_link(self, picking)Ask the tracking link to the service provider :param picking: record of stock.picking :returns: an URL containing the tracking link or None :rtype: str | None -
send_shipping(self, pickings)Send the package to the service provider :param pickings: A recordset of pickings :returns: A list of dictionaries (one per picking) containing of the form:: { 'exact_price': price, 'tracking_number': number } :rtype: list[dict] | None
New fields (2)
-
country_of_originMany2one → res.countryhelp="Rules of origin determine where goods originate, i.e. not where they have been shipped from, but where they have been produced or manufactured.\nAs such, the ‘origin’ is the 'economic nationality' of goods traded in commerce." args: 'res.country', 'Origin of Goods' -
hs_codeCharhelp='Standardized code for international shipping and goods declaration.'string='HS Code'
No public methods.
New fields (0)
No new fields.
Public methods (1)-
set_delivery_line(self, carrier, amount)
New fields (0)
No new fields.
Public methods (0)No public methods.
New fields (1)
-
weightFloatcompute='_cal_move_weight'compute_sudo=Truedigits='Stock Weight'store=True
No public methods.
New fields (3)
-
carrier_idMany2onerelated='picking_id.carrier_id' -
destination_country_codeCharrelated='picking_id.destination_country_code' -
sale_priceFloatcompute='_compute_sale_price'
No public methods.
New fields (5)
-
package_carrier_typeSelectionrelated='package_type_id.package_carrier_type' -
weightFloatcompute='_compute_weight'digits='Stock Weight'help='Total weight of all the products contained in the package.' -
weight_is_kgBooleancompute='_compute_weight_is_kg' args: 'Technical field indicating whether weight uom is kg or not (i.e. lb)' -
weight_uom_nameCharcompute='_compute_weight_uom_name'default=_get_default_weight_uomreadonly=Truestring='Weight unit of measure label' -
weight_uom_roundingFloatcompute='_compute_weight_is_kg' args: "Technical field indicating weight's number of decimal places"
No public methods.
New fields (2)
-
package_carrier_typeSelectiondefault='none'string='Carrier' args: [('none', 'No carrier integration')] -
shipper_package_codeCharargs: 'Carrier Code'
No public methods.
New fields (12)
-
allowed_carrier_idsMany2many → delivery.carriercompute='_compute_allowed_carrier_ids' args: 'delivery.carrier' -
carrier_idMany2one → delivery.carriercheck_company=Truedomain="[('id', 'in', allowed_carrier_ids)]"string='Carrier' args: 'delivery.carrier' -
carrier_priceFloatstring='Shipping Cost' -
carrier_tracking_refCharcopy=Falsestring='Tracking Reference' -
carrier_tracking_urlCharcompute='_compute_carrier_tracking_url'string='Tracking URL' -
delivery_typeSelectionreadonly=Truerelated='carrier_id.delivery_type' -
destination_country_codeCharrelated='partner_id.country_id.code'string='Destination Country' -
integration_levelSelectionrelated='carrier_id.integration_level' -
is_return_pickingBooleancompute='_compute_return_picking' -
return_label_idsOne2many → ir.attachmentcompute='_compute_return_label' args: 'ir.attachment' -
weightFloatcompute='_cal_weight'compute_sudo=Truedigits='Stock Weight'help='Total weight of the products in the picking.'store=True -
weight_uom_nameCharcompute='_compute_weight_uom_name'default=_get_default_weight_uomreadonly=Truestring='Weight unit of measure label'
-
button_validate(self) -
cancel_shipment(self) -
get_multiple_carrier_tracking(self) -
open_website_url(self) -
print_return_label(self) -
send_to_shipper(self)
New fields (3)
-
package_carrier_typeCharargs: 'Carrier Type' -
shipping_weightFloatcompute='_compute_shipping_weight'readonly=Falsestore=True args: 'Shipping Weight' -
weight_uom_nameCharcompute='_compute_weight_uom_name'string='Weight unit of measure label'
No public methods.
New fields (0)
No new fields.
Public methods (0)No public methods.
New fields (1)
-
shipping_selectableBooleanargs: 'Applicable on Shipping Methods'
No public methods.
Loading…
Loading…