diff --git a/content/applications/finance/fiscal_localizations/peru.rst b/content/applications/finance/fiscal_localizations/peru.rst index 4709d753f4..d7d52dd92d 100644 --- a/content/applications/finance/fiscal_localizations/peru.rst +++ b/content/applications/finance/fiscal_localizations/peru.rst @@ -923,7 +923,7 @@ Configuration After configuring the Peruvian :ref:`electronic invoicing ` flow, complete the following configurations for the **eCommerce** flow: -- :ref:`Client account registration `; +- :ref:`Client account registration `; - :ref:`Automatic invoice `; - :doc:`../../websites/ecommerce/products`: Set the :guilabel:`Invoicing Policy` to :guilabel:`Ordered quantities` and define the desired :guilabel:`Customer taxes`. diff --git a/content/applications/websites/ecommerce/checkout.rst b/content/applications/websites/ecommerce/checkout.rst index 9ce8953c0c..c7a6dbfd63 100644 --- a/content/applications/websites/ecommerce/checkout.rst +++ b/content/applications/websites/ecommerce/checkout.rst @@ -122,53 +122,6 @@ Portal` feature. .. image:: checkout/order-again-button.png :alt: Re-order button -.. _ecommerce/checkout/policy: - -Checkout policy -=============== - -To allow customers to checkout as guests or force them to sign in/create an account, go to -:menuselection:`Website --> Configuration --> Settings`, scroll down to the :guilabel:`Shop - -Checkout Process` section, and configure the :guilabel:`Sign in/up at checkout` setting. The -following options are available: - -- :guilabel:`Optional`: Customers can check out as guests and register later via the order - confirmation email to track their order. -- :guilabel:`Disabled (buy as guest)`: Customers can checkout as guests without creating an account. -- :guilabel:`Mandatory (no guest checkout)`: Customers must sign in or create an account at the - :ref:`Review Order ` step to complete their purchase. - -B2B access management ---------------------- - -To restrict checkout to selected B2B customers: - -#. Go to :menuselection:`Website --> Configuration --> Settings`, and in the :guilabel:`Shop - - Checkout Process` section, enable the :ref:`Mandatory (no guest checkout) - ` option. -#. Scroll down to the :guilabel:`Privacy` section, go to :guilabel:`Customer Account`, and select - :guilabel:`On invitation`. -#. Go to :menuselection:`Website --> eCommerce --> Customers`, switch to the :guilabel:`List` view, - and select the customers you wish to grant access to your :doc:`portal - <../../general/users/portal>`. -#. Click the :icon:`fa-cog` :guilabel:`Actions` button, then :guilabel:`Grant portal access`. -#. Review the selected customers in the :guilabel:`Portal Access Management` pop-up and click - :guilabel:`Grant Access`. - -Once done, the relevant customers receive an email confirming their account creation, including -instructions on setting a password and activating their account. - -.. note:: - - You can revoke access or re-invite a customer using the related buttons in the - :guilabel:`Portal Access Management` pop-up. - - Users can only have one :doc:`portal access <../../general/users/portal>` per email. - - Settings are website-specific, so you could set up a B2C website that allows guest checkout and - a B2B website with mandatory sign-in. - -.. seealso:: - - :doc:`Customer accounts documentation ` - - :doc:`Portal access documentation <../../general/users/portal>` - .. _ecommerce/checkout/steps: Checkout steps @@ -191,6 +144,11 @@ checkout options. .. note:: Content added through building blocks is **specific** to each step. +.. tip:: + Restrict access to the :ref:`shop ` and :ref:`checkout + ` for specific customers, e.g., in a B2B business + setup. + .. _ecommerce/checkout/review_order: Review order diff --git a/content/applications/websites/ecommerce/customer_accounts.rst b/content/applications/websites/ecommerce/customer_accounts.rst index 5efd89bb72..f953f5a318 100644 --- a/content/applications/websites/ecommerce/customer_accounts.rst +++ b/content/applications/websites/ecommerce/customer_accounts.rst @@ -2,42 +2,131 @@ Customer accounts ================= -Having customer accounts on an eCommerce allows customers to access all their documents from a -single place. To access their account, customers must be **logged-in** on the eCommerce website, -click on their **username** in the top-right corner of the screen, and click :guilabel:`My Account`. -From there, customers can access their :guilabel:`quotations`, :guilabel:`orders`, -:guilabel:`invoices`, etc. +Using customer accounts for an ecommerce shop enables you to :ref:`manage customers +`, control access to the :ref:`shop +`, the :ref:`checkout +`, or the :ref:`customer portal `, +and support both B2B and B2C operations. + +After logging in, customers can access their :doc:`customer portal <../../general/users/portal>` +by clicking their username in the top-right corner of the screen and selecting :guilabel:`My +Account`. From there, they can view all their documents in one place, such as quotations, orders, +invoices, and more. .. image:: customer_accounts/account-log.png - :align: center - :alt: Customer account log-in + :alt: Customer account access -.. note:: - Customers can only have an account if the - :ref:`sign in/up at checkout ` option allows for account creation. +.. tip:: + The customer account page can be customized with building blocks and other features through + the :doc:`website builder <../website/web_design>`. + +.. _ecommerce/customer_accounts/account-creation: + +Customer account creation +========================= + +You can choose whether customer accounts and document access are available to everyone or restricted +to invited users only. To do so, go to :menuselection:`Website --> Configuration --> Settings`, +then scroll down to the :guilabel:`Privacy` section. Under :guilabel:`Customer Account`, select one +of the following options: + +- :guilabel:`On invitation`: Customers can only create an account if the website owner sends them + an invitation. +- :guilabel:`Free sign up`: Every website visitor can create an account and sign in. They will + get access to the :doc:`portal <../../general/users/portal>` by default. + +To send an email invitation to a customer: + +- Go to :menuselection:`Website --> eCommerce --> Customers`. +- Select a customer or click :guilabel:`New` to create one, ensuring an :guilabel:`Email` address + is set. +- Click the :icon:`fa-cog` :guilabel:`(Actions)` icon next to the record's name at the top-left and + select :guilabel:`Grant portal access`. +- In the :guilabel:`Portal Access Management` pop-up, click :guilabel:`Grant Access` to send the + invitation. .. tip:: - Similarly to the rest of the website, the customer account page can be customized with **content - blocks** and other features through the **website builder**. + To invite multiple customers at once, switch to the customers :icon:`oi-view-list` + :guilabel:`List` view, select several customers, click the :icon:`fa-cog` :guilabel:`Actions` + button, and select :guilabel:`Grant portal access`. -.. seealso:: - :doc:`/applications/general/users/portal` +Once done, the customer(s) receive an email confirming their account creation, including +instructions on setting a password and activating their account. + +.. note:: + - When selecting the :guilabel:`Free sign up`, a clickable :guilabel:`Don't have an account?` + link appears under the login form on the website. + - The :guilabel:`On invitation` option is especially useful for B2B businesses that prefer + to keep :ref:`prices hidden ` on the website and grant access + only to invited customers. + +.. tip:: + It is possible to configure a website form with a :guilabel:`Create a Customer` :ref:`action + ` to automatically create a customer record in the backend when + filled in. Access restriction ================== -It is possible to allow or restrict the documents to which customers have access through the website -builder. Log in your **own** account with your Odoo database credentials, and go to -:menuselection:`Edit --> Customize`. From the website builder menu, enable or disable the documents -customers can have access to. +Once a customer account is created, it is still possible to adjust the access rights +either globally or for individual users: + +- :ref:`Revoke access or re-invite a customer ` + using the related buttons in the :guilabel:`Portal Access Management` pop-up. +- Restrict :ref:`access to the shop `; +- Decide whether customers need to create an account to :ref:`complete the checkout + `. -.. image:: customer_accounts/account-documents.png - :align: center - :alt: Documents to which customers have access to from their account +.. tip:: + It is also possible to define the types of documents customers have access to. To do so, click + your username in the upper-right corner of the website, select :guilabel:`My Account` and open + the :doc:`website builder <../website/web_design>`. On the :guilabel:`Customize` tab, enable or + disable access to specific documents as needed. + +.. _ecommerce/customer_accounts/shop-access: + +Shop access +----------- + +To restrict access to the entire online shop for users who are not logged-in, go to +:menuselection:`Website --> Configuration --> Settings`, scroll to :guilabel:`Privacy` and under +:guilabel:`Ecommerce Access`, select :guilabel:`Logged in users`. Select :guilabel:`All users` if +the shop should be visible to every website visitor. + +.. tip:: + To restrict access to the shop's pricing, use :ref:`pricelists ` + with :ref:`country groups `. + +.. _ecommerce/customer_accounts/checkout-access: + +Checkout access +--------------- + +To allow customers to checkout as guests or force them to sign in/create an account, go to +:menuselection:`Website --> Configuration --> Settings`, scroll down to the :guilabel:`Shop - +Checkout Process` section, and configure the :guilabel:`Sign in/up at checkout` setting. The +following options are available: + +- :guilabel:`Optional`: Customers can check out as guests and register later via the order + confirmation email to track their order. +- :guilabel:`Disabled (buy as guest)`: Customers can checkout as guests without creating an account. +- :guilabel:`Mandatory (no guest checkout)`: Customers must sign in or create an account at the + :ref:`Review Order ` step to complete their purchase. + +.. note:: + - Settings are specific to each website, allowing you to configure a B2C website with guest + checkout and a B2B website that requires customers to sign in. + - To use the :ref:`wishlist ` feature, customers must + create an account to save their favorite items for later. Multi-website account ===================== -If you own multiple websites, you can make customer accounts available across **all** websites. -Then, the customer only needs one account. To do so, go to :menuselection:`Website --> Configuration ---> Settings --> Privacy section`, and enable :guilabel:`Shared Customer Accounts`. +When managing multiple websites, it is possible to make customer accounts available across *all* +websites, allowing each customer to use a single account. To do so, go to :menuselection:`Website +--> Configuration --> Settings`, in the :guilabel:`Privacy` section, enable :guilabel:`Shared +Customer Accounts` option. + +.. note:: + When operating both B2B and B2C online shops, it's recommended to use separate websites for each + business model. diff --git a/content/applications/websites/ecommerce/customer_accounts/account-documents.png b/content/applications/websites/ecommerce/customer_accounts/account-documents.png deleted file mode 100644 index 39df71a091..0000000000 Binary files a/content/applications/websites/ecommerce/customer_accounts/account-documents.png and /dev/null differ diff --git a/content/applications/websites/website/web_design/building_blocks.rst b/content/applications/websites/website/web_design/building_blocks.rst index bbadaffc14..4b4b10080e 100644 --- a/content/applications/websites/website/web_design/building_blocks.rst +++ b/content/applications/websites/website/web_design/building_blocks.rst @@ -58,6 +58,8 @@ in your database, if applicable. To add a form to a website page, drag and drop .. image:: building_blocks/form-block.png :alt: Example of a form block +.. _website/building_blocks/action: + Action ~~~~~~