How to Handle Interrupted POS Sessions in Odoo 19: Complete Guide
By Braincuber Team
Published on May 14, 2026
In Odoo 19, Point of Sale (POS) sessions are built to operate smoothly throughout business hours, but interruptions such as system crashes, network failures, or accidental closures can disrupt ongoing transactions. These interruptions may result in unsynced orders, incomplete payments, or sessions that cannot be closed properly. To address this, Odoo introduces mechanisms like session recovery and the rescue session feature. A rescue session is automatically created when Odoo detects inconsistencies in a previously interrupted session, allowing users to safely recover and validate pending orders without altering the original session integrity. This step by step guide is a complete tutorial for understanding how interrupted sessions and rescue sessions function together. Whether you are a store manager, cashier, or system administrator, this beginner guide will help you maintain continuity, prevent data discrepancies, and ensure that sales operations can resume quickly and efficiently after unexpected disruptions.
What You'll Learn:
- How to configure the POS module to enable employee login with PIN codes
- How to set up PIN code credentials for multiple cashiers
- How to start a new POS session with opening cash and employee selection
- How to log in multiple cashiers to the same POS session
- How to process orders by different salespersons within a single session
- How to close the register and understand session interruption scenarios
- How rescue sessions automatically recover pending transactions
- How to review order details and session statuses after interruptions
Prerequisites
| Requirement | Details |
|---|---|
| Odoo 19 Instance | Access to a running Odoo 19 database with the Point of Sale module installed |
| POS Module | The Point of Sale app must be installed and at least one POS shop configured |
| Employee Records | At least two employees with Advanced and Basic POS rights assigned |
| Payment Methods | At least one payment method configured for the POS shop (Cash, Card, etc.) |
| Products | Products available for sale in the POS shop with prices and stock |
Understanding Interrupted POS Sessions
A POS session in Odoo 19 tracks all transactions that occur from the moment a register is opened until it is closed. When a session is interrupted due to a system crash, network failure, power outage, or accidental closure, some orders may remain unprocessed or unsynchronized. Interruptions can lead to unsynced orders, incomplete payments, or sessions that cannot be closed properly through normal procedures.
Odoo 19 handles this through the rescue session mechanism. A rescue session is automatically created when the system detects inconsistencies in a previously interrupted session. It allows users to safely recover and validate pending orders without altering the integrity of the original session. This ensures that no transactional data is lost while maintaining proper accounting records.
Step by Step Guide to Setting Up Multi-Cashier POS Access
The following steps walk through the complete process of configuring a POS shop with employee login credentials, starting a multi-cashier session, handling interruptions, and using rescue sessions for recovery.
Step 1: Configure the POS Shop for Employee Login
Access the POS Dashboard
From the Odoo 19 dashboard, open the Point of Sale module. The main view shows all POS sessions arranged in a kanban view. Here you can see existing sessions and their current status.
Open POS Shop Configuration
Navigate to Configuration > Point of Sale from the menu. The list of POS shops appears. Click on the shop you want to configure, for example Clothes Shop.
Enable Employee Login
Under the Configuration tab, enable the Log in with Employees option. Then select employees who will have access to this POS shop. Assign appropriate rights: Advanced rights for managers and Basic rights for regular cashiers. In this example, Mitchell Admin and Marc Demo are selected.
Step 2: Set Up Employee PIN Codes
Setting up PIN code credentials for employees ensures secure access to the POS system. By providing authorized access only, businesses can protect sensitive sales and inventory data while improving accountability and tracking employee activities more effectively.
Open the Employees Module
Navigate to the Employees module from the Odoo dashboard. Find the employees you selected for POS access. Open the first employee record, for example Marc Demo.
Set the PIN Code for Marc Demo
Under the Settings tab, locate the PIN Code field. Enter a numeric password, for example 0000. Save the employee record. This PIN will be required when logging into the POS session.
Set the PIN Code for Mitchell Admin
Open the Mitchell Admin employee record. Under the Settings tab, enter a different PIN code in the PIN Code field, for example 1212. Save the record. Each employee should have a unique PIN for secure identification.
Step 3: Start a New POS Session with Multi-Cashier Login
Open the Register
Return to the Point of Sale module dashboard. Find your shop (Clothes Shop) and click the Open Register button. A pop-up window appears allowing you to select the cashier.
Log In with First Cashier
From the employee list, select Mitchell Admin. Enter the PIN code 1212 when prompted. A new pop-up allows you to enter the opening cash amount. This amount is optional and does not need to be recorded if no cash is present at the start.
Log In with Second Cashier
While the session is still active, open the user switch option and select Marc Demo as the second cashier. Enter the PIN code 0000 when prompted. Both cashiers are now logged into the same POS session, and each can process orders independently.
Step 4: Process Orders by Multiple Cashiers
With multiple cashiers logged into the same session, each can serve customers simultaneously. The session tracks which cashier processed each order, providing full accountability and sales attribution.
Processing an Order by Mitchell Admin
With Mitchell Admin as the active cashier, add products to the cart. For example, the customer requests four units of the Jean Jacket. Select the product, choose the desired quantity, and click the Payment button. Select an available payment method supported by the shop and click Validate to finalize the order.
Processing an Order by Marc Demo
Switch the active cashier to Marc Demo. Add products to the cart, for example two units of Blue Denim Jeans. Select the required quantity, then click the Payment button. Choose an appropriate payment method and click Validate to complete the order.
Step 5: Closing the Register and Understanding Interruptions
Close the Register from the First Cashier Session
While logged in as Mitchell Admin, open the three-line menu in the POS interface and click Close Register. A pop-up displays the closing register details including total sales, cash counts, and transaction summary. Review the information and click Close Register to complete and close the session.
Review the Session Status
Return to the POS dashboard. Click the three-dotted line on the shop card and select Sessions. Here you can see all sessions for this shop. In an interrupted scenario, one order appears as Closed and Posted while another is In Progress. This indicates that the second cashier order was processed after the register was closed, creating an interruption.
View Order Details
Click on the session record and open the Orders smart tab to view the order details. The system confirms which cashier placed each order. The order placed by Marc Demo after the session was closed will appear as a pending or in-progress order, demonstrating how the interruption occurred.
Understanding Rescue Sessions
When a POS session is interrupted and orders remain pending, Odoo 19 automatically creates a rescue session. This is the system mechanism to safely recover and validate pending orders without altering the integrity of the original session. A rescue session is automatically created when Odoo detects inconsistencies in a previously interrupted session. It provides a clean environment where pending transactions can be processed correctly.
The rescue session preserves the original session data intact. Pending orders are transferred into this new session. Users can then validate each recovered order. Once all orders are processed, the rescue session can be closed normally. This preserves transactional data integrity and protects accounting records.
Important Note on Rescue Sessions
Instead of forcing closure or risking data inconsistency, Odoo preserves the original session while transferring pending transactions into a new, manageable rescue session. This approach improves data accuracy, simplifies reconciliation, and reduces operational stress during system failures. Training users to identify when a rescue session is created and how to handle it ensures faster recovery and fewer accounting errors.
Key Benefits of Rescue Sessions
Data Integrity Preserved
The original session data remains intact. Pending orders are transferred to a new rescue session, ensuring no transactional data is lost and accounting records stay accurate.
Automatic Detection
Odoo automatically detects session inconsistencies and creates rescue sessions without manual intervention, reducing the burden on administrators during stressful outage situations.
Simplified Reconciliation
Rescue sessions keep recovered orders separate from the original session, making end-of-day reconciliation straightforward. Each session clearly shows which orders were part of normal operations versus recovery.
Reduced Operational Stress
Instead of requiring emergency fixes or manual database interventions, rescue sessions provide a structured recovery path, reducing downtime and stress for store teams.
Best Practices for POS Session Management
To minimize session interruptions and ensure smooth recovery when they do occur, follow these best practices. Ensure stable network connectivity for all POS terminals to prevent sync failures. Train all cashiers to close the register properly at the end of each shift. Monitor active sessions regularly from the POS dashboard to catch issues early. Educate staff about rescue sessions so they know what to do when one appears. Always review and validate recovered orders in rescue sessions before closing them. Maintain regular database backups as an additional safety net. Keep employee PINs secure and update them periodically.
Frequently Asked Questions
What causes an interrupted POS session in Odoo 19?
Interrupted POS sessions are typically caused by system crashes, network failures, power outages, or accidental closure of the register while another cashier is still processing orders. Any scenario that prevents the session from completing normally can trigger an interruption.
How does a rescue session work in Odoo 19 POS?
When Odoo detects inconsistencies in an interrupted session, it automatically creates a rescue session. Pending and unsynchronized orders from the original session are transferred into this new session. Users can then validate each recovered order and close the rescue session normally.
Can I use multiple cashiers in a single POS session?
Yes. Enable the Log in with Employees option in the POS shop configuration and assign PIN codes to each employee. Multiple cashiers can log into the same session and process orders independently. Each order is attributed to the cashier who processed it.
What happens to orders processed after the register is closed?
Orders processed after a register is closed remain in an In Progress state. They are not lost. Odoo creates a rescue session to recover these pending orders, allowing the cashier to validate them and close the session properly without data loss.
How do I review interrupted session orders in Odoo 19?
Go to the POS dashboard, click the three-dotted line on the shop card, and select Sessions. Open the session record and click the Orders smart tab. Here you can see all orders, their status, and which cashier processed each one.
Need Help with Odoo 19 POS?
Our Odoo experts can help you configure POS shops, set up multi-cashier workflows, implement rescue session recovery procedures, and train your team on best practices for uninterrupted point-of-sale operations.
