Odoo Documents: Enterprise Document Management System Guide
Knowledge workers spend an average of 2.5 hours per day searching for documents, according to IDC research — that is 30% of the workday lost to filing cabinet chaos, email attachments, and scattered cloud drives. The annual cost of document mismanagement reaches $19,732 per knowledge worker when you include search time, recreation of lost documents, and compliance failures. Odoo 19 Enterprise Documents module provides a full-featured document management system (DMS) that centralizes file storage, enables intelligent search, automates filing, and enforces retention policies — all integrated natively with every other Odoo application. Organizations implementing structured document management report 40-60% reduction in document search time and near-total elimination of version confusion.
This guide covers the complete setup of enterprise document management in Odoo 19, from workspace architecture through OCR automation, spreadsheet integration, and compliance-ready retention policies.
Key Takeaways
- Design workspace hierarchies that mirror your organizational structure and access requirements
- Implement tagging taxonomies for fast, multi-dimensional document discovery
- Configure share links with expiration dates, passwords, and download/view-only permissions
- Track document versions with complete history, comparison, and rollback capabilities
- Deploy OCR to automatically extract data from scanned documents and receipts
- Build spreadsheet documents that pull live data from Odoo databases
- Create automated filing rules that sort incoming documents without manual intervention
- Implement retention policies that enforce compliance with regulatory requirements
Workspace Architecture
Designing Your Workspace Hierarchy
Workspaces are the organizational backbone of Odoo Documents. Think of them as intelligent folders with access controls, workflow rules, and default tags.
Navigate to Documents > Configuration > Workspaces and create a hierarchy that reflects your organization:
| Workspace | Sub-Workspaces | Access | Purpose |
|---|---|---|---|
| Finance | Invoices, Receipts, Tax Documents, Budgets, Audit | Finance team + auditors | Financial documentation |
| HR | Employee Files, Contracts, Policies, Recruitment, Training | HR team | People documentation |
| Legal | Contracts, NDAs, Compliance, Litigation, IP | Legal team | Legal documentation |
| Operations | SOPs, Manuals, Checklists, Safety, Quality | All employees (read), Ops (write) | Operational documentation |
| Sales | Proposals, Contracts, Case Studies, Presentations | Sales team | Sales collateral |
| Marketing | Brand Assets, Campaign Materials, Content, Analytics | Marketing team | Marketing documentation |
| Projects | (Per-project sub-workspaces) | Project teams | Project documentation |
| IT | Architecture, Runbooks, Licenses, Vendor Docs | IT team | Technical documentation |
Access Control Configuration
Each workspace has independent access control:
| Access Level | Capabilities | Typical Users |
|---|---|---|
| Manager | Full control: create, edit, delete, share, manage rules | Department heads |
| Editor | Create, edit, upload, tag | Team members |
| Viewer | View and download only | Cross-functional stakeholders |
| None | No visibility | Unrelated departments |
Set default access per workspace and override at the sub-workspace or individual document level when needed. The security model is additive — a user with "Viewer" access at the workspace level who is granted "Editor" access on a specific sub-workspace gets "Editor" capabilities only in that sub-workspace.
Default Properties
Configure defaults per workspace to standardize document handling:
- Default tags: Automatically apply tags to documents uploaded to this workspace
- Default owner: Set the workspace manager as default document owner
- Locking: Enable automatic locking when a document is being edited
- Favorite for: Auto-favorite the workspace for relevant team members
- Linked model: Connect to an Odoo model (e.g., Finance workspace linked to account.move for invoice documents)
Tag Taxonomy Design
Building a Tag Structure
Tags enable multi-dimensional classification that flat folder structures cannot achieve. A single document can belong to one workspace but have multiple tags.
Navigate to Documents > Configuration > Tags and create a structured taxonomy:
| Tag Category | Tags | Purpose |
|---|---|---|
| Document Type | Invoice, Contract, Report, Memo, SOP, Template | What the document is |
| Status | Draft, Under Review, Approved, Expired, Archived | Lifecycle stage |
| Confidentiality | Public, Internal, Confidential, Restricted | Security classification |
| Department | Finance, HR, Legal, Sales, Engineering | Origin department |
| Year | 2024, 2025, 2026 | Filing period |
| Priority | Low, Medium, High, Critical | Importance level |
| Compliance | SOX, GDPR, HIPAA, ISO, PCI | Regulatory relevance |
Tag-Based Search
With a well-designed taxonomy, users find documents by combining tags instead of navigating folder trees. Examples:
- "Contract" + "Vendor" + "2026" → All 2026 vendor contracts
- "Invoice" + "Overdue" + "Finance" → Overdue invoices for finance review
- "SOP" + "Manufacturing" + "Approved" → Active manufacturing procedures
- "Confidential" + "HR" → All confidential HR documents
Tag-based search is significantly faster than folder navigation for cross-functional queries, which is why organizations with mature DMS implementations rely heavily on consistent tagging.
Mandatory Tags
Configure mandatory tag categories per workspace. When uploading a document to the Finance workspace, the user must select at least one tag from "Document Type" and "Year" categories. This prevents untagged documents from accumulating and degrading search effectiveness over time.
Share Links and Collaboration
Document Sharing
Share individual documents or entire workspaces with internal and external users:
| Share Type | Configuration | Use Case |
|---|---|---|
| Internal link | Copy link, accessible to Odoo users with access | Cross-department sharing |
| Portal link | Share with portal users (customers, vendors) | Vendor contract access |
| Public link | Accessible to anyone with the link | Public documents |
| Password-protected | Requires password to access | Sensitive external sharing |
| Time-limited | Expires after set date | Temporary access for reviews |
| Download-restricted | View-only, no download button | Protect IP while sharing |
Creating Share Links
Navigate to any document and click "Share." Configure:
- Recipient type: Internal, portal, or public
- Permission: View only or download allowed
- Expiration: No expiry, or set a specific date
- Password: Optional password protection
- Activity tracking: Enable to see who accessed the document and when
Workspace Sharing
Share entire workspace folders for ongoing collaboration. When you share a workspace, the recipient sees all documents within it (respecting access controls). New documents added to the workspace automatically become visible to the share recipient — no need to share each document individually.
Collaboration Features
Real-time editing: For documents created in Odoo's built-in editors (text, spreadsheet), multiple users can edit simultaneously with cursor positions visible. Changes save automatically.
Comments and discussions: Add comments to any document via the chatter. Tag colleagues with @mentions to draw their attention. Comments support formatting, attachments, and threaded replies.
Activity assignments: Assign review, approval, or update activities to colleagues directly from the document. Activities appear in their activity dashboard and trigger email notifications.
Version Control
Automatic Versioning
Odoo tracks every change to a document as a new version. The version history shows:
| Version | Date | Author | Size | Changes |
|---|---|---|---|---|
| v3 (current) | 2026-03-20 | Jane Smith | 2.4 MB | Updated section 5, added appendix |
| v2 | 2026-03-15 | John Doe | 2.1 MB | Revised pricing table |
| v1 | 2026-03-01 | Jane Smith | 1.8 MB | Initial upload |
Version Operations
- View: Open any previous version in read-only mode
- Compare: Side-by-side comparison between any two versions (for text-based documents)
- Restore: Revert to a previous version, which creates a new version entry (preserving the full history)
- Download: Download any specific version
- Delete: Remove intermediate versions that are no longer needed (with admin permission)
Version Naming
By default, versions are numbered sequentially. For milestone versions, add a version label: "Final Draft," "Board Approved," "Published." This makes it easier to find significant versions without scrolling through incremental changes.
Check-Out / Check-In
Enable document locking for environments where concurrent editing is not desired:
- Check out: User locks the document for exclusive editing. Others see a "Locked by [name]" indicator.
- Edit: Only the lock holder can modify the document
- Check in: User saves changes and releases the lock, creating a new version
- Force unlock: Workspace managers can force-unlock documents abandoned by users who forgot to check in
OCR and Intelligent Document Processing
OCR Configuration
Odoo Enterprise includes built-in OCR (Optical Character Recognition) powered by machine learning. Enable OCR under Settings > General > Digitization.
Supported Document Types
| Document Type | Extracted Data | Accuracy |
|---|---|---|
| Vendor invoices | Vendor name, date, total, line items, tax amounts | 90-95% |
| Expense receipts | Merchant, date, amount, payment method | 85-90% |
| Employee IDs | Name, ID number, expiry date | 85-90% |
| Business cards | Name, company, email, phone | 80-85% |
| Bank statements | Date, description, amount, balance | 90-95% |
OCR Workflow
- Upload: Scan or photograph the document and upload to the designated workspace
- Processing: Odoo's OCR engine analyzes the document (typically 5-15 seconds)
- Extraction: Identified data fields are highlighted and populated into a structured form
- Review: User reviews extracted data and corrects any errors
- Action: Create the corresponding Odoo record (vendor bill, expense, contact) with one click
Training the OCR Model
Odoo's OCR improves with use. Each correction you make trains the model for better future recognition. After processing 50-100 documents from the same vendor, the accuracy for that vendor's invoices approaches 98%. This means the initial setup period requires more review, but the long-term experience is nearly hands-free.
Spreadsheet Integration
Odoo Spreadsheets
Odoo Documents includes a built-in spreadsheet application that connects directly to your business data.
Creating spreadsheets: Navigate to any workspace and click "Create > Spreadsheet." The spreadsheet editor provides standard functionality: formulas, formatting, charts, pivot tables, and conditional formatting.
Live data connection: The key differentiator is the ability to pull live Odoo data into spreadsheets. Insert a data source that queries contacts, invoices, sales orders, inventory, or any Odoo model. The spreadsheet updates in real-time as underlying data changes.
Example use cases:
| Spreadsheet | Data Sources | Purpose |
|---|---|---|
| Sales Dashboard | Sales orders + CRM pipeline | Weekly sales review |
| Budget vs. Actual | Account move lines + budget entries | Monthly financial review |
| Inventory Report | Stock quants + purchase orders | Demand planning |
| HR Headcount | Employees + departments | Workforce planning |
| Project Portfolio | Projects + tasks + timesheets | Resource allocation |
Spreadsheet Templates
Create template spreadsheets for recurring analyses. Each month, duplicate the template, and the live data connections pull current data automatically. Templates standardize reporting across departments and ensure consistent methodology.
Sharing Spreadsheet Insights
Spreadsheets can be shared just like any other document — via internal links, portal access, or public links. For executive reporting, schedule automated snapshots that export the spreadsheet to PDF and email to stakeholders on a defined schedule.
Automated Filing Rules
Rule Configuration
Automated filing rules sort incoming documents without manual intervention. Navigate to Documents > Configuration > Workflow Actions and create rules:
| Rule | Trigger | Action |
|---|---|---|
| Invoice auto-file | Document tagged "Invoice" uploaded to Inbox | Move to Finance > Invoices workspace |
| Contract auto-tag | Document name contains "contract" or "agreement" | Add "Contract" tag, move to Legal workspace |
| Receipt to expense | Image uploaded to Expense workspace | Run OCR, create draft expense report |
| Employee doc routing | Document tagged with employee name | File in HR > Employee Files > [Name] sub-workspace |
| Archive expired | Document "Expiry Date" field is past today | Move to Archive workspace, add "Expired" tag |
Email Alias Filing
Configure email aliases that automatically create documents. For example:
[email protected]→ Attachments filed in Finance > Invoices with OCR processing[email protected]→ Attachments filed in Legal > Contracts with review activity created[email protected]→ Attachments filed in Finance > Receipts with expense creation
Employees simply email or forward documents to the appropriate alias, and the filing happens automatically.
Workflow Actions
Beyond simple filing, configure multi-step workflows triggered by document events:
- On upload: Apply default tags based on workspace
- After OCR: Route to approver based on extracted amount
- On approval: Move to permanent workspace, remove "Draft" tag, add "Approved" tag
- On expiry: Notify document owner, add "Renewal Required" tag
- On review date: Create activity for document reviewer
Retention Policies
Policy Configuration
Compliance requires documented retention periods for different document types. Configure retention policies under Documents > Configuration > Retention:
| Document Type | Retention Period | Regulation | Post-Retention Action |
|---|---|---|---|
| Tax documents | 7 years | IRS / Local tax authority | Archive then delete |
| Employee records | 7 years after separation | Employment law | Archive then delete |
| Vendor contracts | 10 years after expiry | Commercial law | Archive then delete |
| Financial statements | Permanent | Corporate governance | Move to permanent archive |
| Customer correspondence | 3 years | GDPR / Data protection | Delete |
| Recruitment records | 1 year (unsuccessful) | GDPR / EEOC | Delete |
| Safety records | 5 years | OSHA | Archive then delete |
Automated Retention Enforcement
Configure automated actions that enforce retention policies:
- At retention date - 30 days: Notify document owner that retention period is ending
- At retention date: Move document to "Pending Deletion" workspace
- At retention date + 30 days: If no hold request, permanently delete document
- Legal hold override: Documents under legal hold are exempt from deletion regardless of retention period
Compliance Audit Reports
Generate compliance reports showing:
- Documents approaching retention deadline (next 90 days)
- Documents past retention with no action taken
- Legal hold inventory
- Retention policy coverage gaps (document types without defined policies)
- Access audit trail for sensitive document categories
Integration with Odoo Applications
Documents + Accounting
Vendor bills created in Accounting automatically generate corresponding documents in the Finance workspace. The document links bidirectionally to the accounting entry — click from the document to the bill or from the bill to the document. This eliminates the common problem of invoices existing in email but not in the DMS, or in the DMS but not linked to the accounting record.
Documents + HR
Employee documents (contracts, evaluations, certifications, ID copies) are stored in the HR workspace. Each employee has a dedicated document folder accessible from their HR record. When an employee is onboarded, an automated workflow creates their document folder and sends requests for required documents.
Documents + Projects
Project documents are managed within project-specific sub-workspaces. When a new project is created, an automated action creates the corresponding document workspace with default sub-folders: Deliverables, Meeting Notes, Specifications, and Client Communications.
Documents + Sign
Combine Documents with Odoo Sign for digital signature workflows. Upload a contract to the Documents workspace, send it for signature through Odoo Sign, and the signed version automatically replaces the unsigned version with full audit trail.
Frequently Asked Questions
What file types does Odoo Documents support?
Odoo Documents supports all common file types: PDF, Word (.doc/.docx), Excel (.xls/.xlsx), PowerPoint (.ppt/.pptx), images (JPG, PNG, GIF, SVG), text files, CSV, ZIP archives, and video/audio files. Files are stored with their original format and can be previewed in the browser for most common types without downloading.
Is there a file size limit for document uploads?
The default maximum upload size is 128 MB per file, configurable by the system administrator. For very large files (CAD drawings, video files), consider using Odoo's S3 storage backend which handles files up to 5 GB. The storage backend configuration determines where files are physically stored — local filesystem, S3, or other cloud storage.
Can I search within document content (full-text search)?
Yes. Odoo indexes the text content of uploaded documents (PDF, Word, text files) for full-text search. Combined with tag-based filtering and workspace navigation, this enables finding documents by any combination of content, metadata, and classification. OCR-processed documents are also full-text searchable.
How does Odoo Documents compare to SharePoint or Google Drive?
Odoo Documents offers comparable file management capabilities (versioning, sharing, search, access control) with the critical advantage of native integration with your business processes. A vendor invoice in Odoo Documents is not just a file — it is linked to the vendor record, the purchase order, the accounting entry, and the payment. SharePoint and Google Drive require custom integrations or manual processes to achieve this level of business context.
Can I migrate existing documents from another DMS to Odoo?
Yes. Odoo supports bulk document import via CSV mapping (for metadata) combined with file upload. For large migrations (tens of thousands of documents), use the Odoo API to programmatically create document records with tags, workspaces, and metadata. ECOSIRE has migrated document libraries from SharePoint, Google Drive, Dropbox, and legacy on-premise DMS systems.
How is document storage billed in Odoo?
Odoo Online includes a base storage allocation per subscription (typically 50 GB). Additional storage is available at a per-GB monthly cost. For Odoo.sh and on-premise deployments, storage is limited only by your infrastructure. Most organizations use S3-compatible object storage for cost-effective unlimited document storage.
Can I set up automatic backups for critical documents?
Odoo's document storage is part of the overall database and file store, which should be included in your backup strategy. For on-premise deployments, configure automated daily backups of both the PostgreSQL database and the filestore directory. For Odoo Online and Odoo.sh, backups are managed by Odoo SA with daily snapshots and geographic redundancy.
Modernize Your Document Management with ECOSIRE
Document management is foundational infrastructure — it touches every department, every process, and every compliance requirement in your organization. The cost of not managing documents properly is measured in wasted time, compliance risk, and lost institutional knowledge.
ECOSIRE's Odoo implementation team has deployed document management systems for manufacturing companies with thousands of SOPs, professional services firms with complex client document structures, healthcare organizations with strict compliance requirements, and growing businesses transitioning from shared drives to structured DMS. Our implementation includes workspace architecture design, tag taxonomy development, OCR configuration, automated filing rules, retention policy setup, migration from existing systems, and user training.
Contact ECOSIRE for a document management assessment, or explore our Odoo customization services for industry-specific document workflows.
Related reading:
Written by
ECOSIRE TeamTechnical Writing
The ECOSIRE technical writing team covers Odoo ERP, Shopify eCommerce, AI agents, Power BI analytics, GoHighLevel automation, and enterprise software best practices. Our guides help businesses make informed technology decisions.
Related Articles
AI-Powered Customer Segmentation: From RFM to Predictive Clustering
Learn how AI transforms customer segmentation from static RFM analysis to dynamic predictive clustering. Implementation guide with Python, Odoo, and real ROI data.
AI for Supply Chain Optimization: Visibility, Prediction & Automation
Transform supply chain operations with AI: demand sensing, supplier risk scoring, route optimization, warehouse automation, and disruption prediction. 2026 guide.
B2B E-commerce Strategy: Build a Wholesale Online Business in 2026
Master B2B e-commerce with strategies for wholesale pricing, account management, credit terms, punchout catalogs, and Odoo B2B portal configuration.