Joint Calendar v.15

The tool to combine different Odoo events in a few configurable super calendars

78€ 66€

The price is valid till July, 15 (according to the promo campaign June - July 2024).
The tool does not require extra dependencies beside standard Odoo apps.
Current version:


Odoo users often need to keep in mind a lot of details spread out among numerous interfaces. Switching between those is not comfortable and error-prone for planning. This tool solves the problem. The app lets configure rules to join and share various document types on a single super calendar view but with easy-reachable source objects.

Odoo super calendar events

Any Odoo documents on the same calendar

The tool might merge any Odoo document types on the same view: opportunities, meetings, phone calls, activities, sale or purchase orders, shipments and deliveries, tasks and tickets, time offs, ...

Flexible merging rules

Define on your own what to consider a joint event title, start or stop date, who are target attendees, etc. Have even the same document twice on the same calendar just with a different start

Instant access to source details

Joint events and their source documents are interrelated. Update the former, and the latter would be changed immediately. A reverse operation would be applied with the next cron job (the frequency is configurable)

Comfortable navigation

Shared calendars are especially suitable for team interactions. Users might switch between document types, participants, linked contacts, and companies in a single click. Optionally turn on the Odoo Enterprise Gantt view

Unlimited number of super calendars

Configure as many calendars as you need: for various functional areas or for different user groups. Each joint calendar has its own menu item

Reminders for any Odoo documents

Calendar configuration lets assign default popup and email alarms. Thus, it is possible to have notification of any Odoo event or activity

Simple user rights administration

Regulate joint calendar accesses right on its form. Make it public or share it only for chosen user groups. The app fully supports multi-companies environment

Automatic shared calendar updates

Joint events are updated regularly by the cron job. It is fast, especially if you apply time frames. Refreshing is also available from the calendar interface

Better then expected

The app does exactly what was needed. Combine all tasks from all calendars to one. And allows to manages all activities from all modules in one place.

Arseniy in the Odoo Apps Store

This makes the Event Calendar so much more useful !

We bought this to combine certain project tasks with the schedules of our maintenance engineers. We now have a better overview which moments are overlapping the schedules of other events. The joining of multiple events in 1 event calendar is super easy, it should be a standard option in ODOO.

Sander Galestien in the Odoo Apps Store

Excellent responsive team of programmers

Joint Calendar is the perfect addition to the standard Calendaring system that Odoo offers. It makes the job of setting up specific departmental calendars filled with any objects you wish very easy and Alex and the team provides fantastic after-sales support, responding in most cases within 24 hours to requests for help. Thanks for a great module.

Bill Ennals in the Odoo Apps Store

Essential to have Activities, Tasks, Meetings etc all in one calendar and shared.

Great service support very quick and were right on with fixing the issue... I think the ability to see everything on one shared calendar is such an essential part of coordination and time management. Great product once you sort out the rules you need!

Saul in the Odoo Apps Store

Super calendars for any business area

Use joint calendars for any functional area: CRM, project management, sales, HRM, MRP, inventory management, so and so on. Find just a few examples of rules below

Tasks on a joint calendar

  • As a model use 'Task'
  • As a name use 'Title'
  • As a start date field use 'Deadline'
  • As attendees' field use 'Assignees'
  • As a domain optionally you can set definite projects

Sale orders on a shared calendar

  • As a model use 'Sales order'
  • As a name use 'Order Reference'
  • As a start date field use 'Order Date'
  • As attendees' field use 'Salesperson'
  • As a contact link use 'Customer'
  • As a domain optionally restrict quotations by sales teams.

Opportunities on a super calendar

  • As a model use 'Lead/Opportunity'
  • As a name use 'Opportunity'
  • As a start date field use 'Expecting Closing'
  • As attendees' field use 'Salesperson'
  • As a contact link use 'Customer'
  • As a domain optionally restrict opportunities by sales teams.

Share employees' time offs and leaves

  • As a model use 'Time Off'
  • As a name use 'Description'
  • As a start date field use 'Start Date'
  • As attendees' field use 'User'
  • As a stop date field use 'End Date'
  • As a domain filter by status: show only approved leaves.

Activities by all objects

  • As a model use 'Activity'
  • As a name use 'Display Name'
  • As a start date field use 'Due Date'
  • As attendees' field use 'Assigned to'
  • As a domain apply 'Summary is set'

Odoo meetings to the joint calendar

  • As a model use 'Calendar Event'
  • As a name use 'Meeting Subject'
  • As a start date field use 'Start'
  • As a stop date field use 'Stop'
  • As attendees' field use 'Attendees'
  • As a whole day field 'All Day'
Odoo tasks shared calendar
Odoo sales orders joint calendar
Odoo CRM super calendar
HR leaves / holidays merged calendar

Flexible rules to merge Odoo documents

To add a new document type for a shared interface you should set up a joint calendar rule. This rule defines which Odoo objects should create events, which fields of that object should be shown, and whether any filtering should take place

  • Model - which objects to scan: opportunities, tasks, orders, meetings, activities, and so on. You can choose your custom document type (including created in Odoo Studio) as well
  • Name - what to use as a joint event name (also used as calendar event title). Usually, it is 'name', 'subject' or 'reference'
  • Start date - when an event starts. For example, 'expecting closing' for opportunities or 'order date' for quotations. It may be any date or date with time field of a source Odoo object
  • Stop date - when an event is shown as finished on a calendar
  • Attendees - who are participants (responsible persons, event owners). Usually, it is a field 'assigned to', 'a sales person' or 'attendees'. You may use even document 'followers' since it's possible to apply both users and partners
  • Description - are there any notes important for joint events? Usually, the fields like 'internal notes' or 'comments' are used
  • Company field - optionally define the parent document field where its company is kept. In this way, joint events would get the source company that might be used for filtering or just for information
  • Always Whole Day - means that all generated events would last the whole day disregarding whether start or stop are defined with hours and minutes. Such an event would be shown at a special place on a calendar (above the timeline)
  • Whole Day - a special boolean field of source object which indicates that a related joint event may last the whole day. This setting is usually applied to standard Odoo calendar events which both might have a definite time indicated or might be planned for a whole day
  • Contact Link - is this event linked to a specific partner? Usually, the fields like 'customer' or 'vendor' are used
  • Domain - the Odoo filters' constructor to include only topical documents into a joint calendar. You might apply any storable attribute. For example, show only quotations without sales orders, or show opportunities only for this sales team
  • Action - defines which form view should be shown when you open a source document from a joint event. It is a technical field that in most cases should not be changed in comparison to a default value.
Odoo events joint calendar
Activities shard on single Odoo interface

Multi companies compatibility

  • The app fully supports the multi-companies environment: each joint calendar might be linked to a specific Odoo company. If company is not defined, it is considered as 'global', so available for all Odoo companies
  • Users access only those joint menus which super calendars do not have a company or have one of those users available companies
  • Each joint rule might have the "Company field" defined. If that setting is configured, records would be filtered in a joint calendar company. For example, if you stated 'Company' as the 'Company field' for the tasks rule, and joint calendar is linked to 'San Fransisco' company, then users would see only San Fransisco or global tasks only
  • Joint events would also get the company based on the 'Company field' of the parent document. You can comfortably switch between objects of different companies using the right navigation filters
  • In addition to the 'Company field', you may also restrict records in a rule domain. For instance, to include records of a few companies but not to include of others.
Access to joint menus and records by Odoo companies
Joint calendar multi company environment
Shared rules for Odoo records

Combine events on Odoo Enterprise Gantt view

  • For any joint calendar, optionally add the Odoo Enterprise edition Gantt view
  • To that goal, just tick the box 'Gantt view' on the supper calendar settings
  • The app would automatically extend a target joint calendar action after you saved the changes
  • In this way, you can have a single super Gantt view for various Odoo documents
  • Manage those events in a comfortable manner: reassign responsible users, drag and drop those to change periods, etc.
Odoo Enterprise Gantt Joint calendar
Super calendar: optional Gantt

Configuration and Installation Tips for Joint Calendar Odoo v.15

Joint calendar scheduled jobs

The tool lets you change the frequency of joint calendar refreshing and emails reminders' checks:

  1. Turn on the debug mode
  2. Go to technical settings > Automation > Scheduled jobs
  3. Find the job 'Refresh Joint Events' to change the frequency of super calendars' update
  4. Find the job 'Notify About Joint Event' to change the frequency of email alarms.

Frequently Asked Questions about Joint Calendar Odoo v.15

When the option "Always Whole Day" is turned on, then all generated events created with the rule will last the whole day disregarding whether start or stop are defined with hours and minutes. Such an event will be shown at a special place on a calendar.

For example, if you create a rule for the model "Sale Order", and turn on the option "Always Whole Day", then the event will be placed on the daily and weekly super calendars above the timeline.

If you turn off the option, then, if the start or stop are defined with hours/minutes, the event will be placed at a particular time on the day's timeline and you will see the time before the event's title.

Make sure:

1. There is at least one joint calendar created configured and refreshed. Please refresh your browser page after setting up any joint calendar

2. You have the access to at least one of the calendars

There might be several reasons for that. It is possible, that the related scheduled job hasn't yet took place. In this case, you can launch the cron manually by clicking on the button refresh on the right column of the joint calendar interface.

Also check, whether you have Time Limits set to the calendar as otherwise the events for only a particular time range will be shown. For example, if you have a calendar 'Sale Orders' with time limits 10 days before and 30 days after. If a Sale Order was created, for example, 12 days before, then it will not be shown in the calendar.

Make sure, that there aren't any filters applied to the rules as there might be no records matching them. For example, if you have a rule 'Sale Order' with the filter 'Customer = Deco Addict', then only orders of this customer will be shown in the related calendar.

You can combine as many Odoo documents as you like into a single calendar. Or, you can divide those between several calendars (for example Sales Calendar and Projects, Tasks and Activities Calendar) and then switch between them in the systray.

Rules define which Odoo objects should create events, which fields of that object should be used and shown, and whether any filtering should take place.

While creating a rule, you can define by your own what to consider a joint event title, start or stop date, who are target attendees, etc.

Stop date - a field of the target Odoo model, which defines when an even is shown as finished on a calendar. For example, if you create a rule for the model "Sale Order" and choose the "Delivery Date" for the Stop date field, then the event will be shown in the events menu from the day for which this quotation is planned (Start Date field - Order Date) till the day of the product's delivery.

It is an optional field, so you can leave it empty. In this case, the event will be placed only on the day defined by the Start Date field.

It means that this event was created manually. It has no parent object, and is not regulated by a rule. Such joint events would be available under the filter "Undefined", without color.

All people, who have the access to see the calendar, may create and see its undefined events.

According to the current Odoo Apps Store policies:

  • every module bought for version 12.0 and prior gives you access to all versions up to 12.0.
  • starting from version 13.0, every module version should be purchased separately.
  • disregarding the version, purchasing a tool grants you a right to all updates and bug fixes within a major version.

Take into account that the faOtools team does not control those policies. For all questions, please contact the Odoo Apps Store representatives directly.

The easiest approach is to use the Odoo store built-in workflow:

1. Open the module's page and click the button Deploy on

2. After that, you will be redirected to the GitHub page. Login to your account and click 'Create a new repo' or use the existing one. Please, make sure, that your repository is private. It is not permitted to publish the apps under the OPL-1 license. If necessary, create a new repo for your project

3. Then, go to and click on the deploy button, submit the decision in the pop-up window and click 'Continue'. The action will trigger the installation process.

These steps will install the app for your project production branch. If you want to deploy the apps for other branches or update the module, you should undertake the following actions:

1. Upload the source code for the app from the Odoo store

2. Commit the module to a required GitHub repository. Make sure that none of the app folders/files are ignored (included in the .gitignore of your repo). Repositories are automatically created by, which might add by default some crucial items there (e.g. /lib). You should upload all module directories, subdirectories, and files without exceptions

3. Deploy a target branch of the project or wait until it is automatically built if your settings assume that.

  1. Unzip the source code of the purchased tools in one of your Odoo add-ons' directories;

  2. Re-start the Odoo server;

  3. Turn on the developer mode (technical settings);

  4. Update the apps' list (the apps' menu);

  5. Find the app and push the button 'Install';

  6. Follow the guidelines on the app's page if those exist.

Yes, sure. Take into account that Odoo automatically adds all dependencies to a cart. You should exclude previously purchased tools.

A red/orange warning itself does not influence features of the app. Regretfully, sometimes our modules do not pass standard automatic tests, since the latter assumes behavior which is in conflict with our apps goals. For example, we change price calculation, while standard Odoo module tests compare final price to standard algorithm.

So, first of all, please check deployed database features. Does everything work correctly?

If you still assume that warning influences real features, please contact us and forward full installation logs and the full lists of deployed modules (including core and third party ones).

Regretfully, we do not have a technical possibility to provide individual prices.

No, third party apps can not be used on Odoo Online.

Yes, all modules marked in dependencies are absolutely required for a correct work of our tool. Take into account that price marked on the app page already includes all necessary dependencies.  

The price for our modules is set up in euros. The Odoo store converts prices in others currencies according to its internal exchange rate. Thus, the price in US Dollars may change, when exchange rate changes.

Odoo demonstration databases (live previews)

For this app, we might provide a free personalized demo database.

No phone number or credit card is required to contact us: only a short email sign up which does not take more than 30 seconds.

By your request, we will prepare an individual live preview database, where you would be able to apply any tests and check assumptions for 14 days.

Bug reporting

In case you have faced any bugs or inconsistent behavior, do not hesitate to contact us. We guarantee to provide fixes within 60 days after the purchase, while even after this period we are strongly interested to improve our tools.

No phone number or credit card is required to contact us: only a short email sign up which does not take more than 30 seconds.

Please include in your request as many details as possible: screenshots, Odoo server logs, a full description of how to reproduce your problem, and so on. Usually, it takes a few business days to prepare a working plan for an issue (if a bug is confirmed) or provide you with guidelines on what should be done (otherwise).

Public features requests and module ideas (free development)

We are strongly motivated to improve our tools and would be grateful for any sort of feedback. In case your requirements are of public use and might be efficiently implemented, the team would include those in our to-do list.

Such a to-do list is processed on a regular basis and does not assume extra fees. Although we cannot promise deadlines and final design, it might be a good way to get desired features without investments and risks.

No phone number or credit card is required to contact us: only a short email sign up which does not take more than 30 seconds.

You may also like the tools
Cloud Storage Solutions

The tool to flexibly structure Odoo attachments in folders and synchronize directories with cloud clients: Google Drive, OneDrive/SharePoint, Nextcloud/ownCloud, Dropbox. DMS. File Manager. Document management system.

OneDrive / SharePoint Odoo Integration

The tool to automatically synchronize Odoo attachments with OneDrive files in both ways

Google Drive Odoo Integration

The tool to automatically synchronize Odoo attachments with Google Drive files in both ways

ownCloud / Nextcloud Odoo Integration

The tool to automatically synchronize Odoo attachments with ownCloud / Nextcloud files in both ways

KnowSystem: Knowledge Base System

The tool to build deep and structured knowledge base for internal and external use. Knowledge System. KMS. Wiki-like revisions

Universal Appointments and Time Reservations

The tool for time-based service management from booking appointments to sales and reviews

Password Manager

The tool to safely keep passwords in Odoo for shared use. Shared vaults. Encryption

198€ 168€
KPI Balanced Scorecard

The tool to set up KPI targets and control their fulfillment by periods. KPI dashboard. Dashboard designer. KPI charts

198€ 168€
Odoo Documentation Builder

The tool to create website documentation based on your knowledge base