List Quick Filter
by Thinh Nguyen Huu https://apps.odoo.com/apps/modules/19.0/list_quick_filter$ 40.14
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Lines of code | 868 |
| Technical Name |
list_quick_filter |
| License | OPL-1 |
| Website | https://apps.odoo.com/apps/modules/19.0/list_quick_filter |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Lines of code | 868 |
| Technical Name |
list_quick_filter |
| License | OPL-1 |
| Website | https://apps.odoo.com/apps/modules/19.0/list_quick_filter |
List Quick Filter
Add configurable quick filter fields above any list view in Odoo 19
Instant Filtering Directly on the List View
List Quick Filter adds a configurable search bar above any list view. Users can filter records by multiple fields simultaneously — no need to open the advanced search panel.
Quick filter bar on Sales > Quotations with Customer and Status filters
Key Features
Everything you need for fast, user-friendly list filtering
Fully Configurable
Choose which fields to expose. Configuration UI under Settings > Technical > Automation.
10 Field Types
Text, number, date, datetime, selection, boolean, many2one, many2many — all supported.
8 Search Operators
Equals, not equals, contains, not contains, greater, greater-or-equal, less, less-or-equal.
Relational Multi-Select
Many2one/many2many with autocomplete dropdown and tag-based multi-selection.
Per-Action Config
Different filter fields for different menus of the same model. Context-aware filtering.
Dark Mode & Responsive
Full dark theme support. Responsive layout that stacks vertically on mobile screens.
How It Works
Three simple steps to get started
Configure
Go to Settings > Technical > Automation > Quick Search Configuration. Select a model and add the fields you want.
Customize
Set custom labels, choose operators, control display order with drag-and-drop, and toggle visibility.
Filter
Open the list view. The filter bar appears automatically. Fill in values and press Search or Enter.
Configuration form: Sales Order model with Customer (many2one) and Status (selection) fields
Supported Field Types
| Field Type | Input Widget | Default Operator |
|---|---|---|
| Char / Text | Text input | Contains (ilike) |
| Integer / Float | Number input | Equals (=) |
| Date | Date picker | Equals (=) |
| Datetime | Datetime picker | Equals (=) |
| Selection | Dropdown | Equals (=) |
| Boolean | Dropdown (True/False) | Equals (=) |
| Many2one | Autocomplete with tags | Contains (ilike) |
| Many2many | Autocomplete with multi-select tags | Contains (ilike) |
Technical Details
User Guide
Complete step-by-step instructions to install, configure, and use List Quick Filter
1. Installation
- Purchase and download the module from the Odoo App Store.
- Extract the
list_quick_filterfolder into your Odoo addons directory (e.g.,/opt/odoo/addons/or your custom addons path). - Restart the Odoo server:
sudo systemctl restart odoo
- Go to Apps, remove the "Apps" filter in the search bar, and search for "List Quick Filter".
- Click Install (or Activate).
--addons-path in the Odoo configuration file includes the directory where you placed the module, then click Update Apps List.
2. Creating a Quick Search Configuration
Step 2.1 — Create a new configuration
- Click the New button.
- In the Model field, select the model you want to add quick filters to (e.g., Contact, Sales Order, Invoice).
- Leave the Window Action field empty to apply filters to all list views of this model, or select a specific action (see Section 4).
- The Active toggle is enabled by default. Toggle it off to temporarily disable the quick filter without deleting the configuration.
Step 2.2 — Add filter fields
- In the Quick Search Fields section, click Add a line.
- Select a Field from the dropdown. Only supported field types are shown.
- The Operator is auto-selected based on the field type, but you can change it.
- Optionally, enter a Label to customize the display name of the filter.
- Repeat for each field you want to expose as a quick filter.
Configuration form: Sales Order model with Customer (many2one) and Status (selection) fields
Step 2.3 — Save
Click Save. The quick filter bar will appear immediately on the corresponding list view — no server restart required.
3. Field Configuration Options
| Option | Description | Example |
|---|---|---|
| Field | The model field to filter on. Only supported types appear in the dropdown. | Name, Email, State |
| Label | Custom display label shown above the input. Leave blank to use the default field label. | "Customer Name" instead of "Name" |
| Operator | The search operator used when filtering. Auto-set when you pick a field, but you can override it. | Contains for text, Equals for numbers |
| Sequence | Controls display order (lower = left). Drag the handle icon () to reorder. | 10, 20, 30 |
| Visible | Toggle off to temporarily hide a field from the filter bar without removing it. | Uncheck to hide "Phone" filter |
Available Operators
| Operator | Meaning | Best For |
|---|---|---|
| Equals (=) | Exact match | Numbers, dates, selection, boolean |
| Not Equals (!=) | Excludes exact match | Excluding a specific status |
| Contains (ilike) | Partial text match, case-insensitive | Text fields, names, emails |
| Not Contains | Excludes partial text match | Filtering out keywords |
| Greater Than (>) | Value is above threshold | Amount > 1000, Date after X |
| Greater or Equal (>=) | Value is at or above threshold | Quantity >= 10 |
| Less Than (<) | Value is below threshold | Amount < 500 |
| Less or Equal (<=) | Value is at or below threshold | Date before or on X |
4. Per-Action (Per-Menu) Configuration
Some models are accessible from multiple menus (e.g., res.partner appears under Contacts, Customers, and Vendors). You can show different filter fields depending on which menu the user navigates from.
How it works
- Create a configuration and select the Model (e.g., Contact).
- In the Window Action field, select the specific action (e.g., "Contacts" for the Contacts menu or "Customers" for Sales > Customers).
- Add the fields relevant to that menu context.
- Create another configuration for the same model but with a different Window Action.
Priority rules
| Scenario | Which config is used? |
|---|---|
| Config exists with matching Model + Action | That action-specific config is used |
| No action-specific config, but a Model-only config exists | The generic model config is used as fallback |
| No config at all for this model | No quick filter bar is shown |
5. Using the Quick Filter Bar
Once configured, the quick filter bar appears automatically above the list view:
Quick filter bar on Sales Quotations with Customer and Status filters active
5.1 — Basic Filtering (Text, Number, Date)
- Type a value into any filter input field.
- Click the Search button or press Enter.
- The list is filtered instantly. Active filters appear as tags in the search bar (breadcrumbs).
- You can combine multiple fields — all conditions are applied together (AND logic).
5.2 — Selection Fields
- Selection fields appear as a dropdown.
- Choose a value and click Search to apply.
- Select the blank option to clear that filter.
5.3 — Relational Fields (Many2one / Many2many)
- Start typing. After a short delay, a dropdown appears with matching records.
- Click a suggestion or press Enter to select it. The record appears as a blue tag.
- Continue typing to add more tags (multi-select, OR logic within the same field).
- Click on a tag to remove it, or press Backspace when input is empty.
- Press Escape to close the dropdown. Click Search to apply.
5.4 — Resetting Filters
Click the Reset button to clear all inputs and remove all quick filter conditions. Other search bar filters remain unaffected.
6. Tips & Best Practices
| Keep it focused. Show 3–6 fields that users filter by most frequently. Too many fields clutter the interface. | |
| Use "Contains" for text fields. It is the most forgiving operator — users do not need to type the exact value. | |
| Use clear labels. If the technical field name is not user-friendly (e.g., partner_id), set a custom label like "Customer". | |
| Leverage per-action configs. Sales teams and warehouse teams often need to filter the same model by different fields. | |
| Toggle visibility instead of deleting. Uncheck Visible rather than removing the line. You can re-enable it later. | |
| Combine with standard Odoo search. Quick filters work alongside the built-in search bar, group-by, and favorites. |
7. Frequently Asked Questions
Q: I installed the module but no filter bar appears.
A: You need to create a Quick Search Configuration first. Go to Settings > Technical > Automation > Quick Search Configuration, create a new record, select your model, add fields, and save. Make sure Active is on and at least one field is Visible.
Q: I created a configuration but the filter bar still does not appear.
A: Hard-refresh your browser (Ctrl+Shift+R / Cmd+Shift+R). Check that at least one field has Visible checked, Active is on, and the Window Action (if set) matches the menu you are accessing.
Q: Can I have different filters for different menus of the same model?
A: Yes. Create multiple configurations for the same model, each with a different Window Action. See Section 4 for details.
Q: Can regular (non-admin) users configure the quick search fields?
A: No. Only users in the Administration / Settings group can create or modify configurations. Regular users can only use the filter bar.
Q: Does this module modify Odoo core files?
A: No. It uses standard Odoo extension mechanisms (OWL patches, XML template inheritance). No core files are touched, safe for upgrades.
Q: Does it work on kanban, pivot, or form views?
A: Currently designed for list (tree) views only.
Q: How do relational filters work with multiple selections?
A: Multiple tags use the "in" operator (OR within that field). Conditions across different fields are combined with AND logic.
Q: Keyboard shortcuts?
A: Enter = search | Backspace (empty input) = remove last tag | Escape = close dropdown
Need Help?
For questions, bug reports, or feature requests, contact us at huuthinh17596@gmail.com
Made with care by Thinh Nguyen Huu — Odoo 19.0
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module