Skip to content

Odoo Pricing Strategies: Pricelists, Discounts & Dynamic Pricing

DeployMonkey Team · March 22, 2026 11 min read

Pricing in Odoo

Odoo's pricing engine supports multiple strategies simultaneously: base prices, customer-specific pricelists, quantity discounts, time-based promotions, and formula-based pricing. You can run different prices for retail, wholesale, VIP, and promotional periods — all from one product catalog.

Pricelist Types

StrategyOdoo SetupExample
Fixed pricePricelist with fixed price per productWidget: $100 retail, $75 wholesale
Percentage discountPricelist rule: -20% from sales priceAll products 20% off for VIP
Cost + markupFormula: cost × 1.550% margin on all products
Quantity breakMin qty rules: 10+ = -10%, 100+ = -20%Volume discounts
Time-basedDate range on pricelist rulesHoliday sale: Dec 20-31
Customer-specificAssign pricelist to customerAcme Corp gets special rates

Setting Up Pricelists

# Sales → Configuration → Pricelists

# Pricelist: Retail (default)
# Rules:
# - All products: Sales Price (no discount)

# Pricelist: Wholesale
# Rules:
# - All products: -25% from Sales Price
# - Min quantity 10: additional -5% (total -30%)
# - Min quantity 100: additional -10% (total -35%)

# Pricelist: VIP
# Rules:
# - All products: -15% from Sales Price
# - Free shipping above $500

# Pricelist: Employee
# Rules:
# - All products: Cost Price + 10% markup

Assigning Pricelists

# Per customer:
# Contact → Sales & Purchase tab → Sales Pricelist: Wholesale
# All orders for this customer use Wholesale prices

# Per POS:
# POS → Configuration → select Pricelist
# In-store uses Retail, website uses different

# Per website:
# Website → eCommerce → Pricelist per website
# B2B website uses Wholesale, B2C uses Retail

# Manual override:
# On any quotation → change Pricelist field

Quantity Discounts

# Pricelist → Price Rules → Add
# Applied on: All Products (or specific category)
# Min Quantity: 10
# Computation: Discount from Sales Price
# Discount: 10%

# Tiered example:
# 1-9 units: $100 each (no discount)
# 10-49 units: $90 each (10% off)
# 50-99 units: $80 each (20% off)
# 100+ units: $70 each (30% off)

# Each tier is a separate pricelist rule
# Odoo auto-selects based on quantity on the order line

Promotional Pricing

# Time-limited promotions:
# Pricelist rule with date range:
# Product: Widget X
# Start Date: 2026-12-20
# End Date: 2026-12-31
# Price: $79.99 (regular $99.99)

# Or use Promotion Programs:
# Sales → Configuration → Promotion Programs
# Create: "Holiday Sale 20% Off"
# Conditions: minimum $100 order, date range
# Reward: 20% discount on order

Margin Protection

# Prevent selling below cost:
# Settings → Sales → Pricing → Margins
# Enable margin tracking on every line

# Configure minimum margin rules:
# If margin < 10% → warning to salesperson
# If margin < 0% → block (requires manager approval)

# Dashboard shows:
# Average margin per salesperson
# Orders with low margin flagged

B2B vs B2C Pricing

# Common pattern:
# B2C (website, POS): prices include tax (tax-included pricelist)
# B2B (quotations): prices exclude tax (tax-excluded pricelist)

# Configure:
# B2C Pricelist: Tax-Included Prices = Yes
# B2B Pricelist: Tax-Included Prices = No
# Same product, same base price, different display

DeployMonkey

DeployMonkey's AI agent configures pricing strategies for your business model — B2B/B2C pricelists, volume discounts, promotional campaigns, and margin protection rules.