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. Sales
  3. Price Engine v 19.0
  4. Sales Conditions FAQ

Price Engine

by Nawah Technical Solutions and Software W.L.L https://www.nawah.qa
Odoo

$ 50.00

v 19.0 Third Party
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 • Discuss (mail)
• Sales (sale_management)
• Invoicing (account)
Lines of code 5782
Technical Name price_engine
LicenseOPL-1
Websitehttps://www.nawah.qa
You bought this module and need support? Click here!
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies • Discuss (mail)
• Sales (sale_management)
• Invoicing (account)
Lines of code 5782
Technical Name price_engine
LicenseOPL-1
Websitehttps://www.nawah.qa
  • Description
  • License

Dynamic pricing for Odoo Sales

Price Engine

Build formula-based sale prices, apply conditional rules, distribute agreed order totals, and trace how every calculated price was produced.

Price Engine helps sales and pricing teams replace repeated manual price edits with controlled pricing logic inside Odoo.

Odoo 19.0 Sales Community and Enterprise OPL-1
Price Engine formula pricing workflow preview
  • Overview
  • Highlights
  • Pricelist Compare
  • Workflow
  • Screens
  • Use Cases
  • Technical
  • Security
  • FAQ
  • Support

Control pricing logic inside Odoo

Price Engine lets you define reusable pricing formulas and apply them directly to sale order lines. Variables can come from products, sale orders, sale order lines, customers, or fixed values.

The module supports safe mathematical expressions, conditional if/else logic, field-based conditional rules, approval before use, simulation, bulk product assignment, manual override handling, and price tracing.

It is designed for teams that need more control than static product prices, while still keeping pricing rules readable and auditable.

What users can do
  • Calculate sale order prices from approved formulas.
  • Use different formula branches when conditions match.
  • Preview pricing impact before applying changes.
  • Keep manual price overrides during recalculation.
  • Explain the formula, rule, and variables behind a line price.

Highlights

Practical pricing tools built into Sales, Products, and Settings.

Formula pricing

Use arithmetic, comparisons, if/else logic, and supported functions such as min, max, round, abs, ceil, and floor.

Configurable variables

Map formula variables to numeric fields or fixed values. Variables written as {{variable_name}} are detected from formulas.

Conditional formula rules

Use ordered rules to select a formula branch by field value. The first matching rule wins, and the base formula remains the fallback.

Date and customer targeting

Set valid-from and valid-until dates, apply to all customers, or restrict an engine to selected customers.

Approval workflow

Move engines through Draft, Pending Approval, and Approved states. Managers or a configured approver can approve pricing engines.

Simulation

Run a read-only simulation against sale order lines by date, customer, product, and order state before changing operational prices.

Bulk product assignment

Apply an approved engine to selected products, all products in selected categories, or all products.

Distribute amount

Enter a target untaxed total and distribute it proportionally across order lines with currency-aware rounding.

Explain Price

Review the selected engine, matched rule, formula, variable values, calculated price, and any formula error for a sale order line.

History and audit

Formula changes, rule changes, approval state changes, and sale order amount distributions are stored for review.

Import and export

Export engines as JSON with variables and conditional rules. Import support creates a draft engine for review before use.

Bundled templates

Includes a protected default product price engine and 17 additional formula templates for common pricing patterns.

Price Engine vs Odoo Pricelist

Price Engine complements Odoo's native pricelists. Use the right tool for the pricing problem you need to solve.

Use Odoo Pricelists when
  • You need standard rule-based pricing.
  • You manage fixed prices, simple discounts, or customer-specific price lists.
  • You need catalog pricing by product, category, quantity, date range, or currency.
  • You want to stay fully within Odoo's standard pricing configuration.
Use Price Engine when
  • You need formulas instead of predefined discount rules.
  • You calculate from numeric product, order, line, customer, or fixed variables.
  • You need conditional formula branches, approval, simulation, and price tracing.
  • You need to distribute an agreed sale order total across order lines.
Need Odoo Pricelist Price Engine
Pricing approach Rule-based price selection from configured pricelist items. Formula-based calculation on the sale order line.
Best fit Standard discounts, fixed prices, customer pricing, quantity breaks, and currency price lists. Cost-plus formulas, margin floors, rounding strategies, tier formulas, and multi-variable calculations.
Fields used in logic Uses the fields exposed by Odoo's standard pricelist rules. Formula variables can map numeric fields from allowed models; conditional rules can also inspect supported text, boolean, selection, and many2one fields.
Custom fields Custom pricing logic normally requires configuration or development outside the standard rule set. Custom numeric fields on allowed models can be used as formula variables once available in Odoo.
Approval and audit Uses standard Odoo configuration and access control. Includes Draft, Pending Approval, and Approved states, plus formula/rule version history.
Explainability Follows Odoo's standard pricing behavior. Explain Price shows the engine, matched rule, formula, variable values, result, and errors.
Order total distribution Not designed for proportional distribution of a target order total. Distribute Amount adjusts valid sale order lines to match a target untaxed total and records history.
Practical recommendation: keep Odoo Pricelists for simple catalog, customer, and currency pricing. Add Price Engine when a product's sale price needs formula logic, controlled approval, simulation, or traceability. If both are active in your sales flow, test the final sale order behavior so your team understands which mechanism sets the line price.

Workflow

Step 1
Create the engine

Name it, choose company scope, and set optional dates and customers.

Step 2
Write the formula

Use variables such as {{product_price}}, {{qty}}, and {{discount}}.

Step 3
Map variables

Connect variables to allowed Odoo fields or fixed values.

Step 4
Add rules

Create optional conditional branches for customer, product, order, or line values.

Step 5
Test and simulate

Use sample values and the simulation wizard before operational use.

Step 6
Submit and approve

Move from draft to pending approval, then approve when ready.

Step 7
Assign to products

Set the engine on one product or use the bulk apply wizard.

Step 8
Use on sale orders

Calculate, recalculate, distribute totals, and explain prices as needed.

Screens You Will Use

The module adds these practical screens and actions to Odoo.

Price Engine form screenshot placeholder
Price Engine form

Main configuration, approval, conditional rules, variables, and history.

Formula and preview screenshot placeholder
Formula and preview

Formula body, sample values, and safe calculation testing.

Variable configuration screenshot placeholder
Variable configuration

Map formula variables to Odoo fields or fixed values.

Date and customer restrictions screenshot placeholder
Restrictions

Date validity, customer targeting, and company-aware pricing.

Sale order integration screenshot placeholder
Sale order integration

Line pricing, manual overrides, recalculate, and distribute actions.

Price simulation screenshot placeholder
Price simulation

Preview current price, new price, difference, and matched rule.

Price Engine form

Manage formula, state, approval details, dates, customer targeting, variables, conditional rules, examples, and version history.

Conditional Rules tab

Configure model, field, operator, comparison value, and formula body for each ordered rule branch.

Variables tab

Review detected variables and map each one to a numeric field or a fixed value with sample data for testing.

Product form field

Select the approved price engine that should be used as the default pricing logic for that product.

Sale order controls

Recalculate prices, distribute a target amount, view line-level engine fields, and mark manual price overrides.

Explain Price wizard

Inspect the matched rule, actual condition values, formula used, variables, calculated price, and formula errors.

Price Simulation wizard

Filter sale order lines and compare current and simulated prices, including total difference and matched rule.

Price Distribution history

Review previous target-total distributions with original total, target total, difference, user, date, and line detail.

Sales settings

Administrators can configure the approver and allowed models for formula variables and conditional rules.

Use Cases

B2B and wholesale

Customer-specific engines, quantity formulas, and contract-style rules for selected customers.

Retail and promotions

Scheduled promotional formulas, volume discounts, and protected price floors.

Manufacturing and cost-plus pricing

Formulas based on product cost, markup, margin multipliers, and order quantities.

Service pricing

Package, tier, and conditional formulas using customer, order, or line information.

Progress-based projects

Agree on a final order amount and distribute it across sale order lines while keeping an audit trail.

Teams with pricing governance

Require approval, track changes, and explain calculated prices when users or managers need visibility.

Technical Information

Module version 19.0.1.12.7
Odoo version 19.0
Edition support Community and Enterprise
Category Sales
License OPL-1
Application type Add-on module for Sales, not a standalone application
Odoo dependencies sale_management, product, mail
Python dependencies No separate pip package is declared; the module uses Odoo APIs, Python standard library modules, and MarkupSafe from the Odoo stack.
Configuration menu Sales > Configuration > Price Engines
Settings Sales settings include Price Engine approver and allowed variable models.
Scheduled action Daily date notifications for approved engines starting or ending today.
Templates Protected default engine plus 17 additional formula templates.
Implemented models and integrations
  • price.engine
  • price.engine.variable
  • price.engine.rule
  • price.engine.version
  • sale.order.distribution.history
  • Product template default price engine field
  • Sale order line price engine and manual override fields
  • Sale order recalculation and amount distribution actions
  • Simulation, import, value picker, and trace wizards
  • Mail chatter and activity support on price engines

Access Rights

The module ships with dedicated Price Engine security groups and company-aware rules.

Group Typical users Main permissions
Price Engine User Sales users Read price engines, variables, and rules. Use sale order tools such as distribute amount, recalculate prices, and Explain Price.
Price Engine Manager Pricing managers and sales managers Create and edit engines, variables, and rules. Approve engines, simulate prices, bulk apply engines, and review version history.
Price Engine Administrator System administrators Full administrative access, including engine deletion, formula import, and Price Engine settings. Assigned to root and admin users by default.
Engines, conditional rules, version records, and distribution history use company-aware access rules. The protected default engine cannot be deleted.

FAQ

Which Odoo version is supported?

This module is packaged for Odoo 19.0 and depends on Sales, Product, and Mail.

Does it work in Community?

Yes. The manifest uses standard dependencies available in Odoo Community, and it can also be used with Enterprise.

Does Price Engine replace Odoo Pricelists?

No. Odoo Pricelists remain useful for standard catalog, customer, quantity, date, and currency pricing. Price Engine is for products that need formula-based line price calculation, approval, simulation, tracing, or target-total distribution.

Do users need Python development skills?

No Python code is required to create day-to-day pricing formulas. Users configure formulas, variables, and rules from Odoo forms.

Can formulas use fields from different records?

Yes. By default, variables can use allowed fields from sale orders, sale order lines, products, product templates, and customers.

What happens if a salesperson edits a price?

The line can be marked as a manual override. Recalculation can keep manual overrides or reset them and recalculate all engine lines.

Can I test pricing before using it?

Yes. The engine form includes formula testing with sample values, and the simulation wizard previews pricing impact on sale order lines.

Can I see why a price was calculated?

Yes. The Explain Price wizard shows the engine, matched rule, formula, variables, calculated result, and errors if any.

Can I share engines between databases?

Export creates a JSON file with the engine, variables, and rules. Import creates a draft engine so it can be reviewed before approval.

How does amount distribution work?

The wizard compares the current untaxed total with a target total, applies a proportional ratio to valid lines, and stores the result in distribution history.

Are pricing changes auditable?

Formula, rule, and approval changes create version records. Price distributions are also stored on the sale order.

Support

Need help before or after purchase? Contact the support team for setup and configuration questions.

Contact support

Developed by Nawah Technical Solutions and Software W.L.L - Licensed under OPL-1

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

  • 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