|
1 | | -=============================== |
2 | | -How to setup a delivery method? |
3 | | -=============================== |
| 1 | +================ |
| 2 | +Delivery methods |
| 3 | +================ |
4 | 4 |
|
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. |
7 | 7 |
|
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. |
11 | 10 |
|
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>`_ |
15 | 15 |
|
16 | 16 | Configuration |
17 | 17 | ============= |
18 | 18 |
|
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. |
21 | 21 |
|
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. |
25 | 24 |
|
26 | | -.. image:: delivery_method/setup05.png |
| 25 | +.. image:: delivery_method/install-module.png |
27 | 26 | :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`. |
28 | 34 |
|
29 | 35 | .. 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: |
32 | 38 |
|
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. |
35 | 42 |
|
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. |
38 | 46 |
|
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: |
40 | 49 |
|
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. |
43 | 55 |
|
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. |
45 | 67 |
|
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. |
50 | 69 |
|
51 | | -.. image:: delivery_method/setup06.png |
52 | | - :align: center |
| 70 | +.. _inventory/shipping/fixed: |
53 | 71 |
|
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 | +----------- |
57 | 74 |
|
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. |
60 | 80 |
|
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. |
64 | 83 |
|
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: |
67 | 87 |
|
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` |
72 | 93 |
|
73 | | -Delivery process |
74 | | -================ |
| 94 | + .. image:: delivery_method/new-shipping-method.png |
| 95 | + :align: center |
| 96 | + :alt: Example of filling out a shipping method. |
75 | 97 |
|
76 | | -Sale order |
77 | | ----------- |
| 98 | +.. _inventory/shipping/rules: |
78 | 99 |
|
79 | | -.. image:: delivery_method/setup07.png |
80 | | - :align: center |
| 100 | +Based on rules |
| 101 | +-------------- |
81 | 102 |
|
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. |
86 | 106 |
|
87 | | -Delivery |
88 | | --------- |
| 107 | +Create pricing rules |
| 108 | +~~~~~~~~~~~~~~~~~~~~ |
89 | 109 |
|
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`. |
91 | 114 |
|
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`. |
94 | 146 |
|
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. |
97 | 167 |
|
98 | 168 | .. 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 | + |
0 commit comments