TIP: You can type at any time to perform a new search.
Delivery Costs
delivery · odoo/odoo
Security findings
- Repository
- odoo/odoo · module folder
- Module version
- 0.1.0
- Category
- Sales/Delivery
- Folder size
- 2.93 MB
- License
- LGPL-3
- Application
- No
- Auto-installable
- No
- Website
- None
- Last tracking update
- 2026-10-05 00:19:49
- Authors
- Odoo S.A.
- Maintainers
- Odoo S.A.
- Committers
- Raphael Collet, Thibault Delavallée, Odoo Translation Bot, Christophe Matthieu, Arnold Moyaux, Romeo Fragomeli, Victor Feyens, svs-odoo, Tiffany Chang (tic), Romain Estievenart, Antoine Vandevenne (anv), luvi, Victor Piryns (pivi), amdi-odoo, Andrew Gavgavian, Dylan Kiss (dyki), Chong Wang (cwg), Arnaud Sibille, vava-odoo, Harsh Shah, Patricia Daloze (pda), Mohammad Abdulmoneim (abdu), Anton Romanova (roan), Michaël Mattiello, Valeriya (vchu), Carmine, Mahdi Alijani (malj), anko-odoo, Krzysztof Magusiak (krma), Florian Malfroid, Akash Pandey, Julien Launois (jula), Waleed Elgamal, Eliott Loop (oplo-odoo), Leila Kerroum Balaguer, Lionel Piraux (lipi), livaios, Ravij Parikh, Mazen, srap-odoo, Zachary (zavan), Youssef (abyo), Khaj-odoo, Karim Gamaleldin, Julien Piron, Lucas Gvasalia, Jean Schoenlaub, Corentin Deruyck, pusu-odoo, Cezar Bulancea (cebul)
- Odoo dependencies
- Python dependencies
- None
- System dependencies
- None
- Required by
- sale_gelato, sale_loyalty_delivery, stock_delivery, website_sale
- Description
Allows you to add delivery methods in sale orders. ================================================== You can define your own carrier for prices. The system is able to add and compute the shipping line.
Code Analysis
Views touched (19)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
choose_delivery_carrier_view_form |
choose.delivery.carrier.form | choose.delivery.carrier | form | New |
delivery.state_header |
delivery.state_header | ir.ui.view | qweb | Inherits payment.state_header |
delivery_note_form_view |
delivery.note.wizard.form | delivery.note.wizard | form | New |
delivery_note_list_view |
delivery.note.wizard.line.list | delivery.note.wizard.line | list | New |
delivery_provider_module_kanban |
Delivery Provider Module Kanban | ir.module.module | kanban | Inherits base.module_view_kanban |
delivery_provider_module_list |
Delivery Provider Module List | ir.module.module | list | Inherits base.module_tree |
delivery_report_saleorder_document |
delivery_report_saleorder_document | ir.ui.view | qweb | Inherits sale.report_saleorder_document |
delivery_submit_button |
delivery_submit_button | ir.ui.view | qweb | Inherits payment.submit_button |
payment_provider_form |
COD Provider Form | payment.provider | form | Inherits payment_custom.payment_provider_form |
report_delivery_note |
report_delivery_note | ir.ui.view | qweb | New |
res_config_settings_view_form |
res.config.settings.view.form.inherit.delivery | res.config.settings | form | Inherits sale.res_config_settings_view_form |
view_delivery_carrier_form |
delivery.carrier.form | delivery.carrier | form | New |
view_delivery_carrier_search |
delivery.carrier.search | delivery.carrier | search | New |
view_delivery_carrier_so_list |
delivery.carrier.so.list | delivery.carrier | list | New |
view_delivery_carrier_tree |
delivery.carrier.list | delivery.carrier | list | New |
view_delivery_price_rule_form |
delivery.price.rule.form | delivery.price.rule | form | New |
view_delivery_price_rule_tree |
delivery.price.rule.list | delivery.price.rule | list | New |
view_order_form_with_carrier |
delivery.sale.order.form.view.with_carrier | sale.order | form | Inherits sale.view_order_form |
view_partner_property_form |
res.partner.carrier.property.form.inherit | res.partner | form | Inherits sale.res_partner_view_form_property_inherit |
HTTP endpoints (0)
No HTTP endpoints found for this module.
Models touched (16)
New fields (17)
-
available_carrier_idsMany2many → delivery.carriercomodel_name='delivery.carrier'compute='_compute_available_carrier'string='Available Carriers' -
carrier_idMany2one → delivery.carriercomodel_name='delivery.carrier'domain="[('id', 'in', available_carrier_ids)]"required=Truestring='Delivery Method' -
carrier_pricesJson -
carrier_prices_dumpedChar -
company_idMany2one → res.companycomodel_name='res.company'related='order_id.company_id' -
currency_idMany2one → res.currencycomodel_name='res.currency'related='order_id.currency_id' -
delivery_messageTextreadonly=True -
delivery_priceFloat -
delivery_typeSelectionrelated='carrier_id.delivery_type' -
display_priceFloatreadonly=Truestring='Cost' -
invoicing_messageTextcompute='_compute_invoicing_message' -
is_loading_pricesBooleandefault=False -
order_idMany2one → sale.ordercomodel_name='sale.order'ondelete='cascade'required=True -
partner_idMany2one → res.partnercomodel_name='res.partner'related='order_id.partner_id'required=True -
show_delivery_rates_buttonIntegercompute='_compute_show_delivery_rates_button' args: 'Number of carriers' -
total_weightFloatreadonly=Falserelated='order_id.shipping_weight'string='Total Order Weight' -
weight_uom_nameChardefault=_get_default_weight_uomreadonly=True
-
button_confirm(self) -
get_wizard_carrier_rate(self, carrier_id)Compute delivery prices for a single carier -
update_price(self)
New fields (37)
-
activeBooleandefault=True -
allow_cash_on_deliveryBooleanhelp='Allow customers to choose Cash on Delivery as their payment method.'string='Cash on Delivery' -
amountFloatdefault=1000help='Amount of the order to benefit from a free shipping, expressed in the company currency.' -
can_generate_returnBooleancompute='_compute_can_generate_return' -
carrier_descriptionTexthelp='A description of the delivery method that you want to communicate to your customers on the Sales Order and sales confirmation email. E.g. instructions for customers to follow.'string='Description'translate=True -
company_idMany2one → res.companycomodel_name='res.company'readonly=Falserelated='product_id.company_id'store=True -
country_idsMany2many → res.countrycolumn1='carrier_id'column2='country_id'comodel_name='res.country'relation='delivery_carrier_country_rel'string='Countries' -
currency_idMany2onerelated='product_id.currency_id' -
debug_loggingBooleanhelp='Log requests in order to ease debugging'string='Debug logging' -
delivery_costMonetarycompute='_compute_delivery_cost'currency_field='delivery_currency_id'readonly=Truestring='Cost' -
delivery_currency_idMany2one → res.currencycomodel_name='res.currency'compute='_compute_delivery_currency_id' -
delivery_typeSelectiondefault='fixed'required=Trueselection=[('base_on_rule', 'Based on Rules'), ('fixed', 'Fixed Price')]string='Provider' -
excluded_tag_idsMany2many → product.tagcomodel_name='product.tag'help='The method is NOT available if at least one product of the order has one of these tags.'relation='product_tag_delivery_carrier_excluded_rel'string='Excluded Tags' -
fixed_marginFloathelp='This fixed amount will be added to the shipping price.' -
fixed_priceFloatcompute='_compute_fixed_price'inverse='_set_product_fixed_price'store=Truestring='Fixed Price' -
free_overBooleanhelp='If the order total amount (shipping excluded) is above or equal to this value, the customer benefits from a free shipping.'string='Free if order amount is above' -
get_return_label_from_portalBooleanhelp='The return label can be downloaded by the customer from the customer portal.'string='Return Label Accessible from Customer Portal' -
integration_levelSelectiondefault='rate_and_ship'help='Action while validating Delivery Orders.'selection=[('rate', 'Get Rate'), ('rate_and_ship', 'Get Rate and Create Shipment')] -
invoice_policySelectiondefault='estimated'help='Estimated Cost: the customer will be invoiced the estimated cost of the shipping.'required=Trueselection=[('estimated', 'Estimated cost')]string='Invoicing Policy' -
marginFloathelp='This percentage will be added to the shipping price.' -
max_volumeFloathelp="If the total volume of the order is over this volume, the method won't be available." -
max_weightFloathelp="If the total weight of the order is over this weight, the method won't be available." -
must_have_tag_idsMany2many → product.tagcomodel_name='product.tag'help='The method is available only if at least one product of the order has one of these tags.'relation='product_tag_delivery_carrier_must_have_rel'string='Must Have Tags' -
nameCharrequired=Truestring='Delivery Method'translate=True -
price_rule_idsOne2many → delivery.price.rulecomodel_name='delivery.price.rule'copy=Trueinverse_name='carrier_id'string='Pricing Rules' -
prod_environmentBooleanhelp='Set to True if your credentials are certified for production.'string='Environment' -
product_idMany2one → product.productcomodel_name='product.product'ondelete='restrict'required=Truestring='Delivery Product' -
return_label_on_deliveryBooleanhelp='The return label is automatically generated at the delivery.'string='Generate Return Label' -
sequenceIntegerdefault=10help='Determine the display order' -
shipping_insuranceIntegerdefault=0help='Shipping insurance is a service which may reimburse senders whose parcels are lost, stolen, and/or damaged in transit.'string='Insurance Percentage' -
state_idsMany2many → res.country.statecolumn1='carrier_id'column2='state_id'comodel_name='res.country.state'relation='delivery_carrier_state_rel'string='States' -
supports_cash_on_deliveryBooleancompute='_compute_supports_cash_on_delivery' -
supports_shipping_insuranceBooleancompute='_compute_supports_shipping_insurance' -
tracking_urlCharhelp='This option adds a link for the customer in the portal to track their package easily. Use <shipmenttrackingnumber> as a placeholder in your URL.'string='Tracking Link' -
volume_uom_nameCharcompute='_compute_volume_uom_name'string='Volume unit of measure label' -
weight_uom_nameCharcompute='_compute_weight_uom_name'string='Weight unit of measure label' -
zip_prefix_idsMany2many → delivery.zip.prefixcolumn1='carrier_id'column2='zip_prefix_id'comodel_name='delivery.zip.prefix'help="Prefixes of zip codes that this delivery method applies to. Note that regular expressions can be used to support countries with varying zip code lengths, i.e. '$' can be added to end of prefix to match the exact zip (e.g. '100$' will only match '100' and not '1000')"relation='delivery_zip_prefix_rel'string='Zip Prefixes'
-
available_carriers(self, partner, source) -
base_on_rule_rate_shipment(self, order) -
fixed_rate_shipment(self, order) -
install_more_provider(self) -
log_xml(self, xml_string, func) -
rate_shipment(self, order)Compute the price of the order shipment. :param order: record of sale.order :returns: a dict with structure :: {'success': boolean, 'price': a float, 'error_message': a string containing an error message, 'warning_message': a string containing a warning message} :rtype: dict -
toggle_debug(self) -
toggle_prod_environment(self) -
write(self, vals)
New fields (10)
-
company_idMany2onerelated='so_id.company_id' -
dm_idMany2one → delivery.carriercheck_company=Truecomodel_name='delivery.carrier'string='Delivery method' -
nameChardefault='/'string='Note Reference' -
note_line_idsOne2many → delivery.note.wizard.linecomodel_name='delivery.note.wizard.line'inverse_name='note_id'string='Operations' -
partner_idMany2one → res.partnercomodel_name='res.partner'related='so_id.partner_id' -
shipping_dateDatedefault=fields.Date.todaystring='Shipping Date' -
so_idMany2one → sale.ordercomodel_name='sale.order'string='Sales Order' -
so_referenceCharrelated='so_id.name'string='Order reference' -
tracking_refCharstring='Tracking Reference' -
tracking_urlCharcompute='_compute_tracking_url'string='Tracking URL'
-
action_confirm(self)
New fields (7)
-
note_idMany2one → delivery.note.wizardcomodel_name='delivery.note.wizard'string='Delivery Note Reference' -
product_idMany2one → product.productcomodel_name='product.product'related='sol_id.product_id' -
product_imageImagerelated='product_id.image_128' -
product_uom_idMany2one → uom.uomcomodel_name='uom.uom'related='sol_id.product_uom_id' -
product_uom_qtyFloatcompute='_compute_product_uom_qty'readonly=Falsestore=Truestring='Quantity' -
remaining_qty_to_shipFloatcompute='_compute_remaining_qty_to_ship' -
sol_idMany2one → sale.order.linecomodel_name='sale.order.line'string='Source Sale Order Line'
No public methods.
New fields (11)
-
carrier_idMany2one → delivery.carriercomodel_name='delivery.carrier'index=Trueondelete='cascade'required=True -
currency_idMany2onerelated='carrier_id.currency_id' -
list_base_priceFloatdefault=0.0min_display_digits='Product Price'required=Truestring='Sale Base Price' -
list_priceFloatdefault=0.0min_display_digits='Product Price'required=Truestring='Sale Price' -
max_valueFloatrequired=Truestring='Maximum Value' -
nameCharcompute='_compute_name' -
operatorSelectiondefault='<='required=Trueselection=[('==', '='), ('<=', '<='), ('<', '<'), ('>=', '>='), ('>', '>')] -
sequenceIntegerdefault=10required=True -
variableSelectiondefault='quantity'required=Trueselection=VARIABLE_SELECTION -
variable_factorSelectiondefault='weight'required=Trueselection=VARIABLE_SELECTION -
variable_unitCharcompute='_compute_variable_unit'
No public methods.
New fields (1)
-
nameCharrequired=Truestring='Prefix'
-
create(self, vals_list)@api.model_create_multi -
write(self, vals)
New fields (0)
No new fields.
Public methods (0)No public methods.
New fields (0)
No new fields.
Public methods (1)-
action_view_delivery_methods(self)
New fields (0)
No new fields.
Public methods (0)No public methods.
New fields (1)
-
custom_modeSelectionselection_add=[('cash_on_delivery', 'Cash On Delivery')]
-
copy_data(self, default=None)
New fields (0)
No new fields.
Public methods (0)No public methods.
New fields (0)
No new fields.
Public methods (0)No public methods.
New fields (0)
No new fields.
Public methods (1)-
action_install_more_provider(self)
New fields (1)
-
property_delivery_carrier_idMany2one → delivery.carriercomodel_name='delivery.carrier'company_dependent=Truehelp='Used in sales orders.'string='Delivery Method'
No public methods.
New fields (6)
-
carrier_idMany2one → delivery.carriercheck_company=Truecomodel_name='delivery.carrier'help='Fill this field if you plan to invoice the shipping based on picking.'index='btree_not_null'string='Delivery Method' -
delivery_messageCharcopy=Falsereadonly=True -
delivery_setBooleancompute='_compute_delivery_state' -
is_all_serviceBooleancompute='_compute_is_service_products'string='Service Product' -
recompute_delivery_priceBooleanstring='Delivery cost should be recomputed' -
shipping_weightFloatcompute='_compute_shipping_weight'readonly=Falsestore=True
-
action_open_delivery_note_wizard(self) -
action_open_delivery_wizard(self) -
onchange_order_line(self)@api.onchange('order_line', 'partner_id', 'partner_shipping_id') -
set_delivery_line(self, carrier, amount)
New fields (3)
-
is_deliveryBooleandefault=Falsestring='Is a Delivery' -
product_qtyFloatcompute='_compute_product_qty'digits='Product Unit'string='Product Qty' -
recompute_delivery_priceBooleanrelated='order_id.recompute_delivery_price'
-
unlink(self)
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…