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
| Strategy | Odoo Setup | Example |
|---|---|---|
| Fixed price | Pricelist with fixed price per product | Widget: $100 retail, $75 wholesale |
| Percentage discount | Pricelist rule: -20% from sales price | All products 20% off for VIP |
| Cost + markup | Formula: cost × 1.5 | 50% margin on all products |
| Quantity break | Min qty rules: 10+ = -10%, 100+ = -20% | Volume discounts |
| Time-based | Date range on pricelist rules | Holiday sale: Dec 20-31 |
| Customer-specific | Assign pricelist to customer | Acme 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% markupAssigning 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 fieldQuantity 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 linePromotional 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 orderMargin 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 flaggedB2B 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 displayDeployMonkey
DeployMonkey's AI agent configures pricing strategies for your business model — B2B/B2C pricelists, volume discounts, promotional campaigns, and margin protection rules.