| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Calendar (calendar)
• Discuss (mail) |
| Lines of code | 1620 |
| Technical Name |
calendar_caldav_sync |
| License | OPL-1 |
| Website | https://www.cd-tronic.de |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Calendar (calendar)
• Discuss (mail) |
| Lines of code | 1620 |
| Technical Name |
calendar_caldav_sync |
| License | OPL-1 |
| Website | https://www.cd-tronic.de |
CalDAV Calendar Sync
Synchronize your Odoo Calendar with any CalDAV server
Seamlessly sync your Odoo calendar events with Synology Calendar, Nextcloud, Radicale, or any other RFC 4791-compliant CalDAV server — bidirectionally and automatically.
Screenshots
Key Features
Bidirectional Sync
Events created or modified in Odoo automatically appear on your CalDAV server and vice versa. Choose between bidirectional, Odoo → CalDAV, or CalDAV → Odoo.
Automatic & Manual Sync
A configurable cron job keeps calendars in sync automatically. Need instant results? Click the CalDAV Sync button directly in the calendar view.
Per-User Accounts
Each user configures their own CalDAV server connection. Admins manage everything from Settings → Calendar.
Efficient Change Detection
Uses CTag and ETag for incremental sync — only changed events are transferred, minimizing server load.
Invitation Email Control
Optionally suppress or enable meeting invitation emails per CalDAV account. Disabled by default to prevent unwanted notifications on incoming events.
Auto-Create Contacts
Optionally create new contacts for unknown attendee email addresses from CalDAV events. Toggle per account — disabled by default.
Deletion Sync
Deleting or archiving an event in Odoo removes it from the CalDAV server. Events deleted on the server are archived in Odoo on the next sync.
Clean Description Sync
Prevents Odoo from injecting attendee contact details into event descriptions, keeping your CalDAV data clean and unmodified.
Recurring Events
CalDAV recurrence rules (RRULE) are parsed into Odoo’s native recurrence engine. Events like “every 3 months” generate all occurrences in the Odoo calendar automatically — updates and deletions keep the entire series in sync.
What Gets Synced
| Feature | Supported |
|---|---|
| Single events | |
| All-day events | |
| Event title, description, location | |
| Attendees | |
| Reminders / Alarms | |
| Privacy (public / private) | |
| Event deletion sync | |
| Auto-create contacts for unknown attendees | |
| Per-account invitation email control | |
| Recurring events (RRULE → native Odoo occurrences) | |
| Robust iCal parser (handles non-standard data) |
Compatible CalDAV Servers
Synology Calendar (DSM 6 & 7)
Nextcloud Calendar
Radicale
Apple Calendar Server
Any RFC 4791-compatible server
Quick Setup
- Go to Settings → Calendar and enable CalDAV Sync
- Click Manage CalDAV Accounts
- Enter your CalDAV server URL, username, and password
- Click Test Connection — done!
Sync runs automatically every 15 minutes. You can also click the CalDAV Sync button in the calendar view anytime.
No External Python Dependencies
Unlike other CalDAV modules, this module uses a built-in native CalDAV client
— no need to install the caldav Python package.
Works out of the box with standard Odoo deployments, Docker containers, and Odoo.sh.
Changelog
19.0.1.2.0 (2026-03-09)
- Feature: Full recurring event support. CalDAV RRULE is now parsed into Odoo’s native recurrence engine, so recurring events (e.g. “every 3 months”) generate all occurrences in the Odoo calendar — just like events created directly in Odoo.
- Feature: Recurrence-aware update & delete. When a recurring CalDAV event changes its RRULE, the Odoo recurrence is automatically recreated. Deleting a recurring event on the server archives the entire series in Odoo.
- Fix: Occurrence events are no longer pushed individually to CalDAV. Only the base event (with RRULE) is synced; occurrences are generated server-side from the rule.
- Fix: Recurring events (e.g. “every 3 months”) are no longer converted to single events during sync. The original iCal RRULE is now preserved for round-trip fidelity.
- Fix: Simple calendar entries no longer turn into meetings after sync. The CalDAV account owner is no longer injected as an attendee, so entries stay as plain events without ORGANIZER/ATTENDEE properties.
19.0.1.1.0
- Initial release with bidirectional CalDAV synchronisation.
Technical Information
- Odoo Version: 19.0
- License: OPL-1 (Odoo Proprietary License)
- Dependencies: Calendar, Mail (core modules only)
- Python: Uses
vobject(already included in Odoo) - Languages: English, German, French, Spanish, Italian, Portuguese (BR), Dutch
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. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module
There are no ratings yet!
community version 19
Hello, does it work for community version 19?
community version 19
Yes💪