From df7a57ba7390a7889bb4e059c1351f313d6eec8d Mon Sep 17 00:00:00 2001 From: lman-odoo Date: Wed, 6 May 2026 10:42:24 +0200 Subject: [PATCH] [IMP] ecommerce: add orders overview task-6047402 --- .../websites/ecommerce/order_handling.rst | 46 ++++++++++++++---- .../order_handling/order-status-buttons.png | Bin 0 -> 3293 bytes 2 files changed, 36 insertions(+), 10 deletions(-) create mode 100644 content/applications/websites/ecommerce/order_handling/order-status-buttons.png diff --git a/content/applications/websites/ecommerce/order_handling.rst b/content/applications/websites/ecommerce/order_handling.rst index a237cbe6cd6..30e698a2630 100644 --- a/content/applications/websites/ecommerce/order_handling.rst +++ b/content/applications/websites/ecommerce/order_handling.rst @@ -9,9 +9,9 @@ orders upon order confirmation, delivery orders to manage :doc:`picking `, :doc:`packing `, and -:doc:`shipping `, and invoices. Odoo eCommerce also offers additional tools to send -:ref:`abandoned cart emails `, ensure :ref:`stock availability -`, and handle product :ref:`returns and refunds +:doc:`shipping `, and invoices. Odoo eCommerce also offers additional tools for sending +:ref:`abandoned cart emails `, ensuring :ref:`stock availability +`, and handling product :ref:`returns and refunds `. .. _ecommerce/handling/sales: @@ -20,15 +20,37 @@ Sale ==== To view all quotations and orders, navigate to :menuselection:`Website --> eCommerce --> -Orders`, and select one to open it. The status bar at the top of the order shows its current status: +Orders`. At the top of the :guilabel:`Orders` page, an overview of all orders is displayed, filtered +by: + +- :guilabel:`To Fulfill`: confirmed and paid orders (i.e., :ref:`sales orders + `) +- :guilabel:`To Confirm`: unpaid and unconfirmed orders (i.e., :ref:`sent but unconfirmed quotations + `) +- :guilabel:`To Invoice`: confirmed orders that are ready for invoicing but have not necessarily + been fulfilled (i.e., :ref:`sales orders `) + +.. image:: order_handling/order-status-buttons.png + :alt: Orders overview. + +Select a specific order from the orders list to view its details and order status. The bar at the +top of the order shows its current status: + + .. _ecommerce/handling/sales/quotation: - :guilabel:`Quotation`: A product has been :ref:`added to the cart `, but the customer has not yet completed the :ref:`checkout process `. If the customer is not logged in, the quotation is assigned to the default *Public User* contact. + + .. _ecommerce/handling/sales/quotation-sent: + - :guilabel:`Quotation Sent`: The customer has completed the :ref:`checkout process ` and confirmed the order, but the :ref:`payment ` has not yet been confirmed. + + .. _ecommerce/handling/sales/sales-order: + - :guilabel:`Sales Order`: The customer has completed the :ref:`checkout process `, confirmed the order, and the :ref:`payment ` has been successfully received. @@ -36,9 +58,13 @@ Orders`, and select one to open it. The status bar at the top of the order shows .. tip:: - The :guilabel:`Confirmed` filter is enabled by default in the :guilabel:`Orders` list. To view *all* quotations and orders, remove the filter. - - To view only orders in the :guilabel:`Quotation Sent` stage, go to :menuselection:`Website --> - eCommerce --> Orders` and remove the :guilabel:`Confirmed` filter. Then, open the - :icon:`fa-caret-down` dropdown menu and, under :guilabel:`Filters`, select :guilabel:`Unpaid`. + - To view only orders with the :guilabel:`Quotation Sent` status, click the :guilabel:`To + Confirm` button or go to :menuselection:`Website --> eCommerce --> Orders` and remove the + :guilabel:`Confirmed` filter. Then, open the :icon:`fa-caret-down` dropdown menu and, under + :guilabel:`Filters`, select :guilabel:`Unpaid`. + - Reporting data, such as the number of :guilabel:`Visitors`, :guilabel:`Orders` and + the :guilabel:`Sales` amount of a given period, is displayed on the left side of the + :guilabel:`Orders` page. - E-commerce orders can be automatically assigned to a specific sales team or salesperson. To do so, go to :menuselection:`Website --> Configuration --> Settings`. In the :guilabel:`eCommerce` section, under :guilabel:`Orders Assignment`, select the relevant :guilabel:`Sales Team` or @@ -185,15 +211,15 @@ To automate invoicing: #. Go to :menuselection:`Website --> Configuration --> Settings`. #. In the :guilabel:`eCommerce` section, enable :guilabel:`Automatic Invoice`. #. Select the relevant :guilabel:`Email Template`, then click :guilabel:`Save`. -#. If needed, click the :icon:`fa-arrow-right` icon next to the template name to customize the - :doc:`email template `. +#. If needed, click the :icon:`fa-arrow-right` (:guilabel:`Internal link`) icon next to the template + name to customize the :doc:`email template `. .. note:: - Customers can view their invoices under :guilabel:`Your Invoices` in the :doc:`portal `. - Invoices are only sent automatically if (and when) the :doc:`payment ` is registered. - - When automatic invoicing is disabled and invoices are created manually, they appear as + - When automatic invoicing is disabled, and invoices are created manually, they appear as :doc:`pro-forma invoices ` in the customer portal until they are manually :ref:`sent to the customer `. diff --git a/content/applications/websites/ecommerce/order_handling/order-status-buttons.png b/content/applications/websites/ecommerce/order_handling/order-status-buttons.png new file mode 100644 index 0000000000000000000000000000000000000000..41da2566b1965a344f025a468cb42595a3f7ad16 GIT binary patch literal 3293 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 AmH+?% literal 0 HcmV?d00001