[IMP] inventory: update delivery methods from 12 to 16
closes odoo/documentation#6604
X-original-commit: 4e2b634a50
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Co-authored-by: hojo-odoo <123424465+hojo-odoo@users.noreply.github.com>
Co-authored-by: Zachary Straub <zst@odoo.com>
@ -2,6 +2,8 @@
|
||||
How to invoice the shipping cost to the customer?
|
||||
=================================================
|
||||
|
||||
.. _inventory/shipping/invoice:
|
||||
|
||||
Overview
|
||||
========
|
||||
|
||||
|
@ -1,100 +1,213 @@
|
||||
===============================
|
||||
How to setup a delivery method?
|
||||
===============================
|
||||
================
|
||||
Delivery methods
|
||||
================
|
||||
|
||||
Overview
|
||||
========
|
||||
When activated in Odoo, the *Delivery Methods* setting adds the option of calculating the cost of
|
||||
shipping on sales orders and e-commerce shopping carts.
|
||||
|
||||
Odoo can handle various delivery methods, but it is not activated by
|
||||
default. Delivery methods can be used for your sale orders, your
|
||||
deliveries but also on your e-commerce.
|
||||
When integrated with a :ref:`third-party carrier <inventory/shipping/third_party>`, shipping prices
|
||||
are calculated based on the carrier's pricing and packaging information.
|
||||
|
||||
Delivery methods allow you to manage the transport company, the price
|
||||
and the destination. You can even integrate Odoo with external shippers
|
||||
to compute the real price and the packagings.
|
||||
.. seealso::
|
||||
- :ref:`Third-party shipping carrier setup <inventory/shipping/third_party>`
|
||||
- `Odoo Tutorials: Delivery Prices
|
||||
<https://www.odoo.com/slides/slide/delivery-prices-613?fullscreen=1>`_
|
||||
|
||||
Configuration
|
||||
=============
|
||||
|
||||
Install the inventory module
|
||||
----------------------------
|
||||
To calculate shipping on sales orders and e-commerce, the *Delivery Costs* module must be installed.
|
||||
To do so, navigate to the :menuselection:`Apps` application from the main Odoo dashboard.
|
||||
|
||||
Delivery methods are handled by the **Delivery costs** module. Go to
|
||||
**Apps** and search for the module. You should remove the **Apps** filter in
|
||||
order to see it :
|
||||
Then, remove the :guilabel:`Apps` filter, and type in `Delivery Costs` in the :guilabel:`Search...`
|
||||
bar. After finding the :guilabel:`Delivery Costs` module, click :guilabel:`Activate` to install it.
|
||||
|
||||
.. image:: delivery_method/setup05.png
|
||||
.. image:: delivery_method/install-module.png
|
||||
:align: center
|
||||
:alt: Install the *Delivery Costs* module.
|
||||
|
||||
Add shipping method
|
||||
===================
|
||||
|
||||
To configure delivery methods, go to :menuselection:`Inventory app --> Configuration --> Shipping
|
||||
Methods`.
|
||||
|
||||
.. note::
|
||||
If you want to integrate delivery methods in your e-commerce,
|
||||
you'll have to install the **eCommerce Delivery** module.
|
||||
If the :guilabel:`Shipping Methods` option is not available from the :guilabel:`Configuration`
|
||||
drop-down menu, verify whether the feature is enabled by following these steps:
|
||||
|
||||
Configure the delivery method
|
||||
-----------------------------
|
||||
#. Go to :menuselection:`Inventory app --> Configuration --> Settings`.
|
||||
#. Scroll to the :guilabel:`Shipping` section and enable the :guilabel:`Delivery Methods` feature
|
||||
by checking the corresponding checkbox.
|
||||
|
||||
To configure your delivery methods, go to the **Inventory** module,
|
||||
click on :menuselection:`Configuration --> Delivery Methods`.
|
||||
.. image:: delivery_method/enable-delivery.png
|
||||
:align: center
|
||||
:alt: Enable the *Delivery Methods* feature by checking the box in Configuration > Settings.
|
||||
|
||||
First set a name and a transporter company.
|
||||
On the :guilabel:`Shipping Methods` page, add a method by clicking :guilabel:`New`. Doing so opens
|
||||
a form to provide details about the shipping provider, including:
|
||||
|
||||
.. image:: delivery_method/setup03.png
|
||||
:align: center
|
||||
- :guilabel:`Shipping Method` (*Required field*): the name of the delivery method (e.g. `flat-rate
|
||||
shipping`, `same day delivery`, etc.).
|
||||
- :guilabel:`Provider` (*Required field*): choose the delivery service, like Fedex, if using a
|
||||
:ref:`third-party carrier <inventory/shipping/third_party>`. Ensure the integration with the
|
||||
shipping carrier is properly installed and select the provider from the drop-down menu.
|
||||
|
||||
Then you'll have to set the pricing. It can be fixed or based on rules.
|
||||
For more details on configuring custom shipping methods, such as :ref:`fixed price
|
||||
<inventory/shipping/fixed>`, :ref:`based on rules <inventory/shipping/rules>`, or :ref:`pickup in
|
||||
store <inventory/shipping/pickup>` options, refer to their respective sections below.
|
||||
- :guilabel:`Website`: configure shipping methods for an e-commerce page. Select the applicable
|
||||
website from the drop-down menu, or leave it blank to apply the method to all web pages.
|
||||
- :guilabel:`Company`: if the shipping method should apply to a specific company, select it from the
|
||||
drop-down menu. Leave the field blank to apply the method to all companies.
|
||||
- :guilabel:`Delivery Product` (*Required field*): the product listed on the :ref:`sales order line
|
||||
<inventory/shipping/sales-order>` as the delivery charge.
|
||||
- :guilabel:`Free if order amount is above`: checking this box enables free shipping if the customer
|
||||
spends above the specified amount.
|
||||
|
||||
- If the price is fixed, tick **Fixed price**. You'll just have to define
|
||||
the price. If you want the delivery to be free above a certain
|
||||
amount, tick the option **Free if Order total is more
|
||||
than** and set a price.
|
||||
For examples on how to configure specific shipping methods, refer to the sections below.
|
||||
|
||||
.. image:: delivery_method/setup06.png
|
||||
:align: center
|
||||
.. _inventory/shipping/fixed:
|
||||
|
||||
- If the price varies according to rules, tick **Based on Rules**. Click
|
||||
on **add an item to a pricing rule**. Choose a condition based on
|
||||
either the weight, the volume, the price or the quantity.
|
||||
Fixed price
|
||||
-----------
|
||||
|
||||
.. image:: delivery_method/setup04.png
|
||||
:align: center
|
||||
To configure a shipping price that is the same for all orders, go to :menuselection:`Inventory app
|
||||
--> Configuration --> Shipping Methods`. Then, click :guilabel:`New`, and on the shipping method
|
||||
form, set the :guilabel:`Provider` to the :guilabel:`Fixed Price` option. Selecting this option
|
||||
makes the :guilabel:`Fixed Price` field become available, which is where the fixed rate shipping
|
||||
amount is defined.
|
||||
|
||||
Finally you can limit the delivery method to a few destinations. The
|
||||
limit can be applied to some countries, states or even zip codes. This
|
||||
feature limits the list of countries on your e-commerce.
|
||||
To enable free shipping if the amount of the order exceeds a specified amount, check the box
|
||||
:guilabel:`Free if order amount is above` and fill in the amount.
|
||||
|
||||
.. image:: delivery_method/setup02.png
|
||||
:align: center
|
||||
.. example::
|
||||
To set up `$20` flat-rate shipping that becomes free if the customer spends over `$100`, fill in
|
||||
the following fields:
|
||||
|
||||
.. note::
|
||||
You can integrate Odoo with external shippers in order to compute the
|
||||
real price and packagings, and handle the printing the shipping labels.
|
||||
See :doc:`third_party_shipper`
|
||||
- :guilabel:`Shipping Method`: `Flat-rate shipping`
|
||||
- :guilabel:`Provider`: :guilabel:`Fixed Price`
|
||||
- :guilabel:`Fixed Price`: `$20.00`
|
||||
- :guilabel:`Free if order amount is above`: `$100.00`
|
||||
- :guilabel:`Delivery Product`: `[SHIP] Flat`
|
||||
|
||||
Delivery process
|
||||
================
|
||||
.. image:: delivery_method/new-shipping-method.png
|
||||
:align: center
|
||||
:alt: Example of filling out a shipping method.
|
||||
|
||||
Sale order
|
||||
----------
|
||||
.. _inventory/shipping/rules:
|
||||
|
||||
.. image:: delivery_method/setup07.png
|
||||
:align: center
|
||||
Based on rules
|
||||
--------------
|
||||
|
||||
You can now choose the **Delivery Method** on your sale order. If you want
|
||||
to invoice the price of the delivery charge on the sale order, click on
|
||||
**Set price**, it will add a line with the name of the delivery method as
|
||||
a product.
|
||||
To calculate the price of shipping based on pricing rules, set the :guilabel:`Provider` field to the
|
||||
:guilabel:`Based on Rules` option. Optionally, adjust :guilabel:`Margin on Rate` and
|
||||
:guilabel:`Additional margin` to include additional shipping costs.
|
||||
|
||||
Delivery
|
||||
--------
|
||||
Create pricing rules
|
||||
~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
You can add or change the delivery method on the delivery itself.
|
||||
Navigate to the :guilabel:`Pricing` tab and click :guilabel:`Add a line`. Doing so opens the
|
||||
:guilabel:`Create Pricing Rules` window, where the :guilabel:`Condition` related to the product
|
||||
weight, volume, price, or quantity is compared to a defined amount to calculate the
|
||||
:guilabel:`Delivery Cost`.
|
||||
|
||||
.. image:: delivery_method/setup01.png
|
||||
:align: center
|
||||
Once finished, click either :guilabel:`Save & New` to add another rule, or :guilabel:`Save & Close`.
|
||||
|
||||
On the delivery, check the **Carrier Information**. The carrier is the
|
||||
chosen delivery method.
|
||||
.. example::
|
||||
To charge customers $20 in shipping for orders with five or fewer products, set the
|
||||
:guilabel:`Condition` to `Quantity <= 5.00`, and the :guilabel:`Delivery Cost` to `$20`.
|
||||
|
||||
.. image:: delivery_method/pricing-rule.png
|
||||
:align: center
|
||||
:alt: Display window to add a pricing rule. Set a condition and delivery cost.
|
||||
|
||||
To restrict shipping to specific destinations on the eCommerce website, in the shipping method form,
|
||||
navigate to the :guilabel:`Destination Availability` tab and define the :guilabel:`Countries`,
|
||||
:guilabel:`States`, and :guilabel:`Zip Prefixes`. Leave these fields empty if all locations apply.
|
||||
|
||||
Calculate delivery cost
|
||||
~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Shipping cost is the :guilabel:`Delivery cost` specified in the rule that satisfies the
|
||||
:guilabel:`Condition`, plus any extra charges from the :guilabel:`Margin on rate` and
|
||||
:guilabel:`Additional margin`.
|
||||
|
||||
.. math::
|
||||
Total = Rule's~Delivery~Cost + (Margin~on~rate \times Rule's~Delivery~Cost) + Additional~margin
|
||||
|
||||
.. example::
|
||||
With the two following rules set up:
|
||||
|
||||
#. If the order contains five or fewer products, shipping is $20
|
||||
#. If the order contains more than five products, shipping is $50.
|
||||
|
||||
:guilabel:`Margin on Rate` is `10%` and :guilabel:`Additional margin` is `$9.00`.
|
||||
|
||||
.. image:: delivery_method/delivery-cost-example.png
|
||||
:align: center
|
||||
:alt: Show example of "Based on rules" shipping method with margins configured.
|
||||
|
||||
When the first rule is applied, the delivery cost is $31 (20 + (0.1 * 20) + 9). When the second
|
||||
rule is applied, the delivery cost is $64 (50 + (0.1 * 50) + 9).
|
||||
|
||||
.. _inventory/shipping/pickup:
|
||||
|
||||
Pickup in store
|
||||
---------------
|
||||
|
||||
To configure in-store pickup, select :guilabel:`Pickup in store` in the :guilabel:`Provider` field
|
||||
and specify the pickup location in :guilabel:`Warehouse`.
|
||||
|
||||
To invoice the customer for the shipping cost to the pickup location, choose the :guilabel:`Get Rate
|
||||
and Create Shipment` option in the :guilabel:`Integration Level` field. Then, pick either the
|
||||
:guilabel:`Estimated cost` or :guilabel:`Real cost` radio options in the :guilabel:`Invoicing
|
||||
Policy` field to decide whether the added shipping charge on the sales order is the precise cost
|
||||
from the shipping carrier.
|
||||
|
||||
.. seealso::
|
||||
* :doc:`third_party_shipper`
|
||||
* :doc:`../operation/invoicing`
|
||||
:ref:`Invoice cost of shipping <inventory/shipping/invoice>`
|
||||
|
||||
.. _inventory/shipping/sales-order:
|
||||
|
||||
Add shipping
|
||||
============
|
||||
|
||||
Shipping methods can be added to sales orders in the form of delivery products, which appear as
|
||||
individual line items. First, navigate to the desired sales order by going to :menuselection:`Sales
|
||||
app --> Orders --> Orders`.
|
||||
|
||||
On the sales order, click the :guilabel:`Add shipping` button, which opens the :guilabel:`Add a
|
||||
shipping method` pop-up window. Then, choose a :guilabel:`Shipping Method` from the list.
|
||||
|
||||
The :guilabel:`Total Order Weight` is pre-filled based on product weights (that are defined in the
|
||||
:guilabel:`Inventory` tab for each product form). Edit the field to specify the exact weight, and
|
||||
then click :guilabel:`Add` to add the shipping method.
|
||||
|
||||
.. note::
|
||||
The amount defined in :guilabel:`Total Order Weight` overwrites the total product weights defined
|
||||
on the product form.
|
||||
|
||||
The shipping cost is added to the *sales order line* as the :guilabel:`Delivery Product` detailed on
|
||||
the shipping method form.
|
||||
|
||||
.. example::
|
||||
`Furniture Delivery`, a delivery product with a fixed rate of `$200`, is added to sales order
|
||||
`S00088`.
|
||||
|
||||
.. image:: delivery_method/delivery-product.png
|
||||
:align: center
|
||||
:alt: Show delivery order on the sales order line.
|
||||
|
||||
Delivery order
|
||||
--------------
|
||||
|
||||
The shipping method added to the sales order is linked to the shipping carrier details on the
|
||||
delivery order. To add or change the delivery method on the delivery itself, go to the
|
||||
:guilabel:`Additional Info` tab and modify the :guilabel:`Carrier` field.
|
||||
|
||||
.. image:: delivery_method/delivery-order.png
|
||||
:align: center
|
||||
:alt: Shipping carrier information on the delivery form.
|
||||
|
||||
|
||||
|
After Width: | Height: | Size: 13 KiB |
After Width: | Height: | Size: 6.0 KiB |
After Width: | Height: | Size: 21 KiB |
After Width: | Height: | Size: 16 KiB |
After Width: | Height: | Size: 4.6 KiB |
After Width: | Height: | Size: 9.0 KiB |
After Width: | Height: | Size: 6.3 KiB |
Before Width: | Height: | Size: 10 KiB |
@ -2,6 +2,8 @@
|
||||
How to integrate a third party shipper?
|
||||
=======================================
|
||||
|
||||
.. _inventory/shipping/third_party:
|
||||
|
||||
Overview
|
||||
========
|
||||
|
||||
|