[IMP] ecommerce: order handling
taskid- 4367344
This commit is contained in:
parent
2bfd2b64af
commit
d601c7dec6
@ -909,7 +909,7 @@ After configuring the Peruvian :ref:`electronic invoicing <peru-accounting-setti
|
||||
the following configurations for the **eCommerce** flow:
|
||||
|
||||
- :ref:`Client account registration <checkout-sign>`;
|
||||
- :ref:`Automatic invoice <handling/legal>`;
|
||||
- :ref:`Automatic invoice <ecommerce/handling/legal>`;
|
||||
- :doc:`../../websites/ecommerce/products`: Set the :guilabel:`Invoicing Policy` to
|
||||
:guilabel:`Ordered quantities` and define the desired :guilabel:`Customer taxes`.
|
||||
- :doc:`../payment_providers`;
|
||||
|
@ -2,111 +2,118 @@
|
||||
Order handling
|
||||
==============
|
||||
|
||||
When a customer orders on your eCommerce, there are **three** record types required to be handle in
|
||||
Odoo:
|
||||
In Odoo's eCommerce workflow, every purchase generates **key documents** to ensure smooth order
|
||||
processing from start to finish:
|
||||
:ref:`Sales orders <ecommerce/handling/sales>` upon order confirmation,
|
||||
:ref:`Delivery orders <ecommerce/handling/delivery>` to manage picking, packaging, and
|
||||
:doc:`shipping <../checkout_payment_shipping/shipping>`,
|
||||
and :ref:`Invoices <ecommerce/handling/legal>` as the final step.
|
||||
|
||||
- :ref:`Sales orders <handling/sales>`;
|
||||
- :ref:`Delivery orders <handling/delivery>`;
|
||||
- :ref:`Invoices & legal requirements <handling/legal>`.
|
||||
|
||||
.. _handling/sales:
|
||||
.. _ecommerce/handling/sales:
|
||||
|
||||
Sales orders
|
||||
============
|
||||
|
||||
Order and payment status
|
||||
------------------------
|
||||
A sales order (SO) is automatically created when a customer confirms an online purchase.
|
||||
|
||||
The first step when a customer adds a product to his cart is the creation of a quotation. Orders can
|
||||
be managed either from the **Website** or :doc:`Sales </applications/sales/sales>` app. eCommerce
|
||||
orders can automatically be assigned to a specific sales team by going to :menuselection:`Website
|
||||
--> Configuration --> Settings`. In the **Shop - Checkout Process** section, select a
|
||||
:guilabel:`Sales Team` or :guilabel:`Salesperson` to handle eCommerce orders.
|
||||
Sales order are available in :menuselection:`Website --> eCommerce --> Orders: Orders`. Click on a
|
||||
sales order to open it. The status bar lets you know the payment status:
|
||||
|
||||
.. image:: order_handling/handling-salesteam.png
|
||||
:align: center
|
||||
:alt: Assignment of online orders to a sales team or salesperson
|
||||
- :guilabel:`Quotation`: A new product is :doc:`added to the cart <../checkout_payment_shipping/cart>`
|
||||
but the customer has not gone through the :doc:`checkout <../checkout_payment_shipping/checkout>`
|
||||
process yet. If the customer is not logged in, the quotation is assigned to the default
|
||||
"Public User".
|
||||
- :guilabel:`Quotation Sent`: The customer has gone through the checkout process and confirmed the
|
||||
order, but the :doc:`payment <../../../finance/payment_providers>` is not yet confirmed.
|
||||
- :guilabel:`Sales Order`: The customer has completed the checkout process, confirmed the order, and
|
||||
the payment is received.
|
||||
|
||||
Orders can be found under :menuselection:`Website --> eCommerce --> Orders/Unpaid Orders`. Each
|
||||
order goes through a different status:
|
||||
|
||||
- **Quotation**: a new product is added to the cart, but the customer has *not* gone through the
|
||||
checkout process yet;
|
||||
- **Quotation sent**: the customer has gone through the checkout process and confirmed the order,
|
||||
but the payment is not yet confirmed;
|
||||
- **Order**: the customer has gone through the checkout process, confirmed the order, and the
|
||||
payment is received.
|
||||
|
||||
.. image:: order_handling/handling-status.png
|
||||
:align: center
|
||||
:alt: Statuses of eCommerce orders
|
||||
.. tip::
|
||||
You can assign a :doc:`sales team <../../../sales/crm/pipeline/manage_sales_teams>` or
|
||||
salesperson to manage your online orders by navigating to
|
||||
:menuselection:`Website --> Configuration --> Settings`. In the
|
||||
:guilabel:`Shop - Checkout Process` section, go to :guilabel:`Assignment` and select the desired
|
||||
:guilabel:`Sales Team` or :guilabel:`Salesperson`.
|
||||
|
||||
Abandoned cart
|
||||
--------------
|
||||
|
||||
An **abandoned cart** represents an order for which the customer did **not finish** the checkout
|
||||
confirmation process. For these orders, it is possible to send an **email reminder** to the
|
||||
customer automatically. To enable that feature, go to :menuselection:`Website --> Configuration -->
|
||||
Settings` and in the :guilabel:`Email & Marketing` section, enable :guilabel:`Automatically send
|
||||
abandoned checkout emails`. Once enabled, you can set the **time-lapse** after which the email is
|
||||
sent and customize the **email template** used.
|
||||
The order is considered an abandoned cart when a customer does not complete the
|
||||
:doc:`checkout <../checkout_payment_shipping/checkout>` confirmation process.
|
||||
|
||||
To automate **email reminders** for abandoned carts, go to :menuselection:`Website --> Configuration
|
||||
--> Settings`, scroll to the :guilabel:`Email & Marketing` section, and enable
|
||||
:guilabel:`Automatically send abandoned checkout emails`. Set the delay in the
|
||||
:guilabel:`Send after` field, and customize the email template by clicking
|
||||
:icon:`fa-arrow-right` :guilabel:`Customize abandoned email template`. To track abandoned carts, go
|
||||
to :menuselection:`Website --> eCommerce --> Orders: Abandoned Carts`.
|
||||
|
||||
.. note::
|
||||
For abandoned cart emails, the customer must either have entered their contact details during the
|
||||
checkout process; or be logged-in when they added the product to their cart.
|
||||
- Abandoned cart emails can only be sent if the customer either entered their contact details
|
||||
during :doc:`checkout <../checkout_payment_shipping/checkout>` or was logged in when
|
||||
:doc:`adding items to their cart <../checkout_payment_shipping/cart>`.
|
||||
- Abandoned carts are not visible if the :guilabel:`Automatically send abandoned checkout emails`
|
||||
feature is not enabled.
|
||||
|
||||
.. _handling/delivery:
|
||||
.. _ecommerce/handling/delivery:
|
||||
|
||||
Delivery orders
|
||||
===============
|
||||
|
||||
Delivery flow
|
||||
-------------
|
||||
|
||||
Once a quotation has been confirmed, a delivery order is automatically created. The next step is to
|
||||
process this delivery.
|
||||
|
||||
Packing eCommerce orders usually requires picking the product, preparing the packaging, printing the
|
||||
shipping label(s) and shipping to the customer. Depending on the number of orders, strategy, or
|
||||
resources, those steps can be considered as one or multiple actions in Odoo.
|
||||
|
||||
An automatic email can be sent to the customer when the transfer status in Odoo is “done”. To do so,
|
||||
enable the feature in the settings of the
|
||||
:doc:`Inventory </applications/inventory_and_mrp/inventory>` app.
|
||||
Once an online order is confirmed, a delivery order is automatically created. To access the delivery
|
||||
order, click the :guilabel:`Delivery` button on the sales order. Alternatively, you can go to
|
||||
:menuselection:`Inventory --> Operations --> Deliveries`, and search your sales order in the
|
||||
:guilabel:`Source Document` column.
|
||||
|
||||
.. note::
|
||||
If customers are allowed to pay when picking up their order in stores or by wire transfer, the
|
||||
quotation is **not** be confirmed and the stock is **not** be reserved. Orders must be confirmed
|
||||
manually to reserve products in stock.
|
||||
The :guilabel:`Delivery` button does not appear on the sales order when the product type is set
|
||||
to :guilabel:`Service` or if :guilabel:`Recurring` is selected in the :ref:`product form
|
||||
<ecommerce/products/product-form>`.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`../../../inventory_and_mrp/inventory/shipping_receiving/setup_configuration/invoicing`
|
||||
- :doc:`../../../inventory_and_mrp/inventory/shipping_receiving/setup_configuration/labels`
|
||||
- :doc:`../../../inventory_and_mrp/inventory/shipping_receiving/setup_configuration/multipack`
|
||||
Packing eCommerce orders usually involves picking the product, preparing the
|
||||
:doc:`packaging <../../../inventory_and_mrp/inventory/shipping_receiving/setup_configuration/multipack>`,
|
||||
:doc:`printing the shipping label(s) <../../../inventory_and_mrp/inventory/shipping_receiving/setup_configuration/labels>`,
|
||||
and :doc:`shipping <../../../inventory_and_mrp/inventory/shipping_receiving/setup_configuration/invoicing>`
|
||||
the items to the customer.
|
||||
|
||||
.. tip::
|
||||
- If customers can pay when :ref:`picking up <inventory/shipping/pickup>` their order in-store or
|
||||
by wire transfer, the quotation is **not** confirmed, and the stock is **not** reserved. Orders
|
||||
must be confirmed manually to reserve products in stock.
|
||||
- You can send an automatic confirmation email when delivery orders are completed by going to
|
||||
:menuselection:`Inventory --> Configuration --> Settings`, scrolling to the
|
||||
:guilabel:`Shipping` section, and enabling :guilabel:`Email Confirmation`.
|
||||
|
||||
Returns and refunds
|
||||
-------------------
|
||||
|
||||
Customers can only return an order through an online form. It may not be possible to return products
|
||||
depending on the return strategy or type of product.
|
||||
Customers can :doc:`return </applications/sales/sales/products_prices/returns>` products through
|
||||
their :doc:`portal <../../../general/users/portal>` by navigating to :guilabel:`My Orders` section,
|
||||
selecting the relevant order, and clicking :guilabel:`Return`. A return document is then generated
|
||||
to include in the parcel.
|
||||
|
||||
Full refunds can be directly sent to customers from within the order interface. A refund-compatible
|
||||
payment provider needs to be enabled first.
|
||||
.. Note::
|
||||
- Returning products may not be possible depending on the
|
||||
:doc:`return </applications/sales/sales/products_prices/returns>` strategy or product type.
|
||||
- Full :doc:`refunds </applications/sales/sales/products_prices/returns>` can be sent to
|
||||
customers directly from within the order interface. First, a refund-compatible
|
||||
:ref:`payment provider <payment_providers/supported_providers>` needs to be enabled.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`/applications/sales/sales/products_prices/returns`
|
||||
- :doc:`/applications/services/helpdesk/advanced/after_sales`
|
||||
- :doc:`/applications/finance/payment_providers`
|
||||
:doc:`/applications/services/helpdesk/advanced/after_sales`
|
||||
|
||||
.. _handling/legal:
|
||||
.. _ecommerce/handling/legal:
|
||||
|
||||
Invoice and legal requirements
|
||||
==============================
|
||||
Invoices
|
||||
========
|
||||
|
||||
The final step of an ecommerce order is to generate the invoice and send it to the customer.
|
||||
Depending on the type of business (B2B or B2C), an invoice can either be generated automatically
|
||||
(B2B) or on demand of the customer (B2C). This process can be automated if (and when) the online
|
||||
payment is :ref:`confirmed <handling/sales>`.
|
||||
The final step is generating the
|
||||
:doc:`customer invoice </applications/finance/accounting/customer_invoices/overview>` and send it to
|
||||
the customer.
|
||||
|
||||
To automate invoicing, go to :menuselection:`Website --> Configuration --> Settings` and in the
|
||||
:guilabel:`Invoicing` section, enable :guilabel:`Automatic Invoice`.
|
||||
Invoices are generated upon customer request for B2C transactions, while they are usually created
|
||||
automatically for B2B transactions.
|
||||
|
||||
To enable automatic invoicing upon :doc:`online payment </applications/finance/payment_providers>`
|
||||
confirmation, go to :menuselection:`Website --> Configuration --> Settings`, scroll to the
|
||||
:guilabel:`Invoicing` section, and enable :guilabel:`Automatic Invoice`.
|
||||
|
Loading…
Reference in New Issue
Block a user