Skip to main content
Advanced DMS for Odoo — A build-to-order Odoo document management module with in-browser PDF annotation, full version history — 1/1Illustrative preview

A build-to-order Odoo document management module with in-browser PDF annotation,

full version history, and record-rule-driven access control.

ECOSIRE scopes, builds, installs, and supports it — this is not an off-the-shelf download.

What is Advanced DMS for Odoo?

A build-to-order Odoo document management module with in-browser PDF annotation, full version history, and record-rule-driven access control. ECOSIRE scopes, builds, installs, and supports it — this is not an off-the-shelf download. 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

`document.file` + `document.file.version` models where every upload becomes an immutable, retained revision with `version_number` computed via `@api.depends`, author, timestamp, and change note
In-browser PDF viewer built as an OWL component embedded in the form view — no external editor or download required to review
Annotation toolset: highlights, sticky notes, text callouts, stamps, and freehand markup persisted as structured JSON on a dedicated model, never mutating the source PDF
Check-out / check-in workflow with a state field and `ir.rule`-enforced lock so two users can't silently overwrite the same document
Version compare and restore — promote any prior revision to current without deleting the intervening history
`document.folder` hierarchy with inherited access and folder-scoped record rules
Group-based security via `ir.model.access.csv` plus `ir.rule` record rules keyed on folder membership, ownership, and optional `company_id` for multi-company isolation
QWeb reports for a version-history sheet and a printable annotation/sign-off summary
Automated actions for retention reminders, stale-checkout escalation, and expiry status transitions
Full XML-RPC/JSON-RPC API surface so portals, scanners, or external systems can create files, post versions, and read annotations programmatically
Optional chatter + activities on `document.file` so review requests and approvals thread onto the record's mail.thread timeline
Linkage of a document revision to any business record (e.g. Sale Order, Project Task) via a reference field, keeping the audit trail tied to context
Server-side annotation flattening: on demand, burn annotations into a distributed PDF via QWeb/report pipeline while keeping the clean master
Built for Odoo 17.0 / 18.0 / 19.0, Community or Enterprise — on Enterprise it integrates with the Documents app rather than duplicating it

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

Most teams that run Odoo end up with documents scattered across the Attachments sidebar, ir.attachment records with no lifecycle, shared drives, and email threads. Odoo's native Documents app (Enterprise) and raw attachments cover storage and basic folders, but they run out of road the moment you need real version control (not just "replace file"), reviewer markup directly on a PDF, controlled check-in/check-out to prevent two people overwriting each other, or an approval trail that ties a document revision to the business record it belongs to. Community editions have even less. Teams then resort to naming files contract_final_v3_REALLY_final.pdf, and audits become guesswork.

Advanced DMS is a made-to-order Odoo module that ECOSIRE builds for your database. Technically it introduces a document.file model with a linked document.file.version model so every upload is an immutable revision (superseded versions are retained, never destroyed), plus a document.folder hierarchy with inherited access. Each revision stores its own ir.attachment, a version_number computed via @api.depends, author, timestamp, and a change note. The PDF annotation layer is an OWL component embedded in the form view that renders the document in-browser and lets reviewers add highlights, sticky notes, stamps, and freehand markup; annotations are persisted as structured JSON on their own model and rendered back over the page coordinates, so the source PDF is never mutated and markup is queryable and reportable. Check-out locks a file to one user (a state field guarded by a record rule), and check-in creates the next version and releases the lock. QWeb reports can render a version-history sheet or an annotation summary for sign-off.

Access is enforced the Odoo-native way: ir.model.access.csv for model-level CRUD per group, plus ir.rule record rules so folder membership, ownership, and (optionally) company_id decide visibility rather than a bolted-on permission scheme. Automated actions and server actions handle retention reminders, stale-checkout escalation, and status transitions. Everything is reachable over the standard XML-RPC/JSON-RPC API, so an external portal, scanner intake, or DMS-adjacent system can create files, post versions, and read annotations programmatically. We build against your target — Odoo 17.0, 18.0, or 19.0 — and adapt to Community or Enterprise (on Enterprise we can integrate with the Documents app and its workspaces rather than duplicate them; on Community we ship the full standalone stack).

Delivery is build-to-order. We start with a scoping call to pin down folder taxonomy, groups and record-rule matrix, which annotation tools you actually need, retention rules, and any integration endpoints. We then build on a branch, deliver the installable module and technical docs, run UAT on a staging copy of your database with a rollback plan, and only then deploy to production, followed by a user-training session and a post-go-live support window. Typical delivery is one working week from confirmed scope. Pricing starts from $999 (indicative, single-company base scope); multi-company record-rule isolation, deep localization, large historical-document migration volume, and additional integrations increase the quoted scope — you get a fixed quote after the scoping call.

What you get

  • Installable module source code for your exact Odoo version (17.0, 18.0, or 19.0), Community or Enterprise
  • Installation and configuration on your environment, including groups, folder taxonomy, and the record-rule matrix
  • Technical documentation: model/field reference, security matrix, API endpoints, and upgrade notes
  • End-user guide plus a live training session for document owners, reviewers, and administrators
  • UAT on a staging copy of your database with a documented rollback plan before any production deploy
  • Post-go-live support window for defect fixes and configuration adjustments
  • Git repository handover with full commit history and branch/tag structure
  • Optional data migration of existing attachments/files into the versioned model, sized during scoping

Who this is for

Operations / Document Controller

Owns contracts, SOPs, and compliance files across departments. Needs enforced version control, controlled check-out, and a printable audit trail — not filenames ending in _v3_final — so every approved revision is defensible.

Odoo Administrator / IT Lead

Runs the Odoo instance and wants a clean, upgrade-safe module that uses native security (`ir.model.access.csv` + record rules) and the standard API, rather than a bolt-on that breaks on the next version bump.

Legal / Quality / Compliance Manager

Reviews documents by marking them up directly and signing off. Needs on-PDF annotation, an immutable revision history, and retention rules that hold up in an audit or certification review.

Professional Services / Project Lead

Attaches deliverables and specs to Sale Orders and Project Tasks and needs each document version linked to its business record, with review requests threaded through Odoo activities.

How Advanced DMS for Odoo Compares

CriterionECOSIRECustom BuildCompetitorOdoo Native
Version controlImmutable revisions with compare + restore, full history retainedWhatever you spec and pay to build from zeroOften a simple file-replace with limited historyAttachments overwrite or duplicate; no true versioning
PDF annotationIn-browser OWL viewer with highlights, notes, stamps, freehandBuildable but a significant standalone effortRarely included; usually view/download onlyNone — download, mark up externally, re-upload
Check-out / lockRecord-rule-enforced lock prevents concurrent overwritesMust be designed and tested yourselfSometimes present, often without rule enforcementNo document-level check-out concept
Access control`ir.model.access.csv` + folder/company record rulesYou define and maintain the whole matrixGeneric group access, limited record-rule depthAttachment access follows the parent record only
Fit to your processScoped to your taxonomy, groups, and integrationsFully bespoke but you carry all design riskFixed feature set; you adapt to itGeneric storage; no document lifecycle
Support & ownershipSupport window + full git repo handover, no lock-inDepends entirely on who built itVendor-dependent; source usually closedCommunity/Enterprise support, no custom coverage
Upgrade safetyNative patterns, built for 17/18/19, upgrade pass availableUpgrade cost falls on you each versionDepends on vendor keeping pace with releasesUpgrades with core, but no DMS features to carry
API / integrationFull XML-RPC/JSON-RPC surface, integrations scoped inBuild the endpoints you need yourselfLimited or undocumented API in many casesGeneric attachment API only

Frequently Asked Questions about Advanced DMS

Is this an existing app I can download and install today?

No. Advanced DMS is build-to-order. ECOSIRE scopes, builds, installs, and supports it for your specific Odoo database and version — it is not an instant download from the app marketplace. That's deliberate: you get a module that fits your folder taxonomy, security matrix, and integrations rather than a generic one you have to bend to fit.

How long does delivery take?

Typical delivery is one working week from confirmed scope. Simpler single-company builds land toward the shorter end; multi-company isolation, deep localization, large document-migration volume, or extra integrations extend the timeline. We agree the schedule with you at the end of the scoping call before any build starts.

How does pricing and scoping work?

Pricing starts from $999 as an indicative single-company base-scope figure. After a short scoping call we send a fixed, written quote — no open-ended hourly surprises. Scope drivers that move the number include multi-company record-rule isolation, localization depth, historical-document migration volume, and additional external integrations.

What about support and future updates?

Every build includes a post-go-live support window for defect fixes and configuration tweaks. Beyond that, we offer ongoing support and version-upgrade services (for example carrying the module forward to a newer Odoo release). Because we hand over the full git repository, you're never locked in — your team or another developer can maintain it too.

Which Odoo versions and editions do you support?

We build for Odoo 17.0, 18.0, and 19.0, on both Community and Enterprise. On Enterprise we can integrate with the native Documents app and its workspaces instead of duplicating them; on Community we ship the full standalone stack. We build against your target version so there are no compatibility surprises.

Will it break when we upgrade Odoo?

The module uses native Odoo patterns — standard models, `ir.model.access.csv`, record rules, XML/OWL views, and QWeb — rather than core patches or monkey-patches, which is what makes it upgrade-safe. When you move to a new major version we can provide a migration/upgrade pass as a scoped follow-on.

Can it connect to our existing systems?

Yes. Everything is exposed over Odoo's standard XML-RPC/JSON-RPC API, so a customer portal, document scanner intake, e-signature service, or any external system can create files, post new versions, and read annotations. Specific integrations are sized during scoping and included in the fixed quote.

Request a quote

Advanced DMS

A build-to-order Odoo document management module with in-browser PDF annotation, full version history, and record-rule-driven access control. ECOSIRE scopes, builds, installs, and supports it — this is not an off-the-shelf download.

  • `document.file` + `document.file.version` models where every upload becomes an immutable, retained revision with `version_number` computed via `@api.depends`, author, timestamp, and change note
  • In-browser PDF viewer built as an OWL component embedded in the form view — no external editor or download required to review
  • Annotation toolset: highlights, sticky notes, text callouts, stamps, and freehand markup persisted as structured JSON on a dedicated model, never mutating the source PDF
  • Check-out / check-in workflow with a state field and `ir.rule`-enforced lock so two users can't silently overwrite the same document

Request a Quotation

Tell us about your Advanced DMS 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.