|
2 | 2 | Checkout
|
3 | 3 | ========
|
4 | 4 |
|
5 |
| -You can customize the **checkout steps**, add more content using the **website builder**, and enable |
6 |
| -additional features such as **express checkout** and **sign in/up at checkout**. |
7 |
| - |
8 |
| -You can use **building blocks** to add content at any step of the checkout process. To do so, from |
9 |
| -any **checkout page**, go to :menuselection:`Edit --> Blocks`, and drag and drop **building blocks** |
10 |
| -to the page. |
| 5 | +Once customers have added their desired products to the cart, they can access it by clicking the |
| 6 | +:icon:`fa-shopping-cart` button in the header to start the checkout process. In Odoo eCommerce, this |
| 7 | +process consists of sequential :ref:`steps <ecommerce/checkout/steps>`, some of which support |
| 8 | +additional features. The related checkout pages can be :ref:`customized |
| 9 | +<ecommerce/checkout/customize_steps>` using the website editor. |
| 10 | + |
| 11 | +.. _ecommerce/checkout/policy: |
| 12 | + |
| 13 | +Checkout policy |
| 14 | +=============== |
| 15 | + |
| 16 | +To allow customers to checkout as guests or force them to sign in/create an account, go to |
| 17 | +:menuselection:`Website --> Configuration --> Settings`, scroll down to the |
| 18 | +:guilabel:`Shop - Checkout Process` section, and configure the :guilabel:`Sign in/up at checkout` |
| 19 | +setting. The following options are available: |
| 20 | + |
| 21 | +- :guilabel:`Optional`: Customers can check out as guests and register later via the order |
| 22 | + confirmation email to track their order. |
| 23 | +- :guilabel:`Disabled (buy as guest)`: Customers can checkout as guests without creating an account. |
| 24 | +- :guilabel:`Mandatory (no guest checkout)`: Customers must sign in or create an account at |
| 25 | + the :ref:`Review Order <ecommerce/checkout/review_order>` step to complete their purchase. |
| 26 | + |
| 27 | +B2B access management |
| 28 | +--------------------- |
| 29 | + |
| 30 | +To restrict checkout to selected B2B customers, follow these steps: |
| 31 | + |
| 32 | +#. Go to :menuselection:`Website --> Configuration --> Settings`, and in the |
| 33 | + :guilabel:`Shop - Checkout Process` section, enable the |
| 34 | + :ref:`Mandatory (no guest checkout) <ecommerce/checkout/policy>` option. |
| 35 | +#. Scroll down to the :guilabel:`Privacy` section, go to :guilabel:`Customer Account`, and select |
| 36 | + :guilabel:`On invitation`. |
| 37 | +#. Go to :menuselection:`Website --> eCommerce --> Customers`, switch to the :guilabel:`List` view, |
| 38 | + and select the customers you wish to grant access to your |
| 39 | + :doc:`portal <../../../general/users/portal>`. |
| 40 | +#. Click the :icon:`fa-cog` :guilabel:`Actions` button, then :guilabel:`Grant portal access`. |
| 41 | +#. Review the selected customers in the :guilabel:`Portal Access Management` pop-up and click |
| 42 | + :guilabel:`Grant Access`. |
| 43 | + |
| 44 | +Once done, the relevant customers receive an email confirming their account creation, including |
| 45 | +instructions on setting a password and activating their account. |
11 | 46 |
|
12 | 47 | .. note::
|
13 |
| - Note that content added through building blocks is **specific** to each step. |
| 48 | + - You can revoke access or re-invite a customer using the related buttons in the |
| 49 | + :guilabel:`Portal Access Management` pop-up. |
| 50 | + - Users can only have one :doc:`portal access <../../../general/users/portal>` per email. |
| 51 | + - Settings are website-specific, so you could set up a B2C website that allows guest checkout and |
| 52 | + B2B website with mandatory sign-in. |
14 | 53 |
|
15 |
| -Checkout steps |
16 |
| -============== |
| 54 | +.. seealso:: |
| 55 | + - :doc:`Customer accounts <../ecommerce_management/customer_accounts>` |
| 56 | + - :doc:`Portal access <../../../general/users/portal>` |
17 | 57 |
|
18 |
| -Review order: promo code (and subtotal) |
19 |
| ---------------------------------------- |
| 58 | +.. _ecommerce/checkout/steps: |
20 | 59 |
|
21 |
| -If you have enabled :guilabel:`Discounts, Loyalty, & Gift Card` in the settings |
22 |
| -(:menuselection:`Website --> Configuration --> Settings --> Shop - Products`), you can enable the |
23 |
| -:guilabel:`Promo Code` field (:menuselection:`Edit --> Customize`) from any checkout page. Customers |
24 |
| -can then redeem gift cards and promotional codes at the :guilabel:`Review Order` step. |
| 60 | +Checkout steps |
| 61 | +============== |
25 | 62 |
|
26 |
| -Furthermore, you can display the subtotal with discounts applied by enabling :guilabel:`Show |
27 |
| -Discount in Subtotal`. |
| 63 | +During the checkout process, customers are taken through the following steps: |
28 | 64 |
|
29 |
| -.. image:: checkout/checkout-subtotal.png |
30 |
| - :align: center |
31 |
| - :alt: Subtotal discount |
| 65 | +- :ref:`Review order <ecommerce/checkout/review_order>` |
| 66 | +- :ref:`Delivery <ecommerce/checkout/delivery>` |
| 67 | +- :ref:`Extra info (if enabled) <ecommerce/checkout/extra_step>` |
| 68 | +- :ref:`Payment <ecommerce/checkout/payment>` |
| 69 | +- :ref:`Order confirmation <ecommerce/checkout/order_confirmation>` |
32 | 70 |
|
33 |
| -Address: B2B fields |
34 |
| -------------------- |
| 71 | +.. _ecommerce/checkout/customize_steps: |
35 | 72 |
|
36 |
| -Optional :guilabel:`TIN/VAT` and :guilabel:`Company Name` fields can be added to the |
37 |
| -:guilabel:`Billing Address` form for B2B customers, at the :guilabel:`Address` step. To add the |
38 |
| -fields, go to :menuselection:`Edit --> Customize` from any checkout page, and enable |
39 |
| -:guilabel:`Show B2B fields`. |
| 73 | +Each step can be customized using the website editor: Click :guilabel:`Edit` to add |
| 74 | +:doc:`building blocks <../../website/web_design/building_blocks>` from the :guilabel:`Blocks` tab or |
| 75 | +open to the :guilabel:`Customize` tab to enable various checkout options. |
40 | 76 |
|
41 |
| -Request extra info (additional step) |
42 |
| ------------------------------------- |
| 77 | +.. note:: |
| 78 | + Content added through building blocks is **specific** to each step. |
43 | 79 |
|
44 |
| -You can request :guilabel:`Extra Info` from the customer by adding an :guilabel:`Extra Info` step |
45 |
| -between the :guilabel:`Address` and :guilabel:`Confirm Order` steps. To do so, go to |
46 |
| -:menuselection:`Edit --> Customize` from any checkout page, and enable :guilabel:`Extra Step |
47 |
| -Option`. |
| 80 | +.. _ecommerce/checkout/review_order: |
48 | 81 |
|
49 |
| -.. image:: checkout/checkout-steps.png |
50 |
| - :align: center |
51 |
| - :alt: Checkout steps |
| 82 | +Review order |
| 83 | +------------ |
52 | 84 |
|
53 |
| -The :guilabel:`Extra Info` step is an online form linked to the quotation or sales order of the |
54 |
| -customer. The information added during that step can be found on the quotation or sales order of the |
55 |
| -customer from the back end, in the **Sales** app. |
| 85 | +The :guilabel:`Review Order` step allows customers to see the items they added to their cart, adjust |
| 86 | +quantities, or :guilabel:`Remove` products. Information related to the product prices and taxes |
| 87 | +applied are also displayed. Customers can then click the :guilabel:`Checkout` button to continue to |
| 88 | +the :ref:`Delivery <ecommerce/checkout/delivery>` step. |
56 | 89 |
|
57 |
| -When enabled, you can remove, add, and modify fields of the form by clicking on :guilabel:`Edit` in |
58 |
| -the top-right corner, and then clicking on any of the form's fields. All customization options, as |
59 |
| -well as the :guilabel:`+ Field` button to add new fields, are available at the bottom of the |
60 |
| -:guilabel:`Customize` menu under the :guilabel:`Field` section. |
| 90 | +Open the website editor to :ref:`enable <ecommerce/checkout/customize_steps>` checkout options such |
| 91 | +as: |
61 | 92 |
|
62 |
| -.. image:: checkout/checkout-form.png |
63 |
| - :align: center |
64 |
| - :alt: Online form customization |
| 93 | +- :guilabel:`Suggested Accessories`: to showcase :ref:`accessory products |
| 94 | + <ecommerce/cross_upselling/accessory>`; |
| 95 | +- :guilabel:`Promo Code`: to allow customers to redeem :ref:`gift cards <ewallet_gift/gift-cards>` |
| 96 | + or apply :doc:`discount codes <../../../sales/sales/products_prices/loyalty_discount>`; |
| 97 | +- :guilabel:`Add to Wishlist`: To allow signed-in users to remove a product from their cart and add |
| 98 | + it to their wishlist, go to :menuselection:`Website --> Configuration --> Settings`, scroll to |
| 99 | + the :guilabel:`Shop - Products` section, and enable :guilabel:`Wishlists`. The :guilabel:`Add to |
| 100 | + Wishlist` option is then enabled by default in the website editor. |
65 | 101 |
|
66 |
| -Confirm order: terms and conditions |
67 |
| ------------------------------------ |
| 102 | +.. note:: |
| 103 | + - If a :doc:`fiscal position </applications/finance/fiscal_localizations>` is detected automatically, |
| 104 | + the product tax is determined based on the customer's IP address. |
| 105 | + - If the installed :doc:`payment provider </applications/finance/payment_providers>` supports |
| 106 | + :ref:`express checkout <payment_providers/express_checkout>`, a dedicated button is displayed, |
| 107 | + allowing customers to go straight from the cart to the confirmation page without filling out |
| 108 | + the contact form. |
68 | 109 |
|
69 |
| -You can ask customers to agree to the :guilabel:`Terms & Conditions` in order to confirm their order |
70 |
| -by enabling :guilabel:`Accept Terms & Conditions` under :menuselection:`Edit --> Customize` on any |
71 |
| -checkout page. |
| 110 | +.. _ecommerce/checkout/delivery: |
72 | 111 |
|
73 |
| -.. image:: checkout/checkout-terms.png |
74 |
| - :align: center |
75 |
| - :alt: Terms and conditions |
| 112 | +Delivery |
| 113 | +-------- |
76 | 114 |
|
77 |
| -Express checkout |
78 |
| -================ |
| 115 | +Once they have reviewed their order: |
79 | 116 |
|
80 |
| -You can enable a :guilabel:`Buy Now` button on products' pages which instantly takes the customer to |
81 |
| -the :guilabel:`Confirm Order` checkout page, instead of adding the product to the cart. To do so, go |
82 |
| -to :menuselection:`Website --> Configuration --> Settings --> Shop - Checkout Process section` and |
83 |
| -tick :guilabel:`Buy Now`. Alternatively, the :guilabel:`Buy Now` button can also be enabled from any |
84 |
| -product's page by going :menuselection:`Edit --> Customize`, in the :guilabel:`Cart` section. |
| 117 | +- Unsigned-in customers are prompted to :guilabel:`Sign in` or enter their |
| 118 | + :guilabel:`Email address`, along with their delivery address and phone details; |
| 119 | +- Signed-in customers can select the appropriate :guilabel:`Delivery address`. |
85 | 120 |
|
86 |
| -The button can be found next to the :guilabel:`Add to Cart` button on the product's page. |
| 121 | +They can then :doc:`choose a delivery method <shipping>`, select or enter their :guilabel:`Billing |
| 122 | +Address` (or toggle the :guilabel:`Same as delivery address` switch if the billing and delivery |
| 123 | +addresses are identical), and click :guilabel:`Confirm` to proceed to the next step. |
87 | 124 |
|
88 |
| -.. image:: checkout/checkout-express.png |
89 |
| - :align: center |
90 |
| - :alt: Buy now (express checkout) button |
| 125 | +.. tip:: |
| 126 | + For B2B customers, you can also :ref:`enable <ecommerce/checkout/customize_steps>` optional |
| 127 | + :guilabel:`VAT` and :guilabel:`Company name` fields by toggling the :guilabel:`Show B2B Fields` |
| 128 | + option in the website editor. |
91 | 129 |
|
92 |
| -.. _checkout-sign: |
| 130 | +.. _ecommerce/checkout/extra_step: |
93 | 131 |
|
94 |
| -Guest and signed-in checkout |
95 |
| -============================ |
| 132 | +Extra info |
| 133 | +---------- |
96 | 134 |
|
97 |
| -It is possible to introduce a **checkout policy** under which customers can either checkout as |
98 |
| -**guests** or **signed-in users only**. Customers can also checkout as guest, and **optionally sign |
99 |
| -up later** in order to track their order, if enabled. |
| 135 | +You can add an :guilabel:`Extra Info` step in the checkout process to collect additional |
| 136 | +customer information through an online form, which is then included in the :ref:`sales order |
| 137 | +<handling/sales>`. To do so :ref:`enable <ecommerce/checkout/customize_steps>` the :guilabel:`Extra |
| 138 | +Step` option in the website editor. The form can be :ref:`customized <website/dynamic_content/form>` |
| 139 | +as needed. |
100 | 140 |
|
101 |
| -To select a policy, go to :menuselection:`Website --> Configuration --> Settings --> Shop - Checkout |
102 |
| -Process`. You can choose between: |
| 141 | +.. tip:: |
| 142 | + Alternatively, go to :menuselection:`Website --> Configuration --> Settings`, scroll to the |
| 143 | + :guilabel:`Shop - Checkout Process` section, enable :guilabel:`Extra Step During Checkout`, and |
| 144 | + click :guilabel:`Save`. Click :icon:`fa-arrow-right` :guilabel:`Configure Form` to customize the |
| 145 | + form. |
103 | 146 |
|
104 |
| -- :guilabel:`Optional`: allows guests to checkout and later register from the **order confirmation** |
105 |
| - email to track their order; |
106 |
| -- :guilabel:`Disabled (buy as guest)`: customers can only checkout as guests; |
107 |
| -- :guilabel:`Mandatory (no guest checkout)`: customers can only checkout if they have signed-in. |
| 147 | +.. _ecommerce/checkout/payment: |
108 | 148 |
|
109 |
| -.. seealso:: |
110 |
| - - :doc:`../ecommerce_management/customer_accounts` |
111 |
| - - :doc:`/applications/general/users/portal` |
| 149 | +Payment |
| 150 | +------- |
112 | 151 |
|
113 |
| -B2B access restriction |
114 |
| ----------------------- |
| 152 | +At the :guilabel:`Payment` step, customers :guilabel:`Choose a payment method`, enter their |
| 153 | +payment details, and click :guilabel:`Pay now`. |
115 | 154 |
|
116 |
| -If you wish to restrict checkout only to **selected B2B customers**, enable :guilabel:`Mandatory (no |
117 |
| -guest checkout)` and go to :menuselection:`Website --> eCommerce --> Customers`. Select the customer |
118 |
| -you wish to **grant access to**, click :menuselection:`Action --> Grant portal access`, and click |
119 |
| -:guilabel:`Grant Access`. |
| 155 | +You can require customers to agree to your :doc:`terms and conditions |
| 156 | +</applications/finance/accounting/customer_invoices/terms_conditions>` before payment. To |
| 157 | +:ref:`enable <ecommerce/checkout/customize_steps>` this option, go to the website editor and toggle |
| 158 | +the :guilabel:`Accept Terms & Conditions` feature. |
120 | 159 |
|
121 | 160 | .. tip::
|
122 |
| - Settings are **website-specific**, which means you can set up a B2C website allowing **guest** |
123 |
| - checkout, and another for B2B customers with **mandatory sign-in**. |
| 161 | + Enable the :ref:`developer mode <developer-mode>` and click the :icon:`fa-bug` :guilabel:`bug` |
| 162 | + icon to display an :ref:`availability <payment_providers/availability>` report for payment |
| 163 | + providers and payment methods, which helps diagnose potential availability issues on the payment |
| 164 | + form. |
124 | 165 |
|
125 |
| -.. note:: |
126 |
| - Users can only have one portal access per **email**. They *cannot* be granted access to two |
127 |
| - different portals with the same **email address**. |
| 166 | +.. _ecommerce/checkout/order_confirmation: |
| 167 | + |
| 168 | +Order confirmation |
| 169 | +------------------ |
128 | 170 |
|
129 |
| -Shared customer accounts |
130 |
| ------------------------- |
| 171 | +The final step of the checkout process is the :guilabel:`Order confirmation`, which provides a |
| 172 | +summary of the customer's purchase details. |
131 | 173 |
|
132 |
| -If you enable :guilabel:`Shared Customer Accounts` under :menuselection:`Website --> Configuration |
133 |
| ---> Settings --> Privacy section`, you can allow or disallow access to *all* websites for one same |
134 |
| -account. |
| 174 | +.. seealso:: |
| 175 | + :doc:`Order handling <../../ecommerce/ecommerce_management/order_handling>` |
0 commit comments