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
    • Estate 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
    • Meet an advisor
    • Implementation Services
    • Customer References
    • Support
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +1 (650) 691-3277
    Get a demo
  • Pricing
  • Help

Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:

  • CRM
  • e-Commerce
  • Accounting
  • Inventory
  • PoS
  • Project
  • MRP
All apps
You need to be registered to interact with the community.
All Posts People Badges
Tags (View all)
odoo accounting v14 pos v15
About this forum
You need to be registered to interact with the community.
All Posts People Badges
Tags (View all)
odoo accounting v14 pos v15
About this forum
Help

Apply pricelist in cascad with fix price

Subscribe

Get notified when there's activity on this post

This question has been flagged
sales
1 Reply
1100 Views
Avatar
Christian Pompier

hello,

how can i do in odoo to have a cascad in the pricelist with fix price. by example


My customer X has a list price

The same cutomer is plomber, and as plomber he has a pricelist

for each product which are not in pricelist 1 or 2, the price is DEFAULT


how can ask to odoo to check the pricelist 1  and after 2 if the customer is a plomber and 3 if not response 


thans you

0
Avatar
Discard
Avatar
DataInteger Consultancy Services LLP
Best Answer
What You Want

If a product is not in the Plumber Pricelist , then fallback to Customer-specific Pricelist , and if not found, fallback to Default price (Public or Cost price) .

Why This Is Not Native

Odoo only supports one active pricelist per sale order/customer . It does not support fallback chains across multiple pricelists out of the box.


Solution Outline (Technical)

Step 1: Create Multiple Pricelists

  • pricelist_1 : For plumbers
  • pricelist_2 : For individual customers
  • default : Public or base price (fallback)

Step 2: Custom Module Code (Python)

You will override the get_product_price logic to check multiple pricelists in order.

from odoo import models

class ProductTemplate(models.Model):
    _inherit = 'product.template'

    def get_price_cascade(self, product, partner):
        "Custom method to cascade through pricelists"

        # Step 1: Get all pricelists in priority order
        pricelists = []
        if partner.is_plumber and partner.plumber_pricelist_id:
            pricelists.append(partner.plumber_pricelist_id)
        if partner.property_product_pricelist:
            pricelists.append(partner.property_product_pricelist)

        # Step 2: Try to get price from each pricelist
        for pricelist in pricelists:
            price = pricelist._compute_price_rule([(product, 1.0, partner)], partner)[product.id][0]
            if price:
                return price

        #Step 3: Fallback to default price
        return product.lst_price # or product.standard_price depending on your policy

Step 3: Update Your Sales Order Logic (Optional)

Override or extend the sales order form view to show the calculated price using the new method get_price_cascade .


Add Partner Field: is_plumber and plumber_pricelist_id

Extend the res.partner model:

from odoo import models, fields

class ResPartner(models.Model):
    _inherit = 'res.partner'

    is_plumber = fields.Boolean(string="Is Plumber?")
    plumber_pricelist_id = fields.Many2one('product.pricelist', string="Plumber Pricelist")

Testing Example
  • Product A in pricelist_plumber → Use it
  • Product B not in pricelist_plumber , but in pricelist_customer → Use it
  • Product C not in both → Use lst_price
Can You Do This with No Code?

Not fully. Odoo's standard UI only allows selecting one pricelist per customer or sale.


Thanks & Regards,

Email: contact@datainteger.com

0
Avatar
Discard
Enjoying the discussion? Don't just read, join in!

Create an account today to enjoy exclusive features and engage with our awesome community!

Sign up
Related Posts Replies Views Activity
Is there a way to sell the same product both as a recurring subscription and as a one-time purchase?
sales
Avatar
Avatar
1
Nov 25
258
How to allow quotation requests (RFQ) from the eCommerce instead of direct sales
sales
Avatar
Avatar
Avatar
2
Nov 25
1069
Cannot make Sales Quotation to one Customer
sales
Avatar
Avatar
2
Nov 25
467
Products Image
sales
Avatar
Avatar
2
Oct 25
516
Edit the Sign & accept quotation button
sales
Avatar
0
Oct 25
1470
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
الْعَرَبيّة Català 简体中文 繁體中文 (台灣) Čeština Dansk Nederlands English Suomi Français Deutsch हिंदी Bahasa Indonesia Italiano 日本語 한국어 (KR) Lietuvių kalba Język polski Português (BR) română русский язык Slovenský jazyk slovenščina Español (América Latina) Español ภาษาไทย Türkçe українська Tiếng Việt

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

Odoo Experience on YouTube

1. Use the live chat to ask your questions.
2. The operator answers within a few minutes.

Live support on Youtube
Watch now