Skip to Content
Odoo Menu
  • Sign in
  • Try it free
  • Apps
    Finance
    • Accounting
    • Invoicing
    • Expenses
    • Spreadsheet (BI)
    • Documents
    • Sign
    Sales
    • CRM
    • Sales
    • POS Shop
    • POS Restaurant
    • Subscriptions
    • Rental
    Websites
    • Website Builder
    • eCommerce
    • Blog
    • Forum
    • Live Chat
    • eLearning
    Supply Chain
    • Inventory
    • Manufacturing
    • PLM
    • Purchase
    • Maintenance
    • Quality
    Human Resources
    • Employees
    • Recruitment
    • Time Off
    • Appraisals
    • Referrals
    • Fleet
    Marketing
    • Social Marketing
    • Email Marketing
    • SMS Marketing
    • Events
    • Marketing Automation
    • Surveys
    Services
    • Project
    • Timesheets
    • Field Service
    • Helpdesk
    • Planning
    • Appointments
    Productivity
    • Discuss
    • Approvals
    • IoT
    • VoIP
    • Knowledge
    • WhatsApp
    Third party apps Odoo Studio Odoo Cloud Platform
  • Industries
    Retail
    • Book Store
    • Clothing Store
    • Furniture Store
    • Grocery Store
    • Hardware Store
    • Toy Store
    Food & Hospitality
    • Bar and Pub
    • Restaurant
    • Fast Food
    • Guest House
    • Beverage Distributor
    • Hotel
    Real Estate
    • Real Estate Agency
    • Architecture Firm
    • Construction
    • Property Management
    • Gardening
    • Property Owner Association
    Consulting
    • Accounting Firm
    • Odoo Partner
    • Marketing Agency
    • Law firm
    • Talent Acquisition
    • Audit & Certification
    Manufacturing
    • Textile
    • Metal
    • Furnitures
    • Food
    • Brewery
    • Corporate Gifts
    Health & Fitness
    • Sports Club
    • Eyewear Store
    • Fitness Center
    • Wellness Practitioners
    • Pharmacy
    • Hair Salon
    Trades
    • Handyman
    • IT Hardware & Support
    • Solar Energy Systems
    • Shoe Maker
    • Cleaning Services
    • HVAC Services
    Others
    • Nonprofit Organization
    • Environmental Agency
    • Billboard Rental
    • Photography
    • Bike Leasing
    • Software Reseller
    Browse all Industries
  • Community
    Learn
    • Tutorials
    • Documentation
    • Certifications
    • Training
    • Blog
    • Podcast
    Empower Education
    • Education Program
    • Scale Up! Business Game
    • Visit Odoo
    Get the Software
    • Download
    • Compare Editions
    • Releases
    Collaborate
    • Github
    • Forum
    • Events
    • Translations
    • Become a Partner
    • Services for Partners
    • Register your Accounting Firm
    Get Services
    • Find a Partner
    • Find an Accountant
      • Get a Tailored Demo
    • Implementation Services
    • Customer References
    • Support
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +32 2 290 34 90
    • Get a Tailored Demo
  • Pricing
  • Help
  1. APPS
  2. Extra Tools
  3. List View Column Filters v 17.0
  4. Sales Conditions FAQ

List View Column Filters

by CML https://kaypi.pe
Odoo

$ 200.00

v 17.0 Third Party
Live Preview
Apps purchases are linked to your Odoo account, please sign in or sign up first.
Availability
Odoo Online
Odoo.sh
On Premise
Lines of code 9182
Technical Name cml_web_list_view
LicenseLGPL-3
Websitehttps://kaypi.pe
You bought this module and need support? Click here!
Availability
Odoo Online
Odoo.sh
On Premise
Lines of code 9182
Technical Name cml_web_list_view
LicenseLGPL-3
Websitehttps://kaypi.pe
List View Column Filters | Advanced List Layout Manager
Smart header filters, linked native search and per-user list personalization for Odoo 17

cml_web_list_view extends Odoo list views with a powerful filter row under each header and a complete Manage list view panel. Users can apply advanced filter tokens, open linked native domain filters, reorganize columns, and keep personalized layouts per model/view context.

  • ✅ Smart Header Filters — field-aware behavior for text, number, boolean, date/datetime, selection, many2one and x2many columns
  • ✅ Token-Based Input — supports operators like >=, !=, ranges with .., plus set/unset shortcuts
  • ✅ Many2one Autocomplete — relation lookup with label hydration, ID support, and stable state after rerender
  • ✅ Many2many / One2many Modes — Contains any, Contains all, Is not in, Has lines and No lines
  • ✅ Linked Native Filter Button — open Domain Selector per column without losing header filter context
  • ✅ Manage List View Sidebar — Visible/Hidden tabs, Available search list, drag reorder and reset view
  • ✅ Dynamic Columns + Safe Persistence — validated dynamic fields, adaptive min column widths, and local/server sync per user/model/view scope
✉ Book a Live Demo ▶ Watch on YouTube
  • ✔ Community
  • ✔
    Enterprise
    On-premises
  • ✔ Odoo.sh
  • ✘ Online
Odoo Version
17.0
Depends on
web
License
LGPL-3
Module
cml_web_list_view
Main list view with smart filters and list management actions
Main list view showing column filters and manage list view controls
📖 Documentation
  • 📖 User Guide
  • 📦 Installation
  • ❓ FAQ
  • 📧 Support
  • 📋 1. Overview
  • 2. Char / Text
  • 3. Float / Numeric
  • 4. Date / Datetime
  • 5. Selection
  • 6. Many2one
  • 7. Many2many / One2many
  • 8. Access Manage List
  • 9. Panel Manage List
  • 10. Dynamic Fields
  • 11. Persistence / Reset

1. Overview

The module adds a dedicated filter row below list headers, links each field to native domain filtering, and keeps per-user layout preferences. It is designed to speed up day-to-day list exploration without replacing native search tools.

Typical flow
  1. Type quick terms in header filters (text, numeric, date, relation).
  2. Use the native filter button on a column when you need full domain editing.
  3. Open Manage list view to reorganize and hide/show columns.
  4. Apply and continue with your personalized layout.
Overview of list personalization flow

2. Char / Text filter

Char and text fields use a single fast input with token support. Press Enter to add terms as chips and keep stacking conditions.

  • Type: plain text input.
  • Behavior: contains/equals/not equals/starts with/ends with and wildcard support (*, ?).
  • Default condition (typed input): contains (ilike).
  • Use case: names, references, notes, and quick multi-term narrowing.
Char and text filter example

Text input with tokenized terms and wildcard matching.

3. Float / Numeric filter

Float, integer and monetary fields use a smart single input parser. You can enter exact values, operators, or ranges directly.

  • Type: numeric text input with parsing.
  • Behavior: supports patterns like 10, >= 10, != 0, 10..50.
  • Default condition (typed input): equals (=) when no operator is provided.
  • Use case: totals, quantities, amounts, and KPI thresholds.
Float and numeric range filter example

Smart numeric parsing for exact, comparison, and range filters.

4. Date / Datetime filter

Date and datetime columns support typed intervals and comparison operators. Datetime values preserve precision when available.

  • Type: date/datetime widget with token confirmation.
  • Behavior: supports =, >=, <=, and ranges with ...
  • Default condition (typed input): equals (=); for datetime, equality is interpreted as day range.
  • Use case: follow-ups, deadlines, posting dates, and timestamps.
Date and datetime filter example

Date and datetime filtering with range and comparison support.

5. Selection filter

Selection fields are rendered as compact dropdown controls with all options from the field definition.

  • Type: select dropdown.
  • Behavior: exact value matching plus quick clear and native link.
  • Default condition: exact equals (=) for the selected option.
  • Use case: workflow state/status filters with predictable values.
Selection filter example

Selection filtering by exact status/category from dropdown values.

6. Many2one filter

Many2one columns use autocomplete lookup with robust label restoration and server hydration for saved IDs.

  • Type: autocomplete relational input.
  • Behavior: search by display name, confirm with Enter, and support ID tokens like #15.
  • Default condition: typed text uses ilike; selected record or numeric ID uses exact match (=).
  • Use case: customer, product, salesperson, project, analytic account.
Many2one autocomplete filter example

Relational autocomplete with text, ID and set/unset token support.

7. Many2many / One2many filter

X2many columns support relation-aware modes for practical filtering across related records.

  • Contains any: at least one selected relation is present.
  • Contains all: all selected relations are present.
  • Is not in: excludes rows matching selected relations.
  • Default condition: Contains any when relation values are selected.
  • Has lines / No lines: presence filter without picking tags.
Many2many and one2many filter modes example

Many2many/One2many modes: Contains any/all, Is not in, Has lines, No lines.

8. How to open Manage list view

Users can open the panel directly from the optional columns dropdown in any list view. No technical mode is required.

Access steps
  1. Open any list view (customers, products, invoices, etc.).
  2. Click the optional columns dropdown in the top-right header.
  3. Select Manage list view.
  4. The side panel opens with current In view and Available field state.
Tip: while the dropdown is open, the module preserves width and position to keep toggling stable.
Manage list view entry from optional columns dropdown

Entry point to Manage list view from optional columns dropdown.

9. Panel Manage List

Each user can personalize the list independently. Changes are applied to their own view context and never overwrite another user's layout.

What each user can do
  • Reorder columns with drag and drop.
  • Toggle visibility with dedicated Visible/Hidden tabs.
  • Add fields from Available at will.
  • Rename labels for better readability.
  • Return to the default view using Reset view.
Best practice: keep only business-critical columns visible to maintain speed and clarity.
Manage list view panel with per-user personalization actions

Per-user panel to reorder, hide/show, relabel, and reset list layout.

10. Dynamic field add and validation

Add columns by technical field name. The module validates field existence, supported type, and read access before enabling each dynamic column.

  • Allowed dynamic types include boolean, text, numeric, date, selection and many2one.
  • Values are loaded in batch to avoid noisy per-row queries.
  • Access/Missing read errors are handled gracefully with safe fallbacks.
  • Saved layout is sanitized if a previously-added field disappears.

11. Persistence and reset

Layout and optional fields are persisted per user and scope using local and server synchronization. Filters can be cleared quickly from header actions.

  • Server model: cml.list.view.preference.
  • Scope: user + company + model + view (+ nested data).
  • Reset: use Reset view from panel.
  • Privacy: users only access their own preference rows.
Tip: after changing layout, reload the view once to verify end-to-end persistence on your real workflow.
Installation steps
  1. Place cml_web_list_view in your custom addons path.
  2. Update Apps List from Apps menu.
  3. Install List View Column Filters.
  4. Upgrade module when deploying updates:
./odoo-bin -c your_odoo.conf -d your_database -u cml_web_list_view --stop-after-init
Validation tip: test one list per field type, verify native filter linking, and confirm preferences after reload.
❓ Does this replace native Odoo search?

No. It complements native search with direct column-level filtering and SearchModel sync.

❓ What happens if a saved field no longer exists?

Saved layout is sanitized automatically and obsolete dynamic fields are skipped to avoid crashes.

❓ Can I still use native advanced filters?

Yes. Header filters include a native filter button per field so you can open and edit a full domain condition in Odoo's dialog.

❓ Are filters only local in the browser?

Filtering is applied instantly in the list for responsiveness, and synced with SearchModel/server domain whenever the field supports domain conversion.

❓ Are preferences shared across companies and views?

No. Preferences are scoped by user, company, model, view, and nested context, so each workspace keeps its own layout configuration.

📧

Need Help?

Contact us for technical support, bug reports, feature requests, or help adapting list filters and layouts to your team workflow.

Contact Support

⏰ Response time: 24–48 business hours

⭐ If this module helps your team, please leave a review on Odoo Apps ⭐

Please log in to comment on this module

  • The author can leave a single reply to each comment.
  • This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
  • If you want to start a discussion with the author or have a question related to your purchase, please use the support page.
Community
  • Tutorials
  • Documentation
  • Forum
Open Source
  • Download
  • Github
  • Runbot
  • Translations
Services
  • Odoo.sh Hosting
  • Support
  • Upgrade
  • Custom Developments
  • Education
  • Find an Accountant
  • Find a Partner
  • Become a Partner
About us
  • Our company
  • Brand Assets
  • Contact us
  • Jobs
  • Events
  • Podcast
  • Blog
  • Customers
  • Legal • Privacy
  • Security

Odoo is a suite of open source business apps that cover all your company needs: CRM, eCommerce, accounting, inventory, point of sale, project management, etc.

Odoo's unique value proposition is to be at the same time very easy to use and fully integrated.

Website made with