[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>
This commit is contained in:
Felicious 2023-10-13 18:59:43 -07:00
parent 829eb7b851
commit e96721a308
11 changed files with 183 additions and 66 deletions

View File

@ -2,6 +2,8 @@
How to invoice the shipping cost to the customer?
=================================================
.. _inventory/shipping/invoice:
Overview
========

View File

@ -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.

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

View File

@ -2,6 +2,8 @@
How to integrate a third party shipper?
=======================================
.. _inventory/shipping/third_party:
Overview
========