OdooWiki OCA HUB

Crm Salesperson Planner

crm_salesperson_planner folder_open OCA/crm open_in_new
Customer Relationship Management License: AGPL-3

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.0

Plan 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

crmcalendar

Required by other modules

Menus it adds

Salesperson PlannerMy VisitsAll VisitsVisit TemplatesSalesperson PlannerClose Reasons
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-03
Confirmed (verified in repository and branch) Estimated (unverified) No information

Confirmation status: 5 confirmed, 4 with no information of 9 versions.

terminal Installation and usage

OCA documentation · Odoo 18.0

To 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.
  • 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.

info

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.