Skip to main content
Product details are displayed in English. Translations coming soon.
Nextcloud / ownCloud Integration for Odoo — A build-to-order Odoo integration that keeps your attachments and DMS documents i — 1/1مثالی پیش منظر

A build-to-order Odoo integration that keeps your attachments and DMS documents in sync with a self-hosted

Nextcloud or ownCloud server, mapping each record to its own folder and issuing internal or public share links on demand.

ECOSIRE builds, installs, and supports it on Odoo 17, 18, or 19.

Nextcloud / ownCloud Integration for Odoo کیا ہے؟

A build-to-order Odoo integration that keeps your attachments and DMS documents in sync with a self-hosted Nextcloud or ownCloud server, mapping each record to its own folder and issuing internal or public share links on demand. ECOSIRE builds, installs, and supports it on Odoo 17, 18, or 19. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $999.00 USD; request a quote for a scoped proposal.

اہم خصوصیات

Two-way sync between `ir.attachment` and Nextcloud/ownCloud over the WebDAV (sabre/dav) protocol, reconciling both push and pull directions
Content-hash + modified-time conflict detection so simultaneous edits in Odoo and Nextcloud are flagged instead of silently overwritten
Per-record folder mapping via a configurable path template (e.g. `/Odoo/{model}/{record_name}-{id}`) with automatic folder creation on first sync
Internal vs public shareable links generated through the Nextcloud OCS Share API, with optional password protection and expiry dates
Access-rights-aware visibility enforced through `ir.model.access.csv` and record rules — users only see links for records they can already read
Public-link creation gated to designated security groups so ordinary users can't over-share externally
Background sync scheduled via `ir.cron`, batched and rate-limited to protect your Nextcloud instance, plus a manual `sync now` server action
Sync-state fields (`synced`, `pending`, `error`, `conflict`) exposed as computed status with `@api.depends`, surfaced in list and form views
Service-account credentials stored securely in a settings model / `ir.config_parameter`, never hard-coded in source
Share URLs embeddable in QWeb reports and email templates so quotes, invoices, and notifications can link straight to the file
XML-RPC / JSON-RPC endpoints to trigger syncs and read share metadata from external systems
Full sync log with per-file status, error messages, and retry, so failed transfers are visible and re-runnable
Soft-delete handling: choosing whether removing an Odoo attachment also removes the remote file or just detaches the link
Support for both Nextcloud and ownCloud auth (app passwords / basic auth), configurable per environment

آرڈر پر تیار، مکمل طور پر آپ کے لیے

خود سیٹ اپ کی ضرورت نہیں — ایک کام کرنے والی ایپ جو ECOSIRE بناتا، انسٹال اور سپورٹ کرتا ہے۔

  1. 1

    آپ آرڈر دیتے ہیں

    ایک بار کی تعمیر کی قیمت سے آغاز کریں۔ آغاز پر ہم آپ کے ساتھ مل کر دائرہ کار طے کرتے ہیں۔

  2. 2

    ہم بناتے اور انسٹال کرتے ہیں

    ECOSIRE اسے آپ کے Odoo پر بناتا، ترتیب دیتا اور انسٹال کرتا ہے۔

  3. 3

    لائیو + معاونت

    آپ تقریباً ایک کاروباری ہفتے میں لائیو ہو جاتے ہیں، گو لائیو کے بعد دو ہفتوں کی معاونت کے ساتھ۔ ہمارے فراہم کردہ کوڈ کی خرابیاں مفت درست کی جاتی ہیں۔

تکنیکی تفصیلات

Odoo ہم آہنگی
Odoo 17, Odoo 18, Odoo 19
ایڈیشنز
Enterprise اور Community
لائسنس
لائسنس کی تصدیق درکار ہے
Python کی ضرورت
Python 3.10+
ڈیٹابیس
PostgreSQL 12+

اس مصنوع کے بارے میں

Teams that self-host their file storage do it on purpose: they want documents on infrastructure they control, not scattered across a vendor's object store. Odoo, though, keeps attachments in ir.attachment — either as base64 blobs in the database or under the filestore directory — with no native concept of syncing those files to an external WebDAV server, no per-record folder structure a user can browse in a Files app, and no way to hand someone a shareable link that respects your access rules. The moment you want a sales order's contracts sitting in a Nextcloud folder your legal team can open directly, or a public link to a datasheet that expires, Odoo core runs out of road and people fall back to manually re-uploading files in two places.

We build a dedicated Odoo module that bridges ir.attachment and the Nextcloud/ownCloud WebDAV + OCS Share API. A configuration model (with credentials stored in ir.config_parameter / a secured settings model, never hard-coded) holds the server URL, service account, and root path. New models.Model records extend the attachment and target document models with fields tracking the remote path, share token, sync state, and last-synced hash, using compute methods with @api.depends to surface a clean status in the UI. Per-record folder mapping is driven by a configurable template (for example /Odoo/{model}/{record_name}-{id}) so every partner, project, sale order, or DMS document gets a deterministic folder created on first sync. Two-way sync reconciles both directions: files added or replaced in Odoo push up over WebDAV, and changes detected on the Nextcloud side are pulled back and re-attached, with conflict handling based on modified-time and content hash so you never silently lose an edit.

Link generation uses the OCS Share API to mint either an internal link (visible only to the mapped Nextcloud group/users) or a public share, with optional password and expiry, exposed on the Odoo record through a QWeb-rendered button and stored so it can be embedded in QWeb reports or emails. Visibility is access-rights-aware: the module ships ir.model.access.csv entries plus record rules so a user only sees links and folders for records they can already read in Odoo, and public-link creation can be gated to specific groups. A scheduled automated action (ir.cron) runs the background sync on an interval you choose, batched and rate-limited to stay friendly to your Nextcloud instance, with a full sync log and a manual "sync now" action for on-demand pushes. Everything is reachable over Odoo's XML-RPC/JSON-RPC API too, so external systems can trigger syncs or read share URLs programmatically.

Because this is a build-to-order module, nothing ships until we agree on scope. We start with a short scoping call to confirm which models you want synced (attachments only, DMS documents, or specific business records), your Nextcloud/ownCloud version and auth method, and your Community-vs-Enterprise edition on Odoo 17.0, 18.0, or 19.0. We then build against a staging copy of your database, validate the two-way sync and link behavior in UAT, and deliver the installable module with a rollback plan. Typical delivery is one working week from confirmed scope. You receive the full source, documentation, a training session, and a post-go-live support window — and the git repository is yours to keep.

What you get

  • Installable Odoo module source code targeting your exact edition and version (17.0, 18.0, or 19.0), with a complete `__manifest__.py` and clean dependency list
  • Installation and configuration on your environment, including Nextcloud/ownCloud connection setup and folder-mapping templates
  • Technical documentation covering models, sync architecture, cron scheduling, and the security model (`ir.model.access.csv` + record rules)
  • End-user guide plus a live training session for admins and everyday users
  • UAT on a staging copy of your database with a documented rollback plan before production go-live
  • Post-go-live support window for bug fixes and configuration adjustments
  • Handover of the complete git repository so you own and can extend the code
  • Configuration reference for credentials, rate limits, and public-link policy

Who this is for

Privacy-focused operations team

Runs a self-hosted Nextcloud/ownCloud on infrastructure they control and refuses to duplicate documents into a third-party cloud. They need Odoo attachments to live in their own storage automatically, with a clear per-record folder structure their non-Odoo colleagues can browse.

Odoo administrator / internal IT

Owns the Odoo instance and wants sync that respects existing access rules, runs on a predictable cron, and doesn't hammer the Nextcloud server. Values secured credential storage, a sync log they can audit, and a git repo they can maintain.

Compliance and legal function

Needs contracts, signed documents, and datasheets stored in a governed location with controlled sharing — internal links for staff, expiring password-protected public links for outside parties — all traceable back to the originating Odoo record.

Client-facing sales or project team

Wants a one-click shareable link to the right document embedded in quotes, invoices, or project records via QWeb, without leaving Odoo or emailing files as attachments.

How Nextcloud / ownCloud Integration for Odoo Compares

CriterionECOSIRECustom BuildCompetitorOdoo نیٹو
File storage locationYour self-hosted Nextcloud/ownCloud, synced from OdooWherever you build it to goOften a fixed provider or basic WebDAV pushOdoo database blob or local filestore only
Sync directionTwo-way with hash + mtime conflict detectionDepends on in-house effortFrequently one-way push onlyNone — no external sync at all
Per-record foldersConfigurable path template, auto-created per recordBuildable but you design itFlat or limited folder logicNo folder mapping concept
Shareable linksInternal vs public via OCS API, password + expiryMust implement OCS calls yourselfBasic public links, limited controlsNo external share links
Access-rights awarenessRecord rules + `ir.model.access.csv`, group-gated public linksOnly if you build the security layerOften bypasses Odoo record rulesN/A — no sharing feature
Version supportBuilt for your Odoo 17.0 / 18.0 / 19.0, Community or EnterpriseWhatever you targetMay lag new Odoo releasesShips with core, no integration
Ownership & supportFull git repo handover + support windowYou own it and maintain it entirelyVendor-locked, per-seat or annual feesCommunity support only
Delivery modelBuild-to-order, one working week from confirmed scopeLong in-house build and QA cycleInstant download but generic fitAlready installed, but no capability

Frequently Asked Questions about Nextcloud / ownCloud Integration

How long does delivery take?

This is a build-to-order module, so nothing is pre-packaged for instant download. After a confirmed scope from the initial call, typical delivery is one working week depending on how many models you sync and the complexity of your Nextcloud/ownCloud setup. We build on a staging copy, run UAT with you, then deploy to production.

What happens after go-live for support and updates?

Every build includes a post-go-live support window for bug fixes and configuration tweaks. Because you receive the full git repository, your team can maintain it, and we offer ongoing support or version-migration engagements (for example when you move from Odoo 17 to 18 or 19) as a separate scope.

Does this work with both Nextcloud and ownCloud?

Yes. Both expose the WebDAV protocol for files and the OCS Share API for links, which is what the module builds on. We confirm your specific server version and authentication method (app passwords / basic auth) during scoping and target that exact environment.

Will it work on Odoo Community, or do I need Enterprise?

The integration is built on standard Odoo primitives — `ir.attachment`, models, cron, `ir.model.access.csv`, and record rules — so it runs on both Community and Enterprise. If your workflow depends on the Enterprise Documents (DMS) app, we map to that; on Community we map to attachments or your chosen records. We confirm the edition in the scoping call.

How is sharing kept secure so users can't over-share files?

Visibility is access-rights-aware: record rules and `ir.model.access.csv` ensure a user only sees links for records they can already read in Odoo. Public-link creation is gated to specific security groups, and public shares support passwords and expiry dates via the OCS Share API, so external exposure is deliberate and controlled.

What happens if the same file is edited in both Odoo and Nextcloud?

The sync compares content hashes and modified timestamps. When it detects a divergence it flags the record as a conflict rather than silently overwriting, and surfaces it in the sync log so someone can resolve it. You decide the default policy (Odoo-wins, remote-wins, or manual) during scoping.

Can external systems trigger a sync or read the share links?

Yes. The module is reachable over Odoo's XML-RPC / JSON-RPC API, so external applications can trigger a sync, read a record's remote folder path, or fetch its share URL programmatically — useful for integrating with portals or automation outside Odoo.

آرڈر پر تیار
Network International (N-Genius) Gateway for Odoo
آرڈر پر تیار
New Zealand Payday Filing
آرڈر پر تیار
Nigeria Payroll (PAYE, Pension, NHF)
Odoo

Nigeria Payroll (PAYE, Pension, NHF)

Build-to-order Odoo Nigeria payroll localization: PAYE, pension, NHF, NSITF & ITF in NGN. ECOSIRE builds, installs and supports it.

From $999.00ابتدائی قیمت — آپ کے دائرۂ کار کے مطابق مقرر کی جائے گی
آرڈر پر تیار
No-Code Customizer
قیمت کا تخمینہ طلب کریں

Nextcloud / ownCloud Integration

A build-to-order Odoo integration that keeps your attachments and DMS documents in sync with a self-hosted Nextcloud or ownCloud server, mapping each record to its own folder and issuing internal or public share links on demand. ECOSIRE builds, installs, and supports it on Odoo 17, 18, or 19.

  • Two-way sync between `ir.attachment` and Nextcloud/ownCloud over the WebDAV (sabre/dav) protocol, reconciling both push and pull directions
  • Content-hash + modified-time conflict detection so simultaneous edits in Odoo and Nextcloud are flagged instead of silently overwritten
  • Per-record folder mapping via a configurable path template (e.g. `/Odoo/{model}/{record_name}-{id}`) with automatic folder creation on first sync
  • Internal vs public shareable links generated through the Nextcloud OCS Share API, with optional password protection and expiry dates

قیمت کا تخمینہ طلب کریں

ہمیں Nextcloud / ownCloud Integration کے لیے اپنی ضروریات بتائیں اور ہم آپ کو قیمتیں، لائسنس کے اختیارات اور ایک مخصوص تجویز بھیجیں گے — عام طور پر ایک کاروباری دن میں۔

ابھی کوئی ادائیگی نہیں۔ یہ ہماری ٹیم کو قیمت کی درخواست بھیجتا ہے — ہم قیمت اور اگلے اقدامات کے ساتھ ای میل کے ذریعے رابطہ کریں گے۔