Odoo Sales Module: Advanced Configuration & Automation Guide
Research by McKinsey shows that companies using advanced sales configuration tools close deals 28% faster than those relying on manual quoting processes. The gap widens for complex sales — when products have multiple variants, tiered pricing, and negotiated discounts, manual quotation creation introduces errors that cost companies 1-3% of revenue in pricing mistakes alone. Odoo 19 Enterprise Sales module eliminates these losses through intelligent templates, dynamic pricelists, and automated approval workflows that maintain pricing discipline while empowering sales teams to move fast.
This guide goes beyond basic Odoo Sales setup to cover advanced configuration patterns that separate high-performing sales operations from average ones. Every section includes specific navigation paths, configuration options, and implementation strategies tested across hundreds of ECOSIRE client deployments.
Key Takeaways
- Build reusable quotation templates with pre-configured products, terms, and optional items
- Configure multi-level pricelists with date-based, quantity-based, and customer-segment pricing
- Implement discount approval workflows that maintain margin discipline
- Set up payment terms with early-payment incentives and automated reminders
- Organize sales teams with territory management and lead routing
- Track commissions with tiered structures and automated payout calculation
- Deploy eSignature for frictionless deal closing without leaving Odoo
- Automate the quote-to-cash cycle from quotation through invoicing and payment
Quotation Templates: Standardize and Accelerate
Quotation templates are the single highest-impact Sales configuration because they eliminate the most time-consuming part of the sales process — building quotes from scratch.
Creating Effective Templates
Navigate to Sales > Configuration > Quotation Templates and create templates for your most common sales scenarios. A well-structured template library typically includes:
| Template | Use Case | Includes |
|---|---|---|
| Standard Product Bundle | Recurring product combinations | Core products + recommended accessories |
| Enterprise License | Software or subscription deals | License tiers + implementation services |
| Professional Services | Consulting or project work | Service packages + optional add-ons |
| Renewal Quote | Subscription or contract renewal | Current products at renewal pricing |
| Upsell Package | Expansion for existing customers | Upgrade products + migration services |
Template Components
Each template can include:
Header and terms: Pre-populate the quotation header with your company's standard terms and conditions. Use Odoo's rich text editor to format terms with headings, bullet points, and emphasis. Include payment terms, delivery conditions, warranty information, and liability clauses. Different templates can reference different terms — enterprise deals might include SLA commitments that SMB quotes do not.
Product lines: Add the products and services that are typically sold together. Set default quantities and configure optional products that the customer can add or remove via the online quotation portal. Optional items are a powerful upsell mechanism — they appear on the quotation with a checkbox, making it easy for the customer to add complementary items.
Confirmation settings: Configure what happens when the customer accepts the quotation. Options include: require online payment (full or partial deposit), require eSignature only, or allow confirmation without payment. Set different confirmation requirements per template — low-value quotes might confirm with a click, while high-value deals require a signature and deposit.
Validity period: Set the default validity period per template. Standard product quotes might be valid for 15 days, while custom project quotes could be valid for 30 days. Odoo automatically marks expired quotations and can trigger reminder emails before expiration.
Online Quotation Portal
When you send a quotation, the customer receives a link to an interactive online portal where they can:
- View the full quotation with product descriptions, images, and pricing
- Add or remove optional items with instant price recalculation
- Accept the quotation with eSignature
- Make an online payment via configured payment providers
- Leave comments or request changes through the chatter
- Download the quotation as a PDF
This self-service experience eliminates phone calls and email chains for routine quotes while giving the salesperson full visibility into customer engagement (views, clicks, time spent on each section).
Pricelist Architecture: Dynamic Pricing at Scale
Pricelists in Odoo are far more powerful than most implementations utilize. A well-designed pricelist architecture can handle global pricing, promotional campaigns, and customer-specific negotiations simultaneously.
Pricelist Types and Strategies
Navigate to Sales > Configuration > Pricelists and understand the three pricelist computation methods:
| Method | Use Case | Example |
|---|---|---|
| Fixed Price | Set specific prices per product | Product A = $99.00 in USD pricelist |
| Discount on Sale Price | Percentage off the listed price | 15% off for wholesale customers |
| Formula | Computed from cost or other pricelist | Cost + 40% margin, rounded to .99 |
Multi-Level Pricelist Configuration
For complex pricing, layer pricelists with the "Other Pricelist" computation:
- Base pricelist (Public): Standard retail prices for all products
- Wholesale pricelist: 20% discount on the Public pricelist
- Strategic partner pricelist: 30% discount on the Public pricelist, with fixed prices on specific items
- Promotional pricelist: Time-limited rules that override the base pricelist (e.g., 25% off Category X from March 1-31)
Assign pricelists to customers under their contact record. When a salesperson creates a quotation for that customer, the correct pricelist applies automatically. Customers can also be assigned to pricelist groups based on their segment, geography, or contract terms.
Quantity-Based Pricing (Tiered Pricing)
Configure quantity breaks within pricelist rules:
| Minimum Quantity | Price per Unit | Discount |
|---|---|---|
| 1 | $100.00 | 0% |
| 10 | $90.00 | 10% |
| 50 | $80.00 | 20% |
| 100 | $70.00 | 30% |
| 500 | $60.00 | 40% |
When a salesperson enters a quantity of 75 on a quotation line, Odoo automatically applies the $80.00 tier. The customer sees the unit price with a strikethrough of the original price on the online quotation, reinforcing the volume discount value.
Date-Based Pricing
Create pricelist rules with start and end dates for seasonal promotions, product launches, or clearance pricing. Multiple date-based rules can coexist — Odoo applies the most specific matching rule. This is particularly useful for: back-to-school promotions, end-of-quarter discounts, product launch pricing, holiday campaigns, and clearance pricing for discontinued items.
Discount Management and Approval Workflows
Discounts are the most abused lever in sales. Without controls, salespeople discount to win deals at the expense of margin. Odoo provides granular discount management that balances flexibility with discipline.
Discount Configuration
Enable discounts under Sales > Configuration > Settings > Pricing. Choose between:
- Discount on lines: Salespeople can apply a percentage discount on individual quotation lines
- Discount on total: A global discount applies to the entire quotation
- Both: Maximum flexibility (use with approval workflows)
Discount Approval Rules
Configure approval thresholds so that discounts exceeding certain limits require manager authorization before the quotation can be confirmed:
| Discount Level | Authority | Approval Required |
|---|---|---|
| 0-10% | Sales rep | None |
| 11-20% | Sales manager | Team lead approval |
| 21-30% | Director | VP Sales approval |
| 31%+ | Executive | CFO approval |
Implement these rules using Odoo's Approval module integrated with Sales. When a salesperson creates a quotation with a 25% discount, the system blocks confirmation until the VP Sales approves via the Approvals dashboard or mobile app.
Margin Protection
Beyond discount percentages, configure margin-based alerts. Create a server action that calculates the margin on each quotation line (selling price minus cost) and flags lines where margin falls below a threshold (e.g., 20%). The salesperson sees a warning banner, and the quotation is automatically routed for approval if any line falls below the minimum margin.
This prevents the common scenario where a 15% discount on a low-margin product results in a below-cost sale — something a percentage-only discount policy would miss.
Payment Terms and Cash Flow Optimization
Payment terms directly impact your cash flow. Odoo's payment terms engine is flexible enough to model any arrangement.
Standard Payment Term Configuration
Navigate to Accounting > Configuration > Payment Terms and create terms for common scenarios:
| Payment Term | Structure | Cash Flow Impact |
|---|---|---|
| Net 30 | 100% due in 30 days | Standard |
| 2/10 Net 30 | 2% discount if paid in 10 days, otherwise full in 30 | Accelerates collection |
| 50/50 | 50% on confirmation, 50% on delivery | Reduces risk |
| Progressive | 30% upfront, 40% at milestone, 30% on completion | Project-based |
| Net 60 | 100% due in 60 days | Extended for strategic accounts |
Early Payment Discount Automation
The "2/10 Net 30" pattern is powerful for cash flow management. Configure it by creating a payment term with two lines: Line 1 = 100% due in 30 days, with a 2% discount if paid within 10 days. Odoo automatically calculates the discounted amount on the invoice and tracks whether the customer took the discount. This incentivizes faster payment without requiring manual follow-up.
Payment Follow-Up Automation
Configure automated payment reminders under Accounting > Configuration > Follow-Up Levels:
- Day 1 past due: Friendly reminder email with invoice attached
- Day 14 past due: Firmer reminder with payment link
- Day 30 past due: Escalation email copied to customer's manager and your collections team
- Day 60 past due: Final notice with credit hold warning
- Day 90 past due: Credit hold activated, all open quotations blocked
Each level sends automatically based on the oldest open invoice date. Credit holds prevent salespeople from creating new quotations for overdue customers, ensuring collections issues are resolved before extending more credit.
Sales Team Organization and Territory Management
Team Structure
Navigate to Sales > Configuration > Sales Teams and create a structure that mirrors your go-to-market strategy:
Geographic territories: Create teams for North America, EMEA, and APAC. Assign team members based on their territory. Configure lead assignment rules so that leads from specific countries automatically route to the correct team.
Segment-based teams: Create Enterprise, Mid-Market, and SMB teams. Set revenue thresholds — opportunities above $100K route to Enterprise, $25K-$100K to Mid-Market, below $25K to SMB. This ensures customers receive the right level of sales attention.
Product-based teams: If your product lines are distinct enough, create teams per product family. This works well for companies selling both software and hardware, or products and services, where different expertise is required.
Sales Target and Quota Management
Set targets per team and individual under the Sales Team configuration. Odoo tracks actual versus target in the sales dashboard, providing real-time quota attainment visibility. Configure monthly, quarterly, and annual targets. The forecasting report compares pipeline-weighted revenue against targets to show whether the team is on track.
Commission Tracking and Payout
Commission Structure Configuration
While Odoo does not include a native commission module in the base installation, ECOSIRE builds commission tracking using computed fields and automated actions. Common structures include:
| Structure | Calculation | Example |
|---|---|---|
| Flat percentage | X% of invoiced revenue | 5% of all sales |
| Tiered | Higher rate above threshold | 5% up to $100K, 7% above $100K |
| Margin-based | X% of gross margin | 10% of margin (incentivizes profitable deals) |
| Accelerator | Rate increases past quota | 5% at quota, 8% above 120% of quota |
| Split | Divided between roles | 60% closer, 20% BDR, 20% account manager |
Automated Commission Calculation
Create a scheduled action that runs monthly to calculate commissions. The action queries all confirmed and invoiced sales orders for the period, applies the commission structure per salesperson, and generates a commission report. Results can be pushed to Payroll for automated payout or exported to a spreadsheet for review.
Track commission accruals as accounting journal entries so that your financial statements accurately reflect commission liability. This is particularly important for companies with long sales cycles where commissions are earned in one period and paid in another.
eSignature Integration
Setting Up eSignature
Enable eSignature under Sales > Configuration > Settings. Odoo 19 Enterprise includes built-in eSignature functionality — no third-party integration required.
When a quotation requires signature for confirmation, the customer receives a quotation link with a signature request. The signing process is fully digital:
- Customer opens the quotation in their browser
- Reviews all line items, terms, and conditions
- Draws or types their signature on the designated field
- Clicks "Sign & Accept" to confirm the quotation
- Both parties receive a PDF copy with embedded digital signature and timestamp
Legal Compliance
Odoo's eSignature complies with eIDAS (EU), ESIGN Act (US), and UETA regulations for electronic signatures. Each signed document includes: signer identity (email and IP address), timestamp with timezone, document hash for tamper detection, and an audit trail of all actions taken on the document.
Signature Workflows for Complex Deals
For deals requiring multiple signatures (e.g., customer CTO and CFO), configure multi-signer workflows. Each signer receives their own signing link and signs independently. The quotation is only confirmed when all required signatures are collected. Track signing status in real-time from the quotation form.
Quote-to-Cash Automation
The ultimate goal is a seamless flow from quotation to collected payment with minimal manual intervention.
Automated Flow
Template Selected → Quotation Built → Customer Reviews Online → eSignature →
Auto-Confirm → Sales Order Created → Delivery Order Generated → Invoice Created →
Payment Link Sent → Payment Collected → Commission Calculated
Configuration Checklist
| Step | Configuration | Location |
|---|---|---|
| Auto-confirm on signature | Quotation template confirmation setting | Sales > Templates |
| Auto-create delivery | Product type = Storable, route = Deliver | Product form |
| Auto-create invoice | Invoicing policy = On ordered quantities | Sales Settings |
| Auto-send invoice | Automated action on invoice confirmation | Server Actions |
| Payment link in invoice | Online payment provider configured | Accounting Settings |
When every step is configured, a salesperson's work ends when they send the quotation. Everything from customer acceptance through payment collection happens automatically, with exceptions flagged for human attention.
Frequently Asked Questions
How many quotation templates should I create?
Start with 3-5 templates covering your most common sales scenarios (80% of deals). Add templates as patterns emerge. Most mature Odoo deployments have 8-15 templates. Too many templates defeat the purpose — if salespeople cannot find the right template quickly, they will build quotes from scratch.
Can I use different pricelists for the same customer on different orders?
Yes. The customer's default pricelist applies automatically, but salespeople can override the pricelist on any individual quotation. This is useful for promotional pricing or one-time deals that deviate from the standard customer pricing agreement.
How does Odoo handle subscription billing in the Sales module?
Odoo 19 Enterprise includes a Subscriptions module that extends Sales. Products configured as "Recurring" generate automatic invoices on the defined schedule (monthly, quarterly, annually). Revenue recognition, MRR tracking, churn analysis, and renewal management are all built in.
Can I create quotes with products in multiple currencies?
Each quotation uses a single currency (determined by the pricelist). However, you can create pricelists in different currencies — a USD pricelist for US customers and a EUR pricelist for European customers. Product prices are converted using Odoo's exchange rate service.
How do I handle complex discount scenarios like buy-2-get-1-free?
Use pricelist rules with the formula method. Create a rule that applies a 33.3% discount when the minimum quantity is 3. For more complex promotions (bundled discounts, loyalty points, BOGO), use Odoo's Loyalty/Promotions module integrated with Sales.
Can sales managers see all team quotations and override pricing?
Yes. Sales managers have visibility into all quotations for their team. They can edit any quotation, override pricing, and approve discounts. Access rights in Odoo are role-based — configure manager access under Settings > Users > Access Rights.
How does eSignature work for international customers in different time zones?
Odoo records the exact timestamp and timezone of each signature event. The signature request email is sent immediately when the salesperson clicks "Send Quotation." There is no timezone dependency — the customer signs whenever they open the link. The audit trail captures all timezone information for legal compliance.
Elevate Your Sales Operations with ECOSIRE
Advanced sales configuration is what separates transactional selling from consultative, relationship-driven revenue growth. The difference between a basic Odoo Sales installation and a fully optimized one is measured in faster quoting, higher win rates, better margins, and automated cash collection.
ECOSIRE's Odoo customization team specializes in sales process optimization — from pricelist architecture design to commission engine development and eSignature deployment. We have configured sales operations for companies handling 50 quotes per month to those processing 5,000.
Contact ECOSIRE for a sales operations assessment, or explore our Odoo implementation services to see how we build sales systems that scale.
Related reading:
Written by
ECOSIRE TeamTechnical Writing
The ECOSIRE technical writing team covers Odoo ERP, Shopify eCommerce, AI agents, Power BI analytics, GoHighLevel automation, and enterprise software best practices. Our guides help businesses make informed technology decisions.
Related Articles
AI-Powered Customer Segmentation: From RFM to Predictive Clustering
Learn how AI transforms customer segmentation from static RFM analysis to dynamic predictive clustering. Implementation guide with Python, Odoo, and real ROI data.
AI for Supply Chain Optimization: Visibility, Prediction & Automation
Transform supply chain operations with AI: demand sensing, supplier risk scoring, route optimization, warehouse automation, and disruption prediction. 2026 guide.
B2B E-commerce Strategy: Build a Wholesale Online Business in 2026
Master B2B e-commerce with strategies for wholesale pricing, account management, credit terms, punchout catalogs, and Odoo B2B portal configuration.