| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Point of Sale (point_of_sale)
• Discuss (mail) • Inventory (stock) • Invoicing (account) |
| Lines of code | 60 |
| Technical Name |
nz_pos_refund_line_search |
| License | LGPL-3 |
| Website | https://www.nezam.co |
| Versions | 17.0 18.0 19.0 |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Point of Sale (point_of_sale)
• Discuss (mail) • Inventory (stock) • Invoicing (account) |
| Lines of code | 60 |
| Technical Name |
nz_pos_refund_line_search |
| License | LGPL-3 |
| Website | https://www.nezam.co |
| Versions | 17.0 18.0 19.0 |
NZ Solutions Apps for Odoo
POS Refund Line Search — Odoo 18
Instantly find the product you want to refund. A smart search bar appears above the order lines in the POS Ticket Screen refund view — type a product name, display name, internal reference, or barcode and only matching lines are shown in real time.
What does this module provide?
This module enhances the Odoo 18 Point of Sale Ticket Screen with a product search bar inside the refund panel. When a cashier opens an order to process a refund, a new Search product by name or code input field appears above the list of order lines. Typing any keyword instantly filters the visible lines by product name, display name, internal reference, or barcode — making it effortless to locate a specific item even in large orders. The module also corrects the refunded quantity calculation so that cancelled refund orders are properly excluded from the already-refunded count. No configuration is required — install and the search bar is immediately available on every refund.
KEY HIGHLIGHTS
Instant Product Search
A dedicated search input appears above the refund order lines. Type any keyword and the list filters in real time — no need to scroll through a long list of products.
Search by Product Name
The search matches against the product's full name, display name, and sales description so cashiers can find items using the name they are familiar with.
Search by Internal Reference or Barcode
In addition to the product name, the search also checks the product's internal reference (default code) and barcode, enabling quick lookup by SKU or scanner input.
Automatic Line Selection
When the search term changes and the currently selected line is hidden by the filter, the module automatically selects the first visible line, keeping the refund workflow uninterrupted.
Accurate Refunded Quantity
The already-refunded quantity shown on each line is recalculated to exclude cancelled refund orders, giving cashiers an accurate picture of how much has actually been refunded.
Zero Configuration
Install the module and it works immediately on every POS session. No settings, no admin setup — just install and every cashier gets the search bar on every refund screen.
1) Search Bar Location — Refund Panel in POS Ticket Screen
After selecting a paid order to refund in the POS Ticket Screen, a Search product by name or code input field appears directly above the list of order lines. This is the entry point for all product searches during the refund process.

2) Searching by Product Name
Typing a product name filters the order lines instantly. Only lines whose product name or display name contains the search term remain visible. The matched results update on every keystroke without any button click.

3) Internal Reference Field on the Product
Each product in Odoo can have an Internal Reference (also called the default code or SKU). This code is displayed on the product form and is one of the fields the search uses to match results, enabling fast lookup by stock code.

4) Searching by Internal Reference Code
Entering an internal reference code (SKU) in the search bar filters the refund lines to show only the product with that code. This is especially useful in warehouses or retail environments where staff identify products by their stock code rather than by name.

Where does the search bar appear?
The search bar appears in the POS Ticket Screen, directly above the list of order lines in the refund panel. It is only visible when a paid (synced) order is selected for refund.
What fields can I search by?
You can search by product name, display name, internal reference (SKU / default code), and barcode. All fields are checked simultaneously using a single search term.
Is the search case-sensitive?
No. The search is case-insensitive and uses partial (substring) matching. Typing a few letters is enough to narrow down the list.
What happens to my line selection when I type?
If the currently selected line is hidden by the filter, the module automatically selects the first visible line so the refund process continues without interruption.
Does the search affect the actual refund or just the display?
The search only filters the display of order lines. It does not modify the order, the refund quantities, or any data. Hidden lines are simply not shown — they remain part of the order.
Why is the refunded quantity sometimes wrong without this module?
Odoo's default refunded quantity calculation counts all refund order lines, including those belonging to cancelled refund orders. This module patches the calculation to exclude cancelled orders, giving the correct remaining refundable quantity.
Does this module require any configuration?
No. Install the module and the search bar is immediately available in every POS session. No settings, no manual activation — it works for all cashiers out of the box.
Which Odoo editions and deployment modes are supported?
The module is compatible with Odoo 18 Community and Enterprise on On-Premise, Odoo Online, and Odoo.sh. It depends only on the Point of Sale module.
Version 18.0.1.0.0
Initial Release- Real-time product search bar in the POS Ticket Screen refund panel
- Search by product name, display name, internal reference, and barcode
- Case-insensitive partial matching on every keystroke
- Automatic re-selection of the first visible line when the current selection is filtered out
- Patched refunded quantity calculation to exclude cancelled refund orders
- Search input visible only on synced (server-loaded) orders
- Odoo 18 Community & Enterprise support
Please log in to comment on this module