Skip to content

Commit e168d49

Browse files
Felicioushojo-odooStraubCreative
committed
[IMP] inventory: update delivery methods from 12 to 16
closes #6600 X-original-commit: 4e2b634 Signed-off-by: Zachary Straub (zst) <[email protected]> Co-authored-by: hojo-odoo <[email protected]> Co-authored-by: Zachary Straub <[email protected]>
1 parent 5cf7869 commit e168d49

File tree

11 files changed

+183
-66
lines changed

11 files changed

+183
-66
lines changed

content/applications/inventory_and_mrp/inventory/shipping/operation/invoicing.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
How to invoice the shipping cost to the customer?
33
=================================================
44

5+
.. _inventory/shipping/invoice:
6+
57
Overview
68
========
79

Lines changed: 179 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -1,100 +1,213 @@
1-
===============================
2-
How to setup a delivery method?
3-
===============================
1+
================
2+
Delivery methods
3+
================
44

5-
Overview
6-
========
5+
When activated in Odoo, the *Delivery Methods* setting adds the option of calculating the cost of
6+
shipping on sales orders and e-commerce shopping carts.
77

8-
Odoo can handle various delivery methods, but it is not activated by
9-
default. Delivery methods can be used for your sale orders, your
10-
deliveries but also on your e-commerce.
8+
When integrated with a :ref:`third-party carrier <inventory/shipping/third_party>`, shipping prices
9+
are calculated based on the carrier's pricing and packaging information.
1110

12-
Delivery methods allow you to manage the transport company, the price
13-
and the destination. You can even integrate Odoo with external shippers
14-
to compute the real price and the packagings.
11+
.. seealso::
12+
- :ref:`Third-party shipping carrier setup <inventory/shipping/third_party>`
13+
- `Odoo Tutorials: Delivery Prices
14+
<https://www.odoo.com/slides/slide/delivery-prices-613?fullscreen=1>`_
1515

1616
Configuration
1717
=============
1818

19-
Install the inventory module
20-
----------------------------
19+
To calculate shipping on sales orders and e-commerce, the *Delivery Costs* module must be installed.
20+
To do so, navigate to the :menuselection:`Apps` application from the main Odoo dashboard.
2121

22-
Delivery methods are handled by the **Delivery costs** module. Go to
23-
**Apps** and search for the module. You should remove the **Apps** filter in
24-
order to see it :
22+
Then, remove the :guilabel:`Apps` filter, and type in `Delivery Costs` in the :guilabel:`Search...`
23+
bar. After finding the :guilabel:`Delivery Costs` module, click :guilabel:`Activate` to install it.
2524

26-
.. image:: delivery_method/setup05.png
25+
.. image:: delivery_method/install-module.png
2726
:align: center
27+
:alt: Install the *Delivery Costs* module.
28+
29+
Add shipping method
30+
===================
31+
32+
To configure delivery methods, go to :menuselection:`Inventory app --> Configuration --> Shipping
33+
Methods`.
2834

2935
.. note::
30-
If you want to integrate delivery methods in your e-commerce,
31-
you'll have to install the **eCommerce Delivery** module.
36+
If the :guilabel:`Shipping Methods` option is not available from the :guilabel:`Configuration`
37+
drop-down menu, verify whether the feature is enabled by following these steps:
3238

33-
Configure the delivery method
34-
-----------------------------
39+
#. Go to :menuselection:`Inventory app --> Configuration --> Settings`.
40+
#. Scroll to the :guilabel:`Shipping` section and enable the :guilabel:`Delivery Methods` feature
41+
by checking the corresponding checkbox.
3542

36-
To configure your delivery methods, go to the **Inventory** module,
37-
click on :menuselection:`Configuration --> Delivery Methods`.
43+
.. image:: delivery_method/enable-delivery.png
44+
:align: center
45+
:alt: Enable the *Delivery Methods* feature by checking the box in Configuration > Settings.
3846

39-
First set a name and a transporter company.
47+
On the :guilabel:`Shipping Methods` page, add a method by clicking :guilabel:`New`. Doing so opens
48+
a form to provide details about the shipping provider, including:
4049

41-
.. image:: delivery_method/setup03.png
42-
:align: center
50+
- :guilabel:`Shipping Method` (*Required field*): the name of the delivery method (e.g. `flat-rate
51+
shipping`, `same day delivery`, etc.).
52+
- :guilabel:`Provider` (*Required field*): choose the delivery service, like Fedex, if using a
53+
:ref:`third-party carrier <inventory/shipping/third_party>`. Ensure the integration with the
54+
shipping carrier is properly installed and select the provider from the drop-down menu.
4355

44-
Then you'll have to set the pricing. It can be fixed or based on rules.
56+
For more details on configuring custom shipping methods, such as :ref:`fixed price
57+
<inventory/shipping/fixed>`, :ref:`based on rules <inventory/shipping/rules>`, or :ref:`pickup in
58+
store <inventory/shipping/pickup>` options, refer to their respective sections below.
59+
- :guilabel:`Website`: configure shipping methods for an e-commerce page. Select the applicable
60+
website from the drop-down menu, or leave it blank to apply the method to all web pages.
61+
- :guilabel:`Company`: if the shipping method should apply to a specific company, select it from the
62+
drop-down menu. Leave the field blank to apply the method to all companies.
63+
- :guilabel:`Delivery Product` (*Required field*): the product listed on the :ref:`sales order line
64+
<inventory/shipping/sales-order>` as the delivery charge.
65+
- :guilabel:`Free if order amount is above`: checking this box enables free shipping if the customer
66+
spends above the specified amount.
4567

46-
- If the price is fixed, tick **Fixed price**. You'll just have to define
47-
the price. If you want the delivery to be free above a certain
48-
amount, tick the option **Free if Order total is more
49-
than** and set a price.
68+
For examples on how to configure specific shipping methods, refer to the sections below.
5069

51-
.. image:: delivery_method/setup06.png
52-
:align: center
70+
.. _inventory/shipping/fixed:
5371

54-
- If the price varies according to rules, tick **Based on Rules**. Click
55-
on **add an item to a pricing rule**. Choose a condition based on
56-
either the weight, the volume, the price or the quantity.
72+
Fixed price
73+
-----------
5774

58-
.. image:: delivery_method/setup04.png
59-
:align: center
75+
To configure a shipping price that is the same for all orders, go to :menuselection:`Inventory app
76+
--> Configuration --> Shipping Methods`. Then, click :guilabel:`New`, and on the shipping method
77+
form, set the :guilabel:`Provider` to the :guilabel:`Fixed Price` option. Selecting this option
78+
makes the :guilabel:`Fixed Price` field become available, which is where the fixed rate shipping
79+
amount is defined.
6080

61-
Finally you can limit the delivery method to a few destinations. The
62-
limit can be applied to some countries, states or even zip codes. This
63-
feature limits the list of countries on your e-commerce.
81+
To enable free shipping if the amount of the order exceeds a specified amount, check the box
82+
:guilabel:`Free if order amount is above` and fill in the amount.
6483

65-
.. image:: delivery_method/setup02.png
66-
:align: center
84+
.. example::
85+
To set up `$20` flat-rate shipping that becomes free if the customer spends over `$100`, fill in
86+
the following fields:
6787

68-
.. note::
69-
You can integrate Odoo with external shippers in order to compute the
70-
real price and packagings, and handle the printing the shipping labels.
71-
See :doc:`third_party_shipper`
88+
- :guilabel:`Shipping Method`: `Flat-rate shipping`
89+
- :guilabel:`Provider`: :guilabel:`Fixed Price`
90+
- :guilabel:`Fixed Price`: `$20.00`
91+
- :guilabel:`Free if order amount is above`: `$100.00`
92+
- :guilabel:`Delivery Product`: `[SHIP] Flat`
7293

73-
Delivery process
74-
================
94+
.. image:: delivery_method/new-shipping-method.png
95+
:align: center
96+
:alt: Example of filling out a shipping method.
7597

76-
Sale order
77-
----------
98+
.. _inventory/shipping/rules:
7899

79-
.. image:: delivery_method/setup07.png
80-
:align: center
100+
Based on rules
101+
--------------
81102

82-
You can now choose the **Delivery Method** on your sale order. If you want
83-
to invoice the price of the delivery charge on the sale order, click on
84-
**Set price**, it will add a line with the name of the delivery method as
85-
a product.
103+
To calculate the price of shipping based on pricing rules, set the :guilabel:`Provider` field to the
104+
:guilabel:`Based on Rules` option. Optionally, adjust :guilabel:`Margin on Rate` and
105+
:guilabel:`Additional margin` to include additional shipping costs.
86106

87-
Delivery
88-
--------
107+
Create pricing rules
108+
~~~~~~~~~~~~~~~~~~~~
89109

90-
You can add or change the delivery method on the delivery itself.
110+
Navigate to the :guilabel:`Pricing` tab and click :guilabel:`Add a line`. Doing so opens the
111+
:guilabel:`Create Pricing Rules` window, where the :guilabel:`Condition` related to the product
112+
weight, volume, price, or quantity is compared to a defined amount to calculate the
113+
:guilabel:`Delivery Cost`.
91114

92-
.. image:: delivery_method/setup01.png
93-
:align: center
115+
Once finished, click either :guilabel:`Save & New` to add another rule, or :guilabel:`Save & Close`.
116+
117+
.. example::
118+
To charge customers $20 in shipping for orders with five or fewer products, set the
119+
:guilabel:`Condition` to `Quantity <= 5.00`, and the :guilabel:`Delivery Cost` to `$20`.
120+
121+
.. image:: delivery_method/pricing-rule.png
122+
:align: center
123+
:alt: Display window to add a pricing rule. Set a condition and delivery cost.
124+
125+
To restrict shipping to specific destinations on the eCommerce website, in the shipping method form,
126+
navigate to the :guilabel:`Destination Availability` tab and define the :guilabel:`Countries`,
127+
:guilabel:`States`, and :guilabel:`Zip Prefixes`. Leave these fields empty if all locations apply.
128+
129+
Calculate delivery cost
130+
~~~~~~~~~~~~~~~~~~~~~~~
131+
132+
Shipping cost is the :guilabel:`Delivery cost` specified in the rule that satisfies the
133+
:guilabel:`Condition`, plus any extra charges from the :guilabel:`Margin on rate` and
134+
:guilabel:`Additional margin`.
135+
136+
.. math::
137+
Total = Rule's~Delivery~Cost + (Margin~on~rate \times Rule's~Delivery~Cost) + Additional~margin
138+
139+
.. example::
140+
With the two following rules set up:
141+
142+
#. If the order contains five or fewer products, shipping is $20
143+
#. If the order contains more than five products, shipping is $50.
144+
145+
:guilabel:`Margin on Rate` is `10%` and :guilabel:`Additional margin` is `$9.00`.
94146

95-
On the delivery, check the **Carrier Information**. The carrier is the
96-
chosen delivery method.
147+
.. image:: delivery_method/delivery-cost-example.png
148+
:align: center
149+
:alt: Show example of "Based on rules" shipping method with margins configured.
150+
151+
When the first rule is applied, the delivery cost is $31 (20 + (0.1 * 20) + 9). When the second
152+
rule is applied, the delivery cost is $64 (50 + (0.1 * 50) + 9).
153+
154+
.. _inventory/shipping/pickup:
155+
156+
Pickup in store
157+
---------------
158+
159+
To configure in-store pickup, select :guilabel:`Pickup in store` in the :guilabel:`Provider` field
160+
and specify the pickup location in :guilabel:`Warehouse`.
161+
162+
To invoice the customer for the shipping cost to the pickup location, choose the :guilabel:`Get Rate
163+
and Create Shipment` option in the :guilabel:`Integration Level` field. Then, pick either the
164+
:guilabel:`Estimated cost` or :guilabel:`Real cost` radio options in the :guilabel:`Invoicing
165+
Policy` field to decide whether the added shipping charge on the sales order is the precise cost
166+
from the shipping carrier.
97167

98168
.. seealso::
99-
* :doc:`third_party_shipper`
100-
* :doc:`../operation/invoicing`
169+
:ref:`Invoice cost of shipping <inventory/shipping/invoice>`
170+
171+
.. _inventory/shipping/sales-order:
172+
173+
Add shipping
174+
============
175+
176+
Shipping methods can be added to sales orders in the form of delivery products, which appear as
177+
individual line items. First, navigate to the desired sales order by going to :menuselection:`Sales
178+
app --> Orders --> Orders`.
179+
180+
On the sales order, click the :guilabel:`Add shipping` button, which opens the :guilabel:`Add a
181+
shipping method` pop-up window. Then, choose a :guilabel:`Shipping Method` from the list.
182+
183+
The :guilabel:`Total Order Weight` is pre-filled based on product weights (that are defined in the
184+
:guilabel:`Inventory` tab for each product form). Edit the field to specify the exact weight, and
185+
then click :guilabel:`Add` to add the shipping method.
186+
187+
.. note::
188+
The amount defined in :guilabel:`Total Order Weight` overwrites the total product weights defined
189+
on the product form.
190+
191+
The shipping cost is added to the *sales order line* as the :guilabel:`Delivery Product` detailed on
192+
the shipping method form.
193+
194+
.. example::
195+
`Furniture Delivery`, a delivery product with a fixed rate of `$200`, is added to sales order
196+
`S00088`.
197+
198+
.. image:: delivery_method/delivery-product.png
199+
:align: center
200+
:alt: Show delivery order on the sales order line.
201+
202+
Delivery order
203+
--------------
204+
205+
The shipping method added to the sales order is linked to the shipping carrier details on the
206+
delivery order. To add or change the delivery method on the delivery itself, go to the
207+
:guilabel:`Additional Info` tab and modify the :guilabel:`Carrier` field.
208+
209+
.. image:: delivery_method/delivery-order.png
210+
:align: center
211+
:alt: Shipping carrier information on the delivery form.
212+
213+
13.4 KB
Loading
5.98 KB
Loading
21.1 KB
Loading
16 KB
Loading
4.61 KB
Loading
8.97 KB
Loading
6.25 KB
Loading
Binary file not shown.

0 commit comments

Comments
 (0)