diff --git a/content/applications/finance/payment_providers/inperson_payments.rst b/content/applications/finance/payment_providers/inperson_payments.rst index 5ec1221765..7c55611923 100644 --- a/content/applications/finance/payment_providers/inperson_payments.rst +++ b/content/applications/finance/payment_providers/inperson_payments.rst @@ -32,9 +32,5 @@ and enable :guilabel:`Cash on Delivery`. The **Cash on Delivery** payment provid enabled and published. To edit the default instructions shown to customers, :ref:`access the payment provider form ` and go to the :guilabel:`Messages` tab. -.. note:: - This method is only available at checkout for customers who select a delivery method with the - :guilabel:`Cash on Delivery` feature enabled. - .. seealso:: :doc:`../payment_providers` diff --git a/content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration.rst b/content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration.rst index 72e1834121..88ca3c9198 100644 --- a/content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration.rst +++ b/content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration.rst @@ -5,9 +5,9 @@ Delivery methods ================ In Odoo, *delivery methods* make it possible to calculate shipping costs directly on sales orders -and e-commerce carts, providing customers and sales teams with accurate shipping fee information. -This transparency helps close sales by showing customers the exact cost for each shipping carrier or -delivery timeframe. +and :doc:`e-commerce ` carts, providing customers and +sales teams with accurate shipping fee information. This transparency helps close sales by showing +customers the exact cost for each shipping carrier or delivery timeframe. When activated in Odoo, the *Delivery Methods* setting adds the option of calculating the cost of shipping on sales orders and e-commerce shopping carts. diff --git a/content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst b/content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst index 23f41ed5b9..cdcc574f1e 100644 --- a/content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst +++ b/content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/new_delivery_method.rst @@ -33,7 +33,8 @@ a form to provide details about the shipping provider, including: - :guilabel:`Delivery Method` (*Required field*): the name of the delivery method (e.g. `flat-rate shipping`, `same day delivery`, etc.). -- :guilabel:`Website`: configure shipping methods for an **eCommerce** page. Select the applicable +- :guilabel:`Website`: configure shipping methods for an :doc:`e-commerce + ` page. Select the applicable website from the drop-down menu, or leave it blank to apply the method to all web pages. This field only appears when the **eCommerce** app is enabled. - :guilabel:`Provider` (*Required field*): choose the delivery service, like FedEx, if using a @@ -145,6 +146,8 @@ To restrict shipping to specific destinations on the **eCommerce** website, in t form, navigate to the :guilabel:`Destination Availability` tab and define the :guilabel:`Countries`, :guilabel:`States`, and :guilabel:`Zip Prefixes`. Leave these fields empty if all locations apply. +.. _inventory/shipping/calculate-delivery-cost: + Calculate delivery cost ~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/content/applications/websites/ecommerce/checkout.rst b/content/applications/websites/ecommerce/checkout.rst index b3c9939320..c61e757d02 100644 --- a/content/applications/websites/ecommerce/checkout.rst +++ b/content/applications/websites/ecommerce/checkout.rst @@ -30,11 +30,14 @@ Default add to cart behavior When clicking the :guilabel:`Add to cart` button, different actions can be triggered. To configure them, go to :menuselection:`Website --> Configuration --> Settings`, scroll down to the :guilabel:`eCommerce` section, and select one of the following options for the :guilabel:`Add to -cart` feature: +Cart` feature: -- :guilabel:`Stay on Product Page`: The customer can choose if they want to :guilabel:`Add to cart` - and continue shopping or :guilabel:`Go to the Checkout`. -- :guilabel:`Go to cart`: The customer is immediately redirected to the cart. +- :guilabel:`Stay on Product Page`: The customer remains on the product page after adding a product + to the cart. If the added product has linked :ref:`optional products + `, the customer can choose between :guilabel:`Add to cart` (to + stay on the product page) and :guilabel:`Go to Checkout` :icon:`fa-chevron-right` (to be + redirected to the cart). +- :guilabel:`Go to cart`: The customer is redirected to the cart immediately. .. _ecommerce/checkout/prevent-sale: @@ -48,55 +51,47 @@ redirects users to the default contact form. Removing the ability to add products to the cart is often used by businesses that want to display an online catalog but cannot share prices publicly (e.g., to offer custom or variable pricing). -To display the :guilabel:`Contact Us` button and a note saying `Not Available For Sale` , you need -to :ref:`hide prices ` on the product page. When the customer clicks -the :guilabel:`Contact Us` button, they are redirected to the contact form where the -:guilabel:`Subject` field is already auto-filled with the requested product's name. - -.. image:: checkout/cart-contact-us.png - :alt: Contact us button on product page - -.. note:: - The :guilabel:`Contact Us` button label, URL, and the *Not Available For Sale* text beneath the - product title and description can be modified on the product's page while in :guilabel:`Edit` - mode. +To display the :guilabel:`Contact Us` button, you need to :ref:`hide prices +` on the product page. When the customer clicks the :guilabel:`Contact +Us` button, by default, they are redirected to the contact form where the :guilabel:`Subject` field +is already auto-filled with the requested product's name. Additional add to cart buttons ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ You can add additional :guilabel:`Add to Cart` buttons and link them to specific products on any -website page. - -To add them, open the website editor and place the :guilabel:`Add to Cart Button` inner content -building block. Once placed, click the button, scroll to the :guilabel:`Add to Cart Button` section, -and configure the following: +website page. To add them, open the website editor and place the :guilabel:`Add to Cart Button` +inner content building block. Once placed, click the button, scroll to the :guilabel:`Add to Cart +Button` section, and configure the following: - :guilabel:`Product`: Select the product to link the button with. -- :guilabel:`Action`: Choose if it should be an :guilabel:`Add to Cart` or :ref:`Buy Now +- :guilabel:`Action`: Choose whether to use an :guilabel:`Add to Cart` or :ref:`Buy Now ` button. .. note:: - - If the product has variants, either choose one or leave the option on :guilabel:`Visitor's - Choice`, which prompts the customer to select a variant and then :guilabel:`Add to Cart` and - continue shopping or :guilabel:`Go to Checkout`. - - The default :guilabel:`Add to Cart` button does not offer those options, but its label can be + - If the product has variants, either choose one or leave the option set to :guilabel:`Visitor's + Choice`, which prompts the customer to select a variant before choosing to :guilabel:`Add to + cart` and continue shopping or to :guilabel:`Go to Checkout`. + - The default :guilabel:`Add to cart` button does not offer those options, but its label can be changed. .. tip:: In the website editor, it is also possible to show or hide the :icon:`fa-shopping-cart` - (:guilabel:`cart`) icon in the page's header. Click the header and then the - :icon:`fa-shopping-cart` (:guilabel:`cart`) button next to the :guilabel:`Show Empty` option - under the :guilabel:`Style` tab. + (:guilabel:`cart`) icon in the page's header. To do so, click the header, go to the + :guilabel:`Style`, navigate to the :guilabel:`Show/Hide Elements` section, and toggle the + :icon:`fa-shopping-cart` (:guilabel:`cart`) button next to the :guilabel:`Show Empty` option. If + it is not enabled, the cart icon appears only when an item is added to the cart. The number of + items in the cart is also displayed next to the icon. .. _ecommerce/checkout/buy-now: Buy now ------- -To let customers choose to go to the :ref:`Order summary ` step -directly, you can add an additional :guilabel:`Buy now` button. To do so, go to any product's page, -open the website editor, go to the :guilabel:`Style` tab, and click the :icon:`fa-bolt` -:guilabel:`Buy Now` button next to the :guilabel:`Purchase Options`. +To let customers choose to go directly to the :ref:`Order summary ` +step, add an additional :guilabel:`Buy now` button. To do so, go to any product's page, open the +website editor, go to the :guilabel:`Style` tab, and click the :icon:`fa-bolt` :guilabel:`Buy Now` +button next to the :guilabel:`Purchase Options`. .. image:: checkout/cart-buy-now.png :alt: Buy now button @@ -112,7 +107,7 @@ Customers can reorder items from a previous sales order: selected order are automatically added to the cart, and customers can then :guilabel:`Remove` any items they don't want to reorder. - .. image:: checkout/order-again-button.png + .. image:: checkout/order-again.png :alt: Reorder button - from the cart, by clicking :guilabel:`Quick reorder` at the :ref:`Order summary step @@ -127,11 +122,11 @@ Customers can reorder items from a previous sales order: Checkout steps ============== -During the checkout process, customers are taken through the following steps: +During checkout, customers are taken through the following steps: - :ref:`Order summary ` -- :ref:`Address and delivery ` -- :ref:`Extra info (if enabled) ` +- :ref:`Address ` +- :ref:`Extra Info (if enabled) ` - :ref:`Payment ` - :ref:`Order confirmation ` @@ -156,9 +151,9 @@ Order summary The :guilabel:`Order summary` step allows customers to see the items they added to their cart, adjust quantities, :guilabel:`Remove` products, and :ref:`reorder products from a previous order -`. Information related to the product prices and taxes applied are also -displayed. Customers can then click the :guilabel:`Checkout` button to continue to the :ref:`Address -and delivery ` step. +`. Information on product prices and the taxes applied is also +displayed. Customers can then click the :guilabel:`Checkout` :icon:`fa-chevron-right` button to +continue to the :ref:`Address ` step. Open the website editor to :ref:`enable ` checkout options such as: @@ -166,10 +161,11 @@ as: - :guilabel:`Suggested Accessories`: to showcase :ref:`accessory products `; - :guilabel:`Promo Code`: to allow customers to redeem :ref:`gift cards ` - or apply :doc:`discount codes <../../sales/sales/products_prices/loyalty_discount>`; + and apply :doc:`discount codes <../../sales/sales/products_prices/loyalty_discount>` or + :ref:`promotional codes `; - :guilabel:`Add to Wishlist`: :ref:`Enable wishlists ` to allow signed-in users to remove a product - from their cart and add it to their wishlist using the :guilabel:`Save for later` option. + from their cart and add it to their wishlist using the :guilabel:`Save for Later` option. .. note:: - If a :doc:`fiscal position <../../finance/accounting/taxes/fiscal_positions>` is detected @@ -181,13 +177,13 @@ as: .. _ecommerce/checkout/delivery: -Address and delivery --------------------- +Address +------- Once they have reviewed their order: -- Unsigned-in customers are prompted to :guilabel:`Sign in` or enter their :guilabel:`Email - address`, along with their delivery address and phone details; +- Unsigned-in customers are prompted to :guilabel:`Sign in` or enter their :guilabel:`Name` and + :guilabel:`Email` address, along with their delivery address and phone details; - Signed-in customers can select the appropriate :guilabel:`Delivery address`. They can then :doc:`choose a delivery method `, select or enter their :guilabel:`Billing @@ -201,6 +197,9 @@ addresses are identical), and click :guilabel:`Confirm` to proceed to the next s to :menuselection:`Website --> Configuration --> Settings`, scroll down to the :guilabel:`eCommerce` section, enable the :guilabel:`Newsletter` feature, and select a :guilabel:`Newsletter List`. + - When the :ref:`Pick up in store ` delivery method is + selected, the customer can :guilabel:`Choose a pick-up point`, provided several pick-up points + are available. .. _ecommerce/checkout/extra_step: @@ -218,9 +217,14 @@ information through an online form, which is then included in the :ref:`sales or Payment ------- -At the :guilabel:`Payment` step, customers can :guilabel:`Choose a payment method`, enter their +At the :guilabel:`Payment` step, customers can choose a :guilabel:`Payment method`, enter their payment details, and click :guilabel:`Pay now`. +.. note:: + When the :ref:`Cash on Delivery ` + payment option is enabled, the customer must click the :guilabel:`Confirm` button and pay upon + delivery. + To make payment methods available to customers, configure and enable one or more :doc:`payment provider(s) `. To do so, go to :menuselection:`Website --> Configuration --> Payment Providers`, :guilabel:`Activate` the relevant payment provider, and @@ -234,7 +238,7 @@ Configuration --> Payment Providers`, :guilabel:`Activate` the relevant payment To display an :ref:`availability ` report for payment providers and payment methods and help diagnose potential availability issues on the payment form, enable - the :ref:`developer mode ` and click the :icon:`fa-bug` (:guilabel:`bug)` icon. + the :ref:`developer mode `, and click the :icon:`fa-bug` (:guilabel:`bug)` icon. Terms and conditions ~~~~~~~~~~~~~~~~~~~~ @@ -260,7 +264,7 @@ eCommerce --> Gift cards & eWallet` and :doc:`create a gift card and/or eWallet Order confirmation ------------------ -The final step of the checkout process is the :guilabel:`Order confirmation`, which provides a +The final step of the checkout process is the order confirmation page, which provides a summary of the customer's purchase details. A sales order is automatically created in the backend. Enable the :ref:`Automatic Invoice ` setting to automatically send an invoice to the customer. diff --git a/content/applications/websites/ecommerce/checkout/cart-contact-us.png b/content/applications/websites/ecommerce/checkout/cart-contact-us.png deleted file mode 100644 index 6b423a1f31..0000000000 Binary files a/content/applications/websites/ecommerce/checkout/cart-contact-us.png and /dev/null differ diff --git a/content/applications/websites/ecommerce/checkout/order-again.png b/content/applications/websites/ecommerce/checkout/order-again.png new file mode 100644 index 0000000000..db146052b0 Binary files /dev/null and b/content/applications/websites/ecommerce/checkout/order-again.png differ diff --git a/content/applications/websites/ecommerce/configuration/prices.rst b/content/applications/websites/ecommerce/configuration/prices.rst index 5f4573f6c6..175def9a2e 100644 --- a/content/applications/websites/ecommerce/configuration/prices.rst +++ b/content/applications/websites/ecommerce/configuration/prices.rst @@ -293,10 +293,10 @@ E-commerce promotional code To offer a discounted pricelist for customers with a specific discount code, access the relevant :ref:`pricelist form `, go to the :guilabel:`Ecommerce` tab, and add an :guilabel:`E-commerce Promotional Code`, e.g., `SUMMERSALE10%`. Then, go to the :guilabel:`Sales -Price` tab, click :guilabel:`Add a line`, and :ref:`configure the discount +Prices` tab, click :guilabel:`Add a line`, and :ref:`configure the discount `. When a customer inserts the code during the :ref:`checkout process `, this discount is granted according to the :guilabel:`Sales -Price` configuration. +Prices` configuration. .. note:: Make sure that the :ref:`Promo Code ` option diff --git a/content/applications/websites/ecommerce/ecommerce_design/product_page.rst b/content/applications/websites/ecommerce/ecommerce_design/product_page.rst index 91f6a45928..143b1cd56b 100644 --- a/content/applications/websites/ecommerce/ecommerce_design/product_page.rst +++ b/content/applications/websites/ecommerce/ecommerce_design/product_page.rst @@ -147,7 +147,8 @@ Toggle the following options on/off to enable or disable features across all pro backend: - :ref:`Click & Collect `: Show the order pick-up location - and delivery availability on the product page. + and delivery availability on the product page, and allow customers to select the desired + pick-up point. - :ref:`Description `: Display an e-commerce-specific product description right under the product name. - :ref:`Packagings `: Offer different types of diff --git a/content/applications/websites/ecommerce/shipping.rst b/content/applications/websites/ecommerce/shipping.rst index 1314c3a3d0..cdd1ba1296 100644 --- a/content/applications/websites/ecommerce/shipping.rst +++ b/content/applications/websites/ecommerce/shipping.rst @@ -1,64 +1,57 @@ -======== -Delivery -======== +================ +Delivery methods +================ -Odoo eCommerce allows you to configure various delivery methods, enabling customers to choose -their preferred option at :doc:`checkout `. These methods include :ref:`external providers -`, :ref:`custom options ` -such as flat-rate or free shipping, local carriers via -:doc:`Sendcloud ` -or :ref:`Based on Rules `, and +Odoo eCommerce allows you to configure various delivery methods, enabling customers to choose their +preferred option at :ref:`checkout `. These methods include integrations +with :ref:`external providers ` as well as :ref:`custom +options ` such as flat-rate shipping, free shipping, or :ref:`in-store pickup `. +.. seealso:: + :doc:`Configuring delivery methods + ` + .. _ecommerce/shipping/external-provider: External provider integration ============================= -To handle product delivery, you can connect your database to :doc:`third-party shipping carriers -` -like :doc:`FedEx `, +You can integrate with :doc:`third-party shipping carriers +`, +such as :doc:`FedEx `, :doc:`UPS `, -or :doc:`DHL `. -A shipping connector links to these providers, automating :doc:`tracking labels -` and shipping -processes. +or :doc:`DHL ` +to streamline shipping operations. Connecting with an external provider allows to generate +:doc:`tracking labels +` +automatically and to offer customers several delivery options at :ref:`checkout +`. -To enable a third-party delivery provider, go to :menuselection:`Website --> Configuration --> -Settings`, scroll to the :guilabel:`Delivery` section, select the desired delivery provider(s), -and :guilabel:`Save`. +To enable a third-party delivery provider: -Go to :menuselection:`Website --> Configuration --> Delivery Methods` and select the delivery method -in the list to :ref:`configure it `. +#. Go to :menuselection:`Website --> Configuration --> Settings`. +#. Scroll to the :guilabel:`eCommerce` section. +#. Under :guilabel:`Configure Delivery Methods`, click :icon:`fa-arrow-right` :guilabel:`Find a + Delivery Provider`. +#. On the :guilabel:`New Providers` page, click the :guilabel:`Delivery methods` button of an + already-installed provider to access the delivery method's form, or :guilabel:`Install` a new + provider. +#. :doc:`Configure the delivery method + `. -.. seealso:: - - :doc:`Third-party shipping carriers - ` - - :doc:`Gelato ` +.. note:: + The :ref:`shipping price `, including the + :guilabel:`Margin on rate` or :guilabel:`Additional margin` configured on the :ref:`delivery + method ` (if applicable), is displayed + when selecting the provider during :ref:`checkout `. -.. important:: - The field used to define additional fees **must** be filled **in your third-party delivery - provider account**, even if you do not plan to charge customers any additional fee. If you do not - want to apply a fee, enter `0`. If the field is left empty, the delivery price cannot be - calculated, and an error message prompts the customer to select an alternative delivery method. - -Margin on delivery rate ------------------------ - -To add an additional fee to the base shipping rate (e.g., to cover extra costs), log into your -carrier account and set the desired fee in the related field. The shipping connector retrieves this -fee and includes it in the final price at checkout. Contact your carrier for further assistance -with this configuration. - -Alternatively, enter `0` in your third-party shipping provider account, then set the fee in Odoo. -To do so, access the desired :ref:`shipping method's form -` and enter the fee in the :guilabel:`Margin -on Rate` field to add a percentage to the shipping costs and/or the :guilabel:`Additional margin` -field to add a fixed amount. - -.. important:: - The field used to define additional fees cannot be left empty in your third-party shipping - provider account. +.. tip:: + It is also possible to connect your e-commerce to shipping aggregators, such as :doc:`Sendcloud + ` + or :doc:`Envia.com + `, + or to fulfillment platforms like :doc:`Gelato `. .. _ecommerce/shipping/custom-method: @@ -67,57 +60,53 @@ Custom delivery method Custom delivery methods must be created, for example: -- to integrate delivery carriers through :doc:`Sendcloud - `; -- to configure specific rules (e.g., to offer free shipping for orders above a specific amount) for - a specific provider; -- to configure :ref:`Fixed Price ` shipping, or shipping :ref:`Based on - Rules `. +- to configure :ref:`fixed-price ` shipping that applies to all orders; +- to configure shipping :ref:`based on rules `; +- to configure the :ref:`Click & Collect ` option. -To create a custom delivery method, go to :menuselection:`Website --> Configuration --> Delivery -Methods`, click :guilabel:`New`, and fill in the :ref:`fields -`. - -In the :guilabel:`Provider` field, select :ref:`Based on Rules ` or -:ref:`Fixed Price `. +To create a custom :doc:`delivery method +`, +go to :menuselection:`Website --> Configuration --> Delivery Methods`, click :guilabel:`New`, and +:ref:`configure it `. .. tip:: - Upon :ref:`configuring ` a delivery - method, you can: + Upon :ref:`configuring ` a delivery method, you + can: - Restrict it :doc:`to a specific website <../website/configuration/multi_website>` by selecting it in the :guilabel:`Website` field. - - Click the :guilabel:`Test Environment` smart button to switch to the - :guilabel:`Production Environment`. Then, click :guilabel:`Unpublished` to :guilabel:`Publish` - the delivery method and make it available to website visitors. - Use the :guilabel:`Availability` tab to define :ref:`conditions ` for the delivery method based on the order's content or destination. + - Enable the :ref:`Cash on Delivery ` + option so customers can pay when their order is delivered. + - Add a :guilabel:`Tracking Link` to allow customer to track their order via the customer portal. .. _ecommerce/shipping/instore-pickup: Click & Collect -=============== +--------------- To allow customers to reserve products online and collect them in-store, follow these steps: #. Go to :menuselection:`Website --> Configuration --> Settings`. #. Scroll to the :guilabel:`eCommerce` section, enable :guilabel:`Click & Collect`, and :guilabel:`Save`. -#. Click :icon:`fa-arrow-right` :guilabel:`Configure Pickup Locations` to :ref:`configure - ` the delivery method if needed and - ensure the :guilabel:`Provider` field is set to :guilabel:`Pick up in store`. +#. Click :icon:`fa-arrow-right` :guilabel:`Configure Pickup Locations` to :doc:`configure the + delivery method + `, + if needed, and ensure the :guilabel:`Provider` field is set to :guilabel:`Pick up in store`. #. In the :guilabel:`Stores` tab, click :guilabel:`Add a line` and select the warehouse(s) where customers can collect their orders. -#. Once your setup is complete, click the :guilabel:`Unpublish` button to change the status to - :guilabel:`Publish` and make the delivery method available to customers. +#. Once the setup is complete, click the :guilabel:`Unpublished` button to change the status to + :guilabel:`Published` and make the delivery method available to customers. .. note:: - - When the product is in stock, a location selector is displayed on the :doc:`product - ` and :doc:`checkout ` pages. Customers cannot - select a pickup location if the product is out of stock at that location, unless the - :ref:`Continue selling ` option for out-of-stock products - is enabled. + - When the product is in stock, a location selector is displayed on the :doc:`product page + ` and the :guilabel:`Address` :ref:`checkout + ` page. Customers cannot select a pick-up location if the product + is out of stock at that location, unless the :ref:`Continue selling + ` option for out-of-stock products is enabled. - If the :ref:`Show Available Qty ` option is enabled for a product, customers can view the stock quantity available for each warehouse in the location selector on the product page. @@ -130,3 +119,6 @@ To allow customers to reserve products online and collect them in-store, follow - By default, the :ref:`Pay on Site ` payment method is :ref:`enabled and published ` when the :guilabel:`Click & Collect` feature is activated. + +.. seealso:: + :ref:`ecommerce/products/stock-management`