- Home
- Apps
- SaaS Tools
- Advanced DMS for Odoo
Illustrative previewA 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
Built to order, done for you
No DIY setup — a working app, built, installed and supported by ECOSIRE.
- 1
You order
Start with a one-time build price. We scope it with you at kickoff.
- 2
We build & install
ECOSIRE builds, configures and installs it on your Odoo.
- 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
| Criterion | ECOSIRE | Custom Build | Competitor | Odoo Native |
|---|---|---|---|---|
| Version control | Immutable revisions with compare + restore, full history retained | Whatever you spec and pay to build from zero | Often a simple file-replace with limited history | Attachments overwrite or duplicate; no true versioning |
| PDF annotation | In-browser OWL viewer with highlights, notes, stamps, freehand | Buildable but a significant standalone effort | Rarely included; usually view/download only | None — download, mark up externally, re-upload |
| Check-out / lock | Record-rule-enforced lock prevents concurrent overwrites | Must be designed and tested yourself | Sometimes present, often without rule enforcement | No document-level check-out concept |
| Access control | `ir.model.access.csv` + folder/company record rules | You define and maintain the whole matrix | Generic group access, limited record-rule depth | Attachment access follows the parent record only |
| Fit to your process | Scoped to your taxonomy, groups, and integrations | Fully bespoke but you carry all design risk | Fixed feature set; you adapt to it | Generic storage; no document lifecycle |
| Support & ownership | Support window + full git repo handover, no lock-in | Depends entirely on who built it | Vendor-dependent; source usually closed | Community/Enterprise support, no custom coverage |
| Upgrade safety | Native patterns, built for 17/18/19, upgrade pass available | Upgrade cost falls on you each version | Depends on vendor keeping pace with releases | Upgrades with core, but no DMS features to carry |
| API / integration | Full XML-RPC/JSON-RPC surface, integrations scoped in | Build the endpoints you need yourself | Limited or undocumented API in many cases | Generic 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.
Related Modules

Advanced Access Rights Control
A build-to-order Odoo permissions layer that gives you truly granular, role-based access control across models, records, fields, menus, and actions. ECOSIRE scopes, builds, installs, and supports it against your exact org chart.

Advanced Bank Reconciliation (Auto-Match)
QuickBooks-style guided bank reconciliation for Odoo — rules-engine auto-matching, statement-vs-GL checks, and audit-clean reports.

Advanced Helpdesk Support Ticket Management System
A made-to-order Odoo helpdesk platform with staff and customer portals, multi-channel ticket intake, policy-driven SLA tracking, and automated escalation workflows. ECOSIRE builds, installs, and supports it against your exact support process.

Advanced Import / Export Templating
Save reusable, named import and export templates that map spreadsheet columns to any Odoo model's fields, run validation with error-row reporting, and schedule recurring loads. Built to order and supported by ECOSIRE for Odoo 17, 18, and 19.
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