Payment terminals

# Payment terminals

Connect and integrate a payment terminal to a POS system to accept
multiple payment options, including credit and debit cards.

## Configuration

To activate a payment terminal and allow processing payments with it, follow these steps:
- Go to Point of Sale â£ Configuration â£ Settings and scroll down to the Payment Terminals section.
Go to Point of Sale â£ Configuration â£ Settings and scroll down to the Payment Terminals section.
- Enable the relevant terminal.
Enable the relevant terminal.
- Click Save .
- Go to Point of Sale â£ Configuration â£ Payment Methods and create the
corresponding payment method .
Go to Point of Sale â£ Configuration â£ Payment Methods and create the
corresponding payment method .
- Set the Integration field to Terminal , select the relevant terminal, and
complete the terminal-specific configuration: Adyen Ingenico Mercado Pago Pine Labs Razorpay SIX Stripe Tyro Viva.com Worldline
Set the Integration field to Terminal , select the relevant terminal, and
complete the terminal-specific configuration:
- Ingenico
- Mercado Pago
- Pine Labs
- Razorpay
- Stripe
- Viva.com
- Worldline
- Go to Point of Sale â£ Configuration â£ Settings and add the payment method
to the Payment Methods list to make it available in the POS interface.
Go to Point of Sale â£ Configuration â£ Settings and add the payment method
to the Payment Methods list to make it available in the POS interface.

## Terminal use

To process a payment with a configured terminal for an order, select the terminalâs payment method on the Payment screen, then follow the instructions on the
terminal device.
Once the transaction is successful, the payment is automatically validated in Point of Sale.
- Connection issues between Odoo and the payment terminal result in transaction cancellation.
Connection issues between Odoo and the payment terminal result in transaction cancellation.
- To cancel the payment request, click Cancel .
To cancel the payment request, click Cancel .


Adyen

# Adyen

Connecting an Adyen payment terminal allows you to offer a fluid payment flow to your customers
and ease the work of your cashiers.
- Adyen payment terminals do not require an IoT Box .
Adyen payment terminals do not require an IoT Box .
- Adyen terminals can be used in many countries, but not worldwide. Check the List of countries
supported by Adyen .
Adyen terminals can be used in many countries, but not worldwide. Check the List of countries
supported by Adyen .
- Adyen works only with businesses processing more than $10 million annually or invoicing a
minimum of 1,000 transactions per month .
Adyen works only with businesses processing more than $10 million annually or invoicing a
minimum of 1,000 transactions per month .
- List of payment methods supported by Adyen
List of payment methods supported by Adyen
- List of Adyen terminals
List of Adyen terminals

## Configuration

Start by creating your Adyen account on Adyenâs website . Then, board
your terminal following the steps described on your terminalâs screen.
Adyen Docs - Payment terminal quickstart guides

### Generate an Adyen API key

The Adyen API key is used to authenticate requests from your Adyen terminal. To generate an API
key, go to your Adyen account â£ Developers â£ API credentials , and create new credentials or select existing ones. Click Generate an API key and save the key
to paste it into the Odoo Adyen API key field at the payment method creation .
- Adyen Docs - API credentials .
Adyen Docs - API credentials .

### Locate the Adyen terminal identifier

The Adyen Terminal Identifier is the terminalâs serial number, which is used to identify the
hardware.
To find this number, go to your Adyen account â£ Point of Sale â£ Terminals ,
select the terminal to link with, and save its serial number to paste it into the Odoo Adyen Terminal Identifier field at the payment method creation .

### Set the Event URLs

For Odoo to know when a payment is made, you must configure the terminal Event URLs . To do so,
- Log in to Adyenâs website ;
Log in to Adyenâs website ;
- Go to Adyenâs dashboard â£ Point of Sale â£ Terminals and select the connected
terminal;
Go to Adyenâs dashboard â£ Point of Sale â£ Terminals and select the connected
terminal;
- From the terminal settings, click Integrations ;
From the terminal settings, click Integrations ;
- Set the Switch to decrypted mode to edit this setting field as Decrypted ;
Set the Switch to decrypted mode to edit this setting field as Decrypted ;
- Click the pencil icon button and enter your server address, followed by /pos_adyen/notification in the Event URLs field;
Click the pencil icon button and enter your server address, followed by /pos_adyen/notification in the Event URLs field;
`/pos_adyen/notification`
- Click Save at the bottom of the screen to save changes.
Click Save at the bottom of the screen to save changes.

### Configure the payment method

Enable the payment terminal in the application settings and create the related payment method . Set the journal type as Bank and select Adyen in the Use a Payment Terminal field.
Finally, fill in the mandatory fields with your Adyen API key , Adyen
Terminal Identifier , and Adyen Merchant Account .
Once the payment method is created, you can select it in your POS settings. To do so, go to the POSâ settings , click Edit , and add the payment method
under the Payments section.

## Tips

Odoo Point of Sale allows tipping with an Adyen terminal. To configure this option, go to the POS settings , enable the Tips and the Add tip through payment terminal (Adyen) settings, then click Save .
To process tips with an Adyen terminal, follow these steps:
- Go to the relevant POS and process an order .
Go to the relevant POS and process an order .
- Click Payment and select the relevant payment
method . The Adyen terminal displays the transaction and
suggests adding tips.
Click Payment and select the relevant payment
method . The Adyen terminal displays the transaction and
suggests adding tips.
- Add a tip amount on the terminal and validate.
Add a tip amount on the terminal and validate.
- In Odoo POS, click Tip , enter the tip amount, and click Ok .
In Odoo POS, click Tip , enter the tip amount, and click Ok .
- Click Close Tab to validate the payment and the tip.
Click Close Tab to validate the payment and the tip.

Configuration
Generate an Adyen API key
Locate the Adyen terminal identifier
Set the Event URLs
Configure the payment method
Tips


Ingenico

# Ingenico

Connecting a payment terminal allows you to offer a fluid payment flow to your customers and ease
the work of your cashiers.
- Ingenico payment terminals require an IoT system .
Ingenico payment terminals require an IoT system .
- Ingenico is currently only available in Belgium, the Netherlands and Luxembourg.
Ingenico is currently only available in Belgium, the Netherlands and Luxembourg.
- Odoo works with the Ingenico Lane/, Desk/, and Move/ payment terminals as they support the TLV
communication protocol through TCP/IP.
Odoo works with the Ingenico Lane/, Desk/, and Move/ payment terminals as they support the TLV
communication protocol through TCP/IP.

## Configuration

### Connect an IoT system

Connecting an Ingenico payment terminal to Odoo is a feature that requires an IoT system. For more
information on how to connect an IoT system to your database, please refer to the IoT
documentation .

### Configure the Lane/Desk/Move 5000 terminals for Ingenico BENELUX

- Press the function button ( F on Lane/5000, â¦¿ on Desk/5000 and
Move/5000).
Press the function button ( F on Lane/5000, â¦¿ on Desk/5000 and
Move/5000).
- Go to Kassa menu â£ Settings Menu and enter the settings password (default: 2009 ).
Go to Kassa menu â£ Settings Menu and enter the settings password (default: 2009 ).
`2009`
- Select Change Connection and press OK on the next screen.
Select Change Connection and press OK on the next screen.
- Select TCP/IP and IP-address .
Select TCP/IP and IP-address .
- On the next screen, enter the IP address of your IoT system.
On the next screen, enter the IP address of your IoT system.
- Enter 9000 as port number and press OK on the next screen.
Enter 9000 as port number and press OK on the next screen.
`9000`
At this point, the terminal restarts and should be displayed on the IoT systemâs form in Odoo.

### Configure the payment method

Enable the payment terminal in the application settings and create the related payment method . Set the journal type as Bank and select Ingenico in the Use a Payment Terminal field.
Then, select your terminal device in the Payment Terminal Device field.
Once the payment method is created, you can select it in your POS settings. To do so, go to the POSâ settings , click Edit , and add the payment method
under the Payments section.


Mercado Pago

# Mercado Pago

Connecting a payment terminal allows you to offer a fluid payment flow to your customers and ease
the work of your cashiers.
- Odoo is compatible with Point Smart 1 or Point Smart 2 payment terminals, which can be
purchased on the Mercado Pago website in Argentina , Brazil , and Mexico .
Odoo is compatible with Point Smart 1 or Point Smart 2 payment terminals, which can be
purchased on the Mercado Pago website in Argentina , Brazil , and Mexico .
- Mercado Pago payment terminals do not require an IoT Box to
operate.
Mercado Pago payment terminals do not require an IoT Box to
operate.
Mercado Pago online payments

## Configuration

- Create a Mercado Pago account .
Create a Mercado Pago account .
- Associate your Point Smart terminal with a store and a cash drawer by
following Mercado Pagoâs documentation . Note All purchased terminals are automatically displayed on your Mercado dashboard.
Associate your Point Smart terminal with a store and a cash drawer by
following Mercado Pagoâs documentation .
All purchased terminals are automatically displayed on your Mercado dashboard.
- Set your Point Smart terminal to the Point of Sale operation mode. Warning Odoo does not support the Standalone operation mode.
Set your Point Smart terminal to the Point of Sale operation mode.
Odoo does not support the Standalone operation mode.
- Create a Point Smart application .
Create a Point Smart application .
- Generate your credentials .
Generate your credentials .
- Create and configure the related payment method .
Create and configure the related payment method .

### Point Smart application

Create a new application from Mercado Pagoâs developer panel by following Mercado Pagoâs applications documentation , making sure you select In
person Payments .

### Credentials

Once the Point Smart application is created, three credentials are required:
- An access token that Odoo uses to call Mercado Pago.
An access token that Odoo uses to call Mercado Pago.
- A webhook secret key that Odoo uses to authenticate notifications sent by Mercado Pago.
A webhook secret key that Odoo uses to authenticate notifications sent by Mercado Pago.
- The terminal serial number at the back of your Point Smart terminal.
The terminal serial number at the back of your Point Smart terminal.
Retrieve the access token and webhook secret key by following Mercado Pagoâs credentials
documentation .
Then, copy and paste them into Odoo when creating the payment method.
For the webhooks configuration, add the URL of your Odoo database (e.g., https://mycompany.odoo.com ) followed by /pos_mercado_pago/notification (e.g., https://mycompany.odoo.com/pos_mercado_pago/notification ).
`https://mycompany.odoo.com`
`/pos_mercado_pago/notification`
`https://mycompany.odoo.com/pos_mercado_pago/notification`

### Payment method

- Go to Point of Sale â£ Configuration â£ Settings and enable Mercado
Pago under the Payment Terminals section.
Go to Point of Sale â£ Configuration â£ Settings and enable Mercado
Pago under the Payment Terminals section.
- Create the related payment method by going to Point of Sale â£ Configuration â£ Payment Methods .
Create the related payment method by going to Point of Sale â£ Configuration â£ Payment Methods .
- Set the journal type as Bank
Set the journal type as Bank
- Select Mercado Pago in the Use a Payment Terminal field.
Select Mercado Pago in the Use a Payment Terminal field.
- Fill in the mandatory fields with the previously generated credentials : Fill in the Production user token field using the access token. Fill in the Production secret key field using the webhook secret key. Fill in the Terminal S/N field using the terminal serial number. You can find it at
the back of your terminal. Click the Force PDV button to activate the Point of Sale mode.
Fill in the mandatory fields with the previously generated credentials :
- Fill in the Production user token field using the access token.
Fill in the Production user token field using the access token.
- Fill in the Production secret key field using the webhook secret key.
Fill in the Production secret key field using the webhook secret key.
- Fill in the Terminal S/N field using the terminal serial number. You can find it at
the back of your terminal.
Fill in the Terminal S/N field using the terminal serial number. You can find it at
the back of your terminal.
- Click the Force PDV button to activate the Point of Sale mode.
Click the Force PDV button to activate the Point of Sale mode.
Select the payment method by going to the POSâ settings and adding
it to the payment method under the Payment Methods field of the Payment section.
Any action made on the terminal should trigger a notification on the POS interface. Ensure the webhook secret key is correctly configured if you are not
notified.

Configuration
Point Smart application
Credentials
Payment method


Pine Labs

# Pine Labs

Pine Labs offers in-store payment solutions for
customer transactions through several physical terminals .
- The Odoo Pine Labs module is only available for Indian companies.
The Odoo Pine Labs module is only available for Indian companies.
- Pine Labs terminals accept credit/debit cards (Visa, MasterCard, and RuPay) and UPI QR codes
by swiping, scanning, or tapping.
Pine Labs terminals accept credit/debit cards (Visa, MasterCard, and RuPay) and UPI QR codes
by swiping, scanning, or tapping.

## Pine Labs credentials

Create a Pine Labs account and order at least one terminal . The system then sends an email with the
following credentials:
- Merchant ID
- Store ID
- Client ID
- Security Token

## Odoo configuration

To enable Pine Labs in Odoo, first install the POS Pine Labs module to
make it visible in the list of payment terminals. Then, follow these steps to connect the Pine Labs
terminal with Odoo Point of Sale:
- Go to Point of Sale â£ Configuration â£ Settings , scroll down to the Payment Terminals section, enable the relevant payment terminal , and click Save .
Go to Point of Sale â£ Configuration â£ Settings , scroll down to the Payment Terminals section, enable the relevant payment terminal , and click Save .
- Go to Point of Sale â£ Configuration â£ Payment Methods and create a
payment method .
Go to Point of Sale â£ Configuration â£ Payment Methods and create a
payment method .
- Set the Journal field to Bank .
Set the Journal field to Bank .
- Set the Integration field to Terminal .
Set the Integration field to Terminal .
- Set the Integrate with field to Pine Labs .
Set the Integrate with field to Pine Labs .
- Paste the copied credentials in their corresponding fields.
Paste the copied credentials in their corresponding fields.
- Select the preferred payment mode in the Pine Labs Allowed Payment Modes field and
save.
Select the preferred payment mode in the Pine Labs Allowed Payment Modes field and
save.
- Go to Point of Sale â£ Configuration â£ Settings and add the created payment
method to the Payment Methods list to use it in a POS.
Go to Point of Sale â£ Configuration â£ Settings and add the created payment
method to the Payment Methods list to use it in a POS.
- Click Save .
Enable the Pine Labs Test Mode to test transaction processes with a device.

Pine Labs credentials
Odoo configuration


Razorpay

# Razorpay

Connecting a Razorpay payment terminal allows you to offer a fluid payment flow to your customers
and ease the work of your cashiers.
Use Razorpay as apayment provider.

## Configuration

### Locate your Razorpay credentials

Create a Razorpay account and set it up
on their website.
You need the following credentials to set up the payment method in Odoo:
- API key
- Razorpay username
- Razorpay device serial number, which can be found underneath the device or on Razorpayâs
dashboard .
Razorpay device serial number, which can be found underneath the device or on Razorpayâs
dashboard .

### Configure the payment method

- Activate the POS Razorpay module to enable the
payment terminal.
Activate the POS Razorpay module to enable the
payment terminal.
- Create the related payment method by going to Point of Sale â£ Configuration â£ Payment Methods . Set the Journal type as Bank . Select Razorpay in the Use a Payment Terminal field. Enter your username in the Razorpay Username field and your deviceâs serial number
in the Razorpay Device Serial No field. Fill in the Razorpay API Key field with the Razorpay API key . Set the Razorpay Allowed Payment Modes according to your needs. Note You can enable the Razorpay Test Mode field while testing or keep it unchecked for
production.
Create the related payment method by going to Point of Sale â£ Configuration â£ Payment Methods .
- Set the Journal type as Bank .
Set the Journal type as Bank .
- Select Razorpay in the Use a Payment Terminal field.
Select Razorpay in the Use a Payment Terminal field.
- Enter your username in the Razorpay Username field and your deviceâs serial number
in the Razorpay Device Serial No field.
Enter your username in the Razorpay Username field and your deviceâs serial number
in the Razorpay Device Serial No field.
- Fill in the Razorpay API Key field with the Razorpay API key .
Fill in the Razorpay API Key field with the Razorpay API key .
- Set the Razorpay Allowed Payment Modes according to your needs.
Set the Razorpay Allowed Payment Modes according to your needs.
You can enable the Razorpay Test Mode field while testing or keep it unchecked for
production.
Once the payment method is created, you can enable it for your POS. To do so, go to the POSâ
settings and add the payment method under the Payment section.
The terminal must have at least a 10% battery level to use it.

Configuration
Locate your Razorpay credentials
Configure the payment method


SIX

# SIX

Connecting a SIX payment terminal allows you to offer a fluid payment flow to your customers and
ease the work of your cashiers.
Although Worldline has acquired SIX Payment Services and both entities utilize Yomani payment
terminals, their firmware differs. Terminals supplied by Worldline are, therefore, incompatible
with this integration.

## Configuration

### Prerequisites

- Install the POS IoT Six module: Activate the POS IoT Six module module to enable the payment terminal. Note This module replaces the POS Six module.
Install the POS IoT Six module: Activate the POS IoT Six module module to enable the payment terminal.
This module replaces the POS Six module.
- Connect an IoT system: A Raspberry Pi or a virtual IoT system (for Windows OS only) is required to connect a SIX payment terminal to Odoo.
Connect an IoT system: A Raspberry Pi or a virtual IoT system (for Windows OS only) is required to connect a SIX payment terminal to Odoo.

### Configure the payment method

- Enable the payment terminal in the application settings and create a payment method for SIX terminals .
Enable the payment terminal in the application settings and create a payment method for SIX terminals .
- Set the journal type as Bank .
Set the journal type as Bank .
- Fill in the Outstanding Account field.
Fill in the Outstanding Account field.
- Select Terminal in the Integration field.
Select Terminal in the Integration field.
- Select SIX IOT in the Integrate with field.
Select SIX IOT in the Integrate with field.
- Click Setup Six Terminal .
Click Setup Six Terminal .
- Click the IoT Box field and select the IoT system from the dropdown menu.
Click the IoT Box field and select the IoT system from the dropdown menu.
- Enter the Six Terminal ID (TID) provided by SIX.
Enter the Six Terminal ID (TID) provided by SIX.
- Select the Terminal Device from dropdown menu.
Select the Terminal Device from dropdown menu.
- Finally, click Add Terminal .
Finally, click Add Terminal .
Ensure the SIX terminal is online and connected to the same network as the IoT system.

### Link the payment method to a POS

Once the payment method is created, it can be selected in the POS settings. To do so,
- Go to the POSâ settings .
Go to the POSâ settings .
- Add the payment method under the Payment methods field within the Payment section.
Add the payment method under the Payment methods field within the Payment section.

Configuration
Prerequisites
Configure the payment method
Link the payment method to a POS


Stripe

# Stripe

Connecting a payment terminal allows you to offer a fluid payment flow to your customers and ease
the work of your cashiers.
- Stripe payment terminals do not require an IoT Box
Stripe payment terminals do not require an IoT Box
- Stripe terminals can be used in many countries, but not worldwide. Check the global
availability for Stripe Terminal .
Stripe terminals can be used in many countries, but not worldwide. Check the global
availability for Stripe Terminal .
- Stripeâs integration works with Stripe Terminal smart readers
Stripeâs integration works with Stripe Terminal smart readers
- Stripe as payment provider
Stripe as payment provider
- List of payment methods supported by Stripe
List of payment methods supported by Stripe

## Configuration

### Configure the payment method

Activate Stripe in the settings by going to Point of Sale â£ Configuration â£
Settings â£ Payment Terminals and enabling Stripe .
Then, create the payment method:
- Go to Point of Sale â£ Configuration â£ Payment Methods , click Create , and complete the Method field with your payment methodâs name;
Go to Point of Sale â£ Configuration â£ Payment Methods , click Create , and complete the Method field with your payment methodâs name;
- Set the Journal field as Bank and the Use a Payment Terminal field as Stripe ;
Set the Journal field as Bank and the Use a Payment Terminal field as Stripe ;
- Enter your payment terminal serial number in the Stripe Serial Number field;
Enter your payment terminal serial number in the Stripe Serial Number field;
- Click Donât forget to complete Stripe connect before using this payment method.
Click Donât forget to complete Stripe connect before using this payment method.
- Click Identify Customer to allow this payment method exclusively for identified
customers. For any unidentified customers to be able to pay with Stripe, leave the Identify Customer field unchecked.
Click Identify Customer to allow this payment method exclusively for identified
customers. For any unidentified customers to be able to pay with Stripe, leave the Identify Customer field unchecked.
- The Outstanding Account and the Intermediary Account can stay empty to
use the default accounts.
The Outstanding Account and the Intermediary Account can stay empty to
use the default accounts.
- Find your payment terminal serial number under the device or on Stripeâs dashboard .
Find your payment terminal serial number under the device or on Stripeâs dashboard .

### Connect Stripe to Odoo

Click Connect Stripe . Doing so redirects you automatically to a configuration page.
Fill in all the information to create your Stripe account and link it with Odoo. Once the forms are
completed, the API keys ( Publishable Key and Secret Key ) can be retrieved on Stripeâs website. To do so, click Get your Secret and Publishable keys ,
click the keys to copy them, and paste them into the corresponding fields in Odoo. Your terminal is
ready to be configured in a POS.
- When you use Stripe exclusively in Point of Sale, you only need the Secret Key to use
your terminal.
When you use Stripe exclusively in Point of Sale, you only need the Secret Key to use
your terminal.
- When you use Stripe as payment provider , the State can stay set as Disabled .
When you use Stripe as payment provider , the State can stay set as Disabled .
- For databases hosted On-Premise , the Connect Stripe button does not work. To
retrieve the API keys manually, log in to your Stripe dashboard , type API in the search bar, and click Developers > API .
For databases hosted On-Premise , the Connect Stripe button does not work. To
retrieve the API keys manually, log in to your Stripe dashboard , type API in the search bar, and click Developers > API .
`API`

### Configure the payment terminal

Swipe right on your payment terminal, click Settings , enter the admin PIN code, validate
and select your network.
- The userâs device and the terminal must share the same network.
The userâs device and the terminal must share the same network.
- In case of a Wi-Fi connection, the network must be secured.
In case of a Wi-Fi connection, the network must be secured.
- You must enter the admin PIN code to access your payment terminal settings. By default, this
code is 07139 .
You must enter the admin PIN code to access your payment terminal settings. By default, this
code is 07139 .
`07139`

### Link the payment method to a POS

To add a payment method to your point of sale, go to Point of Sale â£
Configuration â£ Settings . Select the POS, scroll down to the Payments section, and
add your payment method for Stripe in the Payment Methods field.

## Troubleshooting

### Payment terminal unavailable in your Stripe account

If the payment terminal is unavailable in your Stripe account, you must add it manually:
- Log into your Stripeâs dashboard and go to Stripe dashboard â£ Payments â£ Readers â£ Locations ;
Log into your Stripeâs dashboard and go to Stripe dashboard â£ Payments â£ Readers â£ Locations ;
- Add a location by clicking the + New button or selecting an already created location;
Add a location by clicking the + New button or selecting an already created location;
- Click the + New button in the Readers box and fill in the required
information.
Click the + New button in the Readers box and fill in the required
information.
You must provide a registration code . To retrieve that code, swipe right on your device,
enter the admin PIN code (by default: 07139 ), validate, and click Generate a
registration code .
`07139`


Tyro

# Tyro

Connecting a Tyro payment terminal allows you to offer a fluid payment
flow to your customers and ease the work of your cashiers.
Tyro payment terminals are only supported in Australia .

## Configuration

### Pair the terminal with your POS system

- Click the (hamburger menu) icon and Payment settings on your
terminal.
Click the (hamburger menu) icon and Payment settings on your
terminal.
- Enter your admin password.
Enter your admin password.
- Scroll down and click Pair with POS .
Scroll down and click Pair with POS .
- Click the Pair with POS button.
Click the Pair with POS button.
- Save the MID (Merchant ID) and TID (Terminal ID),  which are now
displayed on the screen.
Save the MID (Merchant ID) and TID (Terminal ID),  which are now
displayed on the screen.
- The admin password is the password that you chose when you configured the terminal.
The admin password is the password that you chose when you configured the terminal.
- The steps to reach the pairing screen may differ depending on your terminal model. Information
on configuring the various terminals can be found on Tyroâs website .
The steps to reach the pairing screen may differ depending on your terminal model. Information
on configuring the various terminals can be found on Tyroâs website .

### Configure the payment method

- Install the POS Tyro module .
Install the POS Tyro module .
- Create a new payment method : Go to Point of Sale â£ Configuration â£ Payment Methods and click New . Set the Journal as Bank Select Terminal in the Integration field. Select Tyro in the Integrate with field. Fill in the Tyro Merchant ID and Tyro Terminal ID with the MID and TID displayed on the terminal.
Create a new payment method :
- Go to Point of Sale â£ Configuration â£ Payment Methods and click New .
Go to Point of Sale â£ Configuration â£ Payment Methods and click New .
- Set the Journal as Bank
Set the Journal as Bank
- Select Terminal in the Integration field.
Select Terminal in the Integration field.
- Select Tyro in the Integrate with field.
Select Tyro in the Integrate with field.
- Fill in the Tyro Merchant ID and Tyro Terminal ID with the MID and TID displayed on the terminal.
Fill in the Tyro Merchant ID and Tyro Terminal ID with the MID and TID displayed on the terminal.
- To pair the payment method with the terminal, click the Pair Terminal button. This
action sends a pairing request to the terminal, which takes a few seconds to complete. Important The Tyro Mode field must be set to Production Mode .
To pair the payment method with the terminal, click the Pair Terminal button. This
action sends a pairing request to the terminal, which takes a few seconds to complete.
The Tyro Mode field must be set to Production Mode .

### Add the payment method to a POS

To add a payment method to your point of sale:
- Go to the POS settings .
Go to the POS settings .
- Select the POS in the Point of Sale field.
Select the POS in the Point of Sale field.
- Add the payment method under the Payment Methods field of the Payment section.
Add the payment method under the Payment Methods field of the Payment section.

Configuration
Pair the terminal with your POS system
Configure the payment method
Add the payment method to a POS


Viva.com

# Viva.com

Viva.com is a payment service that offers payment solutions through the viva.com Terminal app for physical and virtual terminals.
- Viva.com payment terminals do not require an IoT Box to
operate.
Viva.com payment terminals do not require an IoT Box to
operate.
- Many European countries support the use of Viva.com
payment terminals.
Many European countries support the use of Viva.com
payment terminals.
- The viva.com Terminal app turns a smartphone with an NFC chip into a payment terminal .
The viva.com Terminal app turns a smartphone with an NFC chip into a payment terminal .
Odoo only supports the Euro currency with viva.com.
- List of supported terminals
List of supported terminals
- List of supported payment methods
List of supported payment methods

## Viva.com configuration

To configure a viva.com terminal, go to the Viva.com website , create an
account, and then follow these steps:
- On the viva.com dashboard, go to Settings â£ API Access â£ General .
On the viva.com dashboard, go to Settings â£ API Access â£ General .
- Copy the Merchant ID and API key .
Copy the Merchant ID and API key .
- Copy the Client ID and the generated Client secret (POS API credentials) .
Copy the Client ID and the generated Client secret (POS API credentials) .
- Download the viva.com Terminal app on a device, then generate and copy the activation code .
Download the viva.com Terminal app on a device, then generate and copy the activation code .
- On the viva.com dashboard, go to Sales â£ Sales Transactions â£ Physical
Payments â£ Card Terminals .
On the viva.com dashboard, go to Sales â£ Sales Transactions â£ Physical
Payments â£ Card Terminals .
- Create a new card terminal and paste the activation code .
Create a new card terminal and paste the activation code .
- Copy the Terminal ID generated by the terminal activation.
Copy the Terminal ID generated by the terminal activation.
The POS API credentials are only displayed once. Make sure to keep a copy to secure them.
- The POS API credentials are for APIs that use Basic Authentication, including those for Android
and iOS POS activation and the Cloud Terminal API .
The POS API credentials are for APIs that use Basic Authentication, including those for Android
and iOS POS activation and the Cloud Terminal API .

## Odoo POS configuration

To connect the viva.com terminal with Odoo Point of Sale, follow these steps:
- Go to Point of Sale â£ Configuration â£ Settings , scroll down to the Payment Terminals section, enable the Viva Wallet terminal, and click Save .
Go to Point of Sale â£ Configuration â£ Settings , scroll down to the Payment Terminals section, enable the Viva Wallet terminal, and click Save .
- Go to Point of Sale â£ Configuration â£ Payment Methods and create a
payment method .
Go to Point of Sale â£ Configuration â£ Payment Methods and create a
payment method .
- Set the Journal field to Bank .
Set the Journal field to Bank .
- Set the Integration field to Terminal .
Set the Integration field to Terminal .
- Set the Integrate with field to Viva Wallet .
Set the Integrate with field to Viva Wallet .
- Paste the copied information from viva.com into the corresponding
fields: Merchant ID API Key Client ID Client secret Terminal ID
Paste the copied information from viva.com into the corresponding
fields:
- Merchant ID
- API Key
- Client ID
- Client secret
- Terminal ID
- Save the form and copy the generated webhook URL from the Viva Wallet Webhook
Endpoint field.
Save the form and copy the generated webhook URL from the Viva Wallet Webhook
Endpoint field.
- Go to the viva.com account and paste the webhook URL into the corresponding field .
Go to the viva.com account and paste the webhook URL into the corresponding field .
- In Odoo, access the relevant point of sale settings , scroll down
to the Payment section, and add the created payment method in the Payment
Methods field.
In Odoo, access the relevant point of sale settings , scroll down
to the Payment section, and add the created payment method in the Payment
Methods field.
- Click Save .

Viva.com configuration
Odoo POS configuration


Worldline

# Worldline

Worldline offers payment solutions through payment terminals to handle customer transactions.
- Connecting a Worldline payment terminal to Odoo requires an IoT system .
Connecting a Worldline payment terminal to Odoo requires an IoT system .
- Worldline is only available in Belgium , the Netherlands , and Luxembourg with Odoo.
Worldline is only available in Belgium , the Netherlands , and Luxembourg with Odoo.
- Odoo is compatible with Worldline terminals that use the CTEP protocol (e.g., the Yomani XR and Yoximo terminals). Contact the payment provider to confirm the terminalâs
compatibility if necessary.
Odoo is compatible with Worldline terminals that use the CTEP protocol (e.g., the Yomani XR and Yoximo terminals). Contact the payment provider to confirm the terminalâs
compatibility if necessary.

## Worldline configuration

First, enable the Worldline payment terminal in the POS settings under Payment Terminals . Then connect the IoT system to Odoo and follow these steps on the terminal:
- Configure the ECR protocol : Press â.â â£ 3 â£ Stop â£ 3 â£ 0 â£ 9 . Enter the technician password 1235789 and press OK . Press 4 â£ 2 â£ CTEP (ECR protocol) . Press OK to confirm each of the
following checks: CTEP ticket ECR , ECR ticket width , and Character set . Press Stop three times; the terminal restarts automatically.
Configure the ECR protocol :
- Press â.â â£ 3 â£ Stop â£ 3 â£ 0 â£ 9 .
Press â.â â£ 3 â£ Stop â£ 3 â£ 0 â£ 9 .
- Enter the technician password 1235789 and press OK .
Enter the technician password 1235789 and press OK .
- Press 4 â£ 2 â£ CTEP (ECR protocol) . Press OK to confirm each of the
following checks: CTEP ticket ECR , ECR ticket width , and Character set .
Press 4 â£ 2 â£ CTEP (ECR protocol) . Press OK to confirm each of the
following checks: CTEP ticket ECR , ECR ticket width , and Character set .
- Press Stop three times; the terminal restarts automatically.
Press Stop three times; the terminal restarts automatically.
- Set the hostname : Press â.â â£ 3 â£ Stop â£ 3 â£ 0 â£ 9 . Enter the technician password 1235789 and press OK . Press 4 â£ 9 â£ TCP/IP (ECR physical conf.) and OK twice. Enter the IoTâs IP address on the Hostname screen by
confirming each number with OK until the colon symbol, then confirm the step with OK .
For example, if the IP address is 10.30.19.4:8069 , press 10 â£ OK â£ 30
â£ OK â£ 19 â£ OK â£ 4 â£ OK â£ OK .
- Press â.â â£ 3 â£ Stop â£ 3 â£ 0 â£ 9 .
Press â.â â£ 3 â£ Stop â£ 3 â£ 0 â£ 9 .
- Enter the technician password 1235789 and press OK .
Enter the technician password 1235789 and press OK .
- Press 4 â£ 9 â£ TCP/IP (ECR physical conf.) and OK twice.
Press 4 â£ 9 â£ TCP/IP (ECR physical conf.) and OK twice.
- Enter the IoTâs IP address on the Hostname screen by
confirming each number with OK until the colon symbol, then confirm the step with OK .
For example, if the IP address is 10.30.19.4:8069 , press 10 â£ OK â£ 30
â£ OK â£ 19 â£ OK â£ 4 â£ OK â£ OK .
Enter the IoTâs IP address on the Hostname screen by
confirming each number with OK until the colon symbol, then confirm the step with OK .
For example, if the IP address is 10.30.19.4:8069 , press 10 â£ OK â£ 30
â£ OK â£ 19 â£ OK â£ 4 â£ OK â£ OK .
`10.30.19.4:8069`
- Set the port number : Enter 9001 (if using an IoT box ) or 9050 (if using a Windows virtual IoT ) on the Network domain name screen and press OK twice. Press Stop three times; the terminal restarts automatically.
Set the port number :
- Enter 9001 (if using an IoT box ) or 9050 (if using a Windows virtual IoT ) on the Network domain name screen and press OK twice.
Enter 9001 (if using an IoT box ) or 9050 (if using a Windows virtual IoT ) on the Network domain name screen and press OK twice.
- Press Stop three times; the terminal restarts automatically.
Press Stop three times; the terminal restarts automatically.
The terminal is now active and displays the Read card screen.
The 9050 port must be added as a Windows Firewall exception for the Windows virtual IoT .
`9050`
To check the terminalâs connection status, open the IoT app and click the IoT systemâs
card .

## Odoo configuration

To connect the Worldline terminal with Odoo Point of Sale, follow these steps:
- Go to Point of Sale â£ Configuration â£ Payment Methods and create a
payment method .
Go to Point of Sale â£ Configuration â£ Payment Methods and create a
payment method .
- Set the Journal field to Bank .
Set the Journal field to Bank .
- Set the Integration field to Terminal .
Set the Integration field to Terminal .
- Set the Integrate with field to Worldline .
Set the Integrate with field to Worldline .
- Select the configured device in the Payment Terminal Device field and save.
Select the configured device in the Payment Terminal Device field and save.
- Go to Point of Sale â£ Configuration â£ Settings and add the created payment
method to the Payment Methods list to make it available in the POS interface.
Go to Point of Sale â£ Configuration â£ Settings and add the created payment
method to the Payment Methods list to make it available in the POS interface.
- Click Save .
- If a setup uses separate cashier and customer payment terminals, configure the cashier terminal first.
If a setup uses separate cashier and customer payment terminals, configure the cashier terminal first.
- To prevent connection loss, set a fixed IP address on the IoT Boxâs router or restart
the virtual IoT server .
To prevent connection loss, set a fixed IP address on the IoT Boxâs router or restart
the virtual IoT server .

Worldline configuration
Odoo configuration


Marketing features

# Marketing features

Use your POS system to engage with customers directly by sending them promotional offers via email
or WhatsApp.

## Storing contact details

This feature requires your customerâs contact details, either their email address or phone number.
- Email addresses : automatically collected and saved in POS orders when sending a receipt by
email.
Email addresses : automatically collected and saved in POS orders when sending a receipt by
email.
- Phone numbers : to store phone numbers when sending receipts on WhatsApp or by SMS, Go to Configuration â£ Settings and scroll to the Bills &
Receipts section; Activate the WhatsApp Enabled or SMS Enabled option(s).
Phone numbers : to store phone numbers when sending receipts on WhatsApp or by SMS,
- Go to Configuration â£ Settings and scroll to the Bills &
Receipts section;
Go to Configuration â£ Settings and scroll to the Bills &
Receipts section;
- Activate the WhatsApp Enabled or SMS Enabled option(s).
Activate the WhatsApp Enabled or SMS Enabled option(s).
If a customerâs contact information is missing, it will be automatically saved in POS orders when
the receipt is sent via email, SMS, or WhatsApp.
From a POS order form, navigate to the Contact Info category under the Extra Info tab, then click the email icon or whatsapp icon to send standalone
marketing messages.

## Email marketing

To send marketing emails to your customers from POS orders,
- Go to Point of Sale â£ Orders â£ Orders ;
Go to Point of Sale â£ Orders â£ Orders ;
- Select the orders;
- Click Actions , then Send Email from the dropdown menu.
Click Actions , then Send Email from the dropdown menu.
Doing so opens an email composing form. Fill it in and hit Send .
- Save some time by saving your content as a template. Click the vertical ellipsis button and
select your template under the Insert Template section.
Save some time by saving your content as a template. Click the vertical ellipsis button and
select your template under the Insert Template section.
- You can also save your content as template for later use. Click the vertical ellipsis button
and select Save as Template .
You can also save your content as template for later use. Click the vertical ellipsis button
and select Save as Template .
- Fill in the Mass Mailing Name field to create a mass mailing and track its results
in the Email Marketing app .
Fill in the Mass Mailing Name field to create a mass mailing and track its results
in the Email Marketing app .
- If an email address is not related to an existing customer, a new customer is automatically
created when sending marketing emails.
If an email address is not related to an existing customer, a new customer is automatically
created when sending marketing emails.
Use the email marketing app for more advanced marketing features .

## Whatsapp marketing

### Configuration

You first need to enable the related server action to send WhatsApp marketing messages from your POS
using the phone numbers collected from POS orders. To do so,
- Go to the WhatsApp application;
Go to the WhatsApp application;
- Create a new WhatsApp template ;
Create a new WhatsApp template ;
- Configure the fields: Applies to field set to Point of Sale Orders ; Category field to Marketing ; Phone Field to either Mobile or Customer > Phone .
Configure the fields:
- Applies to field set to Point of Sale Orders ;
Applies to field set to Point of Sale Orders ;
- Category field to Marketing ;
Category field to Marketing ;
- Phone Field to either Mobile or Customer > Phone .
Phone Field to either Mobile or Customer > Phone .
- Click Submit for Approval ;
Click Submit for Approval ;
- Once approved, click the Allow Multi button to create a server action in the POS
orders list view.
Once approved, click the Allow Multi button to create a server action in the POS
orders list view.
If you modify the templateâs content, you must request for approval again, as its status returns
to the Draft state.
WhatsApp configuration

### Send WhatsApp marketing messages

- Go to Point of Sale â£ Orders â£ Orders ;
Go to Point of Sale â£ Orders â£ Orders ;
- Select the orders;
- Click Actions , then WhatsApp Message from the dropdown menu.
Click Actions , then WhatsApp Message from the dropdown menu.
Doing so opens a WhatsApp message composing form. Select the desired marketing template in the Template field and hit Send Message .
- To use WhatsApp marketing in the Point of Sale, approved marketing templates must have the Allow Multi option enabled and Point of Sale Orders selected in the Applies to field.
To use WhatsApp marketing in the Point of Sale, approved marketing templates must have the Allow Multi option enabled and Point of Sale Orders selected in the Applies to field.
- If the server action is displayed without a properly configured template, an error message
appears. Click Configure Templates and complete the WhatsApp setup steps.
If the server action is displayed without a properly configured template, an error message
appears. Click Configure Templates and complete the WhatsApp setup steps.

Storing contact details
Email marketing
Whatsapp marketing
Configuration
Send WhatsApp marketing messages


Hardware

# Hardware

Odoo Point of Sale supports integration with a variety of hardware, including payment
terminals and cash drawers, as well as customer displays , scales , barcode scanners , ePOS printers , and in-store electronic shelf labels .

## Customer display

The customer display feature provides real-time updates on a secondary screen for customers
during the checkout process. This screen shows the items in the cart , the subtotal
as items are added, and details throughout the payment process. It also displays the total amount,
the selected payment method , and any change to be returned.
Both the customer and POS displays must have a minimum diagonal size of 6 inches. For optimal
readability, larger screens are recommended.

### Configuration

Depending on the POS setup, the feature can be displayed directly on a secondary screen connected
via USB-C or HDMI, on another device remotely, or on a screen connected through an IoT system.
To activate the feature, follow these steps:
- Navigate to the POS settings and scroll down to the Connected Devices section.
Navigate to the POS settings and scroll down to the Connected Devices section.
- Open the dropdown menu under the Customer Display section and select one of the
following options: None : To disable the feature. The same device : To use a secondary screen connected
with an HDMI or USB-C cable. Another device : To use a remote device connected
to the database. An IOT-connected screen : To use a screen connected via an IoT system .
Open the dropdown menu under the Customer Display section and select one of the
following options:
- None : To disable the feature.
None : To disable the feature.
- The same device : To use a secondary screen connected
with an HDMI or USB-C cable.
The same device : To use a secondary screen connected
with an HDMI or USB-C cable.
- Another device : To use a remote device connected
to the database.
Another device : To use a remote device connected
to the database.
- An IOT-connected screen : To use a screen connected via an IoT system .
An IOT-connected screen : To use a screen connected via an IoT system .
For displays connected using an IoT system :
- Enable the IoT Box option to activate the IoT system in POS.
Enable the IoT Box option to activate the IoT system in POS.
- Click Save , which activates the IoT app in Odoo.
Click Save , which activates the IoT app in Odoo.
- Connect and configure an IoT system for a display .
Connect and configure an IoT system for a display .
- Return to the POS settings and select an IoT-connected screen
using the Customer Display field.
Return to the POS settings and select an IoT-connected screen
using the Customer Display field.

### Opening the customer display

#### Same device

To open the customer display on a second screen connected to a POS system using an HDMI or USB-C
cable, follow these steps:
- Open a POS session .
- Click the ( hamburger menu ) icon.
Click the ( hamburger menu ) icon.
- Click the ( Customer Display ) icon, which opens a new window to
drag onto the second screen.
Click the ( Customer Display ) icon, which opens a new window to
drag onto the second screen.
For POS terminals running the Odoo Android app with dual-screen
support, follow these steps:
- Activate the Point of Sale Mobile module to enable the
customer display.
Activate the Point of Sale Mobile module to enable the
customer display.
- Open a POS session .
- Click the ( hamburger menu ) icon.
Click the ( hamburger menu ) icon.
- Click the ( Customer Display ) icon, which opens the customer
display on the terminalâs secondary screen.
Click the ( Customer Display ) icon, which opens the customer
display on the terminalâs secondary screen.

#### Another device

To open the customer display on a remote device (any computer, tablet, or smartphone), follow these
steps:
- Access your database from the other device and navigate to Point of Sale â£
Dashboard .
Access your database from the other device and navigate to Point of Sale â£
Dashboard .
- Click the ( Dropdown menu ) icon on a POS card.
Click the ( Dropdown menu ) icon on a POS card.
- Click Customer Display to open the display remotely.
Click Customer Display to open the display remotely.
The two devices are not required to share the same network as long as they are connected to the
same database.

#### IOT-connected screen

To open the customer display onto an IoT-connected screens:
- Open a POS session .
- Click the ( hamburger menu ) icon.
Click the ( hamburger menu ) icon.
- Click the ( Customer Display ) icon, which opens the customer
display onto the IoT-connected screen.
Click the ( Customer Display ) icon, which opens the customer
display onto the IoT-connected screen.
Both devices need to be connected to the same local network.
- IoT system connection
IoT system connection
- Internet of Things (IoT)
Internet of Things (IoT)

## Scale

In EU member states, certification is legally required to use a scale as an integrated device.

### Prerequisite

Connecting a scale requires the use of an IoT System .
- IoT system connection to Odoo
IoT system connection to Odoo
- Connect a scale

### Configuration

#### Scale connection

- Access the POS settings .
Access the POS settings .
- Scroll down to the Connected Devices section and enable IoT Box .
Scroll down to the Connected Devices section and enable IoT Box .
- Select the scale in the Electronic Scale field.
Select the scale in the Electronic Scale field.
- Click Save .
Alternatively, click the ( Dropdown menu ) icon on a POS card and
click Edit to access this setting.

#### Product configuration

In order to weigh products using an integrated scale, go to Point of Sale â£
Products â£ Products , create a product or open an existing product form, and configure it as
follows:
- Ensure the Point of Sale checkbox is activated for the product to be available in
POS.
Ensure the Point of Sale checkbox is activated for the product to be available in
POS.
- On the General Information tab, define a Sales Price per kg . Note This step requires to enable the Units of Measure feature. To activate it: Go to Inventory â£ Configuration â£ Settings . Scroll down to the Products section and activate Units of Measure .
On the General Information tab, define a Sales Price per kg .
This step requires to enable the Units of Measure feature. To activate it:
- Go to Inventory â£ Configuration â£ Settings .
Go to Inventory â£ Configuration â£ Settings .
- Scroll down to the Products section and activate Units of Measure .
Scroll down to the Products section and activate Units of Measure .
- Go to the Point of Sale tab and activate To Weigh With Scale . This
enables the product to be weighed directly on the connected scale at the POS.
Go to the Point of Sale tab and activate To Weigh With Scale . This
enables the product to be weighed directly on the connected scale at the POS.
The selected unit of measure for weighable products must be kg to ensure compliance
with European regulations .

### European regulations

When using scales in commercial transactions, the database integrated with a scale must be
configured to meet specific European requirements. This includes supporting at least three decimal
places for accuracy and using proper rounding for units of measure, such as kg instead of generic units .
`kg`
`units`
If the database is not compliant, a red ( scale ) icon displays
as a warning. Click this icon to view the reasons for non-compliance and then select Apply changes to automatically apply the necessary changes to the settings. Once the
database meets all regulatory requirements, the ( scale ) icon
turns green.
Additional guidelines
Both the customer and POS displays must have a minimum diagonal
size of 6 inches. For optimal readability, larger screens are recommended.

### Using a scale in PoS

- Open a POS session .
- Select the product to weigh on the order screen or scan its barcode.
Select the product to weigh on the order screen or scan its barcode.
- Place the product on the scale and wait for the weight to be displayed in the popup window.
Place the product on the scale and wait for the weight to be displayed in the popup window.
- Once the weight is determined, the price is automatically computed.
Once the weight is determined, the price is automatically computed.
- Click Order to add the product to the cart.
Click Order to add the product to the cart.
- Remove the previous product from the scale.
Remove the previous product from the scale.
Make sure the scale returns to zero before weighing a new product. If it does not, the Order button remains unclickable until it is reset.
`zero`

Customer display
Configuration
Opening the customer display
Scale
Prerequisite
Configuration
European regulations
Using a scale in PoS


Preparation display

# Preparation display

The preparation display feature allows you to handle POS orders requiring preparation. Concretely,
- For retail :  The preparation team is notified after a payment is completed at the POS to
gather the purchased items for customer pickup.
For retail :  The preparation team is notified after a payment is completed at the POS to
gather the purchased items for customer pickup.
- For restaurants : POS orders inform the kitchen of the meals to be prepared.
For restaurants : POS orders inform the kitchen of the meals to be prepared.

## Configuration

To enable the preparation display feature,
- Go to the POS settings .
Go to the POS settings .
- Scroll down to the Preparation section.
Scroll down to the Preparation section.
- Check the Preparation Display option.
Check the Preparation Display option.
To create and set up a preparation display,
- Go to Point of Sale â£ Orders â£ Preparation Display
Go to Point of Sale â£ Orders â£ Preparation Display
- Click New .
- Give the display a descriptive Name (e.g., Main Kitchen , Bar )
Give the display a descriptive Name (e.g., Main Kitchen , Bar )
`MainKitchen`
`Bar`
- Set it up: Point of Sale : Select the POS that sends orders to this display. Product categories : Specify the POS Product categories sent to this
display. Stages : Define the steps required for the orders to be ready. Click Add a line to add a stage. Assign specific colors to each stage for clarity (optional). Define an Alert timer (min) for each stage to indicate the expected processing
time.
- Point of Sale : Select the POS that sends orders to this display.
Point of Sale : Select the POS that sends orders to this display.
- Product categories : Specify the POS Product categories sent to this
display.
Product categories : Specify the POS Product categories sent to this
display.
- Stages : Define the steps required for the orders to be ready. Click Add a line to add a stage. Assign specific colors to each stage for clarity (optional). Define an Alert timer (min) for each stage to indicate the expected processing
time.
Stages : Define the steps required for the orders to be ready.
- Click Add a line to add a stage.
Click Add a line to add a stage.
- Assign specific colors to each stage for clarity (optional).
Assign specific colors to each stage for clarity (optional).
- Define an Alert timer (min) for each stage to indicate the expected processing
time.
Define an Alert timer (min) for each stage to indicate the expected processing
time.
To edit a pre-existing preparation display, click the vertical ellipsis button
( ) on the displayâs card and select Configure .

## Practical application

Go to Point of Sale â£ Orders â£ Preparation Display to get an overview of all
your displays.
The display card shows:
- The configured stages.
The configured stages.
- The number of orders currently In progress .
The number of orders currently In progress .
- The Average time employees usually take to complete an order.
The Average time employees usually take to complete an order.
Click the Kitchen Display app icon on your Odoo Dashboard for quicker access.

### Using the preparation display

To access the preparation display, click Preparation Screen . This interface, designed
for employees, shows:
- Stages and order count : Displays the progress of orders across stages such as To prepare , Ready , and Completed , along with the number of orders in each stage.
Stages and order count : Displays the progress of orders across stages such as To prepare , Ready , and Completed , along with the number of orders in each stage.
`Toprepare`
`Ready`
`Completed`
- Ordered products by category : Lists all items in progress, grouped by POS categories (e.g., Drinks , Food ).
Ordered products by category : Lists all items in progress, grouped by POS categories (e.g., Drinks , Food ).
`Drinks`
`Food`
- Order cards : Summarizes individual orders, including: Associated tables and order numbers. Status, such as Ready , highlighted with the defined colors. Waiting time, with visual indicators.
Order cards : Summarizes individual orders, including:
- Associated tables and order numbers.
Associated tables and order numbers.
- Status, such as Ready , highlighted with the defined colors.
Status, such as Ready , highlighted with the defined colors.
`Ready`
- Waiting time, with visual indicators.
Waiting time, with visual indicators.
The duration indicator turns red if the elapsed time exceeds the predefined alert time.
To update order progress:
- Click items on the order card to cross them off individually.
Click items on the order card to cross them off individually.
- Click the order card itself to mark all items at once.
Click the order card itself to mark all items at once.
- The card automatically moves to the next stage once every item is crossed off.
The card automatically moves to the next stage once every item is crossed off.
- Click Recall to move an order back to the previous stage if you
mistakenly sent it to the next stage.
Click Recall to move an order back to the previous stage if you
mistakenly sent it to the next stage.

### Customer display

In parallel, click Order Status Screen to open the customer interface. This interface,
designed for customers, provides an overview of orders that are:
- Ready for pickup.
- Almost there , indicating they are taken care of.
Almost there , indicating they are taken care of.
The order number can be found at the top of the customerâs receipt.

Configuration
Practical application
Using the preparation display
Customer display


Cash rounding

# Cash rounding

Cash rounding is required when the lowest physical denomination
of currency, or the smallest coin, is higher than the minimum unit
of account.
For example, some countries require their companies to round up or
down the total amount of an invoice to the nearest five cents, when
the payment is made in cash.
Each point of sale in Odoo can be configured to apply cash rounding
to the totals of its bills or receipts.

## Configuration

Go to Point of Sale â£ Configuration â£ Settings and enable Cash Rounding , then click on Save .
Go to Point of Sale â£ Configuration â£ Point of
Sale , open the point of sale you want to configure, and enable the Cash Rounding option.
To define the Rounding Method , open the drop-down list and click
on Create and Editâ¦ .
Define here your Rounding Precision , Profit Account , and Loss Account , then save both the Rounding Method and your Point
of Sale settings.
All total amounts of this point of sale now add a line to apply the
rounding according to your settings.
Odoo Point of Sale only supports the Add a rounding line rounding strategy.


Discount tags (barcode scanner)

# Discount tags (barcode scanner)

If you want to sell your products with a discount, for a product getting
close to its expiration date for example, you can use discount tags.
They allow you to scan discount barcodes.
To use discount tags you will need to use a barcode scanner.

## Barcode Nomenclature

To use discounts tags, we need to learn about barcode nomenclature.
Letâs say you want to have a discount for the product with the following
barcode:
You can find the Default Nomenclature under the settings of your PoS
interface.
Letâs say you want 50% discount on a product you have to start your
barcode with 22 (for the discount barcode nomenclature) and then 50 (for
the %) before adding the product barcode. In our example, the barcode would
be:

## Scan the products & tags

You first have to scan the desired product (in our case, a lemon).
And then scan the discount tag. The discount will be applied and you can
finish the transaction.

Barcode Nomenclature
Scan the products & tags


Discounts

# Discounts

By offering discounts, you can entice your customers and drastically
increase your revenue. It is vital to offer discounts, whether they are
time-limited, seasonal or manually given.
To manage discounts, Odoo has powerful features that help set up a
pricing strategy tailored to every business.

## Apply manual discounts

If you seldom use discounts, applying manual ones might be the easiest
solution for your point of sale.
You can either apply a discount on the whole order or on specific
products inside an order.

### Apply a discount on a product

From your PoS session interface, use the Disc button.
Then, you can input a discount over the product that is currently
selected.

### Apply a global discount

To apply a discount on the whole order, go to Point of
Sale â£ Configuration â£ Point of Sale and select your PoS.
Once on your PoS form, select Global Discounts , under the Pricing category.
Now, you have a new Discount button appearing on your PoS interface.
Click on it and enter the wanted discount.
On this example, there is a global discount of 50% as well as a specific
50% discount on oranges.

## Apply time-limited discounts

To activate time-limited discounts, you must activate the Pricelists feature. To do so, go to Point of Sale â£
Configuration â£ Point of Sale and open your PoS. Then, enable the
pricelist feature.
Once activated, you must choose the pricelists you want to make
available in the PoS and define a default one.

### Create a pricelist

By default, Odoo has a Public Pricelist configured. To create more,
go to Point of Sale â£ Products â£ Pricelists . Then
click on create.
When creating a pricelist, you can set several criteria to use a
specific price: period, min. quantity, etc. You can also decide to apply
that pricelist on specific products or on the whole range.

### Using a pricelist with the PoS interface

On the PoS interface, a new button appears. Use it to select a
pricelist.
Click on it to instantly update the prices with the selected pricelist. Then, you can finalize the
order.


Electronic shelf labels

# Electronic shelf labels

Electronic shelf labels allow you to display product information like prices and barcodes on store
shelves and to synchronize them remotely from the backend. This removes the need to print new labels
when product information changes.
Odoo uses electronic labels from Pricer .

## Configuration

### Pricer setup

- Get in touch with Pricer to create and configure your Pricer
account.
Get in touch with Pricer to create and configure your Pricer
account.
- Create your stores: one pricer store equates to one physical store.
Create your stores: one pricer store equates to one physical store.
- Link as many transceivers as needed to the Pricer store(s).
Link as many transceivers as needed to the Pricer store(s).
- Create the following variables to share product information between your Odoo database system and
Pricer. These variables act like placeholders on the label template. itemId : this holds the unique internal identifier assigned to each product itemName : the actual name of the product price : the selling price of the product, including any applicable taxes presentation : the template name used in Pricer for displaying the product information on the
label currency : the currency of your company (e.g., USD, EUR) barcode : the barcode number associated with each product Important The names for these variables must be identical in your Pricer database.
Create the following variables to share product information between your Odoo database system and
Pricer. These variables act like placeholders on the label template.
- itemId : this holds the unique internal identifier assigned to each product
itemId : this holds the unique internal identifier assigned to each product
`itemId`
- itemName : the actual name of the product
itemName : the actual name of the product
`itemName`
- price : the selling price of the product, including any applicable taxes
price : the selling price of the product, including any applicable taxes
`price`
- presentation : the template name used in Pricer for displaying the product information on the
label
presentation : the template name used in Pricer for displaying the product information on the
label
`presentation`
- currency : the currency of your company (e.g., USD, EUR)
currency : the currency of your company (e.g., USD, EUR)
`currency`
- barcode : the barcode number associated with each product
barcode : the barcode number associated with each product
`barcode`
The names for these variables must be identical in your Pricer database.
- Create a template named NORMAL . This template is used to display information on your digital
tags.
Create a template named NORMAL . This template is used to display information on your digital
tags.
`NORMAL`
Once your account, stores, variables, and template are configured on Pricer, you can proceed with
the setup of your Odoo database.
The account associated with your Pricer store must have access to send API requests to Pricer.

### Odoo setup

As a pre-requisite, activate the POS Pricer module (technical
name: pos_pricer) to have all the required features to use Pricer electronic tags.
Once the module is activated, configure your pricer stores and associate Pricer tags with your products.

#### Pricer stores

Similarly to the configuration in Pricer, you need to create one pricer store per physical location.
To do so, go to Point of Sale â£ Configuration â£ Pricer Stores , click New , and fill in the line with the required information:
- Store Name : you can put any name of your liking.
Store Name : you can put any name of your liking.
- Pricer Tenant Name : the name of your company account in Pricer, usually followed by -country_code . This value is provided by Pricer.
Pricer Tenant Name : the name of your company account in Pricer, usually followed by -country_code . This value is provided by Pricer.
`-country_code`
- Pricer Login : the login of your Pricer account.
Pricer Login : the login of your Pricer account.
- Pricer Password : the password of your Pricer account.
Pricer Password : the password of your Pricer account.
- Pricer Store ID : the ID of the related Pricer store as defined on your Pricer
database.
Pricer Store ID : the ID of the related Pricer store as defined on your Pricer
database.
- The Pricer Tags column is updated automatically when a label is linked to a
product.
The Pricer Tags column is updated automatically when a label is linked to a
product.
- The Last Update and Last Update Status columns are updated
automatically when the tags are updated.
The Last Update and Last Update Status columns are updated
automatically when the tags are updated.

#### Pricer tags

For a label to display specific product information, the label needs to be associated with the
product. To do so:
- Open the product form by going to Point of Sale â£ Products â£ Products and
clicking New or selecting an existing product. Note If you are creating a new product, configure and save it before associating any Pricer tags.
Open the product form by going to Point of Sale â£ Products â£ Products and
clicking New or selecting an existing product.
If you are creating a new product, configure and save it before associating any Pricer tags.
- Go to the Sales tab, scroll to the Pricer section, and select the
corresponding Pricer Store .
Go to the Sales tab, scroll to the Pricer section, and select the
corresponding Pricer Store .
- Fill in the Pricer tags ids field by copying the labelâs ID from the label itself or
scanning its barcode. Note Pricer tag IDs are composed of a letter followed by 16 digits.
Fill in the Pricer tags ids field by copying the labelâs ID from the label itself or
scanning its barcode.
Pricer tag IDs are composed of a letter followed by 16 digits.
- We recommended using a barcode scanner to speed up the encoding process.
We recommended using a barcode scanner to speed up the encoding process.
- When setting up Pricer with Odoo for the first time, it is recommended that you configure only
one product first. Before configuring more products, ensure you can display their information
on a Pricer tag.
When setting up Pricer with Odoo for the first time, it is recommended that you configure only
one product first. Before configuring more products, ensure you can display their information
on a Pricer tag.
Now that you have a product associated with a Pricer tag, we can send its information to Pricer.

### Practical application

Odoo automatically sends requests to Pricer to synchronize the tags every 12 hours if you make any
modifications to:
- Product name, price, barcode, or customer taxes
Product name, price, barcode, or customer taxes
- Currency
- Associated Pricer store or Pricer tags
Associated Pricer store or Pricer tags
To force the update, activate the developer mode . Then:
- Go to Point of Sale â£ Configuration â£ Pricer Store .
Go to Point of Sale â£ Configuration â£ Pricer Store .
- Select the desired store(s).
Select the desired store(s).
- Click Update tags to update all tags affected by changes to: Product name, price, barcode, or customer taxes Currency Associated Pricer store or Pricer tags
Click Update tags to update all tags affected by changes to:
- Product name, price, barcode, or customer taxes
Product name, price, barcode, or customer taxes
- Currency
- Associated Pricer store or Pricer tags
Associated Pricer store or Pricer tags
Alternatively, click Update all tags to force the update of every tag, regardless of
whether changes were made.
If Pricer has processed and accepted the request, the status field shows Update
successfully sent to Pricer . If there is any issue, the system displays an error message.
If a request sent to Pricer fails, Odoo still considers that the product has been updated. In
that case, we recommend forcing the update of all tags.

### Discount labels

To display a discount label on a Pricer Tag, you need to link a pricelist to the
product variant associated with the tag.
To do so, open the product variant form:
- Go to Point of Sale â£ Products â£ Product Variants .
Go to Point of Sale â£ Products â£ Product Variants .
- Select the product you want to apply a discount to.
Select the product you want to apply a discount to.
Then, set the desired pricelist:
- Go to the General Information tab.
Go to the General Information tab.
- Select a pricelist in the Pricer Sales Pricelist field.
Select a pricelist in the Pricer Sales Pricelist field.
Once a pricelist is set, the On Sale Price field appears, showing the Sales
Price with the discount applied.
After updating your electronic labels, a PROMO tag should appear on the electronic label,
displaying both the old, crossed-out price and the discounted price.
`PROMO`
- Currently, pricelists that offer discounts for purchasing multiple units or derive their prices
from other pricelists are not supported.
Currently, pricelists that offer discounts for purchasing multiple units or derive their prices
from other pricelists are not supported.
- Assigning a pricelist to a product variant only affects the electronic label display. Scanning
the product at the point of sale does not automatically apply the discount.
Assigning a pricelist to a product variant only affects the electronic label display. Scanning
the product at the point of sale does not automatically apply the discount.

Configuration
Pricer setup
Odoo setup
Practical application
Discount labels


Flexible taxes (fiscal positions)

# Flexible taxes (fiscal positions)

When running a business, you may need to apply different taxes and record transactions on various
accounts based on the location and type of business of your customers and providers.
The fiscal positions feature enables you to establish rules that automatically select the right
taxes and accounts used for each transaction.
- Fiscal positions (tax and account mapping)
Fiscal positions (tax and account mapping)

## Configuration

To enable the feature, go to Point of Sale â£ Configuration â£ Settings , scroll
down to the Accounting section, and enable Flexible Taxes .
Then, set a default fiscal position that should be applied to all sales in the selected POS in the Default field. You can also add more fiscal positions to choose from in the Allowed field.
According to the fiscal localization package activated, several fiscal positions are preconfigured and can be set and used in POS. However, you
can also create new fiscal positions .
If you do not set a fiscal position, the tax remains as defined in the customer taxes field
on the product form.

## Use fiscal positions

Open a POS session to use one of the allowed fiscal positions. Then,
click the Tax button next to the book-shaped icon and select a fiscal position from
the list. Doing so applies the defined rules automatically to all the products subject to the chosen
fiscal positionâs regulations.
If a default fiscal position is set, the tax button displays the name of the fiscal position.
Fiscal positions (tax and account mapping)


Loyalty programs

# Loyalty programs

Encourage your customers to continue to shop at your point of sale with
a Loyalty Program .

## Configuration

To activate the Loyalty Program feature, go to Point of Sale â£ Configuration â£ Point of sale and
select your PoS interface. Under the Pricing features, select Loyalty
Program
From there you can create and edit your loyalty programs.
You can decide what type of program you wish to use, if the reward is a
discount or a gift, make it specific to some products or cover your
whole range. Apply rules so that it is only valid in specific situation
and everything in between.

## Use the loyalty program in your PoS interface

When a customer is set, you will now see the points they will get for
the transaction and they will accumulate until they are spent. They are
spent using the button Rewards when they have enough points
according to the rules defined in the loyalty program.
You can see the price is instantly updated to reflect the pricelist. You
can finalize the order in your usual way.
If you select a customer with a default pricelist, it will be
applied. You can of course change it.


Pricelists

# Pricelists

Pricelists allow you to adjust product prices depending on various criteria automatically. For
example, you can set POS-specific prices, create temporary discount periods, reward specific
customers, or offer discounts when set quantities are ordered.

## Configuration

Navigate to the general POS app settings and ensure Flexible Pricelists are enabled under the Pricing section.
Multiple prices per product is the default pricelist option for setting
simple fixed price rules per product. Select Advanced price rules (discounts, formulas) to apply price rules to multiple products at once and to compute prices
dynamically using percentage discounts or more complex formulas in addition to setting fixed prices.
The selected pricelist type applies to the entire database, including the Sales and eCommerce apps.

### Create pricelists

Go to Point of Sale â£ Products â£ Pricelists and click New or
select an existing pricelist. The pricelist setup differs depending on the selected pricelist
option .

#### Multiple prices per product

When pricelists are configured to use the Multiple prices per product option, it is
possible to use multiple fixed prices for different products or their variants depending, if
necessary, on one or several conditions. To add a new price rule to a pricelist:
- Click Add a line , and select a product and its variant if needed.
Click Add a line , and select a product and its variant if needed.
- Add the condition(s): a product quantity to be reached by using the Min. Quantity column; a determined period during which the pricelist is applied by using the Start Date and End Date columns.
Add the condition(s):
- a product quantity to be reached by using the Min. Quantity column;
a product quantity to be reached by using the Min. Quantity column;
- a determined period during which the pricelist is applied by using the Start Date and End Date columns.
a determined period during which the pricelist is applied by using the Start Date and End Date columns.
- Add the Price to be applied when the conditions are met (if any).
Add the Price to be applied when the conditions are met (if any).

#### Advanced price rules

When pricelists are configured to use the Advanced price rules (discounts, formulas) option, it is possible to use percentage discounts/mark-ups and formulas in addition to using fixed
prices. To add a new price rule to a pricelist, click Add a line . In the pop-up windows:
- Select a Computation method: Fixed Price to set a new fixed price (similarly to the Multiple prices
per product option). Discount to compute a percentage discount (e.g., 10.00 %) or mark-up (e.g., -10.00 %). Formula to compute the price according to a formula. It is required to define what
the calculation is based on ( Sales Price , Cost , or Other
Pricelist ). You can then: Apply a percentage Discount or mark-up. Add an Extra Fee (e.g., $ 5.00 ) or subtract a fixed amount (e.g., $ -5.00 ). Define a Rounding Method by forcing the price after Discount to be a multiple of the value set. The Extra Fee is applied
afterward. Example To have the final price end with .99 , set the Rounding Method to 1.00 and
the Extra Fee to -0.01 . Specify the minimum (e.g., $ 20.00 ) and maximum (e.g., $ 50.00 ) profit Margins for computations based on Cost .
Select a Computation method:
- Fixed Price to set a new fixed price (similarly to the Multiple prices
per product option).
Fixed Price to set a new fixed price (similarly to the Multiple prices
per product option).
- Discount to compute a percentage discount (e.g., 10.00 %) or mark-up (e.g., -10.00 %).
Discount to compute a percentage discount (e.g., 10.00 %) or mark-up (e.g., -10.00 %).
`10.00`
`-10.00`
- Formula to compute the price according to a formula. It is required to define what
the calculation is based on ( Sales Price , Cost , or Other
Pricelist ). You can then: Apply a percentage Discount or mark-up. Add an Extra Fee (e.g., $ 5.00 ) or subtract a fixed amount (e.g., $ -5.00 ). Define a Rounding Method by forcing the price after Discount to be a multiple of the value set. The Extra Fee is applied
afterward. Example To have the final price end with .99 , set the Rounding Method to 1.00 and
the Extra Fee to -0.01 . Specify the minimum (e.g., $ 20.00 ) and maximum (e.g., $ 50.00 ) profit Margins for computations based on Cost .
Formula to compute the price according to a formula. It is required to define what
the calculation is based on ( Sales Price , Cost , or Other
Pricelist ). You can then:
- Apply a percentage Discount or mark-up.
Apply a percentage Discount or mark-up.
- Add an Extra Fee (e.g., $ 5.00 ) or subtract a fixed amount (e.g., $ -5.00 ).
Add an Extra Fee (e.g., $ 5.00 ) or subtract a fixed amount (e.g., $ -5.00 ).
`5.00`
`-5.00`
- Define a Rounding Method by forcing the price after Discount to be a multiple of the value set. The Extra Fee is applied
afterward. Example To have the final price end with .99 , set the Rounding Method to 1.00 and
the Extra Fee to -0.01 .
Define a Rounding Method by forcing the price after Discount to be a multiple of the value set. The Extra Fee is applied
afterward.
To have the final price end with .99 , set the Rounding Method to 1.00 and
the Extra Fee to -0.01 .
`.99`
`1.00`
`-0.01`
- Specify the minimum (e.g., $ 20.00 ) and maximum (e.g., $ 50.00 ) profit Margins for computations based on Cost .
Specify the minimum (e.g., $ 20.00 ) and maximum (e.g., $ 50.00 ) profit Margins for computations based on Cost .
`20.00`
`50.00`
- Select on which product(s) the price rule should be applied : All Products a Product Category a Product a Product Variant
Select on which product(s) the price rule should be applied :
- All Products
- a Product Category
- a Product
- a Product Variant
- Add conditions, such as a specific quantity to reach for the price to change by using the Min. Quantity field or a specific period during which the pricelist should be
applied by using the Validity fields.
Add conditions, such as a specific quantity to reach for the price to change by using the Min. Quantity field or a specific period during which the pricelist should be
applied by using the Validity fields.

### Select pricelists

Go to the specific POS settings and add all the available
pricelists in the Available field. Then, set its default pricelist in the Default field.
When you open a POS session , click the pricelists button, and select
the desired pricelist from the list.
- Multiple pricelists must be selected for the pricelist button to be displayed.
Multiple pricelists must be selected for the pricelist button to be displayed.
- If a pricelist is selected on a POS order while its conditions are not met, the price will not be adjusted.
If a pricelist is selected on a POS order while its conditions are not met, the price will not be adjusted.
You can also set a pricelist to be selected automatically once a specific customer is set . To do so, go to the customer form and switch to the preferred pricelist in the Pricelist field of the Sales & Purchase tab.
- Pricelists
- How to use pricelists in an ecommerce environment
How to use pricelists in an ecommerce environment

Configuration
Create pricelists
Select pricelists


Receipts and invoices

# Receipts and invoices

## Receipts

Set up receipts by going to Point of Sale â£ Configuration â£ Point of Sale ,
selecting a POS, and scrolling down to the Bills & Receipts section.
To customize the header and footer , activate Header & Footer and fill in
both fields with the information to be printed on the receipts.
To print receipts automatically once the payment is registered, enable the Automatic
Receipt Printing setting.
- Bills and payment
- ePOS printers

### Reprint a receipt

From the POS interface, click Orders , open the dropdown selection menu next to the
search bar, and change the default All active orders filter to Paid . Then,
select the corresponding order and click Print Receipt .
You can filter the list of orders using the search bar. Type in your reference and click Receipt Number , Date , or Customer .

## Invoices

Point of Sale allows you to issue and print invoices for registered customers upon payment and retrieve all past invoiced orders.
An invoice created in a POS creates an entry into the corresponding accounting journal , previously set up .

### Configuration

To define what journals will be used for a specific POS, go to the POSâ settings and scroll down to the accounting section. Then, you can determine the
accounting journals used by default for orders and invoices in the Default Journals section.

### Invoice a customer

Upon processing a payment, click Invoice underneath the customerâs name to issue an
invoice for that order.
Select the payment method and click Validate . The invoice is automatically issued
and ready to be downloaded and/or printed.
To be able to issue an invoice, a customer must be selected.

### Retrieve invoices

To retrieve invoices from the POS dashboard ,
- access all orders made through your POS by going to Point of Sale â£ Orders â£
Orders ;
access all orders made through your POS by going to Point of Sale â£ Orders â£
Orders ;
- to access an orderâs invoice, open the order form by selecting the order, then click Invoice .
to access an orderâs invoice, open the order form by selecting the order, then click Invoice .
- Invoiced orders can be identified by the Invoiced status in the Status column.
Invoiced orders can be identified by the Invoiced status in the Status column.
- You can filter the list of orders to invoiced orders by clicking Filters and Invoiced .
You can filter the list of orders to invoiced orders by clicking Filters and Invoiced .

### QR codes to generate invoices

Customers can also request an invoice by scanning the QR code printed on their receipt. Upon
scanning, they must fill in a form with their billing information and click Get my
invoice . On the one hand, doing so generates an invoice available for download. On the other hand,
the order status goes from Paid or Posted to Invoiced in the
Odoo backend.
To use this feature, you have to enable QR codes on receipts by going to Point of
Sale â£ Configuration â£ Settings . Then, select the POS in the Point of Sale field,
scroll down to the Bills & Receipts section and enable Use QR code on
ticket .

Receipts
Reprint a receipt
Invoices
Configuration
Invoice a customer
Retrieve invoices
QR codes to generate invoices


Reporting

# Reporting

## View statistics

To access your statistics, go to Point of Sale â£ Reporting â£ Orders . Or, from
the POS dashboard , click the vertical ellipsis ( â® ) button, Reporting ,
and Orders .
These statistics are available in a graph or pivot view that you can filter or group depending on
your needs.