| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
Discuss (mail)
|
| Lines of code | 2763 |
| Technical Name |
secure_dms_pro |
| License | OPL-1 |
| Website | https://craftsync.com/ |
| Versions | 16.0 17.0 18.0 19.0 |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
Discuss (mail)
|
| Lines of code | 2763 |
| Technical Name |
secure_dms_pro |
| License | OPL-1 |
| Website | https://craftsync.com/ |
| Versions | 16.0 17.0 18.0 19.0 |
Secure DMS Pro
Enterprise Document Management System for Odoo 19 —
AES-256 encryption, role-based access, version control,
workflow automation, and full audit trails.
Encryption
Access Control
Control
Automation
Trail
Sharing
Odoo 19 Community & Enterprise • Python 3.10+ • OPL-1 License
Features
Everything you need for enterprise document management in one module.
AES-256 Document Encryption
Protect sensitive files with military-grade encryption at rest.
• A 256-bit encryption key is configured once in Settings (64-character hex string)
• A one-click Generate Key button creates a cryptographically secure key
• Documents are encrypted and decrypted individually using buttons on the document form
• Each document gets a unique per-document initialization vector (IV) for maximum security
• A visual ribbon indicator appears on encrypted documents for quick identification
• Encryption status is tracked and searchable (encrypted / not encrypted)
• Algorithm: AES-256-GCM (Galois/Counter Mode) with authenticated encryption
• Library: Python cryptography (FERNET-compatible primitives)
• Key storage: Odoo system parameters (ir.config_parameter)
• Only users in the DMS Administrator group can encrypt or decrypt documents
Role-Based Access Control
Control exactly who can view, edit, download, share, or print each document.
| Level | Preview | Download | Edit | Delete | Share | |
|---|---|---|---|---|---|---|
| Preview Only | ✓ | — | — | — | — | — |
| Upload Only | — | — | ✓ | — | — | — |
| Preview & Download | ✓ | ✓ | — | — | — | ✓ |
| Editor | ✓ | ✓ | ✓ | — | ✓ | ✓ |
| Custom Granular | Fully customizable — toggle each permission individually | |||||
• DMS Reader — View documents and folders (read-only)
• DMS User — Create, edit, and manage own documents
• DMS Manager — Full document management, approve workflows, manage folders
• DMS Administrator — Encryption, settings, user management, all operations
Set a date-from and date-to on any permission record to grant temporary access. Access is automatically enforced — no manual intervention required once the window expires.
Version Control
Every file change automatically creates a version snapshot.
• Automatic version snapshot created on every file upload or content change
• Sequential version numbering starting from 1.0
• SHA-256 checksum computed and stored per version for integrity verification
• Version notes field for documenting what changed and why
• One-click restore button to roll back to any previous version
• Upload user, file size, and timestamp tracked per version
• Unlimited version history — no artificial caps
Workflow Engine
Define multi-step workflows for document review, approval, eSignature, and acknowledgement.
• Approval — Require one or more approvers before a document is published
• eSignature — Request electronic signatures from designated parties
• Acknowledgement — Track who has acknowledged receiving a document
• Review — Route documents through reviewers with comments and feedback
• Multi-step definitions with sequence ordering
• Assign approver users per step
• Active/inactive toggle per workflow definition
• Automatic email notifications on state transitions using Odoo mail templates
• Manager and administrator approval action buttons on the document form
Audit Trail
Every action on every document is automatically recorded. Built for compliance.
• User who performed the action
• Timestamp of the action
• Action type (create, read, update, delete, encrypt, decrypt, share, download)
• Free-text description of the action
• IP address of the user (for compliance reporting)
• Reference to the affected document
Dedicated list and form views for browsing audit records, with advanced search filters by user, action type, date range, and document. Pivot table and graph views provide analytics on audit activity over time.
Secure External Sharing
Share documents with external users via token-based links.
• Unique token-based URL generated per share
• Configurable expiry date (default: 7 days from creation)
• Maximum download count enforcement
• Optional password protection (hashed storage)
• Separate toggles for preview and download permissions
• One-click revoke to instantly disable a share link
• Download counter tracks actual usage
• Dedicated web controller for external access (/dms/share/<token>)
Folders & Organization
Organize documents in nested folders with unlimited depth. Folders use Odoo's _parent_store for optimized tree queries. Each folder tracks its document count, owner, company, and associated retention policy.
• Color-coded tags for visual categorization across documents
• Unlimited key-value metadata fields per document
• Four metadata types: Text, Number, Date, Boolean
• Searchable and filterable by tag or metadata value
Link documents together with typed relationships: Reference, Supersedes, Amendment, Attachment, or Translation. Navigate between linked documents directly from the form view.
Retention Policies & Recycle Bin
• Define named retention policies with a configurable retention period (in days)
• Three actions on expiry: Archive, Move to Recycle Bin, or Notify Only
• Assign policies to individual documents or entire folders
• Daily cron job automatically enforces policies on documents past their retention date
• Email notification sent to document owners before automatic action
Deleted documents are moved to a secure recycle bin instead of being permanently removed. The original document reference, file data, deletion date, and deleting user are preserved. Administrators can restore documents to their original location or permanently delete them.
Multi-Company & Branch Support
• Full company-level record rules — users only see documents belonging to their company
• Branch model for organizations with multiple sites or departments
• Each branch can have its own folders, documents, and retention policies
• Administrator override rules for cross-company visibility when required
• Branch field on documents and folders for fine-grained isolation
Integration-Ready Architecture
Built-in service layers for Microsoft 365 and DocuSign.
Service layer structure for OneDrive and SharePoint integration. Configure Tenant ID, Client ID, and Client Secret in Settings. The module provides the authentication and configuration framework — actual API sync requires additional development specific to your environment.
Service layer structure for DocuSign integration. Configure Integration Key, Secret Key, and Redirect URI in Settings. Build electronic signature workflows on top of the DMS document lifecycle.
Full-text search architecture designed for Tesseract OCR integration. The module includes OCR status tracking per document (pending, processing, completed, failed) and a dedicated text content field for storing extracted text. OCR processing requires Tesseract to be installed on your server.
⚠ External Dependency
This module requires the Python cryptography library for AES-256 encryption. Install it on your server with: pip install cryptography. The Microsoft 365 and DocuSign integrations provide service layer structure only — actual API integration requires additional development specific to your environment.
Technical Specifications
Built with Odoo 19 best practices — clean ORM, proper security, modular architecture.
| Platform | Odoo 19 Community & Enterprise |
| Python | 3.10+ compatible |
| Dependencies | base, mail, base_setup |
| External Dependency | Python cryptography library |
| Models | 15 custom models with clean ORM relationships |
| Security Groups | 4 groups with privilege hierarchy (Reader → User → Manager → Admin) |
| Access Control | Full ir.model.access.csv covering all 15 models |
| Record Rules | Company and branch isolation with admin override |
| Views | List, Form, Kanban, Search, Pivot, Graph |
| Reports | QWeb PDF document summary report |
| Email Templates | 3 templates (share notification, approval request, retention alert) |
| Cron Jobs | Daily retention policy enforcement |
| Mixins | mail.thread, mail.activity.mixin |
| Sequences | DOC-YYYY/00001 automatic numbering |
| License | OPL-1 |
Need Any Help?
Our team is ready to assist with installation, configuration, and customization.
Secure DMS Pro • v19.0.1.0.0 • OPL-1 • 150 EUR
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module