What Are Pricelists?
Pricelists in Odoo 19 define pricing rules: discounts, fixed prices, formulas, and currency. Assign different pricelists to different customers for B2B vs B2C pricing, regional pricing, or wholesale tiers.
Enable Pricelists
- Go to Sales → Configuration → Settings
- Under Pricing, enable Pricelists
- Choose: Multiple prices per product or Advanced price rules (discounts, formulas)
- Click Save
Create a Pricelist
- Go to Sales → Configuration → Pricelists
- Click New
- Set Name (e.g., "Wholesale EUR") and Currency
Price Rule Types
| Type | Use Case | Example |
|---|---|---|
| Fixed Price | Set exact price per product | Product A = $50.00 |
| Discount | Percentage off the base price | 15% off all products |
| Formula | Calculate from cost/other pricelist | Cost + 30% margin |
Adding Rules
In the Price Rules tab:
- Click Add a line
- Select Apply On: All Products, Product Category, or Specific Product
- Set Min. Quantity for quantity breaks (e.g., 10+ units = 10% off)
- Set Computation: Fixed Price, Percentage (discount), or Formula
- Set Date range for promotional pricing
Example: B2B Wholesale Pricelist
Pricelist: Wholesale USD
Currency: USD
Rules:
1. All Products: 20% discount (min qty: 1)
2. All Products: 30% discount (min qty: 50)
3. All Products: 40% discount (min qty: 200)
4. Category "Accessories": Fixed $5.00 (min qty: 100)Multi-Currency Setup
Step 1: Enable Multi-Currency
- Go to Accounting → Configuration → Settings
- Enable Multi-Currencies
- Click Save
Step 2: Activate Currencies
- Go to Accounting → Configuration → Currencies
- Activate the currencies you need (EUR, GBP, INR, etc.)
- Set exchange rates manually or enable automatic updates
Step 3: Automatic Exchange Rates
- Go to Accounting → Configuration → Settings
- Under Currencies, select the Exchange Rate Provider:
- European Central Bank (ECB)
- Federal Reserve
- Bank of Canada
- Custom provider
- Set Interval: Daily, Weekly, or Monthly
- Rates update automatically via scheduled action
Step 4: Currency Pricelists
Create a pricelist per currency: "Retail EUR", "Retail GBP". Assign to customers based on their country or region.
Assign Pricelists to Customers
- Open the customer record
- Go to Sales & Purchases tab
- Set the Pricelist field
Or assign by country: create a fiscal position that maps to a pricelist.
Best Practices
- Name pricelists clearly: "Wholesale EUR", "Retail USD", "VIP 20% Off"
- Use quantity breaks for volume discounts
- Enable automatic exchange rate updates to avoid manual errors
- Test pricelists by creating a draft quotation and verifying prices