TIP: You can type at any time to perform a new search.
Delivery - Stock
stock_delivery · odoo/odoo
Security findings
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
Migration review checklist, not a compatibility verdict. No target version is selected: apply version-specific advice only when migrating to that version or later.
- Repository
- odoo/odoo · module folder
- Module version
- 0.1.0
- Category
- Shipping Connectors
- Folder size
- 1.75 MB
- License
- LGPL-3
- Application
- No
- Auto-installable
- Yes
- Website
- None
- Last tracking update
- 2026-10-05 00:19:53
- Authors
- Odoo S.A.
- Maintainers
- Odoo S.A.
- Committers
- Raphael Collet, Odoo Translation Bot, Christophe Matthieu, Arnold Moyaux, Xavier-Do, Victor Feyens, Andrea Grazioso (agr-odoo), William Henrotin, svs-odoo, Tiffany Chang (tic), Gorash, Romain Estievenart, luvi, Victor Piryns (pivi), Dylan Kiss (dyki), Paweł Fertyk, Louis Travaux, lase@odoo.com, Quentin Wolfs, kcv-odoo, Harsh Shah, Stéphane Diez, David Van Droogenbroeck (DROD), Mohammad Abdulmoneim (abdu), djameltouati, Krzysztof Magusiak (krma), Florian Malfroid, Hazem Ibrahim, Lulu Grimalkin (lugr), Lancelot Semal, Julien Launois (jula), Saurabh, Amr Elkhatieb, Lionel Piraux (lipi), srap-odoo, Nguyen Nguyen (ngtpn), Moamen(msho), Khaj-odoo, Stef Ossé, mdra-odoo, Lucas Gvasalia, pusu-odoo, Roman Hardy (rohar)
- Odoo dependencies
- Python dependencies
- None
- System dependencies
- None
- Required by
- l10n_it_stock_ddt, l10n_pk_edi, l10n_pk_edi_pos, l10n_ro_edi_stock, mrp_delivery, pos_sale_delivery, 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 (33)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
barcode_alternative_label |
barcode_alternative_label | ir.ui.view | qweb | Inherits product.barcode_alternative_label |
barcode_normal_label |
barcode_normal_label | ir.ui.view | qweb | Inherits product.barcode_normal_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 |
package_pdf_label_delivery |
package_pdf_label_delivery | ir.ui.view | qweb | Inherits stock.package_pdf_label |
package_zpl_label_delivery |
package_zpl_label_delivery | ir.ui.view | qweb | Inherits stock.package_zpl_label |
pay_on_delivery_form |
pay.on.delivery | pay.on.delivery | form | New |
product_product_hs_code |
product.product.form.hs_code | product.product | form | Inherits product.product_normal_form_view |
product_product_hs_code_list |
product.product.list.hs_code | product.product | list | Inherits product.product_product_tree_view |
product_template_hs_code |
product.template.form.hs_code | product.template | form | Inherits stock.product_template_form_view_stock |
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_shipping2 |
report_shipping2 | ir.ui.view | qweb | Inherits stock.report_picking |
report_shipping_docs |
report_shipping_docs | ir.ui.view | qweb | New |
report_shipping_labels |
report_shipping_labels | ir.ui.view | qweb | New |
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 (20)
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 (0)
No new fields.
Public methods (2)-
get_print_jobs(self, report_name, docids, data) -> list@api.modelMethod to render chatter attachments for ePOS or ZPL printers For ePOS, we limit to image attachments to avoid converting PDF to images. -
get_reports_from_chatter(self, report_name, docids)Shipping labels and docs are generated by carrier providers and are saved as attachments in the chatter
New fields (3)
-
amount_to_collectMonetarycompute='_compute_amount_to_collect' -
currency_idMany2onerelated='order_ids.currency_id' -
order_idsMany2many → sale.ordercomodel_name='sale.order'compute='_compute_order_ids'
-
action_proceed(self)Acknowledge the amount still due and resume the picking validation. This is only a confirmation that the money has been (or will be) collected: no payment is registered here. The payment is recorded later, when it is settled in the PoS.
New fields (0)
No new fields.
Public methods (0)No public methods.
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 (2)
-
country_of_originMany2one → res.countrycomodel_name='res.country'compute='_compute_country_of_origin'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."inverse='_inverse_variant_country_of_origin'string='Origin of Goods' -
hs_codeCharcompute='_compute_variant_hs_code'help='Standardized code for international shipping and goods declaration.'inverse='_inverse_variant_hs_code'string='HS Code'
No public methods.
New fields (1)
-
pickup_location_dataJsonhelp='Technical field: information needed by delivery providers in case of pickup point addresses.' args: 'Pickup Location Data'
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'init_storage=<expr>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 (0)
No new fields.
Public methods (0)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)]"index='btree_not_null'string='Carrier'tracking=True 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 (0)
No new fields.
Public methods (0)No public methods.
New fields (5)
-
auto_print_carrier_labelsBooleanhelp='Automatically print the carrier labels of the picking when they are created.' args: 'Auto Print Carrier Labels' -
auto_print_export_documentsBooleanhelp='Automatically print the export documents of the picking when they are created. Availability of export documents depends on the carrier and the destination.' args: 'Auto Print Export Documents' -
batch_group_by_carrierBooleanhelp='Automatically group batches by carriers' args: 'Carrier' -
batch_max_weightIntegerhelp="A transfer will not be automatically added to batches that will exceed this weight if the transfer is added to it.\nLeave this value as '0' if no weight limit." args: 'Maximum weight' -
weight_uom_nameCharcompute='_compute_weight_uom_name'default=_get_default_weight_uomreadonly=Truestring='Weight unit of measure label'
No public methods.
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 (1)
-
shipping_selectableBooleanargs: 'Applicable on Delivery Methods'
No public methods.
Loading…
Loading…
Loading…