Skip to main content
CalDAV Connector — A build-to-order Odoo module that keeps your Odoo calendar in genuine two-way sync with external CalDAV se — 1/1Illustrative preview

A build-to-order Odoo module that keeps your Odoo calendar in genuine two-way sync with external CalDAV services.

ECOSIRE scopes, builds, installs, and supports it for your Odoo 17/18/19 environment.

What is CalDAV Connector?

A build-to-order Odoo module that keeps your Odoo calendar in genuine two-way sync with external CalDAV services. ECOSIRE scopes, builds, installs, and supports it for your Odoo 17/18/19 environment. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $999.00 USD; request a quote for a scoped proposal.

Key Features

Native CalDAV client speaking RFC 4791 with iCalendar (RFC 5545) VEVENT serialization for standards-compliant server interoperability
Genuine two-way sync: Odoo `calendar.event` changes PUT/DELETE to the remote collection, remote changes pulled back into Odoo
ETag-based `REPORT` sync-collection queries pull only changed objects instead of re-fetching entire calendars each run
Stable per-event UID persisted via a `compute`/`@api.depends` field so cross-system updates never spawn duplicate events
Scheduled `ir.cron` reconciliation plus optional on-save `base.automation` trigger for near-real-time outbound pushes
Recurring-event fidelity: `RRULE`, `EXDATE` exceptions, and modified-instance handling mapped both directions
Attendee `PARTSTAT` (accepted/declined/tentative) and organizer data preserved across the sync boundary
Full `VTIMEZONE` handling so events land at the correct local time regardless of server or user timezone
Configurable conflict policy per mapped calendar: last-write-wins, Odoo-authoritative, or remote-authoritative
Encrypted credential storage with per-user account records secured by `ir.model.access.csv` and record rules
Per-user, per-team calendar mapping so each collection routes to the right Odoo user or shared calendar
Manual `Sync Now` server action plus a persistent sync-log model readable over XML-RPC/JSON-RPC for external monitoring
Admin configuration UI (XML/OWL views) for endpoints, calendar mapping, direction, and conflict rules
Packaged for Odoo 17.0, 18.0, and 19.0 on both Community and Enterprise with edition-aware `__manifest__.py` dependencies

Built to order, done for you

No DIY setup — a working app, built, installed and supported by ECOSIRE.

  1. 1

    You order

    Start with a one-time build price. We scope it with you at kickoff.

  2. 2

    We build & install

    ECOSIRE builds, configures and installs it on your Odoo.

  3. 3

    Go live + support

    You go live in about one working week, with two weeks of go-live support. Defects in the code we deliver are fixed free of charge.

Technical Specifications

Odoo Compatibility
Odoo 17, Odoo 18, Odoo 19
Editions
Enterprise & Community
License
Licence confirmation required
Python Requirement
Python 3.10+
Database
PostgreSQL 12+

About this Product

Teams that run their day in Odoo hit a wall the moment their calendar lives in two places. Sales reps book on their phone, project leads schedule in a self-hosted groupware server, and executives live in a mainstream cloud calendar — yet Odoo's calendar.event records only know about what was created inside Odoo. Native Odoo ships a calendar app and, in some editions, a narrow connector to one large consumer provider, but there is no general-purpose, standards-based bridge to arbitrary CalDAV servers, no field-level control over what syncs, and no dependable handling of recurring events, attendee responses, or reschedules that originate outside Odoo. The result is double-booking, stale meeting rooms, and staff who quietly stop trusting the Odoo calendar altogether.

This is where a productized CalDAV Connector earns its keep. We build a dedicated Odoo module that speaks the CalDAV protocol (RFC 4791) and iCalendar (RFC 5545) directly, so it talks to standards-compliant calendar servers — self-hosted collaboration suites, open-source groupware, and the major cloud calendars that expose a CalDAV endpoint. Under the hood it introduces its own configuration models (built on models.Model) to store per-user account credentials, the mapped remote calendar collections, and a sync-state ledger of ETags and remote UIDs. The account secret is held in an encrypted field rather than plaintext, and access is scoped through ir.model.access.csv plus record rules so a user only ever sees and syncs their own linked calendars.

Technically, the two-way engine is driven by a scheduled ir.cron job with an optional on-save base.automation trigger for near-real-time pushes. Outbound, Odoo calendar.event changes are serialized to VEVENT and sent via CalDAV PUT/DELETE, keyed by a stable UID we persist on each event through a compute/@api.depends field so updates never create duplicates. Inbound, the connector performs an ETag-based REPORT sync-collection query, pulls only changed objects, and maps them back onto Odoo events — reconciling recurrence rules (RRULE), exceptions, attendee PARTSTAT, reminders, and timezone (VTIMEZONE) data. A conflict policy you choose during scoping (last-write-wins, Odoo-authoritative, or remote-authoritative per calendar) governs collisions, and every sync writes an audit line so failures are visible rather than silent. We expose a clean admin view (XML/OWL) for mapping calendars, a manual "sync now" action, and a log the JSON-RPC/XML-RPC API can also read for external monitoring. The module targets Odoo 17.0, 18.0, and 19.0, works on Community and Enterprise, and its __manifest__.py declares only the dependencies your edition actually needs.

Because this is build-to-order, nothing is downloaded off a shelf. After a short scoping call we confirm your target CalDAV servers, sync direction, conflict policy, field mapping, and Odoo version, then build the module against your exact environment, test it on a staging database with your real calendars, and install it in production with a rollback plan. Typical delivery is one working week from confirmed scope. Pricing starts from $999 (indicative, single-company base scope); additional CalDAV endpoints, multi-company routing, per-team calendar mapping, and deeper recurrence/attendee edge-case handling increase the quoted scope.

What you get

  • Installable module source code built for your Odoo version (17.0/18.0/19.0), Community or Enterprise
  • Installation and configuration on your staging and production environments, including CalDAV endpoint setup
  • Technical documentation: model structure, sync-engine logic, cron schedule, conflict policy, and security rules
  • End-user guide plus a live training session for calendar users and administrators
  • Post-go-live support window for bug fixes and sync-behavior tuning after launch
  • UAT on a staging database with your real calendars, plus a documented rollback plan
  • Git repository handover with full commit history and README
  • Field-mapping and conflict-policy configuration sheet documenting exactly how your calendars are routed

Who this is for

Operations lead standardizing on Odoo

Wants every meeting, deadline, and resource booking to live in one trustworthy Odoo calendar, without forcing staff to abandon the external calendar servers they already rely on.

Sales manager tracking rep availability

Needs reps' externally-booked appointments to appear in Odoo (and vice versa) so pipeline reviews, scheduling, and follow-ups reflect real availability instead of a half-empty calendar.

IT / systems administrator running self-hosted groupware

Maintains an on-prem or self-hosted CalDAV server and needs a secure, standards-based bridge to Odoo with encrypted credentials, per-user access control, and a readable sync log rather than a black box.

Professional-services / project lead

Schedules client meetings and delivery milestones across tools and needs those events to reconcile cleanly in Odoo Projects and Calendar, with recurring events and reschedules handled correctly.

How CalDAV Connector Compares

CriterionECOSIRECustom BuildCompetitorOdoo Native
Delivery modelBuilt for your environment, installed and supported by usBuilt once by an internal or freelance developerInstant download, generic to all buyersIncluded in Odoo, no external CalDAV bridge
External CalDAV server supportAny standards-compliant server you specify at scopingWhatever the developer chose to supportOften limited to one or two providersNo general CalDAV sync out of the box
Two-way sync depthBidirectional with UID keying and ETag sync-collectionDepends entirely on the build qualityOften one-way or shallow two-wayNone for arbitrary CalDAV endpoints
Recurrence & attendee fidelityRRULE, exceptions, PARTSTAT, timezone handled both waysEdge cases usually cut to save timeRecurrence and exceptions often unreliableNot applicable
Conflict handlingConfigurable policy per calendar with audit logRarely designed for; ad hoc at bestFixed behavior, not configurableNot applicable
Security & access controlEncrypted credentials, record rules, per-user scopeOnly as good as the developer implementedVaries; often plaintext or shared configStandard Odoo access, no CalDAV secrets
Version coverageBuilt and tested for 17.0/18.0/19.0, Community or EnterprisePinned to one version, upgrades are extra workMay lag behind current Odoo releasesShips with your Odoo version
Support & accountabilityNamed vendor, support window, git handoverEnds with the developer's availabilityForum or ticket queue, generic responsesOdoo standard support channels

Frequently Asked Questions about CalDAV Connector

How long does delivery take?

This is a build-to-order module, so it is built for your environment after scoping rather than downloaded instantly. Typical delivery is one working week from confirmed scope, depending on how many CalDAV endpoints, calendars, and edge cases (recurrence, multi-company routing) are involved. We agree on a timeline in writing before work begins.

Which calendar services does it work with?

Any standards-compliant CalDAV server — self-hosted collaboration and groupware suites, open-source calendar servers, and the major cloud calendars that expose a CalDAV endpoint. During scoping we confirm your specific servers and validate their CalDAV endpoints against a staging Odoo instance before the build.

Is the sync really two-way, and how are conflicts handled?

Yes. Odoo `calendar.event` changes are pushed out as iCalendar VEVENTs, and remote changes are pulled back via ETag-based sync queries. When the same event changes on both sides between syncs, a conflict policy you choose during scoping — last-write-wins, Odoo-authoritative, or remote-authoritative per calendar — decides the outcome, and every reconciliation is written to an audit log.

How does pricing and scoping work?

Pricing starts from $999 as an indicative from-price for a single-company base scope. After a short scoping call we confirm endpoints, sync direction, conflict policy, field mapping, and Odoo version, then send a fixed written quote. Additional endpoints, multi-company routing, and deeper recurrence/attendee handling increase the quoted scope — but you approve the fixed price before we build.

What about support and updates after go-live?

Every engagement includes a post-go-live support window for bug fixes and sync-behavior tuning. Because the module is built for your specific Odoo version, we can also quote ongoing maintenance or a version upgrade (for example when you move from 18.0 to 19.0) as a follow-on so the connector keeps working after a platform migration.

Does it work on Odoo Community or only Enterprise?

It works on both. The connector is standards-based and does not depend on Enterprise-only calendar features, so we build it against your edition and declare only the dependencies your setup needs in `__manifest__.py`. We support Odoo 17.0, 18.0, and 19.0.

Will it duplicate events or break my existing calendar data?

No. Each event carries a stable UID we persist in Odoo, and inbound sync is ETag-driven, so updates match existing records instead of creating copies. Before touching production we run UAT on a staging database with your real calendars and keep a documented rollback plan, so your live data is never the test bed.

Request a quote

CalDAV Connector

A build-to-order Odoo module that keeps your Odoo calendar in genuine two-way sync with external CalDAV services. ECOSIRE scopes, builds, installs, and supports it for your Odoo 17/18/19 environment.

  • Native CalDAV client speaking RFC 4791 with iCalendar (RFC 5545) VEVENT serialization for standards-compliant server interoperability
  • Genuine two-way sync: Odoo `calendar.event` changes PUT/DELETE to the remote collection, remote changes pulled back into Odoo
  • ETag-based `REPORT` sync-collection queries pull only changed objects instead of re-fetching entire calendars each run
  • Stable per-event UID persisted via a `compute`/`@api.depends` field so cross-system updates never spawn duplicate events

Request a Quotation

Tell us about your CalDAV Connector requirements and we'll send pricing, licensing options and a tailored proposal — usually within one business day.

No payment now. This sends a quote request to our team — we'll follow up by email with pricing and next steps.