v 15.0 Third Party 176
Live Preview
You bought this module and need support? Click here!

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.

Documentation: https://faotools.com/docs/4/joint-calendar-23

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

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

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

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

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

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'

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.

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.

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.

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.

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 the version 12.0 and prior gives you an access to the all versions up to 12.0.
  • starting from the version 13.0, every version of the module should be purchased separately.
  • disregarding the version, purchasing a tool grants you a right for all updates and bug fixes within a major version.

Take into account that faOtools team does not control those policies. By 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 odoo.sh

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 Odoo.sh project

3. Then, go to odoo.sh 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 would install the app for your project production branch. If you wanted 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 odoo.sh, 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 odoo.sh 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.

To demand such a database, press the button "Live Preview" on the top of this page or copy the link https://faotools.com/s/kthp7c

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.

To send us a bug report: press the "Website" link on the top of this page and push the button "Bug Report" (the tab Support). Alternatively, copy the link https://faotools.com/s/002atp

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.

To share ideas: press the "Website" link on the top of this page and push the button "Share Features Ideas" (the tab Support). Alternatively, copy the link https://faotools.com/s/9uxsj3

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.

Questions and misc issues

Feel free to contact us with any other concerns, doubts, or questions: press the "Website" link on the top of this page and push the button "Raise Question" (the tab Support). Alternatively, copy the link https://faotools.com/s/t3rzbu

About the team

faOtools (faotools.com, former odootools.com) is the team of developers and business analysts to help you extend Odoo's potential. We have been communicating with end users to whom the software became the main business tool since 2012. As a result, we are proud of dozens of successful Odoo apps developed. We are open for new ideas and challenges to create the best Odoo apps for business needs all over the world.

You may 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.

Google Drive Odoo Integration

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

OneDrive / SharePoint Odoo Integration

The tool to automatically synchronize Odoo attachments with OneDrive 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

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

436 430
Odoo Proprietary License v1.0
This software and associated files (the "Software") may only be used (executed,
modified, executed after modifications) if you have purchased a valid license
from the authors, typically via Odoo Apps, or if you have received a written
agreement from the authors of the Software (see the COPYRIGHT file).
You may develop Odoo modules that use the Software as a library (typically
by depending on it, importing it and using its resources), but without copying
any source code or material from the Software. You may distribute those
modules under the license of your choice, provided that this license is
compatible with the terms of the Odoo Proprietary License (For example:
LGPL, MIT, or proprietary licenses similar to this one).
It is forbidden to publish, distribute, sublicense, or sell copies of the Software
or modified copies of the Software.
The above copyright notice and this permission notice must be included in all
copies or substantial portions of the Software.

Please log in to comment on this module

  • The author can leave a single reply to each comment.
  • This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
  • If you want to start a discussion with the author or have a question related to your purchase, please use the support page.