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. Custom Modules
  3. Contact Role-Based Filtering v 18.0
  4. Sales Conditions FAQ

Contact Role-Based Filtering

by Md. Jubaer Mahmud Sarker https://www.linkedin.com/in/jmsman3/
Odoo
v 18.0 Third Party 1
Download for v 18.0 Deploy on Odoo.sh
Apps purchases are linked to your Odoo account, please sign in or sign up first.
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies • Purchase (purchase)
• Sales (sale_management)
• Invoicing (account)
• Discuss (mail)
Lines of code 68
Technical Name contact_role_filter
LicenseLGPL-3
Websitehttps://www.linkedin.com/in/jmsman3/
You bought this module and need support? Click here!
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies • Purchase (purchase)
• Sales (sale_management)
• Invoicing (account)
• Discuss (mail)
Lines of code 68
Technical Name contact_role_filter
LicenseLGPL-3
Websitehttps://www.linkedin.com/in/jmsman3/

Contact Role-Based Filtering

Odoo 18 Contacts Sales Purchase

A clean, simple module that introduces role-based contact classification so that Sales Orders show only Customers and Purchase Orders show only Vendors — automatically, with no manual filtering required.

Problem This Module Solves

In standard Odoo, all contacts are stored together — Customers, Vendors, Employees, and Others. When a user opens a Sales Order or Purchase Order, the contact dropdown shows everyone, causing:

  • Users accidentally selecting a Vendor in a Sales Order
  • Users accidentally selecting a Customer in a Purchase Order
  • Incorrect reports and financial documents
  • Data inconsistency in master records
  • Slower workflows and high dependency on user training

Solution

This module adds two simple boolean fields to every contact — Is a Customer and Is a Vendor. Based on these flags:

  • Sales Orders automatically show only contacts marked as Customer
  • Purchase Orders automatically show only contacts marked as Vendor
  • A contact marked as both appears in both modules
  • A contact with no role appears in neither
  • Creating a contact from Sales auto-sets it as Customer
  • Creating a contact from Purchase auto-sets it as Vendor

Visibility Rules

Contact Role Visible in Sales Visible in Purchase
Customer only ✔ Yes ✘ No
Vendor only ✘ No ✔ Yes
Customer + Vendor (Both) ✔ Yes ✔ Yes
None ✘ No ✘ No

Key Features

  • Two new toggle fields on every contact: Is a Customer and Is a Vendor
  • Sales Order customer field filters to customers only — automatically
  • Purchase Order vendor field filters to vendors only — automatically
  • Dual-role contacts (Customer + Vendor) work in both modules
  • New contact created from Sales Order auto-gets Customer role
  • New contact created from Purchase Order auto-gets Vendor role
  • Optional Customer / Vendor columns visible in contact list view
  • No manual filters needed — zero technical knowledge required
  • Fully independent from Odoo's built-in customer_rank / supplier_rank system

How It Works

  • Open any contact record in Odoo Contacts
  • Find the new Contact Role section with two toggle switches
  • Toggle Is a Customer ON → contact appears in Sales Order dropdown
  • Toggle Is a Vendor ON → contact appears in Purchase Order dropdown
  • Both can be ON simultaneously for dual-role contacts
  • All filtering happens automatically — no manual action required

Dependencies

  • sale_management
  • purchase

Developed by: Md. Jubaer Mahmud Sarker
LinkedIn: linkedin.com/in/jmsman3

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, please use the developer contact information. They can usually be found in the description.
Please choose a rating from 1 to 5 for this module.
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