Restaurant features

# Restaurant features

Odoo Point of Sale provides various features to manage a restaurant or a bar:
- Organizing the floors and tables ;
Organizing the floors and tables ;
- Taking orders ;
- Communicating with the kitchen or bar through the POS ;
Communicating with the kitchen or bar through the POS ;
- Printing and splitting bills ;
Printing and splitting bills ;
- Collecting tips ;
- Setting different taxes for takeaway food .
Setting different taxes for takeaway food .
Three main buttons in the POS register allow for navigating between the Floor plan view, tables, and orders :
- Plan : Access the Floor plan view.
Plan : Access the Floor plan view.
- Table : Enter a table or order number, then click Jump to access them. The
buttonâs label updates to display the selected number. When applicable, click Book
table to confirm the tableâs occupancy.
Table : Enter a table or order number, then click Jump to access them. The
buttonâs label updates to display the selected number. When applicable, click Book
table to confirm the tableâs occupancy.
- ( order ): Create a direct sales order that is not linked to any table. Each click generates the next order in the sequence. Click Release Order to cancel the order (if no products have been added) and return to the Floor plan view.
( order ): Create a direct sales order that is not linked to any table. Each click generates the next order in the sequence. Click Release Order to cancel the order (if no products have been added) and return to the Floor plan view.
- When Table Booking is enabled in the POS settings ,
a Booking button appears on the main interface for viewing and managing bookings.
When Table Booking is enabled in the POS settings ,
a Booking button appears on the main interface for viewing and managing bookings.
- Entering a number through the Table button that does not match an existing table
number creates a direct sales order.
Entering a number through the Table button that does not match an existing table
number creates a direct sales order.
To configure restaurant-specific settings, the Is a Bar/Restaurant setting under the Restaurant Mode section must be enabled in the POS settings .

## Floors and tables

The Floor plan view is the first screen displayed when accessing the POS register . It enables managing restaurant floors and tables, and monitoring
table status in real time (occupancy, reservations, and kitchen orders).
- Table 101: The table is currently available but booked for 15:00.
Table 101: The table is currently available but booked for 15:00.
- Table 102: The table is booked, and an order is sent to the kitchen.
Table 102: The table is booked, and an order is sent to the kitchen.
- Table 103: The 12:00 table is running late.
Table 103: The 12:00 table is running late.
- Table 104: The table has a pending order.
Table 104: The table has a pending order.
- Table 105: The table is available.
Table 105: The table is available.

### Configuration

Creating floors and tables allows managing table selection and orders .

#### From the POS backend

To create floors and tables from the backend, go to Point of Sale â£ Configuration
â£ Floor Plans , and click New . Follow the next steps to configure the Floor
plan :
- Enter a Floor Name .
- Select the related Point of Sales .
Select the related Point of Sales .
- Optionally, hover the mouse over the placeholder image and click the ( Edit ) icon to add a background image to the restaurant layout.
Optionally, hover the mouse over the placeholder image and click the ( Edit ) icon to add a background image to the restaurant layout.
- Click Add a line to create and configure a table: Enter a Table Number . Fill in the number of Seats . Set the tableâs Shape .
Click Add a line to create and configure a table:
- Enter a Table Number .
Enter a Table Number .
- Fill in the number of Seats .
Fill in the number of Seats .
- Set the tableâs Shape .
Set the tableâs Shape .
- Optionally, activate additional settings by clicking the ( settings ) icon: Adjust the Height , Width , and Color . Tick the Active checkbox to make a table available or not.
Optionally, activate additional settings by clicking the ( settings ) icon:
- Adjust the Height , Width , and Color .
Adjust the Height , Width , and Color .
- Tick the Active checkbox to make a table available or not.
Tick the Active checkbox to make a table available or not.
- Enable the Table Booking setting to assign an Appointment resource and
make a table bookable.
Enable the Table Booking setting to assign an Appointment resource and
make a table bookable.
- Click the ( trash ) icon to delete a table.
Click the ( trash ) icon to delete a table.
To create a Floor plan quickly, go to the Restaurant Mode section of the POS settings . Under Floors & Tables Map , type the
floor name in the Floors field, and press Enter .
`Enter`

#### From the POS frontend

To create floors and tables from the frontend, open the POS register ,
click the ( hamburger menu ) icon in the top right corner of the Floor plan view, then Edit Plan . To configure the Floor plan ,
follow the next steps:
- Click the ( Add Floor ) icon to add a floor.
Click the ( Add Floor ) icon to add a floor.
- Enter a Floor name and click Apply .
Enter a Floor name and click Apply .
- Click the ( Change Floor Background ) icon to select a
background color, or click File to upload an image.
Click the ( Change Floor Background ) icon to select a
background color, or click File to upload an image.
- Optionally, click the ( Rename ) icon to rename the Floor plan , the ( Clone ) icon to create a copy, or
the ( Delete ) icon to delete it.
Optionally, click the ( Rename ) icon to rename the Floor plan , the ( Clone ) icon to create a copy, or
the ( Delete ) icon to delete it.
- Click Table to add a new table. To edit a table, select it
and click one of the following icons: ( Seats ): Add or change the number of seats. ( Square ) or ( Round ): Change
the tableâs shape. ( Change Floor Background ): Change the tableâs color. ( Rename ): Change the table number. ( Clone ): Clone the tableâs attributes using the following table
number. ( Delete ): Remove the table.
Click Table to add a new table. To edit a table, select it
and click one of the following icons:
- ( Seats ): Add or change the number of seats.
( Seats ): Add or change the number of seats.
- ( Square ) or ( Round ): Change
the tableâs shape.
( Square ) or ( Round ): Change
the tableâs shape.
- ( Change Floor Background ): Change the tableâs color.
( Change Floor Background ): Change the tableâs color.
- ( Rename ): Change the table number.
( Rename ): Change the table number.
- ( Clone ): Clone the tableâs attributes using the following table
number.
( Clone ): Clone the tableâs attributes using the following table
number.
- ( Delete ): Remove the table.
( Delete ): Remove the table.
- Click Save .
Removing a table or a floor is permanent.

## Order management

To take an order, open the POS register and follow these steps:
- Select a floor plan and click a table or click the ( order ) button at the top to create a direct sales order.
Select a floor plan and click a table or click the ( order ) button at the top to create a direct sales order.
- Add products to the order.
Add products to the order.
- Click Order to validate the order.
Click Order to validate the order.
When ready, process the order payment .
- To cancel a processed order, click Actions , then Cancel Order . If an order printer is configured , a cancellation ticket is
automatically printed.
To cancel a processed order, click Actions , then Cancel Order . If an order printer is configured , a cancellation ticket is
automatically printed.
- To switch to another table order, click the button with the table number at the top of the POS
interface, enter a table number, and click Jump .
To switch to another table order, click the button with the table number at the top of the POS
interface, enter a table number, and click Jump .
- Click Release table to cancel a tableâs occupancy.
Click Release table to cancel a tableâs occupancy.
- Configure a printer to send an order to the kitchen
printer when clicking Order .
Configure a printer to send an order to the kitchen
printer when clicking Order .

### Order transfer

To transfer an order to another table from the POS interface , click Actions , then Transfer/Merge , and choose the target table in the Floor plan view:
- Select an available table to transfer customers and their orders.
Select an available table to transfer customers and their orders.
- Select an occupied table to merge customers and their orders.
Select an occupied table to merge customers and their orders.

## Order printing

### Configuration

To enable sending orders to a kitchen or a bar printer, connect a printer to Odoo, go to the POS settings , and
follow these steps:
- Scroll down to the Preparation section and enable the Preparation
Printers setting.
Scroll down to the Preparation section and enable the Preparation
Printers setting.
- Type the printerâs name in the Printers field and click Create and edit .
Type the printerâs name in the Printers field and click Create and edit .
- On the printer setup form, select the Printer Type : If the printer is connected to an IoT system , select Use a printer connected to the IoT , and choose the relevant device . This process requires the IoT app and an IoT
system. If using an Epson printer that does not require an IoT system connection , select Use an Epson printer and enter the Epson Printer IP Address .
On the printer setup form, select the Printer Type :
- If the printer is connected to an IoT system , select Use a printer connected to the IoT , and choose the relevant device . This process requires the IoT app and an IoT
system.
If the printer is connected to an IoT system , select Use a printer connected to the IoT , and choose the relevant device . This process requires the IoT app and an IoT
system.
- If using an Epson printer that does not require an IoT system connection , select Use an Epson printer and enter the Epson Printer IP Address .
If using an Epson printer that does not require an IoT system connection , select Use an Epson printer and enter the Epson Printer IP Address .
- Define the product categories to be printed by clicking Add a line in the Printed Product Categories field and selecting the preferred category from the
popover.
Define the product categories to be printed by clicking Add a line in the Printed Product Categories field and selecting the preferred category from the
popover.
- Click Save & Close .
- In the POS settings , click Save .
In the POS settings , click Save .
The printer is then connected to the point of sale and can print kitchen orders and order receipts.
- Printing kitchen orders requires assigning a PoS Product Category .
Printing kitchen orders requires assigning a PoS Product Category .
- To create a Printed Product Category on the Add: Printed Product
Categories popover, click New . Enter a name, select a Parent Category ,
choose a Color , click the ( Edit ) icon to add an
image, determine the product availability, then click Save & Close .
To create a Printed Product Category on the Add: Printed Product
Categories popover, click New . Enter a name, select a Parent Category ,
choose a Color , click the ( Edit ) icon to add an
image, determine the product availability, then click Save & Close .
To access all preparation printers from the POS settings , scroll
down to the Preparation section, and click Printers . Alternatively, go to Point of Sale â£ Orders â£
Preparations Printers .
- Connect an IoT system to a POS
Connect an IoT system to a POS
- Connect a printer
- IoT system connection to Odoo
IoT system connection to Odoo
- Preparation display

## Bills and payment

### Bill splitting

To allow bill splitting, go to Point of Sale â£ Configuration â£ Settings , and
enable Allow Bill Splitting under the Restaurant Mode section.
To split a bill from the POS interface , follow these steps:
- Click Actions , then Split .
Click Actions , then Split .
- Select at least one product and click Split Order .
Select at least one product and click Split Order .
- Proceed with the payment .
Proceed with the payment .
- Click Continue and repeat the process for each guest.
Click Continue and repeat the process for each guest.
- Splitting a bill requires ordering at least two products and creates a sub-order, which must
be paid before returning to the main order.
Splitting a bill requires ordering at least two products and creates a sub-order, which must
be paid before returning to the main order.
- Clicking Split Order without selecting any product creates an empty sub-order.
Clicking Split Order without selecting any product creates an empty sub-order.

### Order payment

To proceed with the order payment from the POS interface , follow
these steps:
- Click Payment .
- Select a payment method .
Select a payment method .
- Optionally, select a customer and send an invoice to them: Click Customer to select or create a customer account. Enable Invoice to allow sending an invoice to the
customer.
Optionally, select a customer and send an invoice to them:
- Click Customer to select or create a customer account.
Click Customer to select or create a customer account.
- Enable Invoice to allow sending an invoice to the
customer.
Enable Invoice to allow sending an invoice to the
customer.
- Click Validate .

### Receipt printing

To allow receipt printing, go to Point of Sale â£ Configuration â£ Settings , and
enable Early Receipt Printing under the Restaurant Mode section.
After a successful order payment , click Print Full Receipt to generate and print a bill.
If a printer is configured and linked to a point of sale,
the receipt is automatically printed upon payment confirmation.
Receipts and invoices

## Tips

### Configuration

To allow tipping in a POS, go to the POS settings , scroll down to
the Payment section, enable Tips ,  and click Save .
- The Add tip after payment setting only works for a POS in the United States
of America with an Adyen or a Stripe payment terminal .
The Add tip after payment setting only works for a POS in the United States
of America with an Adyen or a Stripe payment terminal .
- The Add tip through payment terminal (Adyen) setting only works with an Adyen terminal.
The Add tip through payment terminal (Adyen) setting only works with an Adyen terminal.
- Saving the Tips setting automatically fills the Tip product field
with the preconfigured [TIPS] Tips product, which is only used for tips. When
selecting another product in the Tip product field, the chosen product is no
longer available on the POS interface .
Saving the Tips setting automatically fills the Tip product field
with the preconfigured [TIPS] Tips product, which is only used for tips. When
selecting another product in the Tip product field, the chosen product is no
longer available on the POS interface .
- Choose only one tip product per POS.
Choose only one tip product per POS.

### Tip and payment

To process a tip during payment , follow these steps:
- Click Tip , add the amount, then click Ok .
Click Tip , add the amount, then click Ok .
- Select a payment method for the order and the tip.
Select a payment method for the order and the tip.
- Click Validate .
If the order and the tip are paid using different payment methods, select a payment method for the order, click Tip , add the tip amount, and
click Ok . Then, select a payment method for the tip and Validate the
payment.

### Tip after payment (US only)

To allow tipping after payment for a POS in the United States of America, ensure the Add
tip after payment setting is enabled in the POS settings . To
process tips after payment, follow these steps:
- On the Payment screen, select a Card payment method linked to a Stripe or Adyen terminal.
On the Payment screen, select a Card payment method linked to a Stripe or Adyen terminal.
- Click Close Tab and select the relevant option in the Add a tip screen: 15% , 20% , or 25% : Tip rates based on order total. No Tip . Tip Amount : Enter the relevant amount in the field.
Click Close Tab and select the relevant option in the Add a tip screen:
- 15% , 20% , or 25% : Tip rates based on order total.
15% , 20% , or 25% : Tip rates based on order total.
- No Tip .
- Tip Amount : Enter the relevant amount in the field.
Tip Amount : Enter the relevant amount in the field.
- Click Settle to validate.
Click Settle to validate.

Floors and tables
Configuration
Order management
Order transfer
Order printing
Configuration
Bills and payment
Bill splitting
Order payment
Receipt printing
Tips
Configuration
Tip and payment
Tip after payment (US only)


Self-ordering

# Self-ordering

The self-ordering feature allows customers to browse your menu or product catalog, place an order,
and complete payment using their mobile device or a self-ordering kiosk.

## Configuration

### Feature activation

To enable this feature and select a self-ordering type, access the POS settings , scroll down to the Mobile self-order & Kiosk section, and
select a Self Ordering type under the QR menu & Kiosk activation section.
Select QR menu or QR menu + Ordering to give customers access to your
menu or product catalog by scanning a QR code on their personal device. The latter also
allows them to place an order and make a payment.
- Click Print QR Codes to download a .pdf document with the
generated QR codes.
Click Print QR Codes to download a .pdf document with the
generated QR codes.
- Click Download QR Codes to download a compressed file
with the generated QR codes.
Click Download QR Codes to download a compressed file
with the generated QR codes.
In restaurants , printing or downloading QR codes generates as many QR codes as the
number of available tables. In shops , it generates only one generic QR code.
To customize QR codes,
- Scan the relevant QR code to acquire its URL.
Scan the relevant QR code to acquire its URL.
- Use a QR code generator (e.g., QR code monkey or QR
code generator ) to create a custom QR code.
Use a QR code generator (e.g., QR code monkey or QR
code generator ) to create a custom QR code.
When Kiosk is selected, customers can access the menu or product catalog, place
orders, and pay from a self-ordering kiosk.
Once a self-ordering type is selected, the additional settings update to fit the selected typeâs needs.

### Additional settings

The Home buttons are displayed on the kiosk or mobile device interfaces when
customers are self-ordering. To set them up, click Home
buttons . Then,
- Click New to add a new button.
Click New to add a new button.
- Set the Label .
- Enter a URL preceded by https:// to redirect customers to a specific URL when
clicking the button. For instance, you might want to redirect them to a campaign video for
a new product or to a contest page.
Enter a URL preceded by https:// to redirect customers to a specific URL when
clicking the button. For instance, you might want to redirect them to a campaign video for
a new product or to a contest page.
`https://`
- In the same URL column, enter /products to create a button that redirects
customers to the product catalog.
In the same URL column, enter /products to create a button that redirects
customers to the product catalog.
`/products`
- Select the Points of Sale to ensure this button only appears on the selected
POSâ self-ordering interface.
Select the Points of Sale to ensure this button only appears on the selected
POSâ self-ordering interface.
- Select a predefined Style from the dropdown menu.
Select a predefined Style from the dropdown menu.
- Leaving the Points of Sale field empty shares the button with all POS.
Leaving the Points of Sale field empty shares the button with all POS.
- The Preview column automatically updates,  giving you a glimpse of the
buttonâs appearance based on its configuration.
The Preview column automatically updates,  giving you a glimpse of the
buttonâs appearance based on its configuration.
- Set where the service occurs by selecting Table or Pickup zone under the Service field.
Set where the service occurs by selecting Table or Pickup zone under the Service field.
- Define when and how customers pay in the Pay after field. Customers can pay
after Each meal or for Each order .
Define when and how customers pay in the Pay after field. Customers can pay
after Each meal or for Each order .
- The service location and payment options available depend on the type of self-ordering
service and POS: QR menu + Ordering : Restaurants : Customers can be served at their table or the pickup zone. When served at their table, they can pay after each meal or each order. When served at the pickup zone, they can only pay after each order. Shops : Customers can only be served at the pickup zone and pay after each order. Regardless of the type of POS, customers can pay online or using any configured payment
method . Kiosk : Regardless of the type of POS, customers can either be served at their table or in the
pickup zone, but they must pay after each order. The kiosk self-ordering only works with Adyen and Stripe terminals. The Online Payment feature is not supported.
The service location and payment options available depend on the type of self-ordering
service and POS:
- QR menu + Ordering : Restaurants : Customers can be served at their table or the pickup zone. When served at their table, they can pay after each meal or each order. When served at the pickup zone, they can only pay after each order. Shops : Customers can only be served at the pickup zone and pay after each order. Regardless of the type of POS, customers can pay online or using any configured payment
method .
- Restaurants : Customers can be served at their table or the pickup zone. When served at their table, they can pay after each meal or each order. When served at the pickup zone, they can only pay after each order.
Restaurants : Customers can be served at their table or the pickup zone.
- When served at their table, they can pay after each meal or each order.
When served at their table, they can pay after each meal or each order.
- When served at the pickup zone, they can only pay after each order.
When served at the pickup zone, they can only pay after each order.
- Shops : Customers can only be served at the pickup zone and pay after each order.
Shops : Customers can only be served at the pickup zone and pay after each order.
- Regardless of the type of POS, customers can pay online or using any configured payment
method .
Regardless of the type of POS, customers can pay online or using any configured payment
method .
- Kiosk : Regardless of the type of POS, customers can either be served at their table or in the
pickup zone, but they must pay after each order. The kiosk self-ordering only works with Adyen and Stripe terminals. The Online Payment feature is not supported.
- Regardless of the type of POS, customers can either be served at their table or in the
pickup zone, but they must pay after each order.
Regardless of the type of POS, customers can either be served at their table or in the
pickup zone, but they must pay after each order.
- The kiosk self-ordering only works with Adyen and Stripe terminals.
The kiosk self-ordering only works with Adyen and Stripe terminals.
- The Online Payment feature is not supported.
The Online Payment feature is not supported.
- Online payments
- Payment methods
This option allows you to enable multiple languages for the self-ordering interface. The
suggested languages are those already installed in Odoo. To expand the selection, add more
languages:
- Click Add Languages .
Click Add Languages .
- Add as many languages as needed to the Languages field.
Add as many languages as needed to the Languages field.
- Click Add .
- Add those languages to the Available field.
Add those languages to the Available field.
Splash screens are introductory screens displayed when the self-ordering interface or kiosk is
launched. They typically contain branding, welcome messages, or usage instructions.
- To add a splash screen image, click Add images , select and
open an image.
To add a splash screen image, click Add images , select and
open an image.
- To remove a splash screen image, hover over the image and click ( Delete ).
To remove a splash screen image, hover over the image and click ( Delete ).
You can add multiple splash screen images at once.
Activate this setting to adjust the tax rate based on whether
customers dine in or take their order to go. Then,
- Fill in the field with an existing Alternative Fiscal Position ;
Fill in the field with an existing Alternative Fiscal Position ;
- Create and set up a new fiscal position by filling in the field and clicking Create & Edit ; or
Create and set up a new fiscal position by filling in the field and clicking Create & Edit ; or
- Create and set up a new fiscal position by clicking Fiscal
Positions .
Create and set up a new fiscal position by clicking Fiscal
Positions .
Flexible taxes (fiscal positions)

### Preview

Review the interface before making the self-ordering feature available to customers to ensure all
settings are applied correctly. Click Preview Web interface under the Self  Ordering field to ensure all additional settings are correctly applied.

## Usage guidelines

On the POS userâs end, access the self-ordering interface by
- Scanning a downloaded or printed QR code; or
Scanning a downloaded or printed QR code; or
- Clicking the ( vertical ellipsis ) icon on the POS card,
then Mobile Menu .
Clicking the ( vertical ellipsis ) icon on the POS card,
then Mobile Menu .
On the customersâ end,
- Access the self-ordering interface by scanning a downloaded or printed QR code.
Access the self-ordering interface by scanning a downloaded or printed QR code.
- Click the home button to reach the menu or catalog.
Click the home button to reach the menu or catalog.
- Select the items and click Order to place an order.
Select the items and click Order to place an order.
- Follow the instructions on-screen to assign a table and pay for the order.
Follow the instructions on-screen to assign a table and pay for the order.
On the POS userâs end,
- Click Start Kiosk .
- Open the provided URL on the self-ordering kiosk(s). Click the provided URL to open the kiosk in a new tab; Click Install App to install the kiosk module on your self-ordering kiosk; or Click Open on IoT Box if your kiosk is connected to an IoT system
Open the provided URL on the self-ordering kiosk(s).
- Click the provided URL to open the kiosk in a new tab;
Click the provided URL to open the kiosk in a new tab;
- Click Install App to install the kiosk module on your self-ordering kiosk; or
Click Install App to install the kiosk module on your self-ordering kiosk; or
- Click Open on IoT Box if your kiosk is connected to an IoT system
Click Open on IoT Box if your kiosk is connected to an IoT system
- Once a session is open, Start Kiosk switches to Open Kiosk on the
POS card.
Once a session is open, Start Kiosk switches to Open Kiosk on the
POS card.
- Click Open Kiosk on the POS card to reopen the popup window and access the
self-ordering interface.
Click Open Kiosk on the POS card to reopen the popup window and access the
self-ordering interface.
On the customersâ end,
- Click the home button from a self-ordering kiosk to
reach the menu or product catalog.
Click the home button from a self-ordering kiosk to
reach the menu or product catalog.
- Select the items and click Order to place an order.
Select the items and click Order to place an order.
- Follow the instructions on-screen to assign a table and pay for the order.
Follow the instructions on-screen to assign a table and pay for the order.
- A POS session must be open for customers to place an order.
A POS session must be open for customers to place an order.
- Once an order is placed, it is automatically sent to the preparation screen and added to the list of POS orders.
Once an order is placed, it is automatically sent to the preparation screen and added to the list of POS orders.

Configuration
Feature activation
Additional settings
Preview
Usage guidelines


Barcodes

# Barcodes

Using a barcode scanner to process point-of-sale orders improves your efficiency in providing
quicker customer service. Barcode scanners can be used both to scan products or to log employees
into a POS session.

## Configuration

To use a barcode scanner, you must enable the feature in the Inventory app. Go to Inventory â£ Configuration â£ Settings , in the Barcode section, tick Barcode Scanner and save.
- Set up a barcode scanner
Set up a barcode scanner
- Activate barcode scanners
Activate barcode scanners
Once enabled in Inventory , you can use the barcode feature in Point of Sale with products
that have a barcode number assigned.

## Assign barcodes

### To your products

To use this feature in POS, your products must have barcodes assigned. To do so, go to Point of Sale â£ Products â£ Products and open a product form . Add a barcode
number in the Barcode field in the General Information tab.

### To your employees

To add an identification number to an employee, go to the Employees app and open an employee
form . Choose an identification number for your employee and fill in the PIN Code field in the HR Settings tab.

## Use barcodes

### Scan products

Scan a productâs barcode using a barcode scanner. Doing so adds it directly to the cart. To change
the quantity, scan a product as many times as needed, or click Qty and enter the number
of products using the keypad.
You can also enter the barcode number manually in the search bar to look for the product. Then,
click it to add it to the cart.

### Log employees

You can also use a barcode scanner to log your employees. To do so, restrict access to the POS and use barcodes to log your employees in your POS.

Configuration
Assign barcodes
To your products
To your employees
Use barcodes
Scan products
Log employees


Sales orders

# Sales orders

When working in retail, you might need to order products directly from your Point of sale.
Fortunately, Odoo Point of Sale is fully integrated with Odoo Sales, meaning that you can create a
sales order and pay for it directly from your point of sale.

## Select a sales order

From the Point of Sale application, open a new session. Then, click on Quotations/Orders to get the complete list of quotations and sales orders created on the
sales application.
To ease finding the right sales order, you can filter that list on the customer or on the order reference . You can also set the customer before clicking on Quotations/Orders to reduce the list to one particular customer.

## Apply a down payment or settle the order

From the list of sales order, select one to make a payment.
- Settle the order partially : after clicking on Apply a down payment , enter the
percentage of down payment you want the customer to pay. Then, click on ok and proceed
with the order.
Settle the order partially : after clicking on Apply a down payment , enter the
percentage of down payment you want the customer to pay. Then, click on ok and proceed
with the order.
- Settle the order completely : click on Settle the order to pay for the total of the
sales order.
Settle the order completely : click on Settle the order to pay for the total of the
sales order.
Once you settle a sales order, the applied down payment is automatically deducted from the total
amount.
- Down payments


Serial numbers and lots

# Serial numbers and lots

Working with serial numbers and lots allows tracking your productsâ movements. When products
are tracked, the system identifies their location based on their last movement.
To enable traceability, go to Point of Sale â£ Products â£ Products . Then,
select a product and check the Tracking By Unique Serial Number or the Tracking By Lots box in the Inventory tab.

## Serial numbers and lots importation

You can import serial numbers in Point of Sale. To do so, select a sales order or a quotation containing tracked products. Then, agree to load the Lots or Serial Numbers linked
to the SO .
The imported tracking numbers appear below the tracked products. You can modify them by clicking on
the list-view button next to the products.
- Sales orders

## Serial numbers and lots creation

If a tracked product is available in your POS, adding the product to the cart opens a pop-up window
where you can type or scan the productâs serial or lot numbers. To add more than one of the same
tracked products, click on enter to validate and start a new line.
- Changing a tracked productâs quantity using the numpad turns the list-view button red. Click on
it to add the missing lot and serial numbers.
Changing a tracked productâs quantity using the numpad turns the list-view button red. Click on
it to add the missing lot and serial numbers.
- Lot & Serial Number(s) are required on tracked products but not
mandatory. Meaning that not attributing some or any does not prevent from completing the
sale.
Lot & Serial Number(s) are required on tracked products but not
mandatory. Meaning that not attributing some or any does not prevent from completing the
sale.
- Serial numbers
- Lot numbers

Serial numbers and lots importation
Serial numbers and lots creation


Ship later

# Ship later

The Ship Later feature allows you to sell products and schedule delivery at a later date. It is
useful, for example, when a product is out of stock or so voluminous that it requires to be shipped,
or if, for any reason, the customer needs their order to be shipped later, etc.

## Configuration

Go to the POS settings , scroll down to the Inventory section, and enable Allow Ship Later .
Once activated, you can:
- Choose the location from where the products are shipped by selecting a Warehouse .
Choose the location from where the products are shipped by selecting a Warehouse .
- Define a Specific route , or leave this field empty to use the default route.
Define a Specific route , or leave this field empty to use the default route.
- Define the Shipping Policy ; select As soon as possible if the products
can be delivered separately or When all products are ready to ship all the products at
once.
Define the Shipping Policy ; select As soon as possible if the products
can be delivered separately or When all products are ready to ship all the products at
once.
- Delivery methods
- Warehouses

## Practical application

- Open a session and make a sale.
Open a session and make a sale.
- On the payment screen, set a customer and select Ship Later .
On the payment screen, set a customer and select Ship Later .
- On the popup window, set a shipping date and click Confirm to proceed to payment.
On the popup window, set a shipping date and click Confirm to proceed to payment.
The system instantly creates a delivery order from the warehouse to the shipping address.
The selected customer must have referenced an address in the system for products to be shipped.


Sales

# Sales

Odoo Sales is the application to run your sales process (from quotation to sales order) and
deliver and invoice what has been sold.
- Odoo Tutorials: Sales Tutorials
Odoo Tutorials: Sales Tutorials


# Tracking lot or serial number products with FBA orders

When selling products tracked by lots or unique serial numbers via the Fulfilled By Amazon FBA feature, Amazonâs API does not send the specific lot or unique
serial number used for the sale. The lack of information triggers a synchronization failure in Odoo.
To successfully set up an Amazon FBA order, configure a product
kit in Odoo based on the original Amazon product. When a new FBA order syncs, Odoo sells the product kit, which prevents the error that occurs with the tracked
product.
When resupplying the Amazon Fulfillment center ,
transfer the tracked product to the WH/Amazon location. This records the movement in traceability
reports and accounts for inventory consumption at the point of transfer rather than the point of
sale.
`WH/Amazon`
The WH/Amazon location is automatically created as a default location when the first Amazon
account is linked.
`WH/Amazon`
Under this system, the quantity of the product kits remains negative indefinitely. Treat this as a
standard byproduct of the bypass, as the actual stock levels are managed through the initial
fulfillment center transfer.
This setup does not track the specific lot or unique serial number used for the sale. It only
ensures that the FBA order can be processed without synchronization failures.

## Settings

The following apps are essential for the product kit workflow:
- Sales app : Enables connecting an Amazon Seller account to Odoo .
Sales app : Enables connecting an Amazon Seller account to Odoo .
- Inventory app : Allows for product replenishment by warehouse location .
Inventory app : Allows for product replenishment by warehouse location .
- Manufacturing app : Enables BoM creation for
products and product kits.
Manufacturing app : Enables BoM creation for
products and product kits.

## Create a product kit

To enable accurate tracking, create a product kit for the existing Amazon product. When a new FBA order syncs, Odoo sells the kit, which prevents the error that occurs with the tracked product.
Navigate to Sales app â£ Products â£ Products and click New . Then, create a kit as a product that represents the
Amazon item.
Never enable Track Inventory for the product kit.

### Link the Amazon item SKU to the product kit

Next, go to the Sales app â£ Configuration â£ Offers and click New .
Enter the desired Amazon market in the Marketplace column, and select the product kit in the Product column. In the Amazon SKU column, enter the SKU of the existing Amazon product.
This method removes the link between the Amazon SKU and the tracked product. Breaking this
connection is necessary because Odoo cannot automatically assign specific tracking numbers during
the sync process.
Keeping this link active causes a synchronization failure for every FBA order. By
disconnecting them, the system bypasses the tracking requirement and allows the sync to complete.

### Create the BoM for the product kit

Navigate to the product kit by clicking the Sales app â£ Products â£ Products and
select the product kit. Click the Bill of Materials smart button and create a kit BoM .
In the Components tab, click Add a line and type in the name of the Amazon
product that is tracked by lots or a unique serial number.
The Amazon product must be the sole component of the kit BoM.
Now the Amazon product can be processed and tracked accurately in the Sales app by using the kit
product and its associated BoM.


Amazon Connector features

# Amazon Connector features

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

## Supported features

The Amazon Connector is able to:
- Synchronize (Amazon to Odoo) all confirmed orders (both FBA and FBM), and their order items, which
include: product name, description, and quantity shipping costs for the product gift wrapping charges
Synchronize (Amazon to Odoo) all confirmed orders (both FBA and FBM), and their order items, which
include:
- product name, description, and quantity
product name, description, and quantity
- shipping costs for the product
shipping costs for the product
- gift wrapping charges
gift wrapping charges
- Create any missing partner related to an order in Odoo (contact types supported: contact and
delivery address).
Create any missing partner related to an order in Odoo (contact types supported: contact and
delivery address).
- Notify Amazon of confirmed shipment in Odoo (FBM) to get paid.
Notify Amazon of confirmed shipment in Odoo (FBM) to get paid.
- Synchronize (Odoo to Amazon) all available quantities of your products (FBM).
Synchronize (Odoo to Amazon) all available quantities of your products (FBM).
- Support multiple seller accounts.
Support multiple seller accounts.
- Support multiple marketplaces per seller account.
Support multiple marketplaces per seller account.
The following table lists capabilities provided by Odoo when using the Amazon Connector:
Fulfilled By Amazon (FBA)
Fulfilled By Merchant (FBM)
Synchronize shipped and
cancelled orders.
Synchronize unshipped and cancelled
orders.
Shipping cost is computed
by Amazon, and included in
the synchronized order.
Shipping cost is computed by Amazon
and included in the synchronized
orders.
Shipping done by Amazon.
A delivery order is automatically
created in Odoo for each new order.
Once it has been processed in Odoo,
the status is then synchronized in
Amazon.
Cost is computed by Amazon, and
included in the synchronized order.
Gift message is added on a line of
the order and on the delivery order.
Then it is up to the user.
Managed by Amazon, and
synchronized with a virtual
location to follow it in
Odoo.
Managed in Odoo Inventory app, and
synchronized with Amazon.
Delivery Notifications
Send by Amazon, based on delivery
status synchronized from Odoo.
The Amazon Connector is designed to synchronize the data of sales orders. Other actions, such as
downloading monthly fees reports, handling disputes, or issuing refunds, must be managed from
the Amazon Seller Central , as usual.
As of February 19, 2024, in North American marketplaces, FBA orders
created with the Amazon Connector , do not get the customerâs name passed onto the
sales/delivery order in Odoo. This is due to the fact that Amazon now calculates, and remits,
sales tax on behalf of sellers. In other words, personally identifiable customer information is
not transmitted to the seller any longer, after a FBA order.

## Supported marketplaces

If a marketplace is not listed in your Amazon marketplaces, itâs possible to add a new
marketplace .
- Amazon Connector configuration
Amazon Connector configuration
- Amazon order management
Amazon order management

Supported features
Supported marketplaces


Amazon order management

# Amazon order management

## Order synchronization

Orders are automatically fetched from Amazon, and synchronized in Odoo, at regular intervals.
The synchronization is based on the Amazon status: only orders whose status has changed since the
last synchronization are fetched from Amazon. This includes changes on either end (Amazon or Odoo).
For FBA (Fulfilled by Amazon), only Shipped and Cancelled orders are fetched.
For FBM (Fulfilled by Merchant), the same is done for Unshipped and Cancelled orders. For each
synchronized order, a sales order and customer are created in Odoo (if the customer is not already
registered in the database).
When an order is cancelled in Amazon, and was already synchronized in Odoo, the corresponding
sales order is automatically cancelled in Odoo.

## Force synchronization

In order to force the synchronization of an order, whose status has not changed since the
previous synchronization, start by activating the developer mode . This
includes changes on either end (Amazon or Odoo).
Then, navigate to the Amazon account in Odoo ( Sales app â£ Configuration â£
Settings â£ Connectors â£ Amazon Sync â£ Amazon Accounts ), and modify the date under Orders Follow-up â£ Last Order Sync .
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.
To immediately synchronize the orders of an Amazon account, switch to developer mode , head to the Amazon account in Odoo, and click Sync Orders . The
same can be done with pickings by clicking Sync Pickings .

## Manage deliveries in FBM

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. Then, decide to either
ship all the ordered products to the customer at once, or ship products partially using backorders.
When a picking related to the order is confirmed, a notification is then sent to Amazon, who, in
turn, notifies the customer that the order (or a part of it) is on its way.
Amazon 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 Amazon marketplaces.
If the chosen carrier isnât supported by Odoo, a carrier with the same name can still be created
(e.g. create a carrier named easyship ). The name used is not case sensitive, but be mindful
to avoid typos. If there are typos, Amazon will not recognize them. Next, create a delivery
carrier named Self Delivery to inform Amazon that the user will make the deliveries. Even with
this route, a tracking reference still must be entered. Remember, the customer is notified by
email about the delivery, and the carrier, along with the tracking reference, are displayed in
the email to the customer.
`easyship`
`SelfDelivery`
Third-party shipping carriers

### Manage errors when synchronizing deliveries

Sometimes, Amazon can fail to correctly process all the information sent by Odoo. In this case, Odoo
sends an email listing all the shipments that failed and the errors Amazon sent with them. In
addition, these shipments are flagged with a Synchronization with Amazon failed tag.
Usually, the error can be corrected directly in the Amazon backend or in Odoo. If the problem is
corrected in Odoo, synchronize the shipment again using the Retry Amazon Sync button.
It might happen that Odoo receives a notification from Amazon saying that some delivery
information was not processed, but without specifying which shipments were affected. In that
case, all the shipments in an unknown state will be treated as if they failed to synchronize.
Once Odoo receives a notification from Amazon saying that a shipment was processed, its tag will
change to Synchronized with Amazon . To speed up this process, on your Amazon account,
click on Sync Orders to manually synchronize these orders, or click on Recover Order and enter the relevant Amazon Order Reference.

## Follow deliveries in FBA

When an FBA (Fulfilled by Amazon) order is synchronized in Odoo, a stock move is recorded in the Inventory app for each sales order item. That way, itâs saved in the system.
Inventory managers can access these stock moves by navigating to Inventory app â£
Reporting â£ Moves History .
For FBA orders, the stock move is automatically created in Odoo by the Amazon connector, thanks to
the shipping status of Amazon. When sending new products to Amazon, the user should manually create
a picking (delivery order) to transfer these products from their warehouse to the Amazon location.
To follow Amazon (FBA) stock in Odoo, make an inventory adjustment after replenishing stock. An
automated replenishment from reordering rules can also be triggered on the Amazon location.
The Amazon location is configurable by accessing the Amazon account managed in Odoo. To access
Amazon accounts in Odoo navigate to Sales app â£ Configuration â£ Settings â£
Connectors â£ Amazon Sync â£ Amazon Accounts .
All accounts of the same company use the same Amazon location, by default. However, it is possible
to follow the stock filtered by marketplace.
To do that, first remove the marketplace, where the desired stock to follow separately can be found,
from the list of synchronized marketplaces, which can be found by navigating to Sales app â£ Configuration â£ Settings â£ Connectors â£ Amazon Sync â£ Amazon
Accounts .
Next, create another registration for this account, and remove all marketplacesâ except the
marketplace this is desired to be isolated from the others.
Lastly, assign another stock location to the second registration of the account.

## Invoice and register payments

### Issue invoices

Due to Amazonâs policy of not sharing customer email addresses, it is not possible to send
invoices directly to Amazon customers from Odoo. However, it is possible to manually upload the
generated invoices from Odoo to the Amazon back-end.
Additionally, for B2B clients, it is currently required to manually retrieve VAT numbers from the
Amazon back-end before creating an invoice in Odoo.

### Register payments

Since customers pay Amazon as an intermediary, creating a dedicated Bank journal (e.g. named Amazon Payments ), with a dedicated Bank and Cash intermediary account is recommended.
`AmazonPayments`
Additionally, as Amazon makes a single 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 Amazon 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 Amazon dedicated to commissions.
When the balance is received in the bank account at the end of the month, and the bank statements
are recorded, credit the Amazon intermediary account by the amount received.

## Follow Amazon sales in sales reporting

On the Amazon account profile in Odoo, a sales team is set under the Order Follow-up tab.
This gives quick access to important metrics related to sales reporting. By default, the Amazon
accountâs sales team is shared between all of the companyâs accounts.
If desired, the sales team on the account can be changed for another, in order to perform a separate
reporting for the sales of this account.
It is also possible to perform reporting on a per-marketplace basis.
First, remove the desired marketplace from the list of synchronized marketplaces.
To access the list of synchronized marketplaces in Odoo, navigate to Sales app
â£ Configuration â£ Settings â£ Connectors â£ Amazon Sync â£ Amazon Accounts .
Then, create another registration for this account, and remove all other marketplaces except the one to isolate.
Lastly, assign another sales team to one of the two registrations of the account.
- Amazon Connector features
Amazon Connector features
- Amazon Connector configuration
Amazon Connector configuration


Amazon Connector configuration

# Amazon Connector configuration

Odoo allows users to register an Amazon seller account in the database, but the user must have
a paid Amazon Seller account prior to completing the configuration.
Set up a paid Seller account on Amazon by first logging into the Amazon platform, and navigating to Account & Lists â£ Start a Selling Account from the drop-down menu located in
the header section.
Then on the Sell with Amazon page, follow the sign-up process and finally proceed to
follow the instructions below to register and link that Amazon Seller account in Odoo.

## Connect Amazon Seller account to Odoo

To connect an Amazon Seller account in Odoo, navigate to Sales app â£
Configuration â£ Settings â£ Connectors section , activate the Amazon Sync feature,
and click Save .
Then, return to Sales app â£ Configuration â£ Settings â£ Connectors section ,
and click on the Amazon Accounts link under the Amazon Sync setting.
Doing so reveals a separate Amazon Accounts page. From here, click New to
create and link a new Amazon account.
On the blank Amazon Account form page, start by choosing a name for the account (e.g. American Marketplace ). Then, in the Credentials tab, select the marketplace on which
the seller account was initially created from the Home Marketplace drop-down menu.
`AmericanMarketplace`
After saving, the field in the Credentials tab is replaced by a Link with
Amazon button.
Clicking that button redirects to either the Amazon login page, or directly to the required consent
page, if the user is already logged in to Amazon.
On the login page, log in to the desired Amazon seller account.
On the consent page, confirm that Amazon is allowed to give Odoo access to the account and related
data.
Upon confirmation, Amazon returns the user to Odoo, and the account has been registered.
With the Amazon account successfully registered, the marketplaces available to this specific account
are synchronized with Odoo and listed under the Marketplaces tab.
If desired, remove items from the list of synchronized marketplaces to disable synchronization.

## Amazon orders in Odoo

When an Amazon order is synchronized, up to three line items are created on the sales order in Odoo.
Each one represents a product sold on Amazon: one for the product that was sold on Amazon
Marketplace, one for the shipping charges (if any), and one for the gift wrapping charges (if any).
The selection of a database product for a sales order item is done by matching its Internal Reference (a customizable product reference idenifier in Odoo, like FURN001 )
with the Amazon SKU for marketplace items, the Amazon Shipping Code for delivery charges, and
the Amazon Gift Wrapping code for gift wrapping charges.
`FURN001`
For marketplace products, pairings are saved as Amazon Offers , which are listed under the Offers smart button on the account form.
Offers are automatically created when the pairing is established, and theyâre used for subsequent
orders to lookup SKUs. If no offer with a matching SKU is found, the internal reference is
used instead .
Itâs possible to force the pairing of a marketplace item with a specific product, by changing
either the product or the SKU of an offer to ensure they match. The offer can be manually created
if it was not automatically done yet.
This is useful if the internal reference is not used as the SKU, or if the product sells under
different conditions.
If no database product with a matching internal reference is found for a given Amazon SKU or gift
wrapping code, then a default database product, Amazon Sale , is used. The same is done with the
default product Amazon Shipping if no database product is found for a given Amazon shipping code.
To modify default products, activate the developer mode , and navigate to Sales app â£ Configuration â£ Settings â£ Connectors â£ Amazon Sync â£
Default Products .

## Product tax configuration

To allow for tax reporting of Amazon sales with Odoo, the taxes applied to the sales order items are
those set on the product, or determined by the fiscal position.
Make sure to have the correct taxes set on your products in Odoo, or have it done by a fiscal
position, to avoid discrepancies in the subtotals between Amazon Seller Central and Odoo.
As Amazon does not necessarily apply the same taxes as those configured in Odoo, it may happen
that order totals differ by a few cents between Odoo and Amazon Seller Central . Those
differences can be resolved with a write-off when reconciling the payments in Odoo.

## Add a new marketplace

All marketplaces are supported by the Amazon Connector. To add a new marketplace, proceed as
follows:
- Activate the developer mode .
Activate the developer mode .
- Go to Sales app â£ Configuration â£ Settings â£ Connectors â£ Amazon Sync â£
Amazon Marketplaces .
Go to Sales app â£ Configuration â£ Settings â£ Connectors â£ Amazon Sync â£
Amazon Marketplaces .
- Click New to create a new marketplace record.
Click New to create a new marketplace record.
- Enter the Marketplace ID in the API Idenifier field, and select the Amazon
Region for your marketplace as described in the Amazon Documentation for marketplace IDs and
regions , and the Seller Central URL as described in the Amazon Documentation for seller central URLs .
Enter the Marketplace ID in the API Idenifier field, and select the Amazon
Region for your marketplace as described in the Amazon Documentation for marketplace IDs and
regions , and the Seller Central URL as described in the Amazon Documentation for seller central URLs .
- Set the Name of the record to Amazon.<country code> to easily retrieve it (e.g. Amazon.se ). The API Identifier , the Region and the Seller
Central URL fields should respectively hold the Marketplace ID , the selected Amazon region,
and the Seller Central URL values from the Amazon Documentation.
Set the Name of the record to Amazon.<country code> to easily retrieve it (e.g. Amazon.se ). The API Identifier , the Region and the Seller
Central URL fields should respectively hold the Marketplace ID , the selected Amazon region,
and the Seller Central URL values from the Amazon Documentation.
`Amazon.<countrycode>`
`Amazon.se`
- Once the marketplace is saved, update the Amazon Account configuration by going to Sales app â£ Configuration â£ Settings â£ Connectors â£ Amazon Sync â£
Amazon Accounts .
Once the marketplace is saved, update the Amazon Account configuration by going to Sales app â£ Configuration â£ Settings â£ Connectors â£ Amazon Sync â£
Amazon Accounts .
- Select the account on which to use the new marketplace, go to the Marketplaces tab,
and click on Update available marketplaces . An animation should confirm the success
of the operation. Newly added marketplaces are automatically added to the list of synchronized
marketplaces. If the new marketplace is not added to the list, it means that it is either
incompatible or unavailable for the seller account.
Select the account on which to use the new marketplace, go to the Marketplaces tab,
and click on Update available marketplaces . An animation should confirm the success
of the operation. Newly added marketplaces are automatically added to the list of synchronized
marketplaces. If the new marketplace is not added to the list, it means that it is either
incompatible or unavailable for the seller account.
- Amazon Connector features
Amazon Connector features
- Amazon order management
Amazon order management

Connect Amazon Seller account to Odoo
Amazon orders in Odoo
Product tax configuration
Add a new marketplace


Commissions

# Commissions

Commissions are a powerful tool to motivate sales team members. They incentivize performance, boost
productivity, and encourage healthy competition. The Commissions feature in Odooâs Sales application provides a way to reward salespeople or sales teams based on their performance. This
feature supports the creation of flexible, measurable commission structures that align with business
goals, whether that means driving revenue, volume, profit, or recurring contracts.

## Configuration

To enable the Commissions feature, navigate to Sales app â£ Configuration â£
Settings . Scroll to the Invoicing section, and tick the Commissions checkbox. Then, click Save . Doing so causes a new Commissions menu to appear
in the menu bar. To create a new commission plan, navigate to Commissions â£
Comission Plans and click New .

## Commission plan structure

Each commission plan is comprised of several components:
- Based on : Determines whether commissions are awarded based on progress toward Targets or Achievements
Based on : Determines whether commissions are awarded based on progress toward Targets or Achievements
- per : Indicates whether the plan applies to individual salespeople or an entire sales
team
per : Indicates whether the plan applies to individual salespeople or an entire sales
team
- Target Frequency : Sets how often targets reset: Monthly , Quarterly , or Yearly .
Target Frequency : Sets how often targets reset: Monthly , Quarterly , or Yearly .
- Achievements : Determines what is being measured toward commissions.
Achievements : Determines what is being measured toward commissions.

### Target-based commission plans

In a Target based commission plan, commissions are awarded based on the percentage of sales
targets reached. Target based plans are ideal for setting clear, measurable goals, such as invoicing
a specific amount in sales per quarter, then rewarding sales people progressively based on how close
they come to reaching or exceeding that goal.
Target based plans differ from Achievement based plans because they are based on reaching a
fixed, predefined goal. They focus on goal-based incentives and performance milestones.
To configure a new target based commission plan, navigate to the Sales app â£
Commissions â£ Commission Plans , then click New . Click in the Based on drop-down menu and select Targets . Then, select an option in the per field.
In the On Target Commission field, set the payout amount for reaching 100% of the
target. Update the Effective Period fields to confirm the dates for this plan. Then,
update the Target Frequency field based on how often the targets should be set and
evaluated.
`100%`
- Monthly : short term goals with frequent payouts.
Monthly : short term goals with frequent payouts.
- Quarterly : aligns with business cycles and provides mid-range objectives.
Quarterly : aligns with business cycles and provides mid-range objectives.
- Yearly : long term sales goals for strategic planning.
Yearly : long term sales goals for strategic planning.
After the Target Frequency field is updated, the Targets tab updates with a
list of the appropriate time frame. For each Period , enter a Target goal.
On the Achievements tab, add one or more Achievement metric for this plan by clicking Add a new achievement .
Click the Sales People tab to assign this plan to the appropriate staff. Click either Add a new Sales Person to add them individually, or Add Multiple
Salespersons to bulk add several at once.
The Add Multiple Salespersons button is only available if Developer mode (debug mode) is active.

### Levels

To provide additional incentive, commission levels can be added to Target based plans. These
tiers allow salespeople to earn varying commission amounts based on their performance levels. Levels
can start at 0% and increase incrementally. This allows for salespeople to earn commission even if
they do not achieve 100% of the target, as well as the ability to achieve over 100% of the
target. Commission levels can be set from the Commissions tab when creating a commission
plan.
`0%`
`100%`
`100%`
If no levels are added above 100%, salespeople are not able to earn above the stated commission.
In the plan below, the levels start at 0% , and continue until 300% . If a salesperson exceeds 100% of the expected target, their expected payout continues to increase up to 300% .
`0%`
`300%`
`100%`
`300%`

### Achievement-based commission plans

In a Achievement based commission plan, salespeople earn a percentage of their invoice value as
commission. Target based plans are ideal for rewarding sales activity consistently, regardless of
specific goals. For example, offering a 5% commission on all invoiced amounts, regardless of how
much is sold.
`5%`
Achievement based plans differ from Target based plans because they are calculated based on
actual achievements using a flat, consistent rate. They are beneficial for ongoing, non-goal
based compensation plans.
To configure a new target based commission plan, navigate to the Sales app â£
Commissions â£ Commission Plans , then click New . Click in the Based on drop-down and select Achievements . Then, select an option in the per field.
Update the Effective Period fields to confirm the dates for this plan. Then, update the Target Frequency field based on how often the targets should be set and evaluated.
On the Achievements tab, add one or more Achievement metric for this plan by clicking Add a new achievement .
Click the Sales People tab to assign this plan to the appropriate staff. Click either Add a new Sales Person to add them individually, or Add Multiple
Salespersons to bulk add several at once.

### Achievements

Performance can be measured in several ways in performance plans. These are configured in the Achievements tab of each plan.
- Amount Sold : the total value of sales orders (SOs).
Amount Sold : the total value of sales orders (SOs).
- Amount Invoiced : the total value of confirmed invoices.
Amount Invoiced : the total value of confirmed invoices.
- Quantity Sold : the total number of units sold via SOs .
Quantity Sold : the total number of units sold via SOs .
- Quantity Invoiced : the total number of units invoiced.
Quantity Invoiced : the total number of units invoiced.
- Margin : the profit margin (selling price minus cost price).
Margin : the profit margin (selling price minus cost price).
- MRR : the new Monthly Recurring Revenue from subscription sales. this option is only available if the Subscriptions app is installed.
MRR : the new Monthly Recurring Revenue from subscription sales. this option is only available if the Subscriptions app is installed.
Regardless of what the plan is Based on , each plan needs both Achievements and Targets configured.

## Plan approval

After confirming the details of the new plan, click Approve . This moves the plan from
the Draft stage into the Approved stage.
Commissions plans in the Approved stage cannot be edited. To edit an approved
plan, it must first be Reset to Draft .
After a plan is approved, Odoo automatically tracks performance and calculates commissions based on
the established parameters.

Configuration
Commission plan structure
Target-based commission plans
Levels
Achievement-based commission plans
Achievements
Plan approval


Gelato

# Gelato

Gelato is a global print-on-demand platform that integrates with Odoo to sync product catalogs and
automate order fulfillment.
Connecting Gelatoâs services with Odooâs Sales and eCommerce apps enables the following:
- Sync Odoo sales orders with Gelato for automated order fulfillment
Sync Odoo sales orders with Gelato for automated order fulfillment
- Create and manage Gelato products within Odoo; supports product variant and image sync
Create and manage Gelato products within Odoo; supports product variant and image sync
- Configure delivery options in Odoo and receive order updates via webhooks.
Configure delivery options in Odoo and receive order updates via webhooks.

## Configuration

The company information ( Company name and Billing address ) in the Gelato account must match
the company information in the Odoo database in order for sales orders to be confirmed and sent
to Gelato for fulfillment.

### Configure API keys and webhooks in Gelato

Before configuring the Gelato connector in Odoo, first obtain API credentials and webhooks from the
Gelato account.
API connectors enable Odoo Sales to send and receive data from Gelato for order processing,
while webhooks provide real-time updates on order status and shipment tracking.

#### API Key

An API Key is a unique authentication token that allows Odoo to securely communicate with Gelatoâs
API, enabling order transmission, status updates, and data synchronization.
After logging into Gelato, click Developer in the left menu bar. From
here, click on API keys . In the new page, click the Add API Key button to
open a new API key form. Type in a name, then click Create Key .
Copy the generated API key using Copy to Clipboard .
Copy the API key and store it somewhere safe and secure before leaving this page. Once the page
is refreshed or exited, the key will not be available to copy.
If the key cannot be copied or is lost, return to the API key page and start over,
creating a new API key.

#### Webhook

A webhook is an automated notification system that instantly updates Odoo when Gelato processes,
ships, or delivers an order, ensuring real-time tracking and minimal manual intervention.
To create a webhook, go to Developer â£ Webhooks under the Developer drop-down menu in the left menu bar. In the new page, click Add Webhook to open a Create Webhook form.
The webhook form requires several specific configurations:
- URL : This tells Gelato where to send the order updates in Odoo. Copy and paste the
Odoo database URL with the additional suffix /gelato/webhook . Example https://stealthywood.odoo.com/gelato/webhook
URL : This tells Gelato where to send the order updates in Odoo. Copy and paste the
Odoo database URL with the additional suffix /gelato/webhook .
`/gelato/webhook`
https://stealthywood.odoo.com/gelato/webhook
`https://stealthywood.odoo.com/gelato/webhook`
- Events : Click into the field and select order_status_updated . Selecting order_status_updated ensures Odoo receives order changes automatically.
Events : Click into the field and select order_status_updated . Selecting order_status_updated ensures Odoo receives order changes automatically.
- Method : Click into the field and select the HTTP Post option, as this is
the request method used to send data from Gelato to Odoo.
Method : Click into the field and select the HTTP Post option, as this is
the request method used to send data from Gelato to Odoo.
- Tick the checkbox next to I want to take Authorization to this webhook .
Tick the checkbox next to I want to take Authorization to this webhook .
- Header Name : In this field, type in signature to match the field in Odoo.
Header Name : In this field, type in signature to match the field in Odoo.
`signature`
- Click Generate Key to generate a Header Value .
Click Generate Key to generate a Header Value .
- Click Create to complete this webhook configuration.
Click Create to complete this webhook configuration.
Copy and paste the API key and webhook on a notepad before tabbing out of the Gelato webpage as
backup.

### Configure Gelato connector in Odoo

In Odoo, navigate to Sales app â£ Configuration â£ Settings , then scroll to the Connectors section. Enable the Gelato connector by ticking the checkbox.
Next, paste the newly generated API keys and webhook secret key into their respective fields. Once
saved, Gelato is available in Odoo Sales and eCommerce products.

## Synchronizing Gelato products with Odoo Sales

It is recommended to have products already configured in Gelato before configuring them in Odoo. To
get the product ID in Gelato, navigate to the Templates page from the side bar menu.
Select which product to synchronize in Odoo, then hover over the product card to reveal the (vertical ellipsis) menu icon. Click the menu icon, then click Copy Template ID to copy the product template ID to the clipboard.
Start selling products with Gelato: Quick & easy setup

### Odoo Sales product

To create a product in Odoo that matches the Gelato product, navigate to Sales app
â£ Products â£ Products , select New to create a new product form. Type in the product Name , then navigate to the Sales tab. Find the Gelato section,
then click into the Template Reference field and paste the copied template ID from the
Gelato product. Finally, click Synchronize .
Successful synchronization pulls the Gelato product variant options into the newly configured Odoo
product.
In the new Print Images field, click the default marker to set a default
product image. Click the (edit) icon and select the product image file
to upload, then Save & Close .
The Print Images field must be configured on all Gelato products and their
respective product variations before they can be ordered.

### Product variants

To view and edit the newly synchronized product variants, navigate to the Attributes &
Variants tab, which will have the variants pulled from the Gelato product configuration. Click the Configure button to edit and configure the variant images, delivery methods, additional
pricing, etc.

### Order a Gelato product from Odoo

Once synchronized, Gelato products are available to order in Odoo through sales quotations or on the eCommerce store. Gelato delivery options are automatically
synchronized upon API and webhook configuration.
To add Gelato delivery, click Add shipping on the sales order. Select Standard Delivery or Express Delivery in the Shipping Method field, then click Get rate .
Once the quotation is confirmed, it becomes an active sales order, and the order is sent to Gelato
for fulfillment. Once a sales order is sent from Odoo to Gelato, Gelato processes the order,
produces the product at the nearest fulfillment center, and ships it directly to the end-customer.
When creating a sales order for Gelato products in the database, only Gelato products can be
added to the same sales order. Multivendor orders are not available with the Gelato connector at
this time.


Down payments

# Down payments

A down payment is an initial up-front payment made during the confirmation of a sales transaction.
With a down payment, the buyer pays a portion of the total amount owed while agreeing to pay the
remaining amount at a later date. In turn, the seller provides goods or services to the buyer upon
or after accepting the down payment, trusting that the remaining amount will be paid later on.
In the Odoo Sales app, down payments can be customized to fit the needs of each individual sales
transaction.

## Create invoices

When a sales order is confirmed, the option to create an invoice becomes available via the Create Invoice button. When clicked, a Create invoice(s) pop-up appears.
Invoices are automatically created as drafts so they can be reviewed before validation.
On the Create invoice(s) pop-up, there are 3 options to choose from in the Create Invoice field:
- Regular invoice
- Down payment (percentage)
Down payment (percentage)
- Down payment (fixed amount)
Down payment (fixed amount)

## Initial down payment request

On the Create invoice(s) pop-up window, the down payment options are:
- Down payment (percentage)
Down payment (percentage)
- Down payment (fixed amount)
Down payment (fixed amount)
Select a down payment option and set the desired payment, either as a percentage or a fixed amount,
in the Down Payment Amount field.
Once all fields are filled in, click the Create Draft button. Upon clicking this button,
Odoo reveals the Customer Invoice Draft .
If an Invalid Operation error appears, double-check that the invoicing policy is configured correctly. In some cases, for example, the invoicing policy is
configured to require delivery before sending an invoice.
In the Invoice Lines tab of the Customer Invoice Draft , the down payment
that was just configured in the Create invoice(s) pop-up form appears under a new Down Payments section.

## Example: requesting a 50% down payment

The following example involves a 50% amount down payment on a ( Cabinet with Doors )
with Ordered quantities as the Invoicing Policy .
Navigate to Sales app â£ New , and add a Customer to the quotation.
Then, click Add a product in the Order Lines tab, and select the Cabinet with Doors product. When the order is confirmed (via the Confirm button), the quotation turns into a sales order. Once this occurs, create and view the invoice by
clicking Create Invoice .
Next, on the Create invoice(s) pop-up window that appears, select Down
payment (percentage) , and type 50 in the Down Payment field.
`50`
The Income Account attached to the Down payment can be changed. For more
information, check out the documentation on income account modification on down payments . A Down payment Account can also be
set on a product category. If set, this account is prioritized for future down payments.
Lastly, click Create Draft Invoice to create and view the invoice draft, which includes
the down payment under the Down Payments section of the Invoice Lines tab.
From there, the invoice can be confirmed and posted by clicking Confirm . Confirming the
invoice changes the status from Draft to Posted . It also reveals a new
series of buttons at the top of the page.
From those buttons, the payment can be registered by clicking Pay . Doing so reveals a Pay pop-up form, which is auto-populated with the necessary information. Confirm the
information provided is correct, and make any necessary adjustments. When ready, click the Create Payment button.
After clicking Create Payment , Odoo reveals the customer invoice, now with a green In Payment or Paid banner in the upper-right corner, depending on how the
database has configured and if manual confirmation of payments is required.
On the sales order, a new Down Payments section is present in the Order
Lines tab, along with the down payment that was just invoiced and posted. When the customer wants
to pay the remaining amount of the order, another invoice must be created.
Next, click the Create Invoice button. On the Create invoice(s) pop-up
window that appears, there is a new field: Already invoiced and Amount to
invoice .
If the remaining amount is ready to be paid, select the Regular Invoice option. Odoo
will create an invoice for the exact amount needed to complete the total payment, as indicated in
the Amount to invoice field.
Once ready, click Create Draft Invoice . Doing so reveals another Customer
Invoice Draft page, listing all the invoices for that specific sales order in the Invoice Lines tab. Each invoice line item displays all the necessary information related
to each invoice.
To complete the flow, click Confirm to change the status of the invoice from Draft to Posted . Then, click Pay . The Pay form
appears, with all fields auto-populated with the necessary information, including the remaining
amount left to be paid on the order.
After confirming that information, click Create Payment . Doing so reveals the final Customer Invoice with a green In Payment or Paid banner in the
upper-right corner, depending on how the database has configured and if manual confirmation of
payments is required. Upon returning to the sales order, both down payments are present in the Order Lines tab.
At this point, the flow is now complete. This flow is also possible with the Fixed
amount down payment option.
If a down payment is used with a product that has a Delivered quantities invoicing
policy, and the cost of the product exceeds the 50% down payment, a regular invoice is created.
However, for products that cost less than the 50% down payment, the down payments will not be
able to be deducted when it comes time to invoice the customer. This is because the product(s)
would have to be delivered before creating the final invoice due to Odoo not allowing negative
totals for invoices. If nothing has been delivered, a Credit Note is created, which
cancels the draft invoice that was created after the down payment.
To utilize the Credit Note option, the Inventory application must be installed in
order to confirm the delivery. Otherwise, the delivered quantity can be entered manually directly
on the sales order.

## Example: requesting a 100% down payment

Requesting a 100% down payment is similar to requesting a 50% down payment , but with fewer steps.
A 100% down payment is not the same as a full payment of the sales order. A sales order paid
through the regular invoice process will not allow any additional invoices to be generated and
will not display the Create Invoice button on the Sales Order. Instead, following
this example will cause the Create Invoice button to be displayed on the Sales Order.
This is because the system expects another invoice to be created after the down payment to
complete payment of the sales order.
The Solar Panel Installation product is being used in this example.
To configure a 100% down payment, navigate to Sales app â£ New and add a Customer to the quote. Next, click Add a product in the Order
Lines tab, and select the Solar Panel Installation product. Upon clicking the Confirm button, the quotation turns into a sales order. At that point, an invoice can now be created by
clicking Create Invoice in the top-left corner. On the Create invoice(s) pop-up window that appears, select Down payment (percentage) , and type 100 in the Down Payment field.
`SolarPanelInstallation`
`100`
Next, click Create Draft Invoice to create an invoice draft. This will also bring the
draft invoice into view, which includes the Down payment under the Down
Payments section of the Invoice Lines tab. The invoice can now be confirmed and posted
by clicking Confirm . Confirming the invoice changes the status from Draft to Posted . It also reveals a new series of buttons at the top of the page.
The payment can be registered by clicking the Pay button. This brings up the Pay pop-up form, which is auto-populated with the necessary information. When ready,
click the Create Payment button.
After clicking Create Payment , Odoo reveals the customer invoice, now with a green In Payment or Paid banner in the upper-right corner, depending on how the
database has configured and if manual confirmation of payments is required. The process is now
complete, and the 100% down payment has been successfully applied.

## Income account modification on down payments

To change or adjust the income account attached to down payments, the Accounting app must be
installed. With the Accounting app installed, the Accounting column becomes
available on the draft invoice.
Navigate to the invoice to be modified by going to Sales app â£ Orders â£ Orders .
Open an order, then click the Invoices smart button. Open an invoice, click the
drop-down arrow on the entry in the Account column and click Search moreâ¦ to bring up the Search: Account form. In this form, a different account can be chosen
from the list of pre-existing accounts. A new account can also be created by clicking the New button.


Invoicing policies

# Invoicing policies

Depending on business needs, it may be advantageous to choose whether to invoice customers based on
the goods and services that they order or when those goods and services are delivered to them. To
allow businesses maximum flexibility to best meet their needs, Odoo offers two invoicing policies
that can be enabled in the Sales app: Invoice what is ordered and Invoice what is delivered .

## Configuring an invoicing policy

To configure an invoicing policy, go to Sales app â£ Configuration â£ Settings ,
and under the Invoicing heading, select an Invoicing Policy option: Invoice what is ordered or Invoice what is delivered .
Activating an invoicing policy option automatically applies the chosen option to all newly created
products. Existing products must have their invoicing policy manually updated on their product
forms.
If the Invoice what is delivered option is chosen, it is not possible to activate
the Automatic Invoice feature, which automatically generates invoices when an online
payment is confirmed.

### Changing the invoicing policy for existing products

After the invoicing policy has been configured in Settings , navigate to a productâs form through Sales app â£ Products â£ Products and choosing a product. Locate the Invoicing Policy option located under the General Information tab. Use the
drop-down menu to change the policy.

## Invoicing what is ordered

The Invoice what is ordered option is used as the default mode in the Sales app, which means
customers are invoiced once a quotation has been sent to the customer and confirmed. The creation of
a quotation in turn leads to the creation and confirmation of a sales order. An invoice can then be
created as soon as the sales order is confirmed.
This invoicing policy has no impact on the basic Odoo sales flow.

### Invoice ordered quantity workflow

Confirm that the productâs invoicing policy is set to Ordered quantities in the product
form. Create a quotation and sales order as normal. After the sales
order has been confirmed, create an invoice by clicking the Create Invoice button on the
sales order form. Choose the type of invoice to be sent, click Create Draft Invoice ,
confirm the invoice when ready, and proceed with the payment flow as normal.
A independent artisan with a small business sells handmade jewelery nationwide online. Because
they have direct control over their inventory levels and ship with 3rd party carriers, they
invoice their customers after a sales order has been confirmed.
The artisan receives an order for a necklace. They send their customer a quotation, confirm it,
and create a sales order. After the sales order has been confirmed, an invoice can be created and
sent to the customer for payment without any additional steps be taken. The invoice gets paid,
the necklace is shipped and delivered, and the transaction is complete.

## Invoicing what is delivered

The Invoice what is delivered option invoices customers as different amounts of the ordered goods
are delivered. This option is often used for businesses that sell large quantities of physical goods
in each sales order, but may not always be able to completely fulfill a given order all at once. In
these cases, the ordered quantity may differ slightly from the delivered quantity based on product
availability. Once a quotation is confirmed, and the status changes from Quotation sent to Sales order , Odoo automatically adds both the delivered and invoiced quantities to
the invoice and sales order. Both partial and complete deliveries are tracked. Backorders can be created for partial orders that will be completed at a later
time.
This invoicing policy has a minor impact on the sales flow because the delivered quantity of a
product needs to be manually entered on the sales order.

### Invoice delivered quantity workflow

Confirm that the productâs invoicing policy is set to Delivered quantities in the
product form. Create a quotation and sales order as normal. After
the sales order has been confirmed, the product must be delivered before an invoice can be created.
Once the product has been shipped and delivery has been confirmed, click the Delivery smart button on the sales order screen and click Validate to validate the delivery
order. Once at least a partial delivery has been confirmed, return to the sales order form. The Create Invoice button is now purple to indicate that an invoice can be created and
confirmed, and that it is possible to proceed with the payment flow as normal.
If a user attempts to create an invoice without validating the delivered quantity, the system
returns an error message alerting them to the issue.
A produce distributor using the invoice what is delivered option sells 50 heads of lettuce to a
local restaurant. At the time the delivery is made, only 40 heads are available. The distributor
delivers the available heads of lettuce and creates an invoice for what was delivered. Later,
when more supply comes in, the distributor delivers the remaning 10 heads of lettuce and creates
a second invoice to complete the order.
- Create quotations
- Down payments
- Inventory
- Multi-package shipments
Multi-package shipments


Invoice project milestones

# Invoice project milestones

Invoicing based on project milestones can be used for expensive or large-scale projects. The series
of milestones in a project represent a clear sequence of work that will inevitably result in the
completion of a project and/or contract.
This method of invoicing ensures the company gets a consistent flow of money throughout the lifetime
of the project. Customers can closely monitor every phase of the projectâs development as it
happens, in addition to paying a large bill in several installments, instead of all at once.

## Create milestone products

In Odoo, each milestone of a project is considered as an individual product.
To create and/or configure products to work like this, first navigate to Sales app
â£ Products â£ Products . Then, click on a product, or create a new one by clicking New .
The option to invoice based on milestones is only available for certain product types.
On the product form, under the General Information tab, the Product Type field must be set on any of the following options: Service , Event Ticket , Event Booth , or Course .
With any of those Product Type options selected, choose Based on Milestones from the Invoicing Policy drop-down menu.
Beneath that is the Create on Order field.
To ensure workflows are as seamless as possible, it is recommended that an option in the Create on Order field is selected.
Leaving it on the default Nothing option wonât negatively affect the desired
workflow. However, a project must then be created directly from a sales order form with that
specific product. Once a project is created then milestones and tasks can be created and
configured.
When the Create on Order default option of Nothing is clicked, a drop-down
menu is revealed with the following options:
- Task : Odoo creates a task related to this milestone product in the Projects app when
this specific product is ordered.
Task : Odoo creates a task related to this milestone product in the Projects app when
this specific product is ordered.
- Project & Task : Odoo creates a project and task related to this milestone product in
the Projects app when this specific product is ordered.
Project & Task : Odoo creates a project and task related to this milestone product in
the Projects app when this specific product is ordered.
- Project : Odoo creates a project related to this milestone product in the Projects app when this specific product is ordered.
Project : Odoo creates a project related to this milestone product in the Projects app when this specific product is ordered.
When Task is selected, a Project field appears. In this field, select to
which existing project in the Projects app this created task should be connected.
When Project & Task or Project is selected, two new fields appear: Project Template and Workspace Template .
The Project Template field provides template options to use for the project that will be
created when this specific product is ordered.
The Workspace Template field provides template options to use for the workspace (for the Documents app, not the Projects app) that will be automatically generated for the project when
this specific product is ordered.
For organizational purposes, click the Sales tab on the product form, and enter a
custom âMilestoneâ related descriptor in the Sales Description field. This
information appears in the Description column on the Order Lines tab of
the sales order.
Or, directly edit/modify the Description field on the Order Lines tab of
the sales order.
This is not a requirement.

## Invoice milestones

The following flow features a trio of milestone products that have Service set as
their Product Type , and Task set on their Create on Order field.
Those tasks are then attached to a pre-existing Project , which, in this case, is
titled, Rebranding Projects .
To invoice milestones, create a sales order with the milestone product(s). To do that, go to Sales app â£ New . Doing so reveals a blank quotation form.
From this quotation form, add a Customer . Then, click Add a product in the Order Lines tab. Next, add the milestone product(s) to the Order Lines tab.
Once the corresponding milestone product(s) have been added, click Confirm to confirm
the order, which turns the quotation into a sales order.
When the order is confirmed, new smart buttons appear at the top of the sales order based on what
was selected in the Create on Order field on the product form.
From the sales order, click the Milestones smart button. Doing so reveals a blank Milestones page. Click New to add milestones.
Enter a Name for the milestone. Next, apply it to the corresponding Sales
Order Item . Lastly, assign a Deadline to the milestone, if desired.
Repeat that process for all milestone sales order items.
Then, return to the sales order, via the breadcrumbs. From the sales order, click the Tasks smart button. Doing so reveals a Tasks page with a task for each sales
order item with that option designated in the Create on Order field.
To manually assign a configured milestone to a task, click the desired task, which reveals the task
form. On the task form, select the appropriate milestone to which this task should be connected, in
the Milestone field.
Repeat this process for all milestone tasks.
With those tasks properly configured, employees log in their progress as they work on the task, in
addition to adding any notes related to the task.
Then, when that task is complete, that means that milestone has been reached. At that point, it is
time to invoice that milestone.
To invoice a milestone, first return to the sales order â either via the breadcrumb links, or by
navigating to Sales app â£ Orders â£ Orders and picking the appropriate sales
order.
Back on the sales order form, click the Milestones smart button, and check the box in
the Reached column for that particular task.
Next, return to the sales order â either by clicking View Sales Order on the Milestones page, or via the breadcrumb links.
Back on the sales order, the line item for the milestone thatâs been reached has its Delivered column filled. Thatâs because the milestone has been reached, and therefore
delivered.
Click Create Invoice in the upper-left corner. Doing so reveals a Create
invoices pop-up window.
On the Create invoices pop-up window, leave the Create Invoice option on the
default Regular Invoice selection, and click the Create Draft Invoice button.
Upon clicking Create Draft Invoice , Odoo reveals the Customer Invoice Draft , only showing that reached milestone in the Invoice Lines tab.
From this invoice page, click the Confirm button to confirm the invoice. Then, when the
customer has paid for this milestone, click Register Payment .
When Register Payment is clicked, a Register Payment pop-up window appears.
On this pop-up window, confirm the accuracy of the auto-populated fields, then click Create Payment .
When clicked, the pop-up window disappears, and Odoo returns to the invoice for that milestone,
which now has a green In Payment banner in the upper-right corner. This banner signifies
the invoice has been paid.
Then, return to the sales order, via the breadcrumb links. Back on the sales order, in the Order Lines tab, the reached milestone thatâs been invoiced and paid for, now has its Invoiced column filled.
There is also a new Invoices smart button at the top of the sales order. Clicking that
reveals all the invoices that are connected to this sales order.
Simply repeat the above process for each milestone as it is worked on, and subsequently, completed.
Continue that process until the entire project has been completed, each milestone has been invoiced,
and the entire order has been paid for in full.
- Invoicing based on time and materials
Invoicing based on time and materials
- Pro-forma invoices
- Invoicing policies

Create milestone products
Invoice milestones


Pro-forma invoices

# Pro-forma invoices

A pro-forma invoice is an abridged or estimated invoice sent in advance of a delivery of goods. It
notes the kind and quantity of goods, their value, and other important information, such as weight
and transportation charges.
Pro-forma invoices are commonly used as preliminary invoices with a quotation. They are also used
during importation for customs purposes. They differ from a normal invoice, in that they are not a
demand (or request) for payment.

## Configuration

In order to utilize pro-forma invoices, the Pro-Forma Invoice feature must be activated.
To enable this feature, navigate to Sales app â£ Configuration â£ Settings , and
in the Quotations & Orders section, click the checkbox next to Pro-Forma
Invoice . Then, click Save to save all changes.

## Send pro-forma invoice

With the Pro-Forma Invoice feature activated, the option to send a pro-forma invoice is
now available on any quotation or sales order, via the Send Pro-Forma Invoice button.
Pro-forma invoices can not be sent for a sales order or quotation if an invoice for a down
payment has already been sent, or for a recurring subscription.
In either case, the Send Pro-Froma Invoice button does not appear.
However, pro-forma invoices can be sent for services, event registrations, courses, and/or
new subscriptions. Pro-forma invoices are not limited to physical, consumable, or storable goods.
When the Send Pro-Forma Invoice button is clicked, a pop-up window appears, from which
an email can be sent.
In the pop-up window, the Recipients field is auto-populated with the customer from the
sales order or quotation. The Subject field and the body of the email can be modified,
if necessary.
The pro-forma invoice is automatically added as an attachment to the email.
When ready, click Send , and Odoo instantly sends the email, with the attached pro-forma
invoice, to the customer.
To preview what the pro-forma invoice looks like, click on the PDF at the bottom of the email
pop-up window before clicking Send . When clicked, the pro-forma invoice is
downloaded instantly. Open that PDF to view (and review) the pro-forma invoice.