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. Dynamic Pricing & AI Sales Forecast v 19.0
  4. Sales Conditions FAQ

Dynamic Pricing & AI Sales Forecast

by Veloxio
Odoo

$ 114.39

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 • CRM (crm)
• Inventory (stock)
• Invoicing (account)
• Purchase (purchase)
• Sales (sale_management)
• Calendar (calendar)
• Contacts (contacts)
• Discuss (mail)
Lines of code 1576
Technical Name dynamic_pricing_forecast
LicenseOPL-1
You bought this module and need support? Click here!
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies • CRM (crm)
• Inventory (stock)
• Invoicing (account)
• Purchase (purchase)
• Sales (sale_management)
• Calendar (calendar)
• Contacts (contacts)
• Discuss (mail)
Lines of code 1576
Technical Name dynamic_pricing_forecast
LicenseOPL-1
  • Description
  • License
Veloxio

Dynamic Pricing & AI Sales Forecast

Rule-based dynamic pricing engine combined with an AI-powered 30/60/90-day revenue forecaster, customer churn detection, and a live OWL dashboard — all inside Odoo 19.

Odoo 19.0 OPL-1 € 99 — Launch Price scikit-learn OWL 2
6
Rule Types
3
Forecast Horizons
4
Health Signals
3
Cron Jobs
1
OWL Dashboard
∞
Products

The Problem

Manual pricing is costing you money — every day

Most Odoo stores set prices once and forget them. That means you're selling fast-moving stock too cheap, sitting on dead inventory at full price, and watching Gold customers get the same deal as a first-time buyer.

📉
Stock goes to zero at the wrong price

When stock drops below 5 units, you should be charging more — not the same price as when you had 200 in the warehouse. Every unit sold cheap is margin left on the table.

📦
Dead inventory drains cash

Overstock sitting in the warehouse for 90 days? Without automatic price reductions, it stays there. A 10% auto-discount moves product faster than a manual campaign you'll never remember to run.

🔮
No visibility into next month's revenue

Your sales manager is guessing next quarter's target. There is no data-backed forecast — just spreadsheets and gut feel. Budget decisions get made on hope, not numbers.

👻
Customers churn silently

A customer who bought every month for a year suddenly goes quiet. Nobody notices until the annual revenue review. By then it's too late to win them back.

The Solution

This module automates every one of those problems

Set your rules once. Every night, the pricing engine scans your catalogue, adjusts prices based on live stock and demand, logs every change with a full audit trail, and emails nothing — it just works. In the morning you open the dashboard and see exactly what changed and why.

Raise prices when stock is low
Discount overstock automatically
Forecast revenue 90 days ahead
Spot churning customers before they leave
What changes after you install this module
Situation Without this module With this module
Stock drops to 3 units Price stays the same — sold at a loss of margin Stock-Low rule fires automatically, price rises 10–20%
200 units sit unsold for 60 days Takes up warehouse space, no action taken Overstock rule kicks in, price drops to move inventory
Gold customer places a quote Gets the same public price as everyone else Customer-Tier rule gives them a 5% loyalty discount
End-of-season products Manager manually runs a sale — if remembered Time-based rule activates on date range, no action needed
Planning next quarter budget Spreadsheet guess based on last year's numbers 30/60/90-day AI forecast ready every Monday morning
Key customer goes quiet Noticed at year-end review when it's too late Customer Health flags them as At-Risk within days
Cost of goods increases 5% Selling below margin until someone updates prices Margin-Protect rule ensures prices stay above your floor

What's inside

Everything you need to price smarter

One module, four interconnected engines — working automatically every night so you wake up to optimised prices and fresh forecasts.

Dynamic Pricing Engine

Apply priority-ordered pricing rules across your entire product catalogue every night. Each rule can raise, lower, or formula-adjust prices based on live stock levels, demand rates, customer tiers, seasons, or margin floors.

  • 6 rule types
  • Min / max price guards
  • Full audit history log
  • Formula expressions
AI Sales Forecasting

Uses Ridge Regression (scikit-learn) trained on 365 days of historical order data to predict revenue for the next 30, 60, and 90 days. Graceful fallback to rolling average when scikit-learn is not installed.

  • 30 / 60 / 90-day horizons
  • Lag-7 & lag-30 features
  • Accuracy tracking vs actuals
  • Confidence scoring
Customer Health Scoring

Automatically scores every customer 0–100 based on recency, order frequency, and payment behaviour. Flags at-risk and churned customers so sales teams can act before revenue is lost.

  • Recency score (40%)
  • Frequency score (30%)
  • Payment score (30%)
  • Healthy / At-Risk / Churned
Manual Pricing Wizard

Trigger the pricing engine on-demand for any subset of products. Dry-run mode shows exactly which prices would change before a single record is written — perfect for testing new rules safely.

  • Dry-run preview
  • Product subset filter
  • HTML result table
  • History logged as "manual"
Live OWL Dashboard

A fully reactive OWL 2 dashboard showing real-time KPIs, forecast progress bars, customer health distribution, and the last 10 price changes — all in one screen.

  • 6 live KPI tiles
  • Revenue forecast bars
  • Health stacked bar
  • Recent changes table
Automated Scheduling

Three pre-configured scheduled actions run in the background: pricing runs nightly, forecasts regenerate weekly, and health scores refresh daily — zero manual intervention needed.

  • Nightly pricing cron
  • Weekly forecast cron
  • Daily health cron
  • Batch-safe commits

Pricing Engine

Six intelligent rule types

Rules are applied in priority order (lower number = first). Each rule evaluates conditions at runtime against live Odoo data and applies a percentage, fixed-amount, or custom Python formula adjustment.

Rules are stacked — a product can match multiple rules. The final price passes through each matched rule in sequence, with min/max guards applied after each step.
1 Stock Low

Raises price when stock falls below a threshold. Ideal for high-demand products running low.

2 Overstock

Discounts slow-moving items when stock exceeds a threshold. Clear warehouse space automatically.

3 Customer Tier

Different prices for Gold, Silver, Bronze and New customers. Stored directly on the partner record.

4 Time / Season

Active only between date_from and date_to. Perfect for seasonal promotions or end-of-month pushes.

5 Demand Surge

Triggers when the daily order rate exceeds a configurable multiplier threshold.

6 Margin Protection

Ensures the price never drops below a minimum margin percentage over product cost.

Formula-based adjustment example
# Available variables: price, cost, stock, demand_rate
# 15% markup over cost, but cap at 2× cost
min(cost * 2, max(cost * 1.15, price))
# Dynamic surge: +5% per unit below 10 in stock
price * (1 + max(0, 10 - stock) * 0.05)

AI Engine

How the sales forecast works

1
Collect 365 days of order data

An efficient SQL aggregation query groups sale.order lines by day, computing total revenue and order count per day — no large recordsets loaded into memory.

2
Feature engineering

Five time-based features are derived per day: day of week, month, day of year, 7-day lag, and 30-day lag. These capture seasonality and recent momentum.

3
Train Ridge Regression

A regularised linear model (Ridge, α=1.0) is fitted on standardised features using StandardScaler. Ridge is chosen for its robustness on small datasets without overfitting.

4
Predict 30 / 60 / 90 days

Three forecast records are created for each run, summing daily predictions. As actuals are filled in, accuracy percentage is computed automatically.

Accuracy tracking

Each forecast record stores both predicted and actual revenue. Once the horizon period ends and actuals are entered, the accuracy score is computed automatically:

# Accuracy formula
error = abs(predicted - actual) / actual
accuracy_pct = max(0, (1 - error) * 100)
Fallback mode

If scikit-learn or pandas are not installed, the engine automatically falls back to a 30-day rolling average with 50% confidence score. The module installs and runs without ML dependencies — they are optional enhancements.

Churn Prevention

Customer Health Scoring

Every customer with customer_rank > 0 gets a health score from 0–100 computed nightly. Three risk levels drive colour-coded badges in the list view and dashboard.

≥ 70
Healthy
40–69
At Risk
< 40
Churned
Score components & weights
Recency Score 40%
Full score if ordered in last 30 days. Zero if > 180 days.
Order Frequency 30%
Normalised to 0–100. 10 orders/month = 100 score.
Payment Score 30%
Starts at 100. Deducts 20 points per overdue invoice.

OWL 2 Dashboard

Everything at a glance

The dashboard loads instantly, requires no page refresh, and every tile navigates directly to the related list view.

12
Active Rules
47
Repriced Today
138
Healthy
24
At Risk
9
Churned
171
Total Tracked
Revenue Forecast vs Actuals
30-Day Forecast 2024-01-15
€ 84,200
€ 79,100
94% accurate
60-Day Forecast 2024-01-15
€ 162,400
Actuals not yet recorded
Customer Health Distribution
Healthy 138 (69%)
At Risk 24 (17%)
Churned 9 (14%)

Under the hood

How every calculation works

No black boxes. Here is exactly what runs, in what order, and how each number is computed — from your historical orders to the price on your product form.

1

Pricing Engine — nightly cron flow

①
Load Rules
Fetch all dynamic.pricing.rule records where active = True, sorted by priority ascending (lower number = applied first).
②
Load Products
Fetch all product.template where sale_ok = True and active = True. Processed in batches of 100 to avoid memory spikes.
③
Build Context
For each product, a context dict is built:
cost = standard_price
price = lst_price
stock = qty_available
demand_rate = 0.0 (default)
④
Match & Apply
Each rule is tested against the context. If it matches, its adjustment is applied to the running price. All matching rules chain — each one sees the price the previous one output.
⑤
Write & Log
If final price ≠ original by more than €0.001, lst_price is updated and a dynamic.pricing.history record is created with before/after prices and the triggering rule.
Rule match conditions (how each rule type decides to fire)
Rule Type Fires when… Price adjustment formula
Stock Low qty_available < stock_threshold price × (1 + value / 100) — e.g. +10%
Overstock qty_available > stock_threshold price × (1 + value / 100) — e.g. −15%
Customer Tier partner.customer_tier == rule.customer_tier Percentage or fixed amount adjustment
Time Based date_from ≤ today ≤ date_to Any adjustment type
Demand Surge demand_rate ≥ rule.demand_multiplier Injected externally — default 0, no match
Margin Protect lst_price < standard_price × (1 + value/100) Raises price to the minimum margin floor
Formula Always matches when scope matches Python expression: min(cost*2, max(cost*1.15, price))
Min/Max Price Guards — Every rule can have an optional min_price and max_price. After the adjustment formula runs, the result is clamped: final = max(min_price, min(max_price, computed)). Set 0 to disable the guard.

2

Forecast Engine — weekly cron flow

Step-by-step data pipeline
  1. SQL aggregation — one query fetches daily revenue and orders for the last 365 days from sale_order_line joined to sale_order (state IN sale/done, filtered by company).
  2. Feature engineering — from each date record, 5 features are extracted: day_of_week, month, day_of_year, lag_7 (7-day trailing avg revenue), lag_30 (30-day trailing avg revenue).
  3. StandardScaler — all 5 features are z-score normalised (mean=0, std=1) before training so no single feature dominates due to scale differences.
  4. Ridge Regression (alpha=1.0) — trained on the scaled features. Ridge adds L2 regularisation to prevent overfitting on short or sparse data. Requires ≥ 30 days of data to train; falls back to rolling average otherwise.
  5. Prediction loop — for each future day (1 → horizon_days), the same 5 features are computed from the target date using the last known lag_7 and lag_30 values. Each day's prediction is summed to produce total predicted revenue.
  6. Forecast records created — one sales.forecast record per horizon (30/60/90 days) is written with predicted_revenue, predicted_orders, and a confidence_score of 75% (ML path) or 50% (fallback path).
Fallback behaviour
If scikit-learn is not installed
The engine automatically falls back to a 30-day rolling average: avg_daily_revenue × horizon_days. The confidence score is set to 50% to signal lower accuracy. Install scikit-learn + numpy + pandas to unlock the ML path.
Minimum data requirement
Ridge Regression requires at least 30 days of historical sale orders. On a fresh database, the cron exits early without error and falls back automatically as data accumulates.
Feature importance (conceptual)
FeatureWhat it captures
lag_7Recent short-term trend (week-over-week pattern)
lag_30Medium-term baseline (monthly seasonality)
day_of_weekWeekend / weekday revenue dip
monthAnnual seasonal cycles (Q4 spike, summer dip)
day_of_yearFine-grained intra-year position

3

Customer Health Engine — daily cron flow

Scoring formula
# For each customer with customer_rank > 0
recency = max(0, 100 − (days_since_last_order / 180 × 100))
frequency = min(100, (total_orders / months_active) × 10)
payment = max(0, 100 − (overdue_invoices × 20))
score = recency×0.4 + frequency×0.3 + payment×0.3
# Risk classification
score ≥ 70 → Healthy
score 40–69 → At Risk
score < 40 → Churned
What each component measures
SignalWeightLogicBoundary
Recency 40% Counts days since last confirmed sale order. 0 days = 100, 180 days = 0. No order ever → 999 days → score 0
Frequency 30% Orders per month (total_orders ÷ months since first order). 10+ orders/month = 100. New customer with 1 order → ~10 score
Payment 30% Starts at 100. Each overdue unpaid invoice deducts 20 points. 5+ overdue invoices → score 0
Batch safe — The cron processes customers in batches of 50 and calls env.cr.commit() after each batch. On a database with 10,000 customers, this prevents a single long transaction from timing out or locking tables.

Complete data flow at a glance
Data Source (Odoo) → Engine → Output Written To Schedule
product.template (stock + cost) PricingEngine product.lst_price + dynamic.pricing.history Nightly 2 AM
sale_order_line (365-day history) ForecastEngine (Ridge) sales.forecast (30/60/90d records) Weekly Monday
sale.order + account.move HealthEngine customer.health (score + risk_level) Nightly daily
All three tables above OWL Dashboard Live JSON → KPIs, forecast bars, health chart On page load

UI Tour

Every screen, documented

AI Pricing Dashboard
Refresh
Active Rules
12
Repriced Today
47
Healthy
138
At Risk
24
Churned
9
Total
171
Revenue Forecast vs Actuals
30d Forecast2024-01-15
€ 84,200
€ 79,100
94%
60d Forecast2024-01-15
€ 162,400
Actuals not yet recorded
Customer Health
● Healthy138 (69%)
● At Risk24 (17%)
● Churned9 (14%)

Dashboard — live KPI tiles, forecast bars, health distribution, recent price changes table

Configuration Pricing Rules
New
PriorityNameRule TypeAdjustmentValueAll ProductsActive
5Margin Protection FloorMinimum MarginPercentage20%Active
10Low Stock SurgeStock BelowPercentage+15%Active
15Gold Customer DiscountCustomer TierPercentage-10%Active
20Summer SaleTime BasedPercentage-20%Archived

Pricing Rules list — sortable, filterable by rule type, archived rules greyed out

Low Stock Surge
SaveDiscard
Rule Definition
Name
Low Stock Surge
Priority
10
Rule Type
Stock Below Threshold
Stock Threshold
50 units
Price Adjustment
Type
Percentage
Value
+15%
Min Price
€ 0.00
Max Price
€ 0.00
Scope

Rule form — conditional fields show/hide based on rule type

Price Change History
DateProductBeforeAfter%
Jan 15Widget A€ 45.00€ 51.75+15%
Jan 15Gadget Pro€ 120.00€ 138.00+15%
Jan 14Bulk Pack€ 89.00€ 66.75-25%
Jan 14Cable Set€ 12.00€ 10.80-10%

Price Change History — full read-only audit trail

Forecasting Sales Forecasts
NameDateHorizonPredicted RevenueConfidenceActual RevenueAccuracyState
Forecast 2024-01-15 | 30d | All2024-01-1530€ 84,20075%€ 79,10094%Realized
Forecast 2024-01-15 | 60d | All2024-01-1560€ 162,40075%——Active
Forecast 2024-01-15 | 90d | All2024-01-1590€ 239,80075%——Active

Sales Forecasts list — colour-coded by state, graph and pivot tabs available

Forecast 2024-01-15 | 30d | All
Mark Realized
Draft Active Realized
Parameters
Date
2024-01-15
Horizon
30 days
Model
ridge_regression
Predicted
Revenue
€ 84,200.00
Orders
312
Confidence
75%
Actuals
Revenue
€ 79,100
Orders
298
Accuracy
94%

Forecast form — status bar workflow, accuracy auto-computed

Sales Forecasts
Graph
Revenue Forecast by Horizon
€ 84K
30d
€ 162K
60d
€ 240K
90d
Predicted Actual

Graph view — built-in Odoo bar chart, switchable measures

Forecasting Customer Health
Churned At Risk Healthy
CustomerScoreRiskLast OrderDays SinceOrdersRevenue
Acme Corp
88
Healthy 2024-01-12347€ 128,400
Beta Ltd
54
At Risk 2023-11-284812€ 34,800
Old Client Inc
22
Churned 2023-07-041955€ 8,200

Customer Health list — rows colour-coded by risk level, progress bar score widget

Acme Corp
Recompute ScoreHealthy
Customer
Acme Corp
Health Score
88 / 100
Score Components
Recency (40%)
94.4
Frequency (30%)
78.3
Payment (30%)
100.0
Complaints
0.0
Last Order
2024-01-12
Days Since
3
Total Orders
47
Total Revenue
€ 128,400

Health form — score components breakdown, one-click recompute

Contacts Acme Corp
A
Acme Corp
acme@example.com
Company Type
Company
Country
Canada
Customer Tier
Gold
Customer Rank
1

Customer Tier field on the standard Contacts form — drives tier-based pricing rules

Apply Dynamic Pricing
Leave empty to apply to ALL active products
Shows what would change without writing any prices.
Preview: 47 product(s) affected out of 312
ProductOld PriceNew PriceRules Applied
Widget A€ 45.00€ 51.75Low Stock Surge
Gadget Pro€ 120.00€ 138.00Low Stock Surge
Bulk Pack€ 89.00€ 66.75Overstock Clearance
… 44 more rows …

Pricing Wizard — dry-run preview before committing any price change

Technical

Specifications

Module details
Odoo Version19.0
Module Namedynamic_pricing_forecast
AuthorVeloxio
LicenseOPL-1
Price€ 99 (launch) · lifetime · one-time
CategorySales / Sales
Dependencies
Odoo Modules sale_management crm stock purchase account
Python (optional) numpy pandas scikit-learn
FrontendOWL 2, Bootstrap 5
DatabasePostgreSQL (standard Odoo)
Models overview
ModelDescriptionKey Fields
dynamic.pricing.rulePricing rule definitionsrule_type, adjustment_type, adjustment_value, priority
dynamic.pricing.historyAudit log of every price changeproduct_id, price_before, price_after, change_pct, triggered_by
sales.forecastAI forecast records per horizonhorizon_days, predicted_revenue, actual_revenue, accuracy_pct
customer.healthPer-customer health scoresscore, risk_level, recency_score, payment_score
apply.pricing.wizardManual pricing trigger (TransientModel)product_ids, dry_run, result_html

Getting started

Installation & Configuration

Installation steps
1
Copy the module

Place dynamic_pricing_forecast/ inside your Odoo addons directory.

cp -r dynamic_pricing_forecast/ /odoo/addons/
2
Install Python dependencies (optional)

Enables Ridge Regression forecasting. Skip to use rolling-average fallback.

pip install numpy pandas scikit-learn
3
Install via Odoo Apps menu

Settings → Apps → Update Apps List → search "Dynamic Pricing" → Install.

4
Navigate to AI Pricing

A new AI Pricing top-level menu appears. Start with Configuration → Pricing Rules to create your first rule.

Quick configuration guide

Go to AI Pricing → Configuration → Pricing Rules → New. Set the rule type (e.g. Stock Low), enter the stock threshold, choose Percentage adjustment and set a value (e.g. +15). Assign to specific products or leave Apply to All enabled.

Open any customer contact. A new field Customer Tier (Gold / Silver / Bronze / New) is available. Set it on your key accounts, then create a Customer Tier rule with the matching tier for discounts.

Go to Dynamic Pricing → Apply Pricing Now. Leave Preview Only checked and click Preview Changes. A table shows every price that would change. Uncheck dry-run and click Apply Now to commit.

Three scheduled actions are installed and active automatically. To change schedule go to Settings → Technical → Scheduled Actions and search for "Dynamic Pricing". Click Run Manually to test immediately.

Support

Frequently Asked Questions

Does this module modify the standard Odoo price list?

No. The module writes directly to product.template.lst_price and logs every change in its own history model. It does not touch product.pricelist or any standard Odoo pricelist configuration.

What if I don't have scikit-learn installed?

The module installs and runs completely without it. The forecast engine falls back to a 30-day rolling average automatically. You will see model: rolling_average and confidence: 50% on forecast records.

Can I restrict which users can change pricing rules?

Yes. Sales Managers have full CRUD on all models. Sales Users have read-only access to pricing rules and history. The Apply Pricing Wizard is accessible to both groups.

How many products can the nightly cron handle?

The cron processes products in batches of 100 and commits each batch independently. It can handle tens of thousands of products without memory issues or transaction timeout errors.

Is upgrade safe (v1 → v2)?

Yes. Run odoo-bin -u dynamic_pricing_forecast after replacing the module files. No manual SQL migration is needed for the v1.0.0 release.

Simple Pricing

One price. Everything included.

No subscription. No per-user fees. One purchase, use forever.

Launch Special
Limited time introductory price
€ 99
one-time · lifetime license · OPL-1
  • All 6 pricing rule types
  • AI sales forecasting (30/60/90d)
  • Customer health scoring
  • OWL live dashboard
  • Manual pricing wizard
  • Free updates for this major version
  • Odoo App Store support channel
Price will increase to € 149 after first 50 purchases.
Why this is a better deal
FeatureGeneric ModulesThis Module
Dynamic Pricing Engine
AI / ML Forecasting
Customer Churn Detection
OWL Live Dashboard
Dry-run Wizard
Formula-based Rules Basic Full Python
Scheduled Automation Manual 3 Crons
Typical Price€ 79 – 179€ 99 (launch)

History

Changelog

v 1.0.0
Latest March 2025
NEW Dynamic Pricing Engine with 6 rule types and priority ordering
NEW AI Sales Forecasting — Ridge Regression + rolling-average fallback
NEW Customer Health Scoring — recency, frequency, payment components
NEW OWL 2 live dashboard — KPIs, forecast bars, health distribution
NEW Apply Pricing Wizard with dry-run preview mode
NEW 3 automated scheduled actions (daily pricing, weekly forecast, daily health)
NEW Search, graph, and pivot views for all models
NEW customer_tier field added to res.partner
Veloxio

Building advanced Odoo modules since 2019.

Questions? Contact us via the Odoo App Store support channel.

Odoo 19.0 OPL-1 License € 99 Launch Price
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