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 $299.00 USD; request a quote for a scoped proposal.

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.
ابھی کوئی ادائیگی نہیں۔ یہ ہماری ٹیم کو قیمت کی درخواست بھیجتا ہے — ہم قیمت اور اگلے اقدامات کے ساتھ ای میل کے ذریعے رابطہ کریں گے۔
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.
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
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 2–4 weeks from confirmed scope. Pricing starts from $299 (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.
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.
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.
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.
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.
Buy the license on ecosire.com and download the CalDAV Connector module ZIP from your account dashboard.
Extract the ZIP into your Odoo custom addons folder on the server (or upload via Apps > Install from file on Odoo.sh / runbot).
Activate Developer Mode, open Apps, click Update Apps List, search for CalDAV Connector, and press Install.
Open the new menu, paste your ECOSIRE license key, connect any external credentials (Shopify, Amazon, Stripe, etc.), and save.
Run the built-in connection test, sync your first 10 records, and schedule the recurring cron. Contact support if anything fails.
| Criterion | ECOSIRE | Custom Build | Competitor | Odoo Native |
|---|---|---|---|---|
| Delivery model | Built for your environment, installed and supported by us | Built once by an internal or freelance developer | Instant download, generic to all buyers | |
| External CalDAV server support | Any standards-compliant server you specify at scoping | Whatever the developer chose to support | Often limited to one or two providers | |
| Two-way sync depth | Bidirectional with UID keying and ETag sync-collection | Depends entirely on the build quality | Often one-way or shallow two-way | |
| Recurrence & attendee fidelity | RRULE, exceptions, PARTSTAT, timezone handled both ways | Edge cases usually cut to save time | Recurrence and exceptions often unreliable | |
| Conflict handling | Configurable policy per calendar with audit log | Rarely designed for; ad hoc at best | Fixed behavior, not configurable | |
| Security & access control | Encrypted credentials, record rules, per-user scope | Only as good as the developer implemented | Varies; often plaintext or shared config | |
| Version coverage | Built and tested for 17.0/18.0/19.0, Community or Enterprise | Pinned to one version, upgrades are extra work | May lag behind current Odoo releases | |
| Support & accountability | Named vendor, support window, git handover | Ends with the developer's availability | Forum or ticket queue, generic responses |
This is a build-to-order module, so it is built for your environment after scoping rather than downloaded instantly. Typical delivery is 2–4 weeks 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.
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.
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.
Pricing starts from $299 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.
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.
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.
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.
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.