This application allows you to track and schedule salespeople visits to your customers, allowing you to determine which opportunities are going to be dealt on each visit.
Visits create an all-day event in the calendar and they can be easily rescheduled. Visits can be automatically created from a template, in which it is possible to select the frequency of visits, as well as the start and end dates. The last visit can also be calculated by selecting the total number of repetitions.
This module creates a cron job that generates visits from templates, but an option to create them manually is available from the template form view when the template is validated.
auto_awesome What this module does
AI-generated from the code · Odoo 18.0Plan and track salesperson visits to customers from CRM. Create recurring visit templates that automatically generate visits and all-day calendar events, and link each visit to the opportunities to be discussed.
This module adds a Salesperson Planner area inside the CRM app where salespeople can organise customer visits.
- A new "Salesperson Planner" menu contains "My Visits", "All Visits" and "Visit Templates". Managers also get a "Close Reasons" configuration menu.
Each visit records the customer, phone and mobile, date, salesperson, company, a description and the opportunities to be discussed. Visits follow a status flow: Draft, Validated, Visited, Cancelled and Incident. Confirming a visit automatically creates an all-day event in the Calendar, and changing the visit date or salesperson updates that event. Deleting a calendar event linked to a visit is blocked until the visit is cancelled.
Visit templates let you define a customer, salesperson, start date and a recurrence (daily, weekly, monthly or yearly, with repeat interval, weekdays, end by count or date). A scheduled job creates the upcoming visits from templates that are in progress, and a "Manually Create Visits" button lets you generate them up to a chosen date. Templates can auto-validate the visits they create.
Closing a visit asks for a close reason; reasons can require a photo and can allow rescheduling, which copies the visit to a new date. Customers show a count of their visits, and CRM opportunities have a "Salesperson Visits" tab listing related visits.
Depends on
Required by other modules
Menus it adds
Models and fields (8)
- crm.lead · extends an existing modelcrm_salesperson_planner_visit_ids (Visits)
- res.partner · extends an existing modelsalesperson_planner_visit_count (Number of Salesperson Visits)
- calendar.event · extends an existing modelsalesperson_planner_visit_ids (Salesperson Visits)
- crm.salesperson.planner.visit · new modeldate, name (Visit Number), state (Status), user_id (Salesperson), sequence, company_id (Company), partner_id (Customer), description, partner_phone (Phone), partner_mobile (Mobile), close_reason_id (Close Reason), opportunity_ids (Opportunities), calendar_event_id (Calendar Event), visit_template_id (Visit Template), close_reason_image, close_reason_notes
- crm.salesperson.planner.visit.template · new modelday (Date of month), fri, mon, sat, sun, thu, tue, wed, name (Visit Template Number), stop, byday, count (Repeat), rrule (Recurrent Rule), start, state (Status), until, allday (All Day), user_id (Salesperson), weekday, duration, end_type (Recurrence Termination), event_tz (Timezone), interval (Repeat Every), month_by (Option), sequence, alarm_ids (Reminders), categ_ids (Tags), stop_date (End Date), visit_ids (Visit Template), company_id (Company)
- crm.salesperson.planner.visit.close.wiz · new modelimage, notes, new_date, reason_id (Reason), reschedule, new_sequence (Sequence), require_image (Require Image), allow_reschedule (Allow Reschedule)
- crm.salesperson.planner.visit.close.reason · new modelname (Description), close_type (Type), reschedule, require_image
- crm.salesperson.planner.visit.template.create · new modeldate_to (Date to)
Text generated by AI (DeepSeek) from reading the Odoo 18.0 code on GitHub; it may contain mistakes, so check the code before deciding. The module is very large and only part of the code was read. View the code on GitHub
Availability by version
Reviewed: 2026-11-03Confirmation status: 5 confirmed, 4 with no information of 9 versions.
Sources · Odoo 18.0
Confirmed on 2026-11-03 in branch 18.0 of OCA/crm.
terminal Installation and usage
OCA documentation · Odoo 18.0Configuration
Source · Odoo 18.0To configure this module, you need to:
- Go to new menu CRM \> Configuration \> Salesperson Planner \> Close Reasons and create a close reason for 'Cancel' and 'Incident' types.
Usage
Source · Odoo 18.0- Go to CRM > Salesperson Planner > My Visits or All Visits.
- Create a new visit.
- Or go to CRM > Salesperson Planner > Visit Templates and create a new recurring template to create periodical visits.
- For templates, select a Start Date.
- Set either a total number of repetitions or an End Date to calculate the last repetition.
- To reschedule a validated visit, either:
- Change the date from the visit record.
- Change the date from the calendar event automatically created for the visit.
No verified information in OCA: Installation.
Installation instructions, the distribution package, dependencies and configuration steps are not shown because they have not yet been verified in the module documentation for any version.
Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.