[ADD] eCommerce: Handling orders
Adding a page on handling orders for the eCommerce doc, and removing older pages. Forward to master. closes odoo/documentation#3721 Taskid: 3214065 Signed-off-by: Aarab Tom (toaa) <toaa@odoo.com>
@ -432,4 +432,4 @@ payment method... What best suit your needs.
|
|||||||
- :doc:`payment_providers/razorpay`
|
- :doc:`payment_providers/razorpay`
|
||||||
- :doc:`payment_providers/sips`
|
- :doc:`payment_providers/sips`
|
||||||
- :doc:`payment_providers/stripe`
|
- :doc:`payment_providers/stripe`
|
||||||
- :doc:`../websites/ecommerce/shopper_experience/payment_providers`
|
- :doc:`../websites/ecommerce/checkout_payment_shipping/payments`
|
||||||
|
@ -143,4 +143,4 @@ orders and in your eCommerce catalog. To do so:
|
|||||||
.. seealso::
|
.. seealso::
|
||||||
|
|
||||||
* :doc:`currencies`
|
* :doc:`currencies`
|
||||||
* :doc:`/applications/websites/ecommerce/maximizing_revenue/pricing`
|
* :doc:`/applications/websites/ecommerce/managing_products/price_management`
|
||||||
|
@ -25,6 +25,4 @@ products and increase your average cart sizes.
|
|||||||
|
|
||||||
ecommerce/managing_products
|
ecommerce/managing_products
|
||||||
ecommerce/checkout_payment_shipping
|
ecommerce/checkout_payment_shipping
|
||||||
ecommerce/taxes
|
ecommerce/ecommerce_management
|
||||||
ecommerce/shopper_experience
|
|
||||||
ecommerce/maximizing_revenue
|
|
||||||
|
@ -0,0 +1,10 @@
|
|||||||
|
:nosearch:
|
||||||
|
|
||||||
|
====================
|
||||||
|
eCommerce management
|
||||||
|
====================
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:titlesonly:
|
||||||
|
|
||||||
|
ecommerce_management/order_handling
|
@ -0,0 +1,112 @@
|
|||||||
|
==============
|
||||||
|
Order handling
|
||||||
|
==============
|
||||||
|
|
||||||
|
When a customer orders on your eCommerce, there are **three** record types required to be handle in
|
||||||
|
Odoo:
|
||||||
|
|
||||||
|
- :ref:`Sales orders <handling/sales>`;
|
||||||
|
- :ref:`Delivery orders <handling/delivery>`;
|
||||||
|
- :ref:`Invoices & legal requirements <handling/legal>`.
|
||||||
|
|
||||||
|
.. _handling/sales:
|
||||||
|
|
||||||
|
Sales orders
|
||||||
|
============
|
||||||
|
|
||||||
|
Order and payment status
|
||||||
|
------------------------
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
.. image:: order_handling/handling-salesteam.png
|
||||||
|
:align: center
|
||||||
|
:alt: Assignment of online orders to a sales team or salesperson
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
.. 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.
|
||||||
|
|
||||||
|
.. _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.
|
||||||
|
|
||||||
|
.. 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.
|
||||||
|
|
||||||
|
.. seealso::
|
||||||
|
- :doc:`/applications/inventory_and_mrp/inventory/shipping/operation/invoicing`
|
||||||
|
- :doc:`/applications/inventory_and_mrp/inventory/shipping/operation/labels`
|
||||||
|
- :doc:`/applications/inventory_and_mrp/inventory/shipping/operation/multipack`
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
Full refunds can be directly sent to customers from within the order interface. A refund-compatible
|
||||||
|
payment provider needs to be enabled first.
|
||||||
|
|
||||||
|
.. seealso::
|
||||||
|
- :doc:`/applications/sales/sales/products_prices/returns`
|
||||||
|
- :doc:`/applications/services/helpdesk/advanced/after_sales`
|
||||||
|
- :doc:`/applications/finance/payment_providers`
|
||||||
|
|
||||||
|
.. _handling/legal:
|
||||||
|
|
||||||
|
Invoice and legal requirements
|
||||||
|
==============================
|
||||||
|
|
||||||
|
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>`.
|
||||||
|
|
||||||
|
To automate invoicing, go to :menuselection:`Website --> Configuration --> Settings` and in the
|
||||||
|
:guilabel:`Invoicing` section, enable :guilabel:`Automatic Invoice`.
|
After Width: | Height: | Size: 4.3 KiB |
After Width: | Height: | Size: 5.9 KiB |
@ -1,12 +0,0 @@
|
|||||||
:nosearch:
|
|
||||||
|
|
||||||
===================
|
|
||||||
Maximize my revenue
|
|
||||||
===================
|
|
||||||
|
|
||||||
.. toctree::
|
|
||||||
:titlesonly:
|
|
||||||
|
|
||||||
maximizing_revenue/reviews
|
|
||||||
maximizing_revenue/pricing
|
|
||||||
maximizing_revenue/promo_code
|
|
Before Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 7.6 KiB |
Before Width: | Height: | Size: 25 KiB |
Before Width: | Height: | Size: 21 KiB |
@ -1,37 +0,0 @@
|
|||||||
================================
|
|
||||||
Adapt prices to website visitors
|
|
||||||
================================
|
|
||||||
|
|
||||||
This section sheds light on pricing features found in the eCommerce app:
|
|
||||||
|
|
||||||
* force a price by geo-localization,
|
|
||||||
|
|
||||||
* let the customer choose the currency.
|
|
||||||
|
|
||||||
As a pre-requisite, check out how to managing product pricing:
|
|
||||||
:doc:`/applications/sales/sales/products_prices/prices/pricing`).
|
|
||||||
|
|
||||||
Geo-IP automatically applies the right price
|
|
||||||
============================================
|
|
||||||
|
|
||||||
Assign country groups to your pricelists. That way, visitors who aren't
|
|
||||||
logged in yet will get their own currency when landing on your website.
|
|
||||||
|
|
||||||
Once logged in, they get the pricelist matching their country.
|
|
||||||
|
|
||||||
Currency selector
|
|
||||||
=================
|
|
||||||
|
|
||||||
In the case that you sell in several currencies, you can let your customers choose
|
|
||||||
their own. Check the *Selectable* box to add the pricelist to the website drop-down menu, which
|
|
||||||
can be found in *Pricelists* under the *Products* menu, located in the Website application.
|
|
||||||
|
|
||||||
.. image:: pricing/website_pricelist_select.png
|
|
||||||
:align: center
|
|
||||||
:width: 50 %
|
|
||||||
|
|
||||||
.. seealso::
|
|
||||||
|
|
||||||
* :doc:`/applications/sales/sales/products_prices/prices/pricing`
|
|
||||||
* :doc:`/applications/sales/sales/products_prices/prices/currencies`
|
|
||||||
* :doc:`promo_code`
|
|
Before Width: | Height: | Size: 84 KiB |
@ -1,43 +0,0 @@
|
|||||||
=======================================
|
|
||||||
How to create & share promotional codes
|
|
||||||
=======================================
|
|
||||||
|
|
||||||
Want to boost your sales for Xmas? Share promocodes through your marketing campaigns
|
|
||||||
and apply any kind of discounts.
|
|
||||||
|
|
||||||
Setup
|
|
||||||
=====
|
|
||||||
|
|
||||||
* Go to :menuselection:`Sales --> Settings` and choose
|
|
||||||
*Advanced pricing based on formula* for *Sale Price*.
|
|
||||||
|
|
||||||
* Go to :menuselection:`Website Admin --> Catalog --> Pricelists` and create a new
|
|
||||||
pricelist with the discount rule (see :doc:`pricing`).
|
|
||||||
Then enter a code.
|
|
||||||
|
|
||||||
.. image:: promo_code/promocode.png
|
|
||||||
:align: center
|
|
||||||
|
|
||||||
* Make the promocode field available on your *Shopping Cart* page (option in
|
|
||||||
*Customize* menu). Add a product to cart to reach it.
|
|
||||||
|
|
||||||
.. image:: promo_code/promocode_publish.png
|
|
||||||
:align: center
|
|
||||||
|
|
||||||
Once turned on you see a new section on the right side. On clicking *Apply* prices get
|
|
||||||
automatically updated in the cart.
|
|
||||||
|
|
||||||
.. image:: promo_code/promocode_web.png
|
|
||||||
:align: center
|
|
||||||
|
|
||||||
The promocode used by the customer is stored in the system so you can analyze the
|
|
||||||
performance of your marketing campaigns.
|
|
||||||
|
|
||||||
.. image:: promo_code/promocode_backend.png
|
|
||||||
:align: center
|
|
||||||
|
|
||||||
+ Show sales per pricelists...
|
|
||||||
|
|
||||||
.. seealso::
|
|
||||||
|
|
||||||
* :doc:`pricing`
|
|
Before Width: | Height: | Size: 23 KiB |
Before Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 43 KiB |
Before Width: | Height: | Size: 54 KiB |
@ -1,59 +0,0 @@
|
|||||||
===============================
|
|
||||||
How to enable comments & rating
|
|
||||||
===============================
|
|
||||||
|
|
||||||
Publishing and monitoring customer experience will help you gain the trust
|
|
||||||
of new customers and better engage with your community. In 2 clicks, allow
|
|
||||||
your customer to share their feedback!
|
|
||||||
|
|
||||||
.. image:: reviews/comment_post.png
|
|
||||||
:align: center
|
|
||||||
|
|
||||||
Setup
|
|
||||||
=====
|
|
||||||
|
|
||||||
Activate comments & rating from the *Customize* menu of the product web page.
|
|
||||||
|
|
||||||
.. image:: reviews/comment_setup.png
|
|
||||||
:align: center
|
|
||||||
|
|
||||||
.. note::
|
|
||||||
Visitors must log in to share their comments. Make sure they are able to
|
|
||||||
do so (see Portal documentation).
|
|
||||||
|
|
||||||
Review the posts in real time
|
|
||||||
=============================
|
|
||||||
|
|
||||||
Whenever a post is published, the product manager and all the product followers
|
|
||||||
get notified in their Inbox (*Discuss* menu).
|
|
||||||
|
|
||||||
.. image:: reviews/comment_new.png
|
|
||||||
:align: center
|
|
||||||
|
|
||||||
.. note::
|
|
||||||
By default the user who created the product is automatically set as follower.
|
|
||||||
|
|
||||||
Click the product name to open the detail form and review the comment (in the
|
|
||||||
product discussion thread).
|
|
||||||
|
|
||||||
.. image:: reviews/comment_inbox.png
|
|
||||||
:align: center
|
|
||||||
|
|
||||||
Moderate & unpublish
|
|
||||||
====================
|
|
||||||
|
|
||||||
You can easily moderate by using the chatter, either in the product detail form
|
|
||||||
or on the web page.
|
|
||||||
|
|
||||||
To unpublish the post, open the product web page and click the *Published* button
|
|
||||||
to turn it red (*Unpublished*).
|
|
||||||
|
|
||||||
.. image:: reviews/comment_unpublish.png
|
|
||||||
:align: center
|
|
||||||
|
|
||||||
..tip::
|
|
||||||
You can access the web page from the detail form by clicking the *Published*
|
|
||||||
smart button (and vice versa).
|
|
||||||
|
|
||||||
.. image:: reviews/comment_webpage.png
|
|
||||||
:align: center
|
|
Before Width: | Height: | Size: 26 KiB |
Before Width: | Height: | Size: 6.8 KiB |
Before Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 63 KiB |
Before Width: | Height: | Size: 21 KiB |
Before Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 63 KiB |
Before Width: | Height: | Size: 124 KiB |
@ -1,11 +0,0 @@
|
|||||||
:nosearch:
|
|
||||||
|
|
||||||
========
|
|
||||||
Get paid
|
|
||||||
========
|
|
||||||
|
|
||||||
.. toctree::
|
|
||||||
:titlesonly:
|
|
||||||
|
|
||||||
shopper_experience/payment_providers
|
|
||||||
shopper_experience/portal
|
|
@ -1,62 +0,0 @@
|
|||||||
=========================================
|
|
||||||
Manage orders paid with Payment Providers
|
|
||||||
=========================================
|
|
||||||
|
|
||||||
The moment a payment is officially authorized by a Payment Provider, Odoo *automatically* confirms
|
|
||||||
the order, which triggers the delivery. And, if you invoice based on ordered quantities, you are
|
|
||||||
requested to invoice the order, as well.
|
|
||||||
|
|
||||||
Let’s take a closer look at how to manage orders paid with Payment Providers.
|
|
||||||
|
|
||||||
Checking the status of a payment
|
|
||||||
================================
|
|
||||||
|
|
||||||
To check the status of a payment, go to :menuselection:`Website --> Orders --> Orders`. Then, simply
|
|
||||||
click on the order you wish to check on.
|
|
||||||
|
|
||||||
Once you are on the Sales Order page, you will find the payment is confirmed with an automatic note
|
|
||||||
in the *Chatter*.
|
|
||||||
|
|
||||||
.. image:: payment_providers/chatter-transaction.png
|
|
||||||
:align: center
|
|
||||||
:alt: payment is confirmed in the chatter of sales order
|
|
||||||
|
|
||||||
If the user decides to create an invoice, the payment is directly reconciled. This note in
|
|
||||||
the *Chatter* includes a link to the Payment entry, which contains various details about the
|
|
||||||
transaction, along with a link to the related Journal Entry.
|
|
||||||
|
|
||||||
.. image:: payment_providers/transaction-info.png
|
|
||||||
:align: center
|
|
||||||
:alt: page with details surrounding the specific transaction
|
|
||||||
|
|
||||||
.. note:: Specific messages are provided to your customers for every
|
|
||||||
payment status whenever they are redirected to Odoo after the transaction.
|
|
||||||
To edit these messages, go to the *Messages* tab of the payment
|
|
||||||
method.
|
|
||||||
|
|
||||||
Automatically generate invoices at order
|
|
||||||
========================================
|
|
||||||
|
|
||||||
When the order is confirmed, you can also choose to have an invoice automatically issued
|
|
||||||
and paid. This fully-automated feature is designed for businesses that invoice
|
|
||||||
orders right away.
|
|
||||||
|
|
||||||
To do automatically generate invoices at order:
|
|
||||||
- Go to :menuselection:`Website --> Configuration --> Settings --> Invoicing`.
|
|
||||||
- Then, under the **Invoicing Policy** option, select *Invoice what is ordered*.
|
|
||||||
- Then activate *Automatic Invoices* and *Save*.
|
|
||||||
|
|
||||||
.. image:: payment_providers/automatic-invoice.png
|
|
||||||
:align: center
|
|
||||||
:alt: example of automatic invoice
|
|
||||||
|
|
||||||
Capture payment after the delivery
|
|
||||||
==================================
|
|
||||||
|
|
||||||
If the provider handling the payment is configured to capture amounts manually, the order is
|
|
||||||
confirmed, but the amount is kept on hold. Once the delivery is processed, you can capture the
|
|
||||||
payment from the related Sales Order.
|
|
||||||
|
|
||||||
.. seealso::
|
|
||||||
- :doc:`../../../finance/payment_providers`
|
|
||||||
- :ref:`Payment Providers: Place a hold on a card <payment_providers/features/manual_capture>`
|
|
Before Width: | Height: | Size: 21 KiB |
Before Width: | Height: | Size: 22 KiB |
Before Width: | Height: | Size: 26 KiB |
@ -1,38 +0,0 @@
|
|||||||
===============================================
|
|
||||||
How customers can access their customer account
|
|
||||||
===============================================
|
|
||||||
|
|
||||||
It has never been so easy for your customers to access their
|
|
||||||
customer account. Forget endless signup forms,
|
|
||||||
Odoo makes it as easy as ABC.
|
|
||||||
They are suggested to sign up (name, email, password) when the order
|
|
||||||
is placed, and not before.
|
|
||||||
Indeed, nothing is more annoying than going through a signup process
|
|
||||||
before buying something.
|
|
||||||
|
|
||||||
Sign up
|
|
||||||
=======
|
|
||||||
|
|
||||||
The invitation to sign up shows up when the customer wants to visualize
|
|
||||||
the order from order confirmation email.
|
|
||||||
|
|
||||||
.. image:: portal/portal_odoo_signup.png
|
|
||||||
:align: center
|
|
||||||
|
|
||||||
Customer account
|
|
||||||
================
|
|
||||||
|
|
||||||
Once logged in the customer will access the account by clicking *My Account*
|
|
||||||
in the login dropdown menu.
|
|
||||||
|
|
||||||
.. image:: portal/portal_link.png
|
|
||||||
:align: center
|
|
||||||
|
|
||||||
THere they find all their history. The main address (billing) can also be modified.
|
|
||||||
|
|
||||||
.. image:: portal/portal_menu.png
|
|
||||||
:align: center
|
|
||||||
|
|
||||||
.. note::
|
|
||||||
If the customer is set as a contact of a company in your address book,
|
|
||||||
they will see all the documents whose the customer belongs to this company.
|
|
Before Width: | Height: | Size: 4.7 KiB |
Before Width: | Height: | Size: 35 KiB |
Before Width: | Height: | Size: 18 KiB |
@ -1,13 +0,0 @@
|
|||||||
:nosearch:
|
|
||||||
|
|
||||||
=============
|
|
||||||
Collect taxes
|
|
||||||
=============
|
|
||||||
|
|
||||||
.. toctree::
|
|
||||||
:titlesonly:
|
|
||||||
|
|
||||||
../../finance/accounting/taxation/taxes/default_taxes
|
|
||||||
../../finance/accounting/taxation/taxes/fiscal_positions
|
|
||||||
../../finance/accounting/taxation/taxes/taxes
|
|
||||||
../../finance/accounting/taxation/taxes/taxcloud
|
|
@ -267,7 +267,7 @@ Then, go to :menuselection:`Website --> Products --> Pricelists` to create addit
|
|||||||
You can also choose to have a pricelist available *only* on a specific website.
|
You can also choose to have a pricelist available *only* on a specific website.
|
||||||
|
|
||||||
.. seealso::
|
.. seealso::
|
||||||
:doc:`../../ecommerce/maximizing_revenue/pricing`.
|
:doc:`../../ecommerce/managing_products/price_management`.
|
||||||
|
|
||||||
.. image:: multi_website/multi_website07.png
|
.. image:: multi_website/multi_website07.png
|
||||||
:align: center
|
:align: center
|
||||||
|
@ -23,6 +23,7 @@ applications/websites/ecommerce/getting_started/product_page.rst applications/we
|
|||||||
applications/websites/ecommerce/shopper_experience/payment_acquirer.rst applications/websites/ecommerce/shopper_experience/payment_providers.rst # payment_acquirer -> payment_providers
|
applications/websites/ecommerce/shopper_experience/payment_acquirer.rst applications/websites/ecommerce/shopper_experience/payment_providers.rst # payment_acquirer -> payment_providers
|
||||||
applications/websites/ecommerce/maximizing_revenue/upselling.rst applications/websites/ecommerce/products/cross_upselling.rst # /maximizing_revenue/upselling -> /products/cross_upselling
|
applications/websites/ecommerce/maximizing_revenue/upselling.rst applications/websites/ecommerce/products/cross_upselling.rst # /maximizing_revenue/upselling -> /products/cross_upselling
|
||||||
applications/websites/ecommerce/maximizing_revenue/cross_selling.rst applications/websites/ecommerce/products/cross_upselling.rst # /maximizing_revenue/cross_selling -> /products/cross_upselling
|
applications/websites/ecommerce/maximizing_revenue/cross_selling.rst applications/websites/ecommerce/products/cross_upselling.rst # /maximizing_revenue/cross_selling -> /products/cross_upselling
|
||||||
|
applications/websites/ecommerce/shopper_experience/payment_providers.rst applications/websites/ecommerce/checkout_payment_shipping/payments.rst # /shopper_experience/payment_providers -> /checkout_payment_shipping/payments
|
||||||
|
|
||||||
# developer/howtos
|
# developer/howtos
|
||||||
|
|
||||||
|