Customer accounts

# Customer accounts

Using customer accounts for an ecommerce shop enables you to manage customers , control access to the shop , the checkout , or the customer portal ,
and support both B2B and B2C operations .
After logging in, customers can access their customer portal by clicking their username in the top-right corner of the screen and selecting My
Account . From there, they can view all their documents in one place, such as quotations, orders,
invoices, and more.
The customer account page can be customized with building blocks and other features through
the website builder .

## 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 Website â£ Configuration â£ Settings ,
then scroll down to the Privacy section. Under Customer Account , select one
of the following options:
- On invitation : Customers can only create an account if the website owner sends them
an invitation.
On invitation : Customers can only create an account if the website owner sends them
an invitation.
- Free sign up : Every website visitor can create an account and sign in. They will
get access to the portal by default.
Free sign up : Every website visitor can create an account and sign in. They will
get access to the portal by default.
To send an email invitation to a customer:
- Go to Website â£ eCommerce â£ Customers .
Go to Website â£ eCommerce â£ Customers .
- Select a customer or click New to create one, ensuring an Email address
is set.
Select a customer or click New to create one, ensuring an Email address
is set.
- Click the (Actions) icon next to the recordâs name at the top-left and
select Grant portal access .
Click the (Actions) icon next to the recordâs name at the top-left and
select Grant portal access .
- In the Portal Access Management pop-up, click Grant Access to send the
invitation.
In the Portal Access Management pop-up, click Grant Access to send the
invitation.
To invite multiple customers at once, switch to the customers List view, select several customers, click the Actions button, and select Grant portal access .
Once done, the customer(s) receive an email confirming their account creation, including
instructions on setting a password and activating their account.
- When selecting the Free sign up , a clickable Donât have an account? link appears under the login form on the website.
When selecting the Free sign up , a clickable Donât have an account? link appears under the login form on the website.
- The On invitation option is especially useful for B2B businesses that prefer to keep prices hidden on the website and grant access only to invited customers.
The On invitation option is especially useful for B2B businesses that prefer to keep prices hidden on the website and grant access only to invited customers.
It is possible to configure a website form with a Create a Customer action to automatically create a customer record in the backend when
filled in.

## Access restriction

Once a customer account is created, it is still possible to adjust the access rights
either globally or for individual users:
- Revoke access or re-invite a customer using the related buttons in the Portal Access Management pop-up.
Revoke access or re-invite a customer using the related buttons in the Portal Access Management pop-up.
- Restrict access to the shop ;
Restrict access to the shop ;
- Decide whether customers need to create an account to complete the checkout .
Decide whether customers need to create an account to complete the checkout .
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 My Account and open
the website builder . On the Customize tab, enable or
disable access to specific documents as needed.

### Shop access

To restrict access to the entire online shop for users who are not logged-in, go to Website â£ Configuration â£ Settings , scroll to Privacy and under Ecommerce Access , select Logged in users . Select All users if
the shop should be visible to every website visitor.
To restrict access to the shopâs pricing, use pricelists with country groups .

### Checkout access

To allow customers to checkout as guests or force them to sign in/create an account, go to Website â£ Configuration â£ Settings , scroll down to the Shop -
Checkout Process section, and configure the Sign in/up at checkout setting. The
following options are available:
- Optional : Customers can check out as guests and register later via the order
confirmation email to track their order.
Optional : Customers can check out as guests and register later via the order
confirmation email to track their order.
- Disabled (buy as guest) : Customers can checkout as guests without creating an account.
Disabled (buy as guest) : Customers can checkout as guests without creating an account.
- Mandatory (no guest checkout) : Customers must sign in or create an account at the Review Order step to complete their purchase.
Mandatory (no guest checkout) : Customers must sign in or create an account at the Review Order step to complete their purchase.
- 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.
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 wishlist feature, customers must
create an account to save their favorite items for later.
To use the wishlist feature, customers must
create an account to save their favorite items for later.

## Multi-website account

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 Website
â£ Configuration â£ Settings , in the Privacy section, enable the Shared
Customer Accounts option.
When operating both B2B and B2C online shops , it is
recommended to use separate websites for each business model.

Customer account creation
Access restriction
Shop access
Checkout access
Multi-website account


Order handling

# Order handling

When a customer orders on your eCommerce, there are three record types required to be handle in
Odoo:
- Sales orders ;
- Delivery orders ;
- Invoices & legal requirements .
Invoices & legal requirements .

## 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 Sales app. eCommerce
orders can automatically be assigned to a specific sales team by going to Website
â£ Configuration â£ Settings . In the Shop - Checkout Process section, select a Sales Team or Salesperson to handle eCommerce orders.
Orders can be found under 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 : 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;
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.
Order : the customer has gone through the checkout process, confirmed the order, and the
payment is received.

### 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 Website â£ Configuration â£
Settings and in the Email & Marketing section, enable 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.
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.

## 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 Inventory app.
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.
- Shipping cost invoicing
Shipping cost invoicing
- Print shipping labels
Print shipping labels
- Multi-package shipments
Multi-package shipments

### 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.
- Returns and refunds
- After-Sales services
- Online payments

## Invoice and legal requirements

The final step of an ecommerce order is to generate the invoice and send it to the customer.
Depending on your needs, an invoice can either be generated automatically or on demand of the
customer. This process can be automated if (and when) the online payment is confirmed .
To automate invoicing, go to Website â£ Configuration â£ Settings and in the Invoicing section, enable Automatic Invoice .

Sales orders
Order and payment status
Abandoned cart
Delivery orders
Delivery flow
Returns and refunds
Invoice and legal requirements


Payment providers

# Payment providers

Odoo supports a multitude of online payment providers for your website, allowing your
customers to pay with their preferred payment methods.
- Use eWallets and gift cards
Use eWallets and gift cards
- Ordering and checkout
Ordering and checkout

## Configuration

To set up payment providers on the eCommerce app, go to Website â£ Configuration
â£ Payment Providers . From here, Activate the payment providers you wish to have
available on your shop, and configure them according to your needs.
Alternatively, you can access payment providers via Website â£ Configuration
â£ Settings . In the Shop - Payment section, you can Configure SEPA Direct
Debit if you wish to use it, as well as View other providers . If you use the Authorize.net payment provider, the Payment Capture Method can be configured in that same menu.
If you are using PayPal , you can also enable and
configure it here.

### Checkout payment options

Once activated, customers can choose the payment provider of their choice during the checkout
process , at the Confirm Order step.

## eWallets and gift cards

When checking out, customers can pay with an eWallet or gift cards. To enable these, go to Website â£ Configuration â£ Settings , and in the Shop-Products section, enable Discounts, Loyalty & Gift Card .
Once enabled, customers can enter their gift card code or pay with their eWallet at the checkout
step.
Use eWallets and gift cards

Configuration
Checkout payment options
eWallets and gift cards


Performance management

# Performance management

Odoo integrates a variety of tools to analyze and improve the performance of your eCommerce
website.

## Data monitoring

Website allows monitoring and analysis of the sales performance of your eCommerce. To access the reporting view , go to Website â£ Reporting â£ eCommerce . This dashboard helps
you monitor everything related to sales, such as sales performance per product, category, day, etc.
By clicking Measures , you can select the type of measurement used, such as:
- Margin ;
- Qty Invoiced ;
- Untaxed Total ;
- Volume ;
Other options include multiple views (Pivot, etc.), comparison by periods or years, and directly insert in spreadsheet , etc.

## Analytics

It is possible to link your Odoo website with Plausible.io and Google Analytics .

## Email queue optimization

For websites handling flash sales (e.g., event ticket sales) or experiencing high traffic spikes,
order confirmation emails can become a performance bottleneck, potentially slowing down the checkout
process for other customers.
To improve performance, these emails can be queued and processed separately from the order
confirmation flow. This is managed by the Sales: Send pending emails scheduled action,
which sends queued emails as soon as possible.
To enable asynchronous email sending:
- Enable the developer mode .
Enable the developer mode .
- Go to Apps , remove the Apps filter, and install the Sales
- Async Emails module.
Go to Apps , remove the Apps filter, and install the Sales
- Async Emails module.
- Go to Settings â£ Technical â£ System Parameters and set the sale.async_emails system parameter to True .
Go to Settings â£ Technical â£ System Parameters and set the sale.async_emails system parameter to True .
`True`
- Go to Settings â£ Technical â£ Scheduled Actions and ensure that the Sales: Send pending emails scheduled action is enabled.
Go to Settings â£ Technical â£ Scheduled Actions and ensure that the Sales: Send pending emails scheduled action is enabled.
Enabling this feature may delay order confirmation and invoice emails by a few minutes. It is
recommended only for high-traffic websites, as it can introduce unnecessary delays for e-commerce
websites with moderate traffic.

Data monitoring
Analytics
Email queue optimization


Products

# Products

Odoo eCommerce allows you to add products and manage
your product pages directly from the Website app. It also
allows you to add product variants and digital files , translating the product page content, managing stock , and enabling product comparisons .

## Add products

### Create products

To create a product from the frontend, click + New in the top-right corner, then Product . Enter the Product Name , Sales Price , the default Customer Taxes for local transactions, and Save . You can then update the
productâs details, add an image, and customize the product
page. When you Save , the product page is automatically published.
- You can also create a product from the backend by going to Website â£ eCommerce â£ Products and clicking New .
You can also create a product from the backend by going to Website â£ eCommerce â£ Products and clicking New .
- Products created from the frontend are automatically published ,
while products created from the backend are not. To publish a product, click the Go to Website smart button to access the product page, then toggle the switch from Unpublished to Published .
Products created from the frontend are automatically published ,
while products created from the backend are not. To publish a product, click the Go to Website smart button to access the product page, then toggle the switch from Unpublished to Published .
Create new products using the Barcode Lookup database .

### Import products

To import product data using XLSX or CSV files,
go to Website â£ eCommerce â£ Products , click the ( gear ) icon, then Import records .
To publish large batches of products, follow these steps:
- Go to Website â£ eCommerce â£ Products .
Go to Website â£ eCommerce â£ Products .
- Remove the Published filter and switch to the List view.
Remove the Published filter and switch to the List view.
- Click the ( dropdown toggle ) icon and enable Is published .
Click the ( dropdown toggle ) icon and enable Is published .
- Click the Is Published column to re-order it by published or unpublished products.
Click the Is Published column to re-order it by published or unpublished products.
- Select the products to publish by ticking their box.
Select the products to publish by ticking their box.
- In the Is Published column, tick the box for any of the selected products, then Confirm to publish them.
In the Is Published column, tick the box for any of the selected products, then Confirm to publish them.

## Product page customization

### Product information

To add general information about a product, navigate to Website â£
eCommerce â£ Products and select the product. You can configure the product page from the form
by adding variants , digital documents , or translating content.
You can also add an ecommerce-specific product description to be displayed below
the product name on the productâs page. To do so, go to the Sales tab, scroll down to the Ecommerce description section, and add a description. Use Odooâs rich-text editor features to personalize the content.
Click the Go to Website smart button to return to the frontend productâs page.

### Product presentation

To customize the product presentation on the website, go to the Shop and click on the
product. Click Edit to customize the page, edit its images or add building blocks .
- When dragging and dropping a building block on the product page, placing it above or below
the top or bottom blue lines makes it visible on all product pages.
When dragging and dropping a building block on the product page, placing it above or below
the top or bottom blue lines makes it visible on all product pages.
- You can edit any text on your website by clicking on it while in Edit mode.
You can edit any text on your website by clicking on it while in Edit mode.
Use the Customize tab to modify the page layout or add features:
- Terms and Conditions : Toggle the switch to display a link to your terms and conditions on the
product page.
Terms and Conditions : Toggle the switch to display a link to your terms and conditions on the
product page.
- Customers : Rating : Allow logged-in portal users to submit product reviews by clicking the
stars below the productâs name and sharing their experience in the Customer Reviews section at the bottom. Reviews are visible from the product page using the ( plus ) icon next to the Customer Reviews heading or from the product
formâs chatter. To restrict visibility to internal employees, toggle the Public switch next to the review comment. Share : Add social media and email icon buttons allowing customers to share the
product through those channels.
- Rating : Allow logged-in portal users to submit product reviews by clicking the
stars below the productâs name and sharing their experience in the Customer Reviews section at the bottom. Reviews are visible from the product page using the ( plus ) icon next to the Customer Reviews heading or from the product
formâs chatter. To restrict visibility to internal employees, toggle the Public switch next to the review comment.
Rating : Allow logged-in portal users to submit product reviews by clicking the
stars below the productâs name and sharing their experience in the Customer Reviews section at the bottom. Reviews are visible from the product page using the ( plus ) icon next to the Customer Reviews heading or from the product
formâs chatter. To restrict visibility to internal employees, toggle the Public switch next to the review comment.
- Share : Add social media and email icon buttons allowing customers to share the
product through those channels.
Share : Add social media and email icon buttons allowing customers to share the
product through those channels.
- Select Quantity : Toggle the switch to allow customers to select the product quantity
they want to purchase.
Select Quantity : Toggle the switch to allow customers to select the product quantity
they want to purchase.
- Tax Indication : Toggle the switch to indicate if the price is VAT included or excluded .
Tax Indication : Toggle the switch to indicate if the price is VAT included or excluded .
- Variants : Show all possible product variants vertically as a Products List or horizontally as selectable Options to compose the variant yourself.
Variants : Show all possible product variants vertically as a Products List or horizontally as selectable Options to compose the variant yourself.
- Product Tags : Toggle the switch to display the Product Template Tags on
the product page and allow customers to filter products using those tags.
Product Tags : Toggle the switch to display the Product Template Tags on
the product page and allow customers to filter products using those tags.
- Cart : Buy Now : Add a Buy Now option to take the customer to
the checkout page. Wishlist : Add an Add to wishlist option allowing
logged-in customers to save products in a wishlist. Compare : Add a Compare option, allowing customers
to compare products based on their attributes.
- Buy Now : Add a Buy Now option to take the customer to
the checkout page.
Buy Now : Add a Buy Now option to take the customer to
the checkout page.
- Wishlist : Add an Add to wishlist option allowing
logged-in customers to save products in a wishlist.
Wishlist : Add an Add to wishlist option allowing
logged-in customers to save products in a wishlist.
- Compare : Add a Compare option, allowing customers
to compare products based on their attributes.
Compare : Add a Compare option, allowing customers
to compare products based on their attributes.
- Specification : Select Bottom of Page to display a detailed list of the
attributes and their values available for the product. This option only works for products with variants if the Product comparison tool is enabled in the Website Settings .
Specification : Select Bottom of Page to display a detailed list of the
attributes and their values available for the product. This option only works for products with variants if the Product comparison tool is enabled in the Website Settings .
- Variants , Wishlist , and Compare options must be enabled by going to Website â£ Configuration â£ Settings , in the Shop - Products section.
Variants , Wishlist , and Compare options must be enabled by going to Website â£ Configuration â£ Settings , in the Shop - Products section.
- Enabled functions apply to all product pages.
Enabled functions apply to all product pages.
- Products with single values for their attributes do not generate variants but are still
displayed in the Product Specifications .
Products with single values for their attributes do not generate variants but are still
displayed in the Product Specifications .

### Product images and videos

To add more media items, such as images and videos, navigate to the product form , then go to the Sales tab
and click Add Media under the Ecommerce Media section. In the Select a media pop-up window, go to the Images tab, select an image,
click Upload an image or Add URL . Or navigate to the Videos tab,
paste a video URL or embed code. Once done, click Add .
To customize the images or videos, go to the ecommerce product page, click Edit and select the relevant media. In the Customize tab, use the following features:
- Images Width : Changes the width of the product images displayed on the page.
Images Width : Changes the width of the product images displayed on the page.
- Layout : The Carousel layout allows customers to navigate from one image to
the next using the ( left arrow ) or ( right arrow ); whereas the Grid displays four images in a square layout.
Layout : The Carousel layout allows customers to navigate from one image to
the next using the ( left arrow ) or ( right arrow ); whereas the Grid displays four images in a square layout.
- Image Zoom : Select the zoom effect for product images: Magnifier on hover Pop-up on Click , Both , or None .
Image Zoom : Select the zoom effect for product images: Magnifier on hover Pop-up on Click , Both , or None .
- Thumbnails : Align thumbnails on the ( Left )
or at
the ( Bottom ).
Thumbnails : Align thumbnails on the ( Left )
or at
the ( Bottom ).
- Main Image : Click Replace to change the productâs main image.
Main Image : Click Replace to change the productâs main image.
- Extra Images : Add more extra images or videos (including via URL) or Remove all .
Extra Images : Add more extra images or videos (including via URL) or Remove all .
Images must be in PNG or JPG format, with at least one dimension (height or width) greater than
1024 pixels to trigger the zoom.

## Products block

The Products building block is used to
display a selection of products sold on your website.
By default, the block displays the Newest Products . To change which products are shown,
go to the Customize tabâs Products section and set the Filter field to Recently Sold Products or Recently Viewed Products .
In addition, it is possible to display products from a specific category only using the Category field.
You can also filter products by Tags , include Variants , and adjust the
display by selecting a different Template .

## Product variants

Product variants are different versions
of the same product, such as various colors or materials, with potential differences in price and
availability.
To configure product variants for a product:
- Go to Website â£ Configuration â£ Settings .
Go to Website â£ Configuration â£ Settings .
- Scroll down to the Shop - Products section and enable the Product Variants feature.
Scroll down to the Shop - Products section and enable the Product Variants feature.
- Access the product forms and go to the Attributes & Variants tab, where you can add attributes and values, allowing
customers to configure and select product variants on the product page. For multiple attributes,
you can combine them to create specific variants.
Access the product forms and go to the Attributes & Variants tab, where you can add attributes and values, allowing
customers to configure and select product variants on the product page. For multiple attributes,
you can combine them to create specific variants.
To display or hide an attribute on the Shop page and allow visitors to filter them,
go to Website â£ eCommerce â£ Attributes , click on the attribute, and select Visible or Hidden in the eCommerce Filter Visibility field.
- To display the product attributes in the product catalog ,
set the Attributes feature to Left using the website editor.
To display the product attributes in the product catalog ,
set the Attributes feature to Left using the website editor.
- To group attributes under the same section when comparing products , go to the eCommerce Category field and either select an existing category or create a
new one .
To group attributes under the same section when comparing products , go to the eCommerce Category field and either select an existing category or create a
new one .
Two attribute values are needed to make the filter visible.

## Digital files

You can link digital files like certificates, eBooks, or user manuals to the products. These
documents are available before payment on
the product page or in the customer portal after checkout .
To link a digital file to a product, go to the product form and click the Documents smart button. Then, click Upload to upload a file
directly, or for additional options, click New , then Upload your file .
- You can link a URL instead of a digital file. To do so, click New , go to the Type field, and select URL .
You can link a URL instead of a digital file. To do so, click New , go to the Type field, and select URL .
- To edit an existing file, click the ( dropdown menu ) in the
top-right corner of the document card and click Edit .
To edit an existing file, click the ( dropdown menu ) in the
top-right corner of the document card and click Edit .

### Digital files available before payment

To make the file available on the product page (before payment), leave the Visibility field blank and toggle the Show on product page switch.

### Digital files available after payment

To make the file available (after payment), set the Visibility field to Confirmed order and turn off the Show on product page switch.

## Translation

If multiple languages are available on your website, you can translate a productâs information
directly on the product form . Fields that support multiple
languages are identifiable by their abbreviation language (e.g., EN) next to their field.
The eCommerce-related fields to translate are:
- Product name .
- Out-of-Stock Message (under the Sales tab).
Out-of-Stock Message (under the Sales tab).
- Sales Description (under the Sales tab).
Sales Description (under the Sales tab).
- Having untranslated content on a web page may be detrimental to the user experience and SEO . You can use the Translate feature to translate the pageâs content.
Having untranslated content on a web page may be detrimental to the user experience and SEO . You can use the Translate feature to translate the pageâs content.
- To check the language(s) of your website, go to Website â£ Configuration â£
Settings and go to the Website Info section.
To check the language(s) of your website, go to Website â£ Configuration â£
Settings and go to the Website Info section.

### Website availability

To set the productâs website availability, navigate to the product form , go to the Sales tab, and in the eCommerce shop section, select the Website you wish the product to be
available on. Leave the field blank to make the product available on all websites.
You can make a product available on either one website or all websites, but selecting only some websites is not possible.

## Stock management

To enable and configure inventory management options, go to Website â£
Configuration â£ Settings , scroll down to the Shop - Products section and the Inventory Defaults sub-section.
- The Inventory app must be installed to see the inventory management options.
The Inventory app must be installed to see the inventory management options.
- To display the stock level on the product page, the Product Type field must be set
to Storable in the product form .
To display the stock level on the product page, the Product Type field must be set
to Storable in the product form .

### Inventory

In the Inventory Defaults sub-section, fill in those fields:
- Warehouse .
- Out-of-Stock : Enable Continue Selling to allow customers to place orders
even when the product is out of stock . Leave the box unchecked to prevent orders .
Out-of-Stock : Enable Continue Selling to allow customers to place orders
even when the product is out of stock . Leave the box unchecked to prevent orders .
- Show Available Qty : Displays the available quantity left under a specified threshold
on the product page. The available quantity is calculated based on the On hand quantity minus the quantity already reserved for outgoing transfers.
Show Available Qty : Displays the available quantity left under a specified threshold
on the product page. The available quantity is calculated based on the On hand quantity minus the quantity already reserved for outgoing transfers.

## Product comparison

To allow website visitors to compare products based on their attributes, go to Website â£ Configuration â£ Settings , scroll down to the Shop - Products section, and enable Product Comparison Tool .
The ( Compare ) icon is now available on each product card on the main
shop page when customers hover their mouse over it. To compare products, customers can click the ( Compare ) option on the products they want to compare, then click Compare in the pop-up window at the bottom of the page to reach the
comparison summary.
- The Product Comparison Tool is only available for products with attributes .
The Product Comparison Tool is only available for products with attributes .
- Selecting the ( Compare ) option from a product page is also
possible.
Selecting the ( Compare ) option from a product page is also
possible.

## Wishlists

The Add to wishlist button allows customers to add products
to their wishlist, i.e., save them for later. To enable it, go to Website â£
Configuration â£ Settings , scroll down to the Shop - Products section, and enable Wishlists . The button is available on each product page and can be disabled in the website editor if needed.
- You can also display a ( Wishlist ) button when hovering the mouse
over the product on the shop page .
You can also display a ( Wishlist ) button when hovering the mouse
over the product on the shop page .
- Customers can move products from their cart to their wishlist by clicking the Save
for later button in the Order overview checkout step .
Customers can move products from their cart to their wishlist by clicking the Save
for later button in the Order overview checkout step .

Add products
Create products
Import products
Product page customization
Product information
Product presentation
Product images and videos
Products block
Product variants
Digital files
Digital files available before payment
Digital files available after payment
Translation
Website availability
Stock management
Inventory
Product comparison
Wishlists


Catalog

# Catalog

The eCommerce catalog displays products for customers to browse. It is organized using product
categories, available options, sorting, and navigation paths. Essentially, the eCommerce catalog
is the shop page of your website.
The product catalog includes a top bar , a side panel , and a product listing area . With Odoo, you can customize the layout , filter by categories and attributes , and use additional features according to your needs.
You can customize the shop page using the website editor. To access it, go to the shop page,
click Edit in the upper-right corner, and navigate to the Customize tab.

## Top bar

The top bar can include a search bar, a currency selector, sort-by and display options , and category quick access .

### Sort-by search and display options

You can toggle the Search Bar , display categories and/or attributes , and enable or disable the Sort-By as well as the Layout buttons in
the Top Bar .
The Sort-by button is toggled by default, and customers can choose between the
following Default Sort options:
- Featured
- Newest Arrivals
- Name (A-Z)
- Price - Low to High
- Price - High to Low
The default sort applies to all categories .
If you donât want to display a top bar or side panel ,
you can disable all related options in the website editor.

## Side panel

The side panel provides advanced filtering tools to organize your product categories.
To further categorize the shop page, you can activate
various filters, such as the attribute filter.
You can also add a Datepicker option to display a date range calendar to check
the availability of rental products over a specific period. The Rental app must be installed to use this feature.
It is also possible to toggle the Collapsible sidebar switch to make the side panel
manually collapsible.
To use a price range or tags filter, you have to enable attributes first.

## Product categorization in catalog

eCommerce categories are used to organize products into groups, making it easier for customers
to browse the online store.
To create eCommerce categories, go to Website â£ eCommerce â£
eCommerce Categories , and click New . On the category form, add a Name , optionally enter a Parent Category , and write a Category
Description , if needed.
To use eCommerce categories, go to Website â£ eCommerce â£ Products , select
the product you wish to modify, go to the Sales tab, navigate to the Ecommerce shop section, and select the Categories it belongs to.
A single product can belong to multiple eCommerce categories.
Once the categories are configured and assigned to the relevant products, go to the main shop page
and open the website editor. In the Categories option, you can either enable
a menu on the Left , i.e., in the side panel ,
or on the Top , i.e., in the top bar , or both.
If you select the Left category, the option Collapsible Category Recursive appears, allowing you to collapse the category in the side panel.

### Attributes

Attributes refer to characteristics of a product, such as the color or material, whereas
variants are the different combinations of attributes. To configure attributes and variants, go to Website â£ eCommerce â£ Products , select a product, and click the Attributes & Variants tab. Add as many attributes as desired.
To enable attribute filtering, go to your main shop page, then open the website editor, and set
the Attributes field to Left ( side panel ) and/or Top ( top bar ).
When attribute filtering is enabled in the top bar, customers must click the ( dropdown toggle ) button to access it.
When enabling Attributes , more options become available:
- Price Filter : Toggle the switch to display a Price Range bar, which
allows customers to filter products according to a specific price range by dragging adjustable
handles.
Price Filter : Toggle the switch to display a Price Range bar, which
allows customers to filter products according to a specific price range by dragging adjustable
handles.
- Product Tags Filter : Toggle the switch to display the Product Tags on
the shop page, and allow customers to filter products using those tags by going to the Tags section in the side panel .
Product Tags Filter : Toggle the switch to display the Product Tags on
the shop page, and allow customers to filter products using those tags by going to the Tags section in the side panel .
- If you want to use tags on your e-commerce, go to eCommerce â£ Product Tags and click New . In the Product Templates tab of the product tags form,
add the products to link to the given tag. You can also add product variants in the Product Variants tab and view a summary of all selected products in
the All Products tab.
If you want to use tags on your e-commerce, go to eCommerce â£ Product Tags and click New . In the Product Templates tab of the product tags form,
add the products to link to the given tag. You can also add product variants in the Product Variants tab and view a summary of all selected products in
the All Products tab.
- Price filtering works independently from attributes and, therefore, can be enabled on its own,
if desired.
Price filtering works independently from attributes and, therefore, can be enabled on its own,
if desired.

## Product listing area

You can customize the layout of the entire shop page, as well as that of individual category
pages .
It is also possible to customize individual product pages .
In the website editor, choose the layout , and
set the default layout to either Grid or List view.
Use the following options to further adjust the layout:
- Size : Set the number of products displayed per page and line.
Size : Set the number of products displayed per page and line.
- Gap : Define the gap between the products.
Gap : Define the gap between the products.
- Style : Select Default , Cards , Thumbnails , or Grid .
Style : Select Default , Cards , Thumbnails , or Grid .
- Image Size : Choose the aspect ratio for the product images: Landscape (4/3) , Default (1/1) , Portrait (4/5) , or Vertical (2/3) . You can also adjust the display by changing the Fill options to fit your design preferences best.
Image Size : Choose the aspect ratio for the product images: Landscape (4/3) , Default (1/1) , Portrait (4/5) , or Vertical (2/3) . You can also adjust the display by changing the Fill options to fit your design preferences best.
Toggle the Prod. Desc. switch to display the product description below the productâs
name.
You can choose the size of the grid, but be aware that displaying too many products may affect
performance and page loading speed.
In addition, you can manually change a productâs position on the shop page. To do so, go to the
main shop page, click the product, and open the website editor. In the Product section,
you can reorder the products by using the arrows. The << >> buttons allow to move the product to
the extreme left or right, and < > allow to move it one row to the left or right.
`<<`
`>>`
`<`
`>`
It is also possible to change the productsâ positions on the shop page by going to Website â£ eCommerce â£ Products , switching to the list view, and
dragging and dropping the products within the list.

### Product highlight

You can highlight products to make them more visible on the shop page. To do so, go
to the website editor and click the product to highlight. In the Product section, you
can choose the size of the product image by clicking the grid, and you can also add a Ribbon . This displays a banner across the productâs image, such as Sale , Sold out , Out of stock or New! .
To create a new ribbon, click the green ( Create ) icon next to the Ribbon field. Then add a Ribbon name , define its Position ,
and choose a Background and a Text label. To edit the ribbon, click the ( Edit ) icon next to the Ribbon label.
The ribbon is now available for all the eCommerce products.
- There are other ways to create a new ribbon: Go to Website â£ eCommerce â£ Product Ribbons and click New . Activate the developer mode , access the product
form, and under the Sales tab, change or create the ribbon in the Ribbon field.
There are other ways to create a new ribbon:
- Go to Website â£ eCommerce â£ Product Ribbons and click New .
Go to Website â£ eCommerce â£ Product Ribbons and click New .
- Activate the developer mode , access the product
form, and under the Sales tab, change or create the ribbon in the Ribbon field.
Activate the developer mode , access the product
form, and under the Sales tab, change or create the ribbon in the Ribbon field.
- It is also possible to add ribbons for specific product variants . To do so, go to Website â£
eCommerce â£ Products and select a product. Click the Variants smart button,
choose a variant, and add a ribbon in the Variant Ribbon field of the Sales section.
It is also possible to add ribbons for specific product variants . To do so, go to Website â£
eCommerce â£ Products and select a product. Click the Variants smart button,
choose a variant, and add a ribbon in the Variant Ribbon field of the Sales section.

### Shop and category page design

Use building blocks to add content on the shop
and/or category page.
You can customize the top and/or bottom section of the catalog, either for the entire shop page or
for a specific category. In the latter case, the block appears only when filtering by that
category. To do so, move the block to the far top or bottom section to display it on the general
shop page or to the area below the categoryâs name at the top or beneath the product list to
display it only when filtering by that specific category.
- Adding content to an eCommerce category page helps improve the SEO strategy. Using keywords linked to the products or the
eCommerce categories can also increase organic traffic. Additionally, each category has its
own specific URL that can be pointed to and is indexed by search engines.
Adding content to an eCommerce category page helps improve the SEO strategy. Using keywords linked to the products or the
eCommerce categories can also increase organic traffic. Additionally, each category has its
own specific URL that can be pointed to and is indexed by search engines.
- eCommerce categories can also be added as mega menu items for quick access.
eCommerce categories can also be added as mega menu items for quick access.

## Additional features

You can access and enable additional feature buttons such as a Add to cart or Wishlist button or a Comparison list . To do so, open the website editor,
click the desired feature buttons. All three buttons appear when hovering the mouse over
a productâs image.
- ( Add to cart ): adds a button to add the product to the cart ;
( Add to cart ): adds a button to add the product to the cart ;
- ( Compare ): adds a button to compare products based on
their price, variant, etc.;
( Compare ): adds a button to compare products based on
their price, variant, etc.;
- ( Wishlist ): adds a button to wishlist the product.
( Wishlist ): adds a button to wishlist the product.

Top bar
Sort-by search and display options
Side panel
Product categorization in catalog
Attributes
Product listing area
Product highlight
Shop and category page design
Additional features


Cross-selling and upselling

# Cross-selling and upselling

Cross-selling and upselling are sales techniques designed to encourage
customers to purchase additional or higher-priced products and services from your Catalog .

## Cross-selling

Cross-selling can be achieved by suggesting optional products when items are added to the cart or by
recommending accessory products on the checkout page.

### Optional products

Optional products are suggested when the customer selects a product and clicks Add to cart .
To enable optional products , go to Website â£ eCommerce â£ Products , select a
product, go to the Sales tab, and enter the products you wish to feature in the Optional Products field.

### Accessory products

Accessory products are showcased in the Suggested Accessories section during the Review Order step, just before proceeding to checkout.
To enable accessory products , go to Website â£ eCommerce â£ Products , select
a product, go to the Sales tab, and enter the products you wish to feature in the Accessory Products field.

## Upselling

You can display alternative products at the bottom of the product page as an upselling
technique, encouraging customers to consider a more expensive variant or product than their
initial choice by presenting appealing alternatives.
To enable alternative products, navigate to Website â£ eCommerce â£ Products ,
select the desired product, and go to the Sales tab. In the Alternative Products field, add the products you want to feature.
Click Go to Website to view the alternative products displayed at the bottom of the
product page.
To adjust the settings, click Edit and select the related building block . In the Customize tab, scroll to the Alternative Products section and modify the settings as needed to
tailor the display to your preferences.

Cross-selling
Optional products
Accessory products
Upselling


Prices

# Prices

Odoo offers multiple options to configure prices on the ecommerce. For example, you can apply prices per unit , offer discounts , and set up pricelists .

## Taxes

To add a tax on a product, you can either set a tax in the Customer Taxes field of the product template or use fiscal positions .
- AvaTax integration
Choosing the displayed price tax usually depends on a countryâs regulations or the type of customers
( B2B vs. B2C ). To select the type of price displayed, go to Website â£ Configuration â£ Settings , select the website, scroll down to the Shop - Products section, and under Display Product Prices select between:
- Tax Excluded : the price displayed on the website is tax-excluded, and the tax is
computed at the order review step;
Tax Excluded : the price displayed on the website is tax-excluded, and the tax is
computed at the order review step;
- Tax Included : the price displayed on the website is tax-included.
Tax Included : the price displayed on the website is tax-included.
This setting is website-specific and can therefore be configured independently for every
website in the database.
- Switch the Tax indication toggle on in the
website editor to explicitly indicate if the price is Tax excluded or Tax included on the
product page.
Switch the Tax indication toggle on in the
website editor to explicitly indicate if the price is Tax excluded or Tax included on the
product page.
`Taxexcluded`
`Taxincluded`
- Enable specific B2B fields in the delivery step during the checkout using the website editor .
Enable specific B2B fields in the delivery step during the checkout using the website editor .

## Price per unit

To display a price per unit alongside the sales
price on the product page, follow these steps:
- Go to Website â£ Configuration â£ Settings , scroll to the Shop - Products section, and enable Product Reference Price .
Go to Website â£ Configuration â£ Settings , scroll to the Shop - Products section, and enable Product Reference Price .
- Navigate to the product form .
Navigate to the product form .
- Set the productâs Sales price and select the unit (e.g., Units ).
Set the productâs Sales price and select the unit (e.g., Units ).
- In the Base Unit Count field, enter the number of units in the product, then
select the relevant unit from the dropdown list.
In the Base Unit Count field, enter the number of units in the product, then
select the relevant unit from the dropdown list.
Imagine you want to sell a 2-liter bucket of paint for $60, i.e., $30 per liter.
The price per units, in this case per liter, is shown next to the sales price on the
product page.
The price per unit may be mandatory in some countries.

## Pricelists

Pricelists in Odoo allow to manage flexible pricing rules and to offer different prices and
discounts based on currencies, time periods, purchase volumes, customersâ location , and/or customer type.
To enable pricelists for eCommerce, go to Website â£ Configuration â£ Settings ,
scroll down to the Shop - Products section, enable Pricelists , and Save . Then, click Pricelists or go to Website â£ eCommerce
â£ Pricelists and configure the relevant
pricelists.
In the Ecommerce tab, configure options specific to online sales, such as assigning a Website to a pricelist, allowing customers to select it , and/or adding an E-commerce Promotional Code .
- If you are using several websites and you want to use the same pricelist on several of them,
you need to duplicate the pricelist for each website. If you do not assign any
website, the pricelist will not be used, unless it is selectable .
If you are using several websites and you want to use the same pricelist on several of them,
you need to duplicate the pricelist for each website. If you do not assign any
website, the pricelist will not be used, unless it is selectable .
- Pricelists can also be assigned to a specific customer .
Pricelists can also be assigned to a specific customer .
- When pricelists are enabled in the Sales app, they are automatically enabled in the eCommerce
app, and vice versa.
When pricelists are enabled in the Sales app, they are automatically enabled in the eCommerce
app, and vice versa.
- In the list of pricelists, order the pricelists by priority: the first takes
precedence over the second, the second over the third, and so on.
In the list of pricelists, order the pricelists by priority: the first takes
precedence over the second, the second over the third, and so on.
- It is also possible to create specific pricelists for variants .
It is also possible to create specific pricelists for variants .

### Selectable pricelists

Selectable pricelists are useful, for example, when selling products in multiple currencies and allow customers to
choose a pricelist using the catalogâs pricelist selector located next to the search bar .
To make a pricelist selectable, enable Selectable .
- If a pricelist is designated as Selectable , and is not assigned to a specific
website, then the pricelist is selectable on all websites.
If a pricelist is designated as Selectable , and is not assigned to a specific
website, then the pricelist is selectable on all websites.
- If a pricelist does not appear in the selector, it may be due to the following situations: Only one pricelist is defined as Selectable and the contact has a
pricelist assigned . Multiple selectable pricelists exist, but only those matching the customerâs country
group are shown. It is strongly recommended to disable
the Selectable option when using pricelists with country groups on the
ecommerce.
If a pricelist does not appear in the selector, it may be due to the following situations:
- Only one pricelist is defined as Selectable and the contact has a
pricelist assigned .
Only one pricelist is defined as Selectable and the contact has a
pricelist assigned .
- Multiple selectable pricelists exist, but only those matching the customerâs country
group are shown. It is strongly recommended to disable
the Selectable option when using pricelists with country groups on the
ecommerce.
Multiple selectable pricelists exist, but only those matching the customerâs country
group are shown. It is strongly recommended to disable
the Selectable option when using pricelists with country groups on the
ecommerce.
Currency-specific pricelists

### GeoIP & country groups

It is possible to display a specific pricelist based on the visitorâs location and IP address by
assigning country groups to pricelists.
To do so, navigate to the relevant pricelist form and select
the appropriate Country Groups . Create or edit as many pricelists for specific regions
as needed. For instance, select European Union to apply the pricelist to all EU member
states.
To create a new country group, click Search more in the dropdown list, then New . Add a Group Name and select the relevant Countries .
Use Custom filters if needed.
Each country group must contain at least one country.
Use the following filter if you want to add all non-EU countries to the country group.
Country Group + is not in + European Union
`CountryGroup`
`isnotin`
`EuropeanUnion`
- When using GeoIP to determine the appropriate pricelist, all pricelists used on the
ecommerce must have a country group assigned.
When using GeoIP to determine the appropriate pricelist, all pricelists used on the
ecommerce must have a country group assigned.
- It is strongly recommended to disable the Selectable option when using pricelists
with country groups. Indeed, all pricelists with the relevant country group are automatically
applied to the catalog but if one of them is marked as Selectable , the others will disappear as soon as customers
select the selectable pricelist. Example Imagine you create three pricelists: EU regular prices with the EU country group assigned EU prices with discounts with the EU country group assigned US prices with the US country group assigned If the Selectable option is enabled for EU regular prices and US prices , and the customer is from the European Union, only the pricelists EU regular prices and EU prices with discounts will be available. However, since the EU prices with discount list is not selectable, it will disappear once the customer selects
the EU regular prices list and prices will be displayed based on the EU regular prices pricelist on the catalog.
It is strongly recommended to disable the Selectable option when using pricelists
with country groups. Indeed, all pricelists with the relevant country group are automatically
applied to the catalog but if one of them is marked as Selectable , the others will disappear as soon as customers
select the selectable pricelist.
Imagine you create three pricelists:
- EU regular prices with the EU country group assigned
EU regular prices with the EU country group assigned
`EUregularprices`
`EU`
- EU prices with discounts with the EU country group assigned
EU prices with discounts with the EU country group assigned
`EUpriceswithdiscounts`
`EU`
- US prices with the US country group assigned
US prices with the US country group assigned
`USprices`
`US`
If the Selectable option is enabled for EU regular prices and US prices , and the customer is from the European Union, only the pricelists EU regular prices and EU prices with discounts will be available. However, since the EU prices with discount list is not selectable, it will disappear once the customer selects
the EU regular prices list and prices will be displayed based on the EU regular prices pricelist on the catalog.
`EUregularprices`
`USprices`
`EUregularprices`
`EUpriceswithdiscounts`
`EUpriceswithdiscount`
`EUregularprices`
`EUregularprices`

### Pricelist application

On the ecommerce, the default pricelist is automatically selected for public, non-logged in users
when no country group is assigned. If GeoIP and country groups are
used, public users see the pricelist of their country group by default. Logged-in users with assigned pricelists see the assigned
pricelist by default if it is assigned to the website they are visiting. If not, the websiteâs
default pricelist is applied (i.e., the first available pricelist assigned to the website and
without a country group, following the sequence order).
Assigned pricelists take precedence over country-based pricelists, when applicable, unless the
assigned pricelist is linked to a different country group.
A customer from the United States visits the website. They do not have a portal account. The United States pricelist is applied.
A different visitor, also from the United States, has the Loyal Customer Discount pricelist assigned in their contact form. This assignment takes precedence over the country
group assignation, so the Loyal Customer Discount is applied.

## Discounts

### Discounts programs

To enable discount programs for your ecommerce, go to Website â£ Configuration â£ Settings , scroll
down to the Shop - Products section, and enable the Discounts, Loyalty & Gift
Card feature.
Configure the discount program, make sure the Website option is enabled, and add the relevant Pricelist and Website on the program form, if needed.

### Permanent product discount

If the price of a specific product has been permanently reduced, the strikethrough strategy is
commonly used. This involves showing the new discounted price, with the original price crossed out
alongside it.
To display a permanently discounted price, navigate to Website â£ Configuration
â£ Settings , scroll down to the Shop - Products , enable the Comparison
Price option, and Save . Then, go to the product form , enter the new (discounted) price in the Sales Price field and the original one (strikethrough) in the Compare to Price field.
The Compare to Price field must contain a price that is higher than the Sales Price for the original price to appear with a strikethrough.
The Compare to Price is not displayed if discounted pricelists apply. If you want to
use the Compare to price with another discount, configure a pricelist with a promotional code .

### Discounted pricelists

It is also possible to create pricelists with discounts .
To do so, create a pricelist and configure the discount .
If a pricelist contains a Discount price type, the price is striked through for applicable customers,
even if the Comparison Price feature has not been
enabled.
If using pricelists with country groups , the discounted pricelist
must be assigned the same country group as the one used for the non-discounted pricelist.

### E-commerce promotional code

To offer a discounted pricelist for customers with a specific discount code, access the relevant pricelist form , go to the Ecommerce tab, and add
an E-commerce Promotional Code , e.g., SUMMERSALE10% . Then, go to the Price
Rules tab, click Add a line , and configure the discount . When a customer inserts the code during the checkout process , this discount is granted according to the Price
Rules configuration.
`SUMMERSALE10%`
Make sure that the Promo Code option
in the website editor is enabled and, if using country groups , that the discounted pricelist has the same country group
assigned as the non-discounted pricelist.

## Hide prices

Some businesses, such as B2B shops or companies that sell luxury
or custom items, often prefer to showcase their products online without displaying their prices.
To hide product prices on the ecommerce, go to Website â£ Configuration â£
Settings , enable Prevent Sale of Zero Priced Product in the Shop -
Products section, and enter a redirect URL in the Button URL field. The Add to Cart button on the product page is then replaced by a Contact us button, which can be customized if needed.
After enabling this feature, either set the price to 0 for all desired products or create a pricelist with all product prices set to 0 . Ensure the
pricelist is assigned to the correct website and is listed first among the websiteâs pricelists.
`0`
`0`
- Ensure no pricelist used on the ecommerce has been marked as Selectable to prevent
accidentally displaying the zero-priced pricelist.
Ensure no pricelist used on the ecommerce has been marked as Selectable to prevent
accidentally displaying the zero-priced pricelist.
- To hide prices from public visitors while keeping them visible to logged-in customers, create a
zero-priced pricelist to be used for non-logged-in customers and assign a regular pricelist (with actual prices) to
customers with portal access .
To hide prices from public visitors while keeping them visible to logged-in customers, create a
zero-priced pricelist to be used for non-logged-in customers and assign a regular pricelist (with actual prices) to
customers with portal access .

Taxes
Price per unit
Pricelists
Selectable pricelists
GeoIP & country groups
Pricelist application
Discounts
Discounts programs
Permanent product discount
Discounted pricelists
E-commerce promotional code
Hide prices


Delivery

# Delivery

Odoo eCommerce allows you to configure various delivery methods, enabling customers to choose
their preferred option at checkout . These methods include external providers , custom options such as flat-rate or free shipping, local carriers via Sendcloud or Based on Rules , and in-store pickup .

## External provider integration

To handle product delivery, you can connect your database to third-party shipping carriers like FedEx , UPS ,
or DHL .
A shipping connector links to these providers, automating tracking labels and shipping
processes.
To enable a third-party delivery provider, go to Website â£ Configuration â£
Settings , scroll to the Delivery section, select the desired delivery provider(s),
and Save .
Go to Website â£ Configuration â£ Delivery Methods and select the delivery method
in the list to configure it .
- Third-party shipping carriers
Third-party shipping carriers
- Gelato
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.
`0`

### 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 shipping methodâs form and enter the fee in the Margin
on Rate field to add a percentage to the shipping costs and/or the Additional margin field to add a fixed amount.
`0`
The field used to define additional fees cannot be left empty in your third-party shipping
provider account.

## Custom delivery method

Custom delivery methods must be created, for example:
- to integrate delivery carriers through Sendcloud ;
to integrate delivery carriers through Sendcloud ;
- to configure specific rules (e.g., to offer free shipping for orders above a specific amount) for
a specific provider;
to configure specific rules (e.g., to offer free shipping for orders above a specific amount) for
a specific provider;
- to configure Fixed Price shipping, or shipping Based on
Rules .
to configure Fixed Price shipping, or shipping Based on
Rules .
To create a custom delivery method, go to Website â£ Configuration â£ Delivery
Methods , click New , and fill in the fields .
In the Provider field, select Based on Rules or Fixed Price .
Upon configuring a delivery
method, you can:
- Restrict it to a specific website by
selecting it in the Website field.
Restrict it to a specific website by
selecting it in the Website field.
- Click the Test Environment smart button to switch to the Production Environment . Then, click Unpublished to Publish the delivery method and make it available to website visitors.
Click the Test Environment smart button to switch to the Production Environment . Then, click Unpublished to Publish the delivery method and make it available to website visitors.
- Use the Availability tab to define conditions for the delivery method based on the orderâs
content or destination.
Use the Availability tab to define conditions for the delivery method based on the orderâs
content or destination.

## Click & Collect

To allow customers to reserve products online and pay for/collect them in-store, follow these steps:
- Go to Website â£ Configuration â£ Settings .
Go to Website â£ Configuration â£ Settings .
- Scroll to the Delivery section, enable Click & Collect , and Save .
Scroll to the Delivery section, enable Click & Collect , and Save .
- Click Configure Pickup Locations to configure the delivery method and ensure the Provider field is set to Pick up in store .
Click Configure Pickup Locations to configure the delivery method and ensure the Provider field is set to Pick up in store .
- In the Stores tab, click Add a line and select the warehouse(s) where
customers can collect their orders.
In the Stores tab, click Add a line and select the warehouse(s) where
customers can collect their orders.
- Once your setup is complete, click the Unpublish button to change the status to Publish and make the delivery method available to customers.
Once your setup is complete, click the Unpublish button to change the status to Publish and make the delivery method available to customers.
- When the product is in stock, a location selector is displayed on the product and checkout pages. Customers cannot select a pickup location
if the product is out of stock at that location. The Continue selling option for out-of-stock products is not supported.
When the product is in stock, a location selector is displayed on the product and checkout pages. Customers cannot select a pickup location
if the product is out of stock at that location. The Continue selling option for out-of-stock products is not supported.
- If the 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.
If the 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.
- Each warehouse must have a complete address to ensure its location is accurately displayed
to customers. Incomplete addresses prevent the warehouse from being shown.
Each warehouse must have a complete address to ensure its location is accurately displayed
to customers. Incomplete addresses prevent the warehouse from being shown.
- In a multi-company environment, the company assigned to the warehouse must match the company
assigned to the website on which the delivery method is used. If the companies differ, the
pickup location cannot be selected.
In a multi-company environment, the company assigned to the warehouse must match the company
assigned to the website on which the delivery method is used. If the companies differ, the
pickup location cannot be selected.
- The Click & Collect option is not available for services.
The Click & Collect option is not available for services.

External provider integration
Margin on delivery rate
Custom delivery method
Click & Collect


Website

# Website

Odoo Website offers a user-friendly platform for creating and managing your website. It includes
various tools and features to help you design, publish, and maintain web pages without needing
advanced technical skills. You can easily customize layouts, add multimedia content, and integrate
with other Odoo apps to expand your websiteâs functionality.

#### Web design

Design your website using building blocks and website themes.

#### Structure

Manage website pages, menus, and search engine optimization.

#### Configuration

Configure domain names, address autocompletion, Google Search Console, cookies bar,
translations, multiple websites, form spam protection, content delivery network (CDN).

#### Reporting

Monitor your websiteâs traffic with website analytics and set up link trackers.

#### Mail groups

Configure mail groups to allow website visitors to participate in public discussions via
email.
Odoo offers a free custom domain name to all Odoo Online databases
for one year. Visitors can then access your website with an address such as www.example.com rather than the default example.odoo.com .
`www.example.com`
`example.odoo.com`
- Odoo Tutorials: Website
Odoo Tutorials: Website
- Odoo Tutorials: eCommerce
Odoo Tutorials: eCommerce
- Unsplash


Address autocomplete

# Address autocomplete

You can use the Google Places API on your website to ensure that your usersâ delivery addresses
exist and are understood by the carrier. The Google Places API allows developers to access detailed
information about places using HTTP requests. The autocompletion predicts a list of places when the
user starts typing the address.
- Google Maps Platform
- Google Developers Documentation: Google Places API
Google Developers Documentation: Google Places API
To do so, go to Website â£ Configuration â£ Settings and enable Address Autocomplete in the SEO section.
Insert your Google Places API key in the API Key field. If you donât have
one, create yours on the Google Cloud Console and follow these steps.

## Step 1: Enable the Google Places API

Create a New Project: To enable the Google Places API , you first need to create a project. To do so, click Select a project in the top left corner, New Project , and follow the prompts
to set up your project.
Enable the Google Places API: Go to the Enabled APIs & Services and click + ENABLE APIS AND SERVICES. Search for âPlaces APIâ and select it. Click on the âEnableâ button.
Googleâs pricing depends on the number of requests and their complexity.

## Step 2: Create API Credentials

Go to APIs & Services â> Credentials .
Create credentials: To create your credentials, go to Credentials , click Create Credentials , and
select API key .
Restrict the API Key (Optional)
For security purposes, you can restrict the usage of your API key. You can go to the API restrictions section to specify which APIs your key can access. For the Google
Places API, you can restrict it to only allow requests from specific websites or apps.
- Save Your API Key: copy your API key and securely store it.
Save Your API Key: copy your API key and securely store it.
- Do not share it publicly or expose it in client-side code.
Do not share it publicly or expose it in client-side code.

Step 1: Enable the Google Places API
Step 2: Create API Credentials


Set up a content delivery network (CDN)

# Set up a content delivery network (CDN)

## Deploying with KeyCDN

A CDN or content distribution network , is a geographically
distributed network of servers that provides high speed internet content. The CDN provides quick, high-quality content delivery for content-heavy websites.
This document will guide you through the setup of a KeyCDN account with an Odoo powered website.

### Create a pull zone in the KeyCDN dashboard

On the KeyCDN dashboard, start by navigating to the Zones menu item on the left. On
the form, give a value to the Zone Name , which will appear as part of the CDN âs URL . Then, set the Zone
Status to active to engage the zone. For the Zone Type set the value to Pull , and then, finally, under the Pull Settings , enter the Origin URL â this address should be the full Odoo database URL .
Use https://yourdatabase.odoo.com and replace the yourdatabase subdomain prefix with the
actual name of the database. A custom URL can be used, as
well, in place of the Odoo subdomain that was provided to the database.
`https://yourdatabase.odoo.com`
Under the General Settings heading below the zone form, click the Show all
settings button to expand the zone options. This should be the last option on the page. After
expanding the General Settings ensure that the CORS option is enabled .
Next, scroll to the bottom of the zone configuration page and Save the changes. KeyCDN
will indicate that the new zone will be deployed. This can take about 10 minutes.
A new Zone URL has been generated for your Zone, in this example it is pulltest-xxxxx.kxcdn.com . This value will differ for each database.
`pulltest-xxxxx.kxcdn.com`
Copy this Zone URL to a text editor for later, as it will be used in the next steps.

### Configure the Odoo instance with the new zone

In the Odoo Website app, go to the Settings and then activate the Content Delivery Network (CDN) setting and copy/paste the Zone URL value
from the earlier step into the CDN Base URL field. This field is only visible and
configurable when the developer mode is activated.
Ensure that there are two forward slashes ( // ) before the CDN Base URL and one
forward slash ( / ) after the CDN Base URL .
`//`
`/`
Save the settings when complete.
Now the website is using the CDN for the resources matching the CDN filters regular
expressions.
In the HTML of the Odoo website, the CDN integration is evidenced
as working properly by checking the URL of images. The CDN Base
URL value can be seen by using your web browserâs Inspect feature on the Odoo website.
Look for itâs record by searching within the Network tab inside of devtools.

### Prevent security issues by activating cross-origin resource sharing (CORS)

A security restriction in some browsers (such as Mozilla Firefox and Google Chrome) prevents a
remotely linked CSS file to fetch relative resources on this same external server.
If the CORS option isnât enabled in the CDN
Zone , the more obvious resulting problem on a standard Odoo website will be the lack of Font
Awesome icons because the font file declared in the Font Awesome CSS wonât be loaded from the
remote server.
When these cross-origin resource issues occur, a security error message similar to the output
below will appear in the web browserâs developer console:
Font from origin 'http://pulltest-xxxxx.kxcdn.com' has been blocked from loading /shop:1 by Cross-Origin Resource Sharing policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://yourdatabase.odoo.com' is therefore not allowed access.
`Fontfromorigin'http://pulltest-xxxxx.kxcdn.com'hasbeenblockedfromloading/shop:1byCross-OriginResourceSharingpolicy:No'Access-Control-Allow-Origin'headerispresentontherequestedresource.Origin'http://yourdatabase.odoo.com'isthereforenotallowedaccess.`
Enabling the CORS option in the CDN settings fixes this issue.


Cookies bar

# Cookies bar

Cookies are small text files sent to your device when you visit a website. They are processed
and stored by your browser and record visitor information like login details, preferences, and
browsing history. Essential cookies are necessary for the website to function, while optional cookies are used to analyze behavior or display ads.
Data protection laws require notifying visitors about data collection methods and purposes. Cookies bar fulfill this obligation by informing visitors on their first visit and allowing them
to decide whether to store all or only essential cookies on their device.
- Cookies bars are required to obtain visitorsâ consent for optional cookies only. Consent is not
required for essential cookies.
Cookies bars are required to obtain visitorsâ consent for optional cookies only. Consent is not
required for essential cookies.
- Odoo is compliant with Google consent mode v2 .
Odoo is compliant with Google consent mode v2 .

## Configuration

To add a cookies bar on your website, go to Website â£ Configuration â£
Settings and enable Cookies Bar in the Privacy section. This activates Block tracking 3rd-party services by default, including social media, video hosting
platforms, and Google services. Click Add domains to the block list to include other
external websites. These services remain blocked on your website until visitors accept optional
cookies.
Using third-party cookies without a cookies bar does not prevent them from being triggered. Only
the presence of a cookie bar and the visitorâs refusal ensure that these cookies are blocked.

## Cookies policy

When you enable the cookies bar for your website, Odoo creates the Cookie Policy page
( /cookie-policy ) containing a list of cookies set by default, with their purpose and examples.
`/cookie-policy`
Essential - Session & Security
Authenticate visitors, protect visitor data and allow the website to deliver the services
visitors expects, such as maintaining the content of their cart, or allowing file uploads.
The website will not work properly without these cookies.
Essential - Preferences
Remember information about the preferred look or behavior of the website, such as the
preferred language or region. The website will continue to function without these cookies,
but the visitorâs experience may be affected.
Optional - Interaction History
Collect information about your interactions with the website, the pages youâve seen, and
any specific marketing campaign that brought you to the website. The website will work
without these cookies, but some features or services may not perform optimally.
im_livechat_previous_operator (Odoo),
utm_campaign (Odoo),
utm_source (Odoo),
utm_medium (Odoo)
Optional - Advertising & Marketing
Make advertising more engaging to visitors and more valuable to publishers and advertisers,
such as providing more relevant ads when you visit other websites that display ads or to
improve reporting on ad campaign performance. Note that some third-party services may
install additional cookies on your browser in order to identify you.
__gads (Google),
__gac (Google)
Understand how visitors engage with the website, via Google Analytics. The website will
still work without these cookies.
_ga (Google),
_gat (Google),
_gid (Google),
_gac_* (Google)
It is not possible to let visitors customize or select which optional cookies they want to allow.
You could add a link to this page in your websiteâs footer, for example.

### Edit the Cookies policy page

To access it, click the Cookie Policy hyperlink in the cookies bar or open the page from Website â£ Site â£ Pages .
To adapt the content of the page according to your needs, click the Edit button.
You have to list every cookie you added yourself on the /cookie-policy page including their
name, role, category and duration.
`/cookie-policy`
To check the duration of cookies, use your browserâs developer tools.

## Customization

To adapt the display of the cookies bar on your website, click Edit on the website
editor, go to the Invisible Elements section at the bottom of the panel, and click Cookies Bar . You can modify the Layout and Size of the
cookies bar, and enable Backdrop to gray out the page in the background when the cookies
bar is displayed on the screen.
Click anywhere in the building block to further customize the appearance of the cookies bar using Block , Column and/or Inline Text customization options.
To edit the contents of the cookies bar (i.e., the consent message), click directly in the building
block.

Configuration
Cookies policy
Edit the Cookies policy page
Customization