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 IDNameModelTypeStatus
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_policy Selection
    help='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_ids Many2many → stock.route
    domain=[('shipping_selectable', '=', True)] args: 'stock.route', 'stock_route_shipping', 'shipping_id', 'route_id', 'Routes'
Public methods (11)
  • 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_origin Many2one → res.country
    help="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_code Char
    help='Standardized code for international shipping and goods declaration.' string='HS Code'
Public methods (0)

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)
  • weight Float
    compute='_cal_move_weight' compute_sudo=True digits='Stock Weight' store=True
Public methods (0)

No public methods.

New fields (3)
  • carrier_id Many2one
    related='picking_id.carrier_id'
  • destination_country_code Char
    related='picking_id.destination_country_code'
  • sale_price Float
    compute='_compute_sale_price'
Public methods (0)

No public methods.

New fields (5)
  • package_carrier_type Selection
    related='package_type_id.package_carrier_type'
  • weight Float
    compute='_compute_weight' digits='Stock Weight' help='Total weight of all the products contained in the package.'
  • weight_is_kg Boolean
    compute='_compute_weight_is_kg' args: 'Technical field indicating whether weight uom is kg or not (i.e. lb)'
  • weight_uom_name Char
    compute='_compute_weight_uom_name' default=_get_default_weight_uom readonly=True string='Weight unit of measure label'
  • weight_uom_rounding Float
    compute='_compute_weight_is_kg' args: "Technical field indicating weight's number of decimal places"
Public methods (0)

No public methods.

New fields (2)
  • package_carrier_type Selection
    default='none' string='Carrier' args: [('none', 'No carrier integration')]
  • shipper_package_code Char
    args: 'Carrier Code'
Public methods (0)

No public methods.

New fields (12)
  • allowed_carrier_ids Many2many → delivery.carrier
    compute='_compute_allowed_carrier_ids' args: 'delivery.carrier'
  • carrier_id Many2one → delivery.carrier
    check_company=True domain="[('id', 'in', allowed_carrier_ids)]" string='Carrier' args: 'delivery.carrier'
  • carrier_price Float
    string='Shipping Cost'
  • carrier_tracking_ref Char
    copy=False string='Tracking Reference'
  • carrier_tracking_url Char
    compute='_compute_carrier_tracking_url' string='Tracking URL'
  • delivery_type Selection
    readonly=True related='carrier_id.delivery_type'
  • destination_country_code Char
    related='partner_id.country_id.code' string='Destination Country'
  • integration_level Selection
    related='carrier_id.integration_level'
  • is_return_picking Boolean
    compute='_compute_return_picking'
  • return_label_ids One2many → ir.attachment
    compute='_compute_return_label' args: 'ir.attachment'
  • weight Float
    compute='_cal_weight' compute_sudo=True digits='Stock Weight' help='Total weight of the products in the picking.' store=True
  • weight_uom_name Char
    compute='_compute_weight_uom_name' default=_get_default_weight_uom readonly=True string='Weight unit of measure label'
Public methods (6)
  • 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_type Char
    args: 'Carrier Type'
  • shipping_weight Float
    compute='_compute_shipping_weight' readonly=False store=True args: 'Shipping Weight'
  • weight_uom_name Char
    compute='_compute_weight_uom_name' string='Weight unit of measure label'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (1)
  • shipping_selectable Boolean
    args: 'Applicable on Shipping Methods'
Public methods (0)

No public methods.

Loading…

Loading…