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.
在 ecosire.com 上购买许可证并从您的帐户仪表板下载 CalDAV Connector 模块 ZIP。
将 ZIP 解压到服务器上的 Odoo 自定义插件文件夹中(或通过“应用程序”>“从 Odoo.sh / runbot 上的文件安装”上传)。
激活开发者模式,打开应用程序,单击更新应用程序列表,搜索 CalDAV Connector,然后按安装。
打开新菜单,粘贴您的 ECOSIRE 许可证密钥,连接任何外部凭据(Shopify、Amazon、Stripe 等),然后保存。
运行内置连接测试,同步前 10 条记录,并安排定期 cron。如果出现任何问题,请联系支持人员。
| 标准 | 伊科西尔 | 定制建造 | 竞争对手 | 奥杜本机 |
|---|---|---|---|---|
| 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.