Sales quotations

# Sales quotations

A sales quotation or quote is a document sent to a customer that outlines the estimated costs and
terms for goods and services. Once accepted, a quotation can be converted into a sales order, which
serves as the final agreement before delivery and invoicing.

## Sales flow overview

Quotations fit into a broader sales flow that connects different stages of customer interactions
from initial interest to payment.
The typical flow follows these steps:
- Quotation : A proposal sent to the customer with product details and pricing.
Quotation : A proposal sent to the customer with product details and pricing.
- Sales order : Created automatically when the customer accepts the quotation, confirming the
sale.
Sales order : Created automatically when the customer accepts the quotation, confirming the
sale.
- Delivery (if applicable): Products are shipped or services are delivered.
Delivery (if applicable): Products are shipped or services are delivered.
- Invoice : The final bill is issued based on the sales order or delivered products/services.
Invoice : The final bill is issued based on the sales order or delivered products/services.
- Payment : The customer settles the invoice, completing the sales cycle.
Payment : The customer settles the invoice, completing the sales cycle.
This flow helps businesses track the entire lifecycle of a sale while keeping information consistent
across apps.
In Odoo, quotations are configured in the Sales app. They can also be generated from other apps
as part of the sales workflow:
- CRM : Convert opportunities into quotes to follow up
on potential deals.
CRM : Convert opportunities into quotes to follow up
on potential deals.
- Helpdesk : Generate quotes from tickets when offering paid services or products.
Helpdesk : Generate quotes from tickets when offering paid services or products.
- Subscriptions : Offer recurring services before
starting an automatic billing cycle.
Subscriptions : Offer recurring services before
starting an automatic billing cycle.

#### Create quotations

Create, configure, and send quotations to customers.

#### Quotation templates

Configure and use quotation templates to send tailor-fit quotations at a quicker pace.

#### Optional products

Offer useful and related products to customers to increase sales.

#### Online signatures for order confirmations

Customers have the ability to confirm orders via online signatures, directly on sales orders.

#### Online payment order confirmation

Customers have the ability to confirm orders via online payment, directly on sales orders.

#### Quotation Deadlines

Set deadlines on quotations to encourage customers to act in a timely manner when
closing business deals.

#### Deliver orders and invoices to different addresses

Specify separate customer delivery and invoicing addresses on quotations.

#### Product variants on quotations and sales orders

Add product variants to sales orders to provide additional options for single products.

#### PDF quote builder

Add custom PDF files to quotations to elevate the documentâs headers and designs.

## Sales quotations in business deals

Sales quotations serve as a key step in the sales process, bridging the gap between a customerâs
initial inquiry about goods and services and the final contractual agreement for payment and
delivery. The quotation also provides transparency in pricing, helping both parties negotiate and
finalize the terms before making a commitment.
Sales quotations play a crucial role in business transactions by defining the scope and cost of what
is being sold to the end-customer; setting clear expectations on pricing, delivery, tax, and
payment terms; and providing a documented stage where the business deal can be negotiated before
agreed upon.

## Key components of a sales quotation

A well-structured sales quotation comprises the following:
- Quotation number and date: A unique identifier for tracking and reference, as well as the dates of issue and expiration . In Odoo Sales app, the
quotation number is assigned under a standard naming convention once it is confirmed.
Quotation number and date: A unique identifier for tracking and reference, as well as the dates of issue and expiration . In Odoo Sales app, the
quotation number is assigned under a standard naming convention once it is confirmed.
- Customer information: Customer name and contact information, as well as invoicing and delivery address .
Customer information: Customer name and contact information, as well as invoicing and delivery address .
- Products and services: Itemized listing of items to be purchased, including quantity,
specifications (as needed), and unit price.
Products and services: Itemized listing of items to be purchased, including quantity,
specifications (as needed), and unit price.
- Payment terms and pricelists : Configured agreements and
rules for the pricing and payment of this particular sales quotation.
Payment terms and pricelists : Configured agreements and
rules for the pricing and payment of this particular sales quotation.
- Special pricing: Optional discounts and promotional pricing to update and/or modify individual product lines.
Special pricing: Optional discounts and promotional pricing to update and/or modify individual product lines.
- Total cost and currency: Summary totals of product or service and shipping prices, including
relevant taxes.
Total cost and currency: Summary totals of product or service and shipping prices, including
relevant taxes.
In Odooâs Sales app, quotations can include additional details and configurations that add
more detail and information, such as quotation templates , subscription plans , and sales team referrer name .

Sales flow overview
Sales quotations in business deals
Key components of a sales quotation


Create quotations

# Create quotations

In Odoo Sales , quotations can be created and sent to customers. Once a quotation has been
confirmed, it officially turns into a sales order , which can then be invoiced and paid for.

## Quotation settings

To access these setting options, navigate to Sales app â£ Configuration â£
Settings , and scroll to the Quotations & Orders section.
- Quotation Templates : Enable this option to create quotation templates featuring
standard product offers, which are then selectable on quotation forms. When this checkbox is
ticked, an additional field, Default Template , appears, along with a link to the Quotation Templates page.
Quotation Templates : Enable this option to create quotation templates featuring
standard product offers, which are then selectable on quotation forms. When this checkbox is
ticked, an additional field, Default Template , appears, along with a link to the Quotation Templates page.
- Online Signature : Request an online signature to confirm orders.
Online Signature : Request an online signature to confirm orders.
- Online Payment : Request an online prepayment from customers to confirm orders. Request
a full or partial payment (via down payment). When this checkbox is ticked, an additional field, Prepayment amount (%) , appears. There is also a link to the Payment
Providers page.
Online Payment : Request an online prepayment from customers to confirm orders. Request
a full or partial payment (via down payment). When this checkbox is ticked, an additional field, Prepayment amount (%) , appears. There is also a link to the Payment
Providers page.
- Default Quotation Validity : Determine a set amount (in days ) that
quotations can remain valid for.
Default Quotation Validity : Determine a set amount (in days ) that
quotations can remain valid for.
- Default Recurrence : Select a default period from the drop-down menu to use as a
recurrence period for a new quotation.
Default Recurrence : Select a default period from the drop-down menu to use as a
recurrence period for a new quotation.
- Sale Warnings : Get warning messages about orders that include specific products or
customers.
Sale Warnings : Get warning messages about orders that include specific products or
customers.
- PDF Quote builder : Customize the look of quotations with header pages, product
descriptions, footer pages, and more.
PDF Quote builder : Customize the look of quotations with header pages, product
descriptions, footer pages, and more.
- Lock Confirmed Sales : Ensure no further edits can be made to confirmed orders.
Lock Confirmed Sales : Ensure no further edits can be made to confirmed orders.
- Pro-Forma Invoice : Send pro-forma invoices to customers.
Pro-Forma Invoice : Send pro-forma invoices to customers.
To activate any of these settings, tick the checkbox beside the desired option(s). Then, click Save .

## Quotations dashboard

The Quotations dashboard is the page that appears when the Sales app is opened.
By default, the Quotations dashboard displays all quotations in the database related to
the current user, as indicated by the default My Quotations filter present in the search
bar.
To view all quotations in the database, remove the My Quotations filter from the
search bar.
Quotations on this page appear in a default list view, but can also be viewed in a Kanban view, Calendar , Pivot table, Graph , or Activity view.
To view and/or modify any listed quotation from the Quotations dashboard, click on the
desired quotation line from the list, and Odoo reveals the specific form for that selected
quotation.

## Create quotation

To create a quotation, open the Sales app , and click the New button,
located in the upper-left corner of the main Quotations dashboard.
The New button is only present if the Quotations dashboard is in list
or Kanban view.
Clicking the New button reveals a blank quotation form, with various fields and tabs to
configure.
Begin by entering the customerâs name in the Customer field at the top of the form. This
is a required field.
If the customerâs information is already in the database, the Invoice Address and Delivery Address fields auto-populate with the saved information for those respective
fields, based on the data from that customerâs contact record (found in the Contacts application).
If the customer was referred by another customer or contact, enter their name in the Referrer field.
If a Referrer is selected, a new field, Commission Plan appears, in which a
commission can be selected from the drop-down menu. This commission is rewarded to the contact
selected in the Referrer field.
Next, if they have not already been auto-populated with the customerâs information, enter the
appropriate addresses in the Invoice Address and Delivery Address fields.
Both of these fields are required .
Then, if desired, choose a Quotation Template from the drop-down field to apply to this
quotation. It should be noted that some additional fields may appear, depending on the template
selected.
The default date that appears in the Expiration field is based on the number configured
in the Default Quotation Validity setting (in Sales app â£ Configuration â£ Settings ).
When using a quotation template, the date in the Expiration field is based off the Quotation Validity figure on the template form.
If the quotation is for a recurring product or subscription, select the desired Recurring
Plan from that specific drop-down menu.
If desired, select a specific Pricelist to be applied to this quotation.
Lastly, select any specific Payment Terms to be used for this quotation.

### Order Lines tab

The first tab on the quotation form is the Order Lines tab.
In this tab, select products, and quantities of those products, to add them to the quotation.
There are two ways to add products to the quotation from this tab.
Click Add a product , select the desired item from the Product drop-down
field, and proceed to adjust the quantity of that selected product, if necessary.
Or, click Catalog to reveal a separate page, showcasing every item (and every potential
product variant) in an organized catalog display, with items organizable by Product
Category and Attributes .
From here, simply locate the desired items, click the Add button on the product card, and adjust the quantity, if needed. When complete, click the Back to Quotation button in the upper-left corner to return to the quotation, where the
newly-selected catalog items can be found in the Order Lines tab.
If multiple items should be presented in a more organized way on the quotation, click Add
a section , enter a name for the section, and drag-and-drop that section heading in the desired
location amongst the items in the Order Lines tab. The section heading appears in bold.
If needed, click Add a note beneath a certain product line to add a custom note about
that specific product. The note appears in italics. Then, if needed, proceed to drag-and-drop the
note beneath the desired product line.
Beneath the product lines, there are buttons that can be clicked to apply any of the following: Coupon Code , Promotions , Discount , and/or Add
shipping .
- Use eWallets and gift cards
Use eWallets and gift cards
- Discount and loyalty programs
Discount and loyalty programs
- Pricelists

### Optional Products tab

Open the Optional Products tab to select related products that can be presented to the
customer, which may result in an increased sale.
For example, if the customer wants to buy a car, an optional product that could be offered is a Trailer Hitch .

### Other Info tab

In the Other Info tab, there are various quotation-related configurations separated into
four different sections: Sales , Delivery , Invoicing , and Tracking .
Some fields only appear if specific settings and options have been configured.

#### Sales section

In the Sales section of the Other Info tab, there are sales specific fields
that can be configured.
- Salesperson : Assign a salesperson from the drop-down menu to be associated with this
quotation. The user who originally created the quotation is selected in this field, by default.
Salesperson : Assign a salesperson from the drop-down menu to be associated with this
quotation. The user who originally created the quotation is selected in this field, by default.
- Sales Team : Assign a specific sales team to this quotation. If the selected Salesperson is a member of a sales team, that team is auto-populated in the field.
Sales Team : Assign a specific sales team to this quotation. If the selected Salesperson is a member of a sales team, that team is auto-populated in the field.
- Company : Select a company from the drop-down menu this quotation should be associated
with. This field only appears when working in a multi-company environment.
Company : Select a company from the drop-down menu this quotation should be associated
with. This field only appears when working in a multi-company environment.
- Online signature : Tick this checkbox to request an online signature from the customer
to confirm the order. This field only appears if the Online Signature setting has been enabled.
Online signature : Tick this checkbox to request an online signature from the customer
to confirm the order. This field only appears if the Online Signature setting has been enabled.
- Online payment : Tick this checkbox, and enter a desired percentage in the adjacent
field, to request an online payment from the customer (for that designated percentage of the total
amount) to confirm the order. This field only appears if the Online Payment setting has been
enabled.
Online payment : Tick this checkbox, and enter a desired percentage in the adjacent
field, to request an online payment from the customer (for that designated percentage of the total
amount) to confirm the order. This field only appears if the Online Payment setting has been
enabled.
- Customer Reference : Enter a custom reference ID for this customer. The entered
reference ID can contain letters, numbers, or a mix of both.
Customer Reference : Enter a custom reference ID for this customer. The entered
reference ID can contain letters, numbers, or a mix of both.
- Tags : Add specific tags to the quotation for added organization and enhanced
searchability in the Odoo Sales application. Multiple tags can be added, if necessary.
Tags : Add specific tags to the quotation for added organization and enhanced
searchability in the Odoo Sales application. Multiple tags can be added, if necessary.

#### Delivery section

In the Delivery section of the Other Info tab, there are delivery-specific
fields that can be configured.
- Shipping Weight : Displays the weight of the items being shipped. This field is not
modifiable. Product weight is configured on individual product forms.
Shipping Weight : Displays the weight of the items being shipped. This field is not
modifiable. Product weight is configured on individual product forms.
- Incoterm : Select an Incoterm (International Commerical Term) to use as predefined
commerical terms for international transactions.
Incoterm : Select an Incoterm (International Commerical Term) to use as predefined
commerical terms for international transactions.
- Incoterm Location : If an Incoterm is being used, enter the international location in
this field.
Incoterm Location : If an Incoterm is being used, enter the international location in
this field.
- Shipping Policy : Select a desired shipping policy from the drop-down menu. If all
products are delivered at once, the delivery order is scheduled, based on the greatest product
lead time. Otherwise, it is based on the shortest lead time. The available options are: As soon as possible or When all products are ready .
Shipping Policy : Select a desired shipping policy from the drop-down menu. If all
products are delivered at once, the delivery order is scheduled, based on the greatest product
lead time. Otherwise, it is based on the shortest lead time. The available options are: As soon as possible or When all products are ready .
- Delivery Date : Click into the empty field to reveal a calendar popover, from which a
customer delivery date can be selected. If no custom date is required, refer to the Expected date listed to the right of that field.
Delivery Date : Click into the empty field to reveal a calendar popover, from which a
customer delivery date can be selected. If no custom date is required, refer to the Expected date listed to the right of that field.

#### Invoicing section

In the Invoicing section of the Other Info tab, there are invoicing specific
fields that can be configured.
- Fiscal Position : Select a fiscal position to be used to adapt taxes and accounts for
particular customers or sales orders/invoices. The default value comes from the customer. If a
selection is made in this field, an Update Taxes clickable link and
icon appear. When clicked, the taxes for this partiuclar customer and quotation are updated. A
confirmation window appears, as well.
Fiscal Position : Select a fiscal position to be used to adapt taxes and accounts for
particular customers or sales orders/invoices. The default value comes from the customer. If a
selection is made in this field, an Update Taxes clickable link and
icon appear. When clicked, the taxes for this partiuclar customer and quotation are updated. A
confirmation window appears, as well.
- Analytic Account : Select an analytic account to apply to this customer/quotation.
Analytic Account : Select an analytic account to apply to this customer/quotation.

#### Tracking section

In the Tracking section of the Other Info tab, there are tracking specific
fields that can be configured.
- Source Document : Enter the reference of the document that generated the
quotation/sales order, if applicable.
Source Document : Enter the reference of the document that generated the
quotation/sales order, if applicable.
- Opportunity : Select the specific opportunity (from the CRM app) related to this
quotation, if applicable.
Opportunity : Select the specific opportunity (from the CRM app) related to this
quotation, if applicable.
- Campaign : Select the marketing campaign related to this quotation, if applicable.
Campaign : Select the marketing campaign related to this quotation, if applicable.
- Medium : Select the method by which this quotation originated (e.g. Email ), if
applicable.
Medium : Select the method by which this quotation originated (e.g. Email ), if
applicable.
- Source : Select the source of the link used to generate this quotation (e.g. Facebook ), if applicable.
Source : Select the source of the link used to generate this quotation (e.g. Facebook ), if applicable.

### Notes tab

In the Notes tab of the quotation form, enter any specific internal notes about the
quotation and/or customer, if desired.

## Sending and confirming quotations

Once all the necessary fields and tabs have been configured, it is time to send the quotation to the
customer for confirmation. Upon confirmation, the quotation turns into an official sales order.
At the top of the form, there is a series of buttons:
- Send by Email : When clicked, a pop-up window appears with the customerâs name and
email address in the Recipients field, the quotation (and reference ID) in the Subject field, and a brief default message in the body of the email, which can be
modified, if needed. Below that, a PDF copy of the quotation is attached. When ready, click Send to send
the quotation, via email, to the customer, so they can review and confirm it.
Send by Email : When clicked, a pop-up window appears with the customerâs name and
email address in the Recipients field, the quotation (and reference ID) in the Subject field, and a brief default message in the body of the email, which can be
modified, if needed.
Below that, a PDF copy of the quotation is attached. When ready, click Send to send
the quotation, via email, to the customer, so they can review and confirm it.
- Send PRO-FORMA Invoice : This button only appears if the Pro-Forma Invoice setting has been enabled. When clicked, a pop-up window appears with the customerâs name and email
address in the Recipients field, the Proforma invoice (and reference ID) in the Subject field, and a brief default message in the body of the email, which can be
modified, if needed. Below that, a PDF copy of the quotation is attached. When ready, click Send to send
the quotation, via email, to the customer, so they can review and confirm it.
Send PRO-FORMA Invoice : This button only appears if the Pro-Forma Invoice setting has been enabled. When clicked, a pop-up window appears with the customerâs name and email
address in the Recipients field, the Proforma invoice (and reference ID) in the Subject field, and a brief default message in the body of the email, which can be
modified, if needed.
Below that, a PDF copy of the quotation is attached. When ready, click Send to send
the quotation, via email, to the customer, so they can review and confirm it.
- Confirm : When clicked, the quotation is confirmed, and the status changes to Sales Order .
Confirm : When clicked, the quotation is confirmed, and the status changes to Sales Order .
- Preview : When clicked, Odoo reveals a preview of the quotation the customer sees when
they log into their customer portal. Click the Back to edit
mode link at the top of the preview page, in the blue banner, to return to the quotation form.
Preview : When clicked, Odoo reveals a preview of the quotation the customer sees when
they log into their customer portal. Click the Back to edit
mode link at the top of the preview page, in the blue banner, to return to the quotation form.
- Cancel : When clicked, the quotation is canceled.
Cancel : When clicked, the quotation is canceled.
If the Lock Confirmed Sales setting is enabled, the sales order becomes Locked , and
is indicated as such on the sales order form.
At this point, the quotation has been confirmed, turned into a sales order, and is now ready to be
invoiced and paid for.
For more information about invoicing, refer to the Invoice based on delivered or ordered
quantities
- Quotation templates
- Quotation deadlines
- Online signatures for order confirmations
Online signatures for order confirmations
- Online payment order confirmation
Online payment order confirmation
- PDF quote builder
- Pro-forma invoices

Quotation settings
Quotations dashboard
Create quotation
Order Lines tab
Optional Products tab
Other Info tab
Notes tab
Sending and confirming quotations


Quotation deadlines

# Quotation deadlines

In the Odoo Sales application, it is possible to set deadlines on sales quotations. Doing so
encourages customers to act quickly during sales negotiations, for they might fear for missing out
on a good deal. As well, deadlines also can also act as protection for a company in case an order
has to be fulfilled at a price that is no longer profitable for the business.

## Quotation expiration

In Odoo Sales , thereâs the option to add an expiration date to a quotation.
To add an expiration date to a quotation, navigate to Sales app , and select a
desired quotation, or create a new one by clicking New .
On the quotation form, click the Expiration field to reveal a pop-up calendar. From this
pop-up calendar, select the desired month and date as the expiration date for the quotation.
By clicking the Preview button on a quotation, Odoo clearly displays when that
specific offer expires.

## Quotation template expiration

The Odoo Sales application also makes it possible to add a deadline expiration date to quotation
templates.
To add a deadline expiration date to a quotation template, navigate to Sales app â£
Configuration â£ Quotation Templates , and either select the desired quotation template to which a
deadline should be added, or click New to build a new quotation template from scratch.
On the quotation template form, add a specific number of days to the Quotation expires
after field, located beneath the quotation template name. The number of days represents how long
the quotation will be valid for, before it expires.
Then, whenever that specific quotation template is used in a quote, an expiration date is
automatically calculated, based on the number of days designated above. However, this date can be
overwritten before sending the quotation to the customer.

Quotation expiration
Quotation template expiration


# Deliveries and invoices to different addresses

People and businesses often use separate addresses for billing (invoicing) and shipping (delivery)
purposes. With the Odoo Sales app, contacts can have different specified addresses for delivery
and invoicing.

## Settings

To properly utilize multiple addresses in Odoo, go to the Accounting app â£
Configuration â£ Settings , and scroll down to the Customer Invoices heading. Then,
tick the Customer Addresses checkbox.

## Contact form configuration

To add multiple addresses to a contact, go to the Sales app â£ Orders â£
Customers , and clear any default filters from the search bar. Then, click on the desired customer
to open their contact form.
Contact forms can be accessed in the Contacts application, as well.
From the contact form, click the Add button, which is located under the Contacts & Addresses tab. This brings up the Create Contact pop-up form, in
which additional addresses can be configured.
On the Create Contact pop-up form, select any of the following options:
- Contact : Adds another contact, such as an employee at a company, to the contact form.
Contact : Adds another contact, such as an employee at a company, to the contact form.
- Invoice Address : Adds a default invoice address to the contact form.
Invoice Address : Adds a default invoice address to the contact form.
- Delivery Address : Adds a default delivery address to the contact form.
Delivery Address : Adds a default delivery address to the contact form.
- Follow-up Address : Adds a default contact address that is used for follow-up
communications about billing and other issues to the contact form.
Follow-up Address : Adds a default contact address that is used for follow-up
communications about billing and other issues to the contact form.
- Other Address : Adds an alternate address to the contact form.
Other Address : Adds an alternate address to the contact form.
Once the corresponding information has been entered, click Save & Close to save the
address and close the Create Contact window. To save the address and input additional
contact information, click Save & New instead.

## Quotations and autopopulated addresses

When a customer with invoice and delivery addresses in their contact form is added to a quotation,
the Invoice Address and Delivery Address fields autopopulate with the
corresponding addresses.
The Invoice Address and Delivery Address can also be edited directly from
the quotation by mousing over the address and clicking the (Internal Link) icon.

Settings
Contact form configuration
Quotations and autopopulated addresses


Online payment order confirmation

# Online payment order confirmation

The Odoo Sales application provides customers with the ability to confirm orders, via an online
payment, directly on a sales order. Once the sales order is electronically paid for by the customer,
the salesperson attached to the sales order is instantly notified that the order is confirmed.

## Activate online payments

In order to have customers confirm orders with an online payment, the Online Payment setting must be activated.
To activate the Online Payment feature, go to Sales app â£ Configuration â£
Settings , scroll to the Quotations & Orders heading, check the box next to the Online Payment feature, and click Save .
Beneath the Online Payment option on the Sales Settings page, thereâs a Default Quotation Validity field. In this field, thereâs the option to add a specific
number of days for quotations to remain valid by default.
To enable this feature on a standard quotation, click the checkbox for the Payment feature option, located in the Online confirmation field, on the Other Info tab.
To enable this feature on a quotation template, click the checkbox for the Payment feature option, located in the Online confirmation field of the quotation template form.

## Payment providers

After activating the Online Payment feature, a link to configure Payment
Providers appears beneath it.
Clicking that link reveals a separate Payment Providers page, in which a large variety
of payment providers can be enabled, customized, and published.

## Register a payment

After opening quotations in their customer portal, customers can click Accept & Pay to
confirm their order with an online payment.
After clicking Accept & Pay , customers are presented with Validate Order pop-up window containing different options for them to make online payments, in the Pay
with section.
Odoo will only offer payment options on the Validate Order pop-up window that
have been published and configured on the Payment Providers page.
Once the customer selects their desired method of payment, they will click the Pay button on the pop-up window to confirm the order. Odoo instantly notifies the assigned salesperson
upon order confirmation with an online payment.
- Quotation templates
- Online signatures for order confirmations
Online signatures for order confirmations
- Online payments

Activate online payments
Payment providers
Register a payment


# Online signatures for order confirmations

The Odoo Sales application provides customers with the ability to confirm orders, via an online
signature, directly on the sales order. Once the sales order is electronically signed by the
customer, the salesperson attached to the sales order is instantly notified that the order is
confirmed.

## Activate online signatures

In order to have customers confirm orders with an online signature, the Online Signature feature must be activated.
To activate the Online Signature feature, go to Sales app â£ Configuration â£
Settings , scroll to the Quotations & Orders heading, and activate the Online Signature feature by checking the box beside it.
Then, click the Save button in the top-left corner.
When making a quotation template, the online signature feature is the Signature option, located in the Online confirmation field of the quotation template form.
On standard quotations, the online signature feature is the Signature option, located
under the Other Info tab of the quotation form.

## Order confirmations with online signatures

When clients access quotations online through their customer portal, thereâs a Sign &
Pay button directly on the quotation.
When clicked, a Validate Order pop-up window appears. In this pop-up window, the Full Name field is auto-populated, based on the contact information in the database.
Then, customers have the option to enter an online signature with any of the following options: Auto , Draw , or Load .
Auto lets Odoo automatically generate an online signature based on the information in
the Full Name field. Draw lets the customer use the cursor to create a
custom signature directly on the pop-up window. And Load lets the customer upload a
previously-created signature file from their computer.
After the customer has chosen any of the three previously mentioned signature options
( Auto , Draw , or Load ), they will click the Accept &
Sign button.
When Accept & Sign is clicked, the various payment method options become available for
them to choose from (if the online payment option applies to this quotation).
Then, when the quotation is paid and confirmed, a delivery order is automatically created (if the
Odoo Inventory app is installed).

### View online signatures in Developer Mode

Clients can view the online signature in developer mode .
To view a online signature from a paid invoice, go to Sales app â£ Orders â£
Orders and select the desired sales order. A new tab, Customer Signature , is available.
Click the tab to view the electronic signature as well as the Signed By and Signed On information.
- Quotation templates
- Online payment order confirmation
Online payment order confirmation


Margins

# Margins

The sales margin is the profit gained from the sale of a product or service after all the costs
related to it have been accounted for.
In the Odoo Sales application, it is possible to show sales margins on quotations and sales
orders. Salespeople can use the feature for better management and monitoring of profitability.

## Configuration

To activate the Margins feature, go to the Sales app â£ Configuration â£
Settings . In the Pricing section, tick the Margins checkbox. Then click Save .

### Configure price and cost

To automatically calculate the sales margin for each quotation or sales order line item, go to Sales app â£ Products â£ Products . Fill out the Sales Price and Cost fields in the General Information tab for every product.
Odoo calculates the margin by:
The margin percentage is calculated by:

## Compute margins on sales orders

Go to Sales app â£ Orders â£ Quotations and click the New button to
begin a new quotation. Fill out the quotation with the necessary information. While adding products
to the quotation, a new field, Margin , automatically appears at the bottom of the
document. This field displays the orderâs total margin in the configured currency as well as the
percentage.
To display a productâs margin and the margin percentage per line item, click the (settings adjust) icon in the Order Lines tab.
Then, tick the checkboxes for Margin and Margin(%) . The Margin column shows the profit to earn from the sale after accounting for all associated costs. It displays
in the configured currency value. The Margin(%) shows the margin value as a percentage.
The margin for one unit is multiplied by the quantity to determine the margin for the entire line.
The Margin and Margin(%) columns are not displayed by default, but once
enabled, the columns appear on all new and existing quotations and SOs .
The Margin and Margin (%) columns are not editable since they are
automatic calculations. To change the calculation, refer to Configure price and cost section for more information.

## Margin calculation with a pricelist

To calculate the margin with an applied pricelist, begin with configuring a pricelist for the
product. Follow these steps:
- Go to Sales app â£ Products â£ Pricelists and click the New button.
Go to Sales app â£ Products â£ Pricelists and click the New button.
- Enter the name of the pricelist and click Add a line to create a new pricelist
rule.
Enter the name of the pricelist and click Add a line to create a new pricelist
rule.
- Configure the pricelist and click Save & Close button.
Configure the pricelist and click Save & Close button.
- Go to Sales app â£ Orders â£ Quotations and create a quotation.
Go to Sales app â£ Orders â£ Quotations and create a quotation.
- In the Pricelist field, select the newly made pricelist.
In the Pricelist field, select the newly made pricelist.
- Click on Update Prices to refresh the product price and margin.
Click on Update Prices to refresh the product price and margin.
To apply a seasonal 5% discount on blue denim jeans that requires a minumim of two pairs of jeans
in an order and is valid only from October to the end of December, the pricelist rule should look
like this:
After saving the pricelist, go to the desired SO and select the newly
created pricelist, and adjust the quantity according to the pricelistâs rule.
After the changes are made, click Update Prices to update the Margin , Margin (%) , and Amount . The margin is recalculated
based on the pricelist-adjusted productâs sales price and cost.
Another way to visualize the impact of margins on sales orders is to go to Sales
app â£ Orders â£ Quotations , select the (area chart) icon or (pivot) icon, click Measures button and change it
to Margin to see margin contributions across the customer base.

Configuration
Configure price and cost
Compute margins on sales orders
Margin calculation with a pricelist


Optional products

# Optional products

The use of optional products is a marketing strategy that involves the cross-selling of useful and
related products alongside a desired core product. For instance, when a business configures optional
products in their Odoo database, an eCommerce or Website customer could be suggested a mouse and
keyboard or an extended warranty when they add a laptop to their shopping cart.
Optional products are automatically suggested during the quotation process whenever an associated
core product is added to a quote. They are also suggested in e-commerce interactions when a customer
adds an associated core product to their shopping cart.
Optional products differ from accessory and alternative products in terms of where they are displayed
during customersâ online shopping journeys.

## Configuring optional products

With the Odoo Sales app, it is possible to add optional products directly to product forms. To
add an optional product to a product form, navigate to Sales â£ Products â£
Products and choose a product.
Ensure that the productâs Sales checkbox is checked and click the Sales tab.
Under Upsell & Cross-sell heading, the Optional Products drop-down menu
allows for optional products to be set. Products will be displayed in alphabetical order. If the
desired product isnât readily visible, type its name in the field to bring it up, then select it to
add it as an optional product.
To delete an optional product from the product form, simply click the (Delete) icon.
Additional products can also be added to a core product by clicking Search moreâ¦ . This
opens the Search: Optional Products form, which displays all products in the catalog and
includes the New button to create a new product. Multiple products may be selected as
optional products at once when using this form by clicking their checkboxes and then clicking Select .

## Optional products on quotation templates and quotations

Optional products can be added to quotation templates, allowing sales staff to offer related
products without needing to manually add them to each quote. Additional optional products can also
be added to individual quotations when needed.

### Quotations

To add additional products on an individual quote, navigate to Sales â£ Orders â£
Quotations and select an existing quote or create a new quote . Then open
the Optional Products tab. Doing so reveals a blank field in the Product column. Click Add a product . When clicked, a drop-down menu with products from the
database appear. Select the desired product from the drop-down menu to add it as an optional
product. Type the name of the desired product or click Search Moreâ¦ to find additional
products.
To delete any line item from the Optional Products tab, click the (delete) icon.
When a product is added, the default Quantity is 1 , but can be updated.
`1`

### Quotation templates

Quotation templates also have an Optional Products tab, where related products or services can be
added. To add optional products to a quotation template, navigate to Sales app â£
Configuration â£ Quotation Templates . Then, either select an existing quotation template to edit
or create a new one .
On the quotation template form, click the Optional Products tab. Then, click Add a line and select the desired product to add as an optional product to the quotation
template.
When the configured quotation template is used, the products added in the Optional
Products tab will appear in the corresponding tab in the quotation. These products can be removed
and additional products can be added before the quotation is sent to a customer.
There is no limit to how many optional products can be added to a quotation template.

## Previewing optional products

Click the Preview button, located in the upper-left corner of the quotation, to reveal a
preview of the quotation email customers would receive. Optional products are located in the Options section of the preview.
Customers are able to add different optional products to an order by clicking the (Add to cart) icon, located to the right of the optional
product line.
If a customer selects optional products, they are automatically added to the quotation managed by
the salesperson.
When a customer adds optional products to an order, the salesperson is instantly notified about the
change, along with any other change the customer makes to an order. This allows salespeople to stay
up-to-date with everything related to an order in the backend of the Sales application. Added
products appear in green in the Optional Products tab when the quote is viewed.


# Product variants on quotations and sales orders

Before getting into detail about how to use product variants on quotations and sales orders, itâs
recommended to learn about Product variants in Odoo.
Once familiarized with the basics surrounding product variants, the following covers how product
variants can be added to quotations and sales orders using the product configurator or order grid
entry .
It should be noted that the setting is titled, Variant Grid Entry on the Sales app settings
page, and titled, Order Grid Entry on product forms. So, be sure to keep that in mind.

## Settings

When working with product variants, Odoo uses the product configurator, by default. To add the
variant grid entry option, that feature must be enabled in the Odoo Sales application. The
variant grid entry option provides a pop-up window on the quotation/sales order to simplify the
variant selection process.
To enable that setting, go to Sales app â£ Configuration â£ Settings , and scroll
to the Product Catalog section. Then, check the box next to the Variant Grid
Entry option, and click Save .
Of course, the Variants feature must also be activated, in order to use product
variants on quotations and sales orders.

## Product configuration

Once the Variant Grid Entry setting is enabled, both options ( Product Configurator and Order Grid Entry ) become available on every product form.
To configure a product form to use either a product configurator or variant grid entry, start by
navigating to Sales app â£ Products â£ Products to view all the products in the
database.
Then, select the desired product to configure, or click New , to create a new product
from scratch. Once on the product form, click into the Attributes & Variants tab, where
product variants can be viewed, modified, and added.
At the bottom of the Attributes & Variants tab, there is a Sales Variant
Selection section with two options: Product Configurator and Order Grid
Entry .
It should be noted that these options only appear if at least two values of an attribute have
been added to the record.
These options determine which method is used when adding product variants to quotations or sales
orders.
The Product Configurator provides a pop-up window that neatly displays all the available
product variants for that particular product when itâs added to a quotation. However, only one
variant can be selected/added at a time.
The Order Grid Entry provides the same information as the Product
Configurator in a table layout, allowing the user to select larger numbers of unique product
variants, and add them to a quotation/sales order, in a single view.

## Product configurator

The product configurator feature appears as a Configure pop-up window, as soon as a
product with (at least two) variants is added to a quotation or sales order, but only if the Product Configurator option is selected on its product form.
This Configure pop-up window also appears if the Order Grid Entry setting
is not activated, as it is the default option Odoo uses when dealing with product variants on
quotations and/or sales orders.
The Product Configurator option lets salespeople choose exactly which product variant to
add to the quotation or sales order using a format similar to online shopping.

## Order grid entry

The order grid entry feature appears as a Choose Product Variants pop-up window, as soon
as a product with (at least two) variants is added to a quotation or sales order, but only if
the Order Grid Entry option is selected on its product form.
The Choose Product Variants pop-up window features all the variant options for that
particular product. From this pop-up window, the salesperson can designate how many of each variant
theyâd like to add to the quotation/sales order at once.
When all the desired quantities and variants have been selected, the salesperson simply clicks Confirm , and those orders are instantly added to the quotation/sales order in the Order Lines tab.

Settings
Product configuration
Product configurator
Order grid entry


PDF quote builder

# PDF quote builder

The PDF Quote Builder in the Odoo Sales app transforms a standard, text-heavy quote into a
polished, branded proposal. Instead of sending a table of products and prices, it enables users to
sandwich a quotation between professionally designed PDF pages.
The PDF Quote Builder seamlessly combines user-provided marketing documents, technical sheets,
branded cover pages, and Odoo-generated quotes in one document. Quotation templates can be
configured to include specific PDFs in the quote, ensuring documents reach the intended customers.
Dynamic text in PDF templates allows users to extract Sales app data and customize files for
each project or customer.
Empty text fields on the PDF can be completed directly from the quotation form in the Sales app.
This approach lets users personalize quotes without editing the PDF itself.
Users can also configure PDFs on the product form. These files are then automatically added to the
quote when a product is included. Beyond assembling quotes, the PDF Quote Builder also enables PDFs
to be featured on the online store product page. This ensures customers can access detailed product
information directly on the website.
Odoo Quick Tips - Create a PDF quote [video]
It is recommended to edit PDF forms with Adobe software. The form fields in the header and footer
PDF templates are required to retrieve dynamic values in Odoo.

#### Add dynamic text to PDFs

Add dynamic text fields to PDFs.

#### Add PDFs to quotes

Add a PDF header or footer to a quote.

#### Add PDFs to products

Set up the PDF headers and footers for products. These appear on sales quotes and online store
pages.

## Configuration

To add custom PDF files to quotes, the PDF Quote builder feature must be configured.
Navigate to Sales app â£ Configuration â£ Settings . Scroll to the Quotations &
Orders section, enable the PDF Quote builder feature, then click Save .

## Add PDF as Header/Footer

Odoo does not permit spaces in PDF field names. Only use letters, numbers, hyphens, or
underscores.
The Odoo Sales app can add a custom PDF as a header or footer. The Quote Builder tab
in a quote allows the selection of multiple headers and footers for insertion into the final PDF
quote.
To add a custom PDF as a header or footer, navigate to Sales app â£ Configuration
â£ Headers/Footers . On this page, click New to create a new header or footer, or click Upload to add a PDF file.
Clicking Upload lets the user select a PDF file from their computer. Select the Document Type to set the order in which the PDF appears in the quote. Header places the PDF before the quote, and Footer places it after. Further configuration can
be done by clicking the (vertical ellipsis) icon in the top-right
corner of the document card and selecting Edit .
Click New to open a blank document form. In the File Content field, click
the Upload your file button and select the PDF to upload. Once uploaded, Odoo
automatically names the document after the file name. The Name field then becomes
editable.
To modify the uploaded file, click the (Edit) , (Download) , or (Clear) icon next to the file name. If the
PDF includes form fields, they are automatically recognized as dynamic text fields. View and edit
these fields by clicking Configure dynamic fields . For more details, refer to Configure dynamic form fields in PDFs .
The Quotation templates field assigns the PDF to the selected template, restricting the PDFâs use
to that template.
Headers and footers can also be added to a quotation template by navigating to Sales app â£ Configuration â£ Quotation Templates . Select a template and then
in the Quote Builder tab, Add or Upload a PDF directly.
The HVAC PDF file is configured as a Header and the Sales app recognizes the form fields as
dynamic text fields.


Add a PDF or a URL to a product

# Add a PDF or a URL to a product

The Odoo Sales app lets users add a custom PDF or URL to a product template or variant using
the PDF Quote builder. By attaching a PDF or a URL, users can include extra information or resources
in their quotes, online product pages, or for manufacturing.

## Add a PDF or URL to a product template

To add a custom PDF to a product template, go to the Sales app â£ Products â£
Products , and select the desired product. Next, click the Documents smart button at the
top of the product template page.
Click Upload to open the userâs local file directory then select and upload a PDF to
Odoo. Odoo automatically creates a PDF document form from the uploaded PDF, with the Sales Visibility set to Hidden and the Publish on website toggle
disabled by default. Click the (vertical ellipsis) icon in the
corner of the document card and select Edit to further configure the PDF form .
Click New to open a blank PDF form and manually configure the document form .

### Add a PDF or URL to a product variant

A PDF document or URL can also be added to a product variant, rather than the product template. The
document form for the product variant is the same as the product templateâs document form, except it doesnât include the E-Commerce section and thus cannot be published on the website.
To add a PDF to a product variant, navigate to the Sales app â£ Products â£
Product Variants , select the product variant, click the Documents smart button, and upload the PDF .
If the variant is added to a quotation, and there are documents on a product and on its
variant, only the documents in the variant are shown in the Quote Builder tab of the
quotation.

## Document form configuration

To save a document form entry, the user must add a URL or PDF to the document form. Odoo
wonât save the entry without one, even if the rest of the form is configured.

### General Information

Fill out the following information in the top section of the document form:
- Type : Select either File or a URL from the drop-down menu. If
a PDF is uploaded, the Type field is automatically set to File and cannot
be changed.
Type : Select either File or a URL from the drop-down menu. If
a PDF is uploaded, the Type field is automatically set to File and cannot
be changed.
- URL : This field is only clickable if the Type field is set to URL . Enter a URL link to an online PDF document.
URL : This field is only clickable if the Type field is set to URL . Enter a URL link to an online PDF document.
- Name : This field is grayed out (not clickable) until a URL is entered or a PDF is
uploaded. If the URL is entered, the Name field is left blank, and it can then be
edited. If a PDF document has been uploaded, the Name field is auto-populated with the
file name, and it can then be edited.
Name : This field is grayed out (not clickable) until a URL is entered or a PDF is
uploaded. If the URL is entered, the Name field is left blank, and it can then be
edited. If a PDF document has been uploaded, the Name field is auto-populated with the
file name, and it can then be edited.
- File Content (base64) : This field displays the uploaded file. Click it to open the
file directory and select a different PDF.
File Content (base64) : This field displays the uploaded file. Click it to open the
file directory and select a different PDF.
- (Edit) icon: Click to open the file directory and select a different
PDF.
(Edit) icon: Click to open the file directory and select a different
PDF.
- (Download) icon: Click to download the PDF document. This icon
only appears after a PDF is uploaded and the document form is saved.
(Download) icon: Click to download the PDF document. This icon
only appears after a PDF is uploaded and the document form is saved.
- (Delete) icon: Click to remove the uploaded PDF. This action allows
the user to change the Type field from File to URL and enter a
URL link instead.
(Delete) icon: Click to remove the uploaded PDF. This action allows
the user to change the Type field from File to URL and enter a
URL link instead.
- Configure dynamic fields : Click the link if the PDF document or URL has dynamic form
fields that need to be configured to Odoo fields . If the PDF document or URL has custom
dynamic form fields, refer to the Configure custom dynamic form fields for more information.
Configure dynamic fields : Click the link if the PDF document or URL has dynamic form
fields that need to be configured to Odoo fields . If the PDF document or URL has custom
dynamic form fields, refer to the Configure custom dynamic form fields for more information.

### Sales section

Click the Sale: Visible at field and select one of the following options:
- Hidden : The PDF or URL isnât visible in the Sales app. This option is best for
digital product documents intended for publication on the website, but not shown in the quotation
or customer portal.
Hidden : The PDF or URL isnât visible in the Sales app. This option is best for
digital product documents intended for publication on the website, but not shown in the quotation
or customer portal.
- On quote : The PDF document or URL can be sent to customers at any time. It is also
available for download on the customer portal. This options is best for product description files.
On quote : The PDF document or URL can be sent to customers at any time. It is also
available for download on the customer portal. This options is best for product description files.
- On confirmed order : The PDF document or URL is sent to customers upon order
confirmation. It is available on the customer port after a quotation is confirmed. This is best
for user manuals and digital content sold on eCommerce websites.
On confirmed order : The PDF document or URL is sent to customers upon order
confirmation. It is available on the customer port after a quotation is confirmed. This is best
for user manuals and digital content sold on eCommerce websites.
- Inside quote : The PDF document or URL is included in the PDF quotation, between the
header pages and the Pricing section.
Inside quote : The PDF document or URL is included in the PDF quotation, between the
header pages and the Pricing section.
When the On quote option for the Visible at field is selected and the
custom PDF document, AC product info and warranty.pdf , is uploaded, the PDF appears in the customer portal quotation in the Documents section.
`ACproductinfoandwarranty.pdf`

### E-Commerce section

- Publish on Website : A checkbox that, if enabled, displays a link to download the PDF
document on the product page in the online store.
Publish on Website : A checkbox that, if enabled, displays a link to download the PDF
document on the product page in the online store.

### Manufacturing section

This section only appears if the Manufacturing app is installed.
Click the Sale: Visible at field and select one of the following options:
- Hidden : The PDF or URL is accessible only on the product form.
Hidden : The PDF or URL is accessible only on the product form.
- Bill of Materials : The PDF or URL is attached to the bill of materials when the
product is manufactured. This option is best for assembly instructions and manufacturing
specifications.
Bill of Materials : The PDF or URL is attached to the bill of materials when the
product is manufactured. This option is best for assembly instructions and manufacturing
specifications.

## View all configured PDFs or links for a product

Navigate to the Sales app â£ Products â£ Products and select a product. Click the Documents smart button to open the Documents page and display all the
documents for the product template and its variants. File and URL cards can be visually
distinguished by the images in the left corner. A PDF thumbnail is for PDF documents, and a link icon is for URL links. For product variants documents, a Variant badge is to be displayed in the corner as well.
Configure dynamic form fields in PDFs


Add PDFs to a quote

# Add PDFs to a quote

PDFs can be manually added to a quote as a header or footer, or as an additional PDF to be merged
with the quote details. They can be accessed from the Quote Builder tab on a quotation. A quote
can have multiple headers or footers selected. If a quote has multiple headers or footers, they are
merged together in the order they were selected, with the quote details in between.

## Add headers and footers to a quote

Navigate to Sales app â£ Quotations and select the desired quotation. Click the Quote Builder tab, and all available headers and footers are displayed in their own
self-titled sections. If any products have PDFs attached on their form, then a Product section displays.
Select the additional PDFs to be merged into the final PDF. If a selected PDF contains custom
note form fields , they appear as editable text
boxes to be filled in.
Odoo provides the option to print a PDF of the quote for record keeping. To print the PDF quote,
navigate to the confirmed quote, and click the Actions â£ Print â£
PDF Quote .
Open the PDF quote file to confirm the configured header, footer, and additional PDFs before
printing.
Download these PDF quote builder examples or this sample quotation for additional reference.
`PDFquotebuilderexamples`
`samplequotation`
A car dealership wants to include its vehicle purchase order form with each quotation. They
create a PDF template of the form and upload it to the Sales app as a header.
When they create a quote for a customer, they select the header in the Quote Builder tab and
manually fill in the customized note form fields.
After the quote has been signed and confirmed, the car seller downloads and prints a copy of the
PDF quote for the customer. The PDF quote contains the vehicle purchase order form as the header,
the quote details in the body, and the dealershipâs standard footer.

## Add headers and footers to a quote template

Headers and footers added to a quote template are only available when that template is
applied â they wonât appear as standalone header/footer options for quotes.
To add PDFs to a quote template, navigate to Sales app â£ Configuration â£ Quote
Templates , and select the desired template. Click the Quote Builder tab and click Add Headers and footers . In the Add: Headers and footers pop-up, select the PDF to be
added to the quote template. Selected PDFs are displayed in the Quote Builder tab as
cards.
To remove a header or footer, click the vertical ellipsis icon on
the card and select Delete . Deleting a header or footer from a quote template only
removes it from the template. It remains available in the Quote Builder tab and the Headers/Footers page.


Configure dynamic form fields in PDFs

# Configure dynamic form fields in PDFs

When creating custom PDFs to import into the Sales app, use dynamic form fields to auto-fill
the PDF content with relevant information from the Odoo database, including names and prices.
Dynamic form fields are configurable text fields that can be added to a PDF form, and Odoo
automatically fills them with values from the sales order/product associated with the quote.

## Formatting tips

When designing the base PDF template for a quoteâs header or footer, keep the placements of dynamic
form field in mind. Use the following tips to avoid overlapping text and other formatting issues:
- Leave whitespace : Ensure there is enough room for dynamic data to expand without overlapping
logos or borders.
Leave whitespace : Ensure there is enough room for dynamic data to expand without overlapping
logos or borders.
- Add line breaks : Place dynamic form fields, like Customer Name , on their own lines.
Alternatively, put them at the end of phrases to avoid text breaking. Long names can push static
text out of alignment.
Add line breaks : Place dynamic form fields, like Customer Name , on their own lines.
Alternatively, put them at the end of phrases to avoid text breaking. Long names can push static
text out of alignment.
- Leave whitespace : Ensure there is enough room for dynamic data to expand without overlapping
logos or borders.
Leave whitespace : Ensure there is enough room for dynamic data to expand without overlapping
logos or borders.
- Add line breaks : Place dynamic form fields, like Customer Name , on their own lines.
Alternatively, put them at the end of phrases to avoid text breaking. Long names can push static
text out of alignment. text appearance when adding or editing content.
Add line breaks : Place dynamic form fields, like Customer Name , on their own lines.
Alternatively, put them at the end of phrases to avoid text breaking. Long names can push static
text out of alignment. text appearance when adding or editing content.
Odoo recommends editing PDF forms with Adobe software. Form fields in header and footer templates
are required to retrieve dynamic values in Odoo.
If the PDF is too large to send as an email attachment, try using âsystem fontsâ (e.g., Arial,
Helvetica, Times New Roman) instead of custom fonts to reduce the file size.

## Create dynamic form fields in PDF

Odoo does not permit spaces in PDF field names. Only use letters, numbers, hyphens, or
underscores.
The following software are examples. They are not endorsements of any specific software.
To add dynamic form fields, use the preferred PDF editor. Adobe Acrobat Pro is the
easiest and most commonly used software. Some examples for free open source PDF editors are:
- Scribus
- BentoPDF
- EmbedPDF
Refer to the following instructions to:
- Find Common dynamic form fields .
Find Common dynamic form fields .
- Find Odoo field names or paths .
Find Odoo field names or paths .
- Configure custom dynamic form fields in Odoo after uploading
the PDF.
Configure custom dynamic form fields in Odoo after uploading
the PDF.

### Adobe Acrobat Pro

Convert the PDF into a PDF form , then add a dynamic form field at the location where
the Odoo information should be inserted. Link the Odoo fields to the dynamic form fields by
double-clicking on the field to open Properties .
In the General tab , enter the name of the Odoo field for the Name . Set the Common Properties to Visible unless the field needs to be hidden until data
is populated.
Next, click the Appearance tab and select the Font Size , Font
Choice , and Text Color to match the templateâs existing text or branding. Click the Options tab and set the text alignment to match the templateâs design.

### Generic PDF editor

Open the PDF with the PDF editor, add a dynamic form field where the Odoo information is needed.
Link the Odoo fields to the dynamic form fields by opening the fieldâs Properties window. Then, in the Name for that field, enter the name of the Odoo field.
If possible, configure the Font Size , Font Choice , and Text
Color to match the templateâs existing text or branding. Click the Options tab and set
the text alignment to match the templateâs design.

## Map PDF form fields to Odoo

This step connects any dynamic form field in the PDF to the corresponding Odoo field by specifying
the exact location of that information. Once the PDF file is ready, save the changes and upload it
to Odoo via Sales app â£ Configuration â£ Headers/Footers and clicking Upload .
Odoo automatically detects dynamic form fields in the uploaded PDF and displays the Configure dynamic fields link. Click the Configure dynamic fields link to go
to the Form Fields page.
The Form Field Name column is populated with the dynamic form fields from the PDF. The Path column specifies the path to the Odoo field corresponding to each dynamic form
field .
To edit, click the Path cell of the desired form field row and enter the Odoo field
name. Refer to the Common dynamic form fields section
for typical field names. Refer to the Find Odoo field names or paths section for instructions on how to find Odoo field names and paths.

### Find Odoo field names or paths

Users can enable Developer mode (debug mode) in Odoo and hover over the desired field to see its technical
name, which is the Field value in the pop-up window. Or, while in Developer Mode,
navigate to the Settings â£ Technical â£ Email Templates menu. In the search bar,
search for âSalesâ, then open a Sales template to see the available dynamic form fields and
their paths .

### Configure custom dynamic form fields

To pull specific information from a sales order or a product that is not in the Common dynamic form fields section, add a dynamic form
field to the PDF with a unique name, then configure the Path to point to the desired
information in Odoo.
When configuring the Path , use the dot ( . ) notation to specify relationships between
models. Headers and footers start from the current sale_order model. Product documents
follow their path from sale_order_line .
`.`
A company wants to display the customerâs country in its quotations. To display the customerâs
country in the quotation PDF, they used the dynamic form field name invoice_partner_country in the PDF template. After uploading the PDF to the Sales app, they set the Path of the Form Field Name to:
- For a header or footer document: partner_invoice_id.country_id.name Example of Odooâs Form Field Path for the customerâs country from a quotation.
For a header or footer document: partner_invoice_id.country_id.name
Example of Odooâs Form Field Path for the customerâs country from a quotation.
- For a product document: order_id.partner_invoice_id.country_id.name Example of Odooâs Form Field Path for the customerâs country from a product document.
For a product document: order_id.partner_invoice_id.country_id.name
Example of Odooâs Form Field Path for the customerâs country from a product document.

### Create a custom note form field

When uploading any PDF containing the form field custom_note , leaving the Path empty allows the seller to add any note to that form field in the document, which
shown when the PDF is built.
Leave the Path column cell empty for the custom_note row.
The note field in the Header section in the Quote Builder tab on a quotation.

## Common dynamic form fields

Below are common dynamic form fields to use in custom PDFs that automatically map to the correct
Odoo fields when uploaded to the Sales app, and what they represent.
For headers and footers PDF:
- name : Sales Order Reference
name : Sales Order Reference
- partner_id__name : Customer Name
partner_id__name : Customer Name
- user_id__name : Salesperson Name
user_id__name : Salesperson Name
- amount_untaxed : Untaxed Amount
amount_untaxed : Untaxed Amount
- amount_total : Total Amount
amount_total : Total Amount
- delivery_date : Delivery Date
delivery_date : Delivery Date
- validity_date : Expiration Date
validity_date : Expiration Date
- client_order_ref : Customer Reference
client_order_ref : Customer Reference
- description : Product Description
description : Product Description
- quantity : Quantity
- uom : Unit of Measure (UoM)
uom : Unit of Measure (UoM)
- price_unit : Price Unit
price_unit : Price Unit
- discount : Discount
- product_sale_price : Product List Price
product_sale_price : Product List Price
- taxes : Taxes name joined by a comma ( , )
taxes : Taxes name joined by a comma ( , )
`,`
- tax_excl_price : Tax Excluded Price
tax_excl_price : Tax Excluded Price
- tax_incl_price : Tax Included Price
tax_incl_price : Tax Included Price
When creating a PDF, itâs best practice to use common dynamic form fields
( user_id_name , partner_id_name , and name ). When uploaded into
the database, Odoo auto-populates those fields with the information from their respective fields.
In this case, Odoo would auto-populate the Salespersonâs name in the user_id_name dynamic text field, the Sales Order Reference in the name field, and the Customer
Name in the partner_id_name field.

Formatting tips
Create dynamic form fields in PDF
Adobe Acrobat Pro
Generic PDF editor
Map PDF form fields to Odoo
Find Odoo field names or paths
Configure custom dynamic form fields
Create a custom note form field
Common dynamic form fields


Quotation templates

# Quotation templates

Reusable quotation templates can be made in Odooâs Sales app for common products or services.
By using these templates, quotations can be tailored and sent to customers at a quicker pace,
without having to create new quotations from scratch every time a sales negotiation occurs.

## Configuration

To use quotation templates, begin by activating the setting in Sales app â£
Configuration â£ Settings , and scroll to the Quotations _ Orders heading.
Under the heading, tick the Quotation Templates checkbox. Doing so reveals a new Default Template field, in which a default quotation template can be chosen from the
drop-down menu.
Upon activating the Quotation Template feature, an internal Quotation Templates link appears beneath the Default Template field.
Clicking this link reveals the Quotation Templates page, from which templates can be
created, viewed, and edited.
Before leaving the Settings page, do not forget to click the Save button to
save all changes made during the session.

## Create quotation templates

To create a quotation template, click the Quotation Templates link on the Settings page once Quotation templates are enabled, or navigate to Sales app â£ Configuration â£ Quotation Templates . Both options reveal the Quotation Templates page, where quotation templates can be created, viewed, and edited.
To create a new quotation template, click the New button, located in the upper-left
corner. Doing so reveals a blank quotation template form that can be customized.
Start by entering a name for the template in the Quotation Template field.
Then, in the Quotation Validity field, designate how many days the quotation template
will remain valid for, or leave the field on the default 0 to keep the template valid
indefinitely.
`0`
Next, in the Confirmation Mail field, click the blank drop-down menu to select a
preconfigured email template to be sent to customers upon confirmation of an order.
To create a new email template directly from the Confirmation Mail field, start
typing the name of the new email template in the field, and select either: Create or Create and editâ¦ from the drop-down menu that appears.
Selecting Create creates the email template, which can be edited later.
Selecting Create and editâ¦ creates the email template, and a Create
Confirmation Mail pop-up window appears, in which the email template can be customized and
configured immediately.
When all modifications are complete, click Save & Close to save the email template
and return to the quotation form.
If working in a multi-company environment, use the Company field to designate to which
company this quotation template applies.
If a journal is set in the Invoicing Journal field, all sales orders with this template
will invoice in that specified journal. If no journal is set in this field, the sales journal with
the lowest sequence is used.
If the Online Signature and/or Online Payment features are activated in the Settings ( Sales app â£ Configuration â£ Settings ), those options are
available on quotation template forms.
Check the box beside Online Signature to request an online signature from the customer
to confirm an order.
Check the box beside Online Payment to request an online payment from the customer to
confirm an order. When Online Payment is checked, a new percentage field appears, in
which a specific percentage of payment can be entered.
Both options, Online Signature and Online Payment can be enabled
simultaneously, in which case the customer must provide both a signature and a payment to
confirm an order.

### Lines tab

In the Lines tab, products can be added to the quotation template by clicking Add a product , organized by clicking Add a section (and dragging/dropping
section headers), and further explained with discretionary information (such as warranty details,
terms, etc.) by clicking Add a note .
To add a product to a quotation template, click Add a product in the Lines tab of a quotation template form. Doing so reveals a blank field in the Product column.
When clicked, a drop-down menu with existing products in the database appears. Select the desired
product from the drop-down menu to add it to the quotation template.
If the desired product is not readily visible, type the name of the desired product in the Product field, and the option appears in the drop-down menu. Products can also be found
by clicking Search Moreâ¦ from the drop-down menu.
It is possible to add event-related products (booths and registrations) to quotation templates.
To do so, click the Product field, type in Event , and select the desired
event-related product from the resulting drop-down menu.
`Event`
When a product is added to a quotation template, the default Quantity is 1 , but
that can be edited at any time.
`1`
Then, drag and drop the product to the desired position, via the six squares icon,
located to the left of each line item.
To add a section , which serves as a header to organize the lines of a sales order, click Add a section in the Lines tab. When clicked, a blank field appears, in
which the desired name of the section can be typed. When the name has been entered, click away to
secure the section name.
Then, drag and drop the section name to the desired position, via the (six squares) icon, located to the left of each line item.
To add a note, which appears as a piece of text for the customer on the quotation, click Add a note in the Lines tab. When clicked, a blank field appears, in which
the desired note can be typed. When the note has been entered, click away to secure the note.
Then, drag and drop the note to the desired position, via the (six squares) icon.
To delete any line item from the Lines tab (product, section, and/or note), click the (remove record) icon on the far-right side of the line.

### Optional Products tab

Using optional products is a marketing strategy that involves the cross-selling of products along
with a core product. The aim is to offer useful and related products to customers, which may result
in an increased sale.
If a customer wants to buy a car, they have the choice to order massaging seats as
an additional product that compliments the car, or ignore the offer and buy the car alone.
Optional products appear as a section on the bottom of sales orders and eCommerce pages. Customers
can immediately add them to their online sales orders themselves, if desired.
In the Optional Products tab, Add a line for each cross-selling product
related to the original items in the Lines tab, if applicable.
Clicking Add a line reveals a blank field in the Product column.
When clicked, a drop-down menu with products from the database appear. Select the desired product
from the drop-down menu to add it as an optional product to the quotation template.
To delete any line item from the Optional Products tab, click the (remove record) icon.
Optional products are not required to create a quotation template.

### Terms & Conditions tab

The Terms & Conditions tab provides the opportunity to add terms and conditions to the
quotation template. To add terms and conditions, type the desired terms and conditions in this tab.
Default terms and conditions (T&C)
Terms and conditions are not required to create a quotation template.

## Use quotation templates

When creating a quotation ( Sales app â£ New ), choose a preconfigured template in
the Quotation Template field.
The order of the templates in the Quotation Template field is determined by the order
of the templates in the Quotation Templates form. The order of the quotations in the Quotation
Templates form does not affect anything else.
To view what the customer will see, click the Preview button at the top of the page to
see how the quotation template appears on the front-end of the website through Odooâs customer
portal.
When all blocks and customizations are complete, click the Save button to save the
configuration.
The blue banner located at the top of the quotation template preview can be used to quickly return Back to edit mode . When clicked, Odoo returns to the quotation
form in the back-end of the Sales application.

## Mass cancel quotations/sales orders

Cancel multiple quotations (or sales orders) by navigating to the Sales app â£
Orders â£ Quotations dashboard, landing, by default, in the list view. Then, on the left side of
the table, tick the checkboxes for the quotations to be canceled.
Select all records in the table by selecting the checkbox column header at the top-left of the
table; the total number of selected items are displayed at the top of the page.
Then, with the desired quotations (or sales orders) selected from the list view on the Quotations page, click the Actions button to reveal a
drop-down menu.
From this drop-down menu, select Cancel quotations .
This action can be performed for quotations in any stage, even if it is confirmed as a sales
order.
Upon selecting the Cancel quotations option, a Cancel quotations confirmation pop-up window appears. To complete the cancellation, click the Cancel
quotations button.
An error pop-up message appears when attempting to cancel an order for an ongoing subscription
that has an invoice.
- Online signatures for order confirmations
Online signatures for order confirmations
- Online payment order confirmation
Online payment order confirmation

Configuration
Create quotation templates
Lines tab
Optional Products tab
Terms & Conditions tab
Use quotation templates
Mass cancel quotations/sales orders


Shopee Connector

# Shopee Connector

The Shopee Connector synchronizes orders between Shopee and Odoo, which considerably reduces the
amount of time spent manually entering Shopee orders (from the Shopee Seller account) into Odoo. It
also allows users to accurately keep track of Shopee sales in Odoo.

## Supported features

The Shopee Connector is able to:
- Synchronize (Shopee to Odoo) all confirmed orders, and their order items, which include: Product name SKU reference Quantity
Synchronize (Shopee to Odoo) all confirmed orders, and their order items, which include:
- Product name
- SKU reference
- Quantity
- Synchronize (Odoo to Shopee) all available quantities of your products ( FBM ).
Synchronize (Odoo to Shopee) all available quantities of your products ( FBM ).
- Support multiple seller accounts.
Support multiple seller accounts.
- Support multiple Shopee marketplaces (shops) per seller account.
Support multiple Shopee marketplaces (shops) per seller account.
The Shopee Connector is designed to synchronize sales orders data. Other actions, such as
downloading weekly/monthly income/fees reports, handling disputes, or issuing refunds, must be managed from the Shopee Seller Central , as usual.

## Shopee supported marketplaces

- Shopee Connector configuration
Shopee Connector configuration
- Shopee order management
Shopee order management

Supported features
Shopee supported marketplaces


Shopee order management

# Shopee order management

## Product catalog mapping

### New Odoo customers with no existing products

If you are starting a new Odoo database and your products are only on Shopee, you can import your
Shopee product catalog into Odoo.
- Export Shopee catalog: Use the Mass Function drop-down to export the product catalog from
Shopee, ensuring it includes the Shopee SKUs.
Export Shopee catalog: Use the Mass Function drop-down to export the product catalog from
Shopee, ensuring it includes the Shopee SKUs.
- Import into Odoo: Import the exported catalog
into Odoo. During the import process, it is crucial to map the Shopee SKU to the Internal Reference field in Odoo. This field will serve as the link between your Shopee and
Odoo products.
Import into Odoo: Import the exported catalog
into Odoo. During the import process, it is crucial to map the Shopee SKU to the Internal Reference field in Odoo. This field will serve as the link between your Shopee and
Odoo products.

### Existing Odoo customers with products already in Odoo

If you already have products in your Odoo database, youâll need to map your Shopee listings to your
existing Odoo products.
- Export Shopee catalogs: Use the Mass Function drop-down to export the product catalog from Shopee
(including Shopee SKUs) and export your product
catalog from Odoo (including Internal References ).
Export Shopee catalogs: Use the Mass Function drop-down to export the product catalog from Shopee
(including Shopee SKUs) and export your product
catalog from Odoo (including Internal References ).
- Map in a spreadsheet: Use a spreadsheet to map the products. Match the Shopee SKU from the
Shopee export with the corresponding Internal Reference from the Odoo export. Create a column
that links the Shopee SKU with the Odoo Internal Reference .
Map in a spreadsheet: Use a spreadsheet to map the products. Match the Shopee SKU from the
Shopee export with the corresponding Internal Reference from the Odoo export. Create a column
that links the Shopee SKU with the Odoo Internal Reference .
- Update Odoo products: Import the updated spreadsheet back into Odoo. Use the mapping you
created in the spreadsheet to update the Internal Reference field of your existing Odoo
products with the corresponding Shopee SKU. This establishes the link between your Odoo and
Shopee products.
Update Odoo products: Import the updated spreadsheet back into Odoo. Use the mapping you
created in the spreadsheet to update the Internal Reference field of your existing Odoo
products with the corresponding Shopee SKU. This establishes the link between your Odoo and
Shopee products.
Product catalog synchronization between Odoo and Shopee is not automatic . It is a manual operation that you must initiate. The process differs depending on whether your
products already exist in Odoo.

## Order synchronization

Orders are automatically fetched from Shopee, and synchronized in Odoo, at regular intervals .
The synchronization is based on the Shopee orders status: only orders whose status has changed
since the last synchronization are fetched from Shopee. This includes changes on Shopee only.
When an order is canceled on Shopee, it will update the orderâs status in Odoo. On the other hand,
if an order is canceled on Odoo, the change wonât be reflected on Shopee.
For every synchronized order, Odoo creates a sales order and a customer (contact), as long as the
customer hasnât been previously imported from Shopee or doesnât already exist in the database.
The principal of the synchronization is to only fetch orders that needs to be shipped (i.e., SHIPPED , CANCEL , UNPAID , COMPLETED ).
`SHIPPED`
`CANCEL`
`UNPAID`
`COMPLETED`

## Force synchronization

In order to force the synchronization of an order, whose status has not changed since the
previous synchronization:
Then, navigate to the Shopee account in Odoo Sales app â£ Configuration â£ Shopee
â£ Account â£ Shop . Modify the date for Last Order Sync under Orders
Follow-up .
Be sure to pick a date that occurs prior to the last status change of the desired order to
synchronize and save. This will ensure synchronization occurs correctly.

## Manage deliveries inFBM

Whenever an FBM (Fulfilled by Merchant) order is synchronized in Odoo, a picking is instantly
created in the Inventory app, along with a sales order and customer record.
When a picking related to the order is confirmed, you also have to click on Arrange
Shipment in your Shopee Seller Account in order to be able to generate and fetch the Shipping Label and Tracking Number .

### Shopee delivery statuses

Understanding the different Shopee delivery statuses is crucial for managing your orders
effectively. Hereâs a breakdown:
- Ready to ship: The seller can now arrange shipment for this order.
Ready to ship: The seller can now arrange shipment for this order.
- Shipment arranged: The seller has arranged shipment online and received a tracking number
from the third-party logistics (3PL) provider.
Shipment arranged: The seller has arranged shipment online and received a tracking number
from the third-party logistics (3PL) provider.
- Shipped: The parcel has been dropped off at the 3PL location or picked up by the 3PL
provider.
Shipped: The parcel has been dropped off at the 3PL location or picked up by the 3PL
provider.
- Cancelled: The order has been canceled.
Cancelled: The order has been canceled.
- Pickup failed: The 3PL parcel pickup attempt failed. The seller needs to rearrange shipment,
and the rest of the order fulfillment content.
Pickup failed: The 3PL parcel pickup attempt failed. The seller needs to rearrange shipment,
and the rest of the order fulfillment content.
Unsupported for Non-Shopee Supported Logistics (NSSL)
This feature is not available for NSSL , you have to
manually create shipping label and tracking number via the logistics providerâs website/app.
Check your region for list of supported logistics (e.g. Malaysia ).
Shopee requires users to provide a tracking reference with each delivery. This is needed to
assign a carrier.
If the carrier doesnât automatically provide a tracking reference, one must be set manually.
This rule applies to all Shopee marketplaces.

## Follow deliveries in Odoo

For FBM orders, the stock move is automatically created in Odoo by
the Shopee connector, thanks to the shipping status of Shopee.

### Order fulfillment process

This section describes the process of fulfilling Shopee orders within Odoo, from order creation to
inventory updates.
- New order creation: When a new order is placed on Shopee, it is automatically created in
Odoo.
New order creation: When a new order is placed on Shopee, it is automatically created in
Odoo.
- Arrange shipment on Shopee: Before the order can be shipped, you must arrange the
shipment through the Shopee platform itself. This usually involves selecting a shipping
provider, generating a shipping label, and scheduling pickup or drop-off. Odoo does not handle the physical shipping arrangements; this is managed entirely within Shopee.
Arrange shipment on Shopee: Before the order can be shipped, you must arrange the
shipment through the Shopee platform itself. This usually involves selecting a shipping
provider, generating a shipping label, and scheduling pickup or drop-off. Odoo does not handle the physical shipping arrangements; this is managed entirely within Shopee.
- Fetch Shopee shipping label (delivery note): Once the shipment is arranged on Shopee,
Odoo fetches the generated shipping label (which serves as the delivery note). This label
contains crucial information like the tracking number and is essential for printing and
attaching to the package. The shipping label is imported into Odoo and associated with the
corresponding sales order.
Fetch Shopee shipping label (delivery note): Once the shipment is arranged on Shopee,
Odoo fetches the generated shipping label (which serves as the delivery note). This label
contains crucial information like the tracking number and is essential for printing and
attaching to the package. The shipping label is imported into Odoo and associated with the
corresponding sales order.
- Validate stock out in Odoo: After the shipping label is retrieved, you need to validate the
stock movement in Odoo. This confirms that the ordered items have left your warehouse or
inventory. Validating the stock out will decrease the stock levels in Odoo.
Validate stock out in Odoo: After the shipping label is retrieved, you need to validate the
stock movement in Odoo. This confirms that the ordered items have left your warehouse or
inventory. Validating the stock out will decrease the stock levels in Odoo.
- Inventory update on Shopee: Finally, Odoo pushes the updated stock levels back to Shopee.
This ensures that your Shopee listings reflect the current inventory, preventing overselling and
keeping your product availability accurate. This synchronization keeps your Shopee storefront
up-to-date with your Odoo inventory.
Inventory update on Shopee: Finally, Odoo pushes the updated stock levels back to Shopee.
This ensures that your Shopee listings reflect the current inventory, preventing overselling and
keeping your product availability accurate. This synchronization keeps your Shopee storefront
up-to-date with your Odoo inventory.

## Register payments

Since customers pay Shopee as an intermediary, creating a dedicated Bank journal (e.g. named Shopee Payments ), with a dedicated Bank and Cash intermediary account is recommended.
`ShopeePayments`
Additionally, as Shopee makes a single weekly or monthly payment, selecting all the invoices linked
to a single payment is necessary when registering payments.
To do that, use the appropriate Journal dedicated to Shopee payments, and select Batch Deposit as the Payment Method .
Then, select all the generated payments, and click Actions â£ Create batch payment
â£ Validate .
This same action can be performed with vendor bills from Shopee dedicated to fees/commissions.
When the balance is received in the bank account at the end of the week/month, and the bank
statements are recorded, credit the Shopee intermediary account by the amount received.

## Analyzing Shopee sales with Odooâs reporting

Odooâs dashboard consolidates sales data from all your connected sales channels, providing a
comprehensive overview of your business performance. To specifically analyze your Shopee sales, you
will need to configure sales teams for your Shopee shops. This setup enables you to filter and
isolate Shopee sales data within the Odoo dashboard.

### Setting up sales teams for Shopee reporting

By default, the Shopee accountâs sales team is shared across all of your companyâs accounts. To
generate separate reports for specific Shopee shops or marketplaces, youâll need to assign dedicated
sales teams.
- Assign a sales team to your Shopee shop: Navigate to the Shopee account configuration
(typically found under Sales â£ Configuration â£ Accounts ).  Within the
account details, assign a specific sales team to your Shopee shop.
Assign a sales team to your Shopee shop: Navigate to the Shopee account configuration
(typically found under Sales â£ Configuration â£ Accounts ).  Within the
account details, assign a specific sales team to your Shopee shop.
- Filtering Shopee sales on the dashboard: Once sales teams are assigned, you can use the
dashboard filters to view sales data specifically for your Shopee shops. Select the appropriate
sales team to isolate and analyze your Shopee performance.
Filtering Shopee sales on the dashboard: Once sales teams are assigned, you can use the
dashboard filters to view sales data specifically for your Shopee shops. Select the appropriate
sales team to isolate and analyze your Shopee performance.
- Shopee supported features and marketplaces
Shopee supported features and marketplaces
- Shopee Connector configuration
Shopee Connector configuration