Why Sales Teams Matter
Sales teams in Odoo 19 go beyond simple grouping. They control pipeline visibility, lead assignment routing, invoicing targets, and team-specific custom properties on leads. Properly configured teams improve accountability and enable meaningful performance reporting.
Prerequisites
- Odoo 19 with CRM and/or Sales module installed
- User accounts created for sales team members
- Sales Manager or Administrator access
Step 1: Create a Sales Team
Navigate to CRM > Configuration > Sales Teams (or Sales > Configuration > Sales Teams) and click New:
- Team Name — e.g., "Enterprise Sales", "SMB Team", "Channel Partners"
- Team Leader — The manager responsible for the team. They receive notifications and can access team-wide views
- Email Alias — An email address like [email protected] that automatically creates leads assigned to this team when messages arrive
- Company — For multi-company environments
Step 2: Add Team Members
In the Members tab, click Add to assign users to the team. For each member, configure:
- User — Select the Odoo user
- Assignment Domain — A filter that determines which leads this member can be auto-assigned. For example, set Country = "United States" to route US leads to this rep
- Preferred Assignment Domain — A secondary, more specific filter for preferred lead matching
- Maximum Leads (30 days) — The
assignment_maxfield caps how many leads this member receives per 30-day period - Skip Assignment — Toggle the
assignment_optoutflag to temporarily pause auto-assignment for a member (vacation, onboarding, etc.)
Step 3: Configure Invoicing Targets
Set monthly or quarterly revenue targets for the team. These targets appear in the Sales dashboard and team reporting. Navigate to the team settings and fill in:
- Invoicing Target — Monthly revenue target in your base currency
The dashboard then shows progress toward the target based on confirmed sales orders and invoiced amounts.
Step 4: Define Lead Properties
Odoo 19 introduces Lead Properties at the team level. In the team form, find the Lead Properties Definition section. Here you can create dynamic fields that appear only on opportunities belonging to this team:
- Text fields (e.g., "Competitor Name")
- Selection fields (e.g., "Decision Timeline": This Month / This Quarter / Next Quarter)
- Number fields (e.g., "Number of Users")
- Date fields (e.g., "Contract End Date")
- Checkbox fields (e.g., "Has Technical Requirements")
These properties are stored in the lead_properties JSON field and enable team-specific data collection without modifying the database schema.
Step 5: Set Up Lead Assignment Rules
Under the team settings or CRM > Configuration > Settings, configure how leads are assigned:
- Enable Rule-Based Assignment
- Set the assignment frequency (the
crm.lead.auto.assignmentconfig parameter controls the cron interval) - Choose between manual trigger or automatic assignment via scheduled action
The assignment engine matches incoming leads against each member's assignment domain and distributes them based on available capacity.
Step 6: Team-Specific Pipeline
If your teams follow different sales processes, assign pipeline stages to specific teams. Go to CRM > Configuration > Stages and set the Sales Team field on relevant stages. This creates isolated pipelines for each team.
Step 7: Test and Verify
Create a test lead and verify:
- It routes to the correct team based on the email alias or manual assignment
- Auto-assignment distributes it to a team member whose domain matches
- Team-specific properties appear on the lead form
- The team dashboard reflects the new lead in pipeline statistics
Best Practices
- Limit teams to 8-12 members for effective management
- Review assignment domains monthly to prevent lead routing gaps
- Use the Assignment Pause toggle instead of removing members temporarily
- Set realistic capacity limits based on each rep's actual handling ability