- Home
- Apps
- SaaS Tools
- Preview
Illustrative previewA build-to-order extension that widens the Odoo document viewer to open more file types inline
— no download-and-open round trips.
ECOSIRE scopes, builds, installs, and supports it for your Odoo 17/18/19 environment.
What is Preview?
A build-to-order extension that widens the Odoo document viewer to open more file types inline — no download-and-open round trips. ECOSIRE scopes, builds, installs, and supports it for your Odoo 17/18/19 environment. 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
Teams that run Odoo hit the same wall constantly: a record has attachments, but the built-in viewer only renders a narrow set of file types inline. Everything else — CAD exports, SVGs, Markdown, code files, EML/MSG emails, archives, less common image and office formats — forces users to download the file, switch to a desktop app, and lose the record context. On a busy Sales order, Project task, Helpdesk ticket, or Documents workspace, that friction multiplies across hundreds of attachments a day and quietly slows everyone down. Odoo core (ir.attachment plus the OWL/mail attachment viewer) is deliberately conservative about what it will render, and it does not give you an extension point to teach it new preview types without touching the framework.
Preview is a build-to-order module that ECOSIRE designs, builds, installs, and supports for your environment — it is not an existing apps.odoo.com download. We extend the attachment viewer component so that the file types your team actually works with open directly in the browser, inside the same side panel and full-screen viewer users already know. Technically, we register additional MIME-type and extension handlers against the OWL attachment viewer, add server-side helpers on ir.attachment (compute fields for detected type, thumbnail generation, and safe content streaming controllers) where a format needs pre-processing, and keep everything gated by Odoo's own access model — ir.model.access.csv and record rules — so a user can only preview a file they were already allowed to open. Where a format benefits from a lightweight rendered thumbnail, we generate it server-side and cache it on the attachment rather than re-rendering on every open.
Because it hooks the standard viewer rather than replacing it, Preview shows up wherever attachments already appear: the chatter/side panel on any model, the Documents app, and record forms. We scope which formats to support to your real files (so you are not paying for renderers you will never use), respect Community-vs-Enterprise differences in the underlying viewer, and ship the module with a clean __manifest__.py, versioned for your exact Odoo release. No sql.raw, no monkey-patches that break on the next minor upgrade — clean inheritance and documented extension points.
Build-to-order delivery works like this: we start with a short scoping call to confirm the exact file types, the models where previews matter most, your Odoo version (17.0 / 18.0 / 19.0), and Community vs Enterprise. We then build your version, test it on a staging copy of your database, run UAT with your team, and deploy to production with a rollback plan and a git repo handover. Typical delivery is one working week from confirmed scope. Pricing starts from $999 (indicative, single-company base scope); the number of file formats, server-side thumbnail rendering for heavier formats, multi-company deployment, and integration with an external document store increase the quoted scope. You receive a firm fixed quote after the scoping call — never a surprise bill.
What you get
- Installable source code for your version of the module, pinned to your exact Odoo release
- Installation and configuration on your environment (staging first, then production)
- Technical documentation: models, extension points, asset bundles, and the list of supported formats
- User guide plus a live training session for your team
- Post-go-live support window for defect fixes and questions
- UAT on a staging copy of your database with a documented rollback plan
- Git repository handover with full commit history and tags
- Scoping summary confirming supported file types, target models, and edition/version before build starts
Who this is for
Operations / ERP manager
Runs Odoo day to day and wants users to stop downloading attachments to read them. Needs the file types their teams actually handle to open inline across Sales, Projects, and Helpdesk without a framework rebuild.
Document Management lead
Owns the Documents app and a large attachment library. Wants consistent in-browser previews and thumbnails so files are findable and reviewable without leaving Odoo, with access still governed by existing record rules.
Internal Odoo developer / technical admin
Will maintain the code after handover. Wants a clean, version-pinned module with documented OWL extension points and no core monkey-patches, plus a git repo so future upgrades are predictable.
Team lead in a document-heavy function
Legal, engineering, or finance lead whose staff open many non-standard files per record. Wants the specific formats their function relies on rendered inline to cut context-switching.
How Preview Compares
| Criterion | ECOSIRE | Custom Build | Competitor | Odoo Native |
|---|---|---|---|---|
| What you actually get | A module built, installed, and supported for your exact Odoo version and file list | Whatever your team has time to build and maintain in-house | A fixed feature set aimed at the average customer | A narrow set of inline preview types, no extension point |
| Supported file formats | Scoped to the formats your team actually uses | Whatever you build; grows only when you fund it | A pre-decided list you cannot influence | Limited built-in set; unsupported files must be downloaded |
| Access control | Reuses your `ir.model.access.csv` and record rules | Depends entirely on how carefully you wire it | Usually reuses core rules, but you verify per app | Core rules apply to attachments already |
| Upgrade safety | Documented extension points, version-pinned, no core monkey-patch | Risk depends on your discipline and reviewers | Depends on the vendor's release cadence and quality | No custom code to break, but no added capability either |
| Fit to your models and workflow | Prioritizes the models and Documents areas that matter to you | Fully yours to shape, at your own cost | Generic placement; may not match your process | Wherever core already shows attachments |
| Time to value | Typically one working week from confirmed scope, tested on staging | However long your backlog and hiring allow | Fast to install, but only if it fits as-is | Already there, within its limits |
| Support and ownership | Post-go-live support window plus full git repo handover | You own and staff all support yourself | Vendor support tiers; source may be obfuscated | Community/Enterprise support for core only |
| Total cost profile | From $999 indicative; firm fixed quote after scoping | Developer time plus ongoing maintenance | Low list price, but customization is extra or unavailable | No extra cost, no added capability |
Frequently Asked Questions about Preview
Is this a module I can download and install today?
No. Preview is build-to-order. ECOSIRE builds it for your specific Odoo version, edition, and file-format list, then installs and supports it. It is not an existing apps.odoo.com download, and we never claim an instant download.
How long does delivery take?
Typically one working week from confirmed scope. After the scoping call fixes the file types, target models, edition, and version, we build, test on staging, run UAT with your team, and deploy to production with a rollback plan. Larger format lists or server-side thumbnail rendering can extend the timeline, which we confirm in the quote.
How does pricing and scoping work?
Pricing starts from $999 as an indicative, single-company base scope. Drivers such as the number of file formats, server-side thumbnail generation for heavier formats, multi-company deployment, and integration with an external document store increase the quoted scope. You get a firm fixed quote after the scoping call — never a surprise bill.
What about support and future Odoo updates?
Every build includes a post-go-live support window for defect fixes and questions. Because the module is pinned to your Odoo release and uses documented extension points rather than core monkey-patches, upgrades to a new major version (for example 18.0 to 19.0) are a scoped migration we can quote separately when you are ready.
Which Odoo versions and editions are supported?
Odoo 17.0, 18.0, and 19.0, on Community or Enterprise. The underlying attachment viewer differs between editions, so we confirm yours during scoping and ship a build that behaves consistently on it.
Is previewing a file a security risk?
Preview reuses Odoo's own access model — `ir.model.access.csv` and record rules. A user can only preview a file they were already allowed to open on that record, and content is streamed through a controller that enforces those checks. Multi-company and company-scoped attachments are respected when they are in scope.
Which file types can you support?
We scope the exact list to your real files. Common requests include SVG, Markdown, plain-text and source-code files, EML/MSG emails, additional image and office formats, and archive listings. Some formats render directly in the browser; others we pre-render into a cached thumbnail server-side. We confirm feasibility per format during scoping.
Related Modules

Predictive / Power Dialer for Sales Teams
Auto-dial CRM call lists in Odoo with disposition codes, on-screen scripts and outcome logging to lift agent throughput. Built to order.

Premium Backend Theme (PWA, RTL, Multi-Theme)
A polished, responsive Odoo backend theme with PWA install, app drawer, global search, RTL and multi-language — built, branded and supported by ECOSIRE.

Product Bundle Pack
A build-to-order Odoo module that lets you sell multiple products together as bundles or kits — with correct component-level stock, margin, and invoicing. ECOSIRE scopes, builds, installs, and supports it for your exact catalog and workflow.

Product Margin on Sales & Invoices
A build-to-order Odoo module that surfaces product cost, margin amount and margin percentage directly on sale order and invoice lines, plus document totals, so your team sees profitability before a quote goes out. ECOSIRE scopes, builds, installs and supports it for Odoo 17.0, 18.0 and 19.0.
Preview
A build-to-order extension that widens the Odoo document viewer to open more file types inline — no download-and-open round trips. ECOSIRE scopes, builds, installs, and supports it for your Odoo 17/18/19 environment.
- Extends the OWL attachment viewer component via clean inheritance rather than overriding it, so previews appear in the same side panel and full-screen viewer users already use
- Registers additional MIME-type and file-extension handlers so formats Odoo core skips (SVG, Markdown, plain-text/code, EML/MSG, extra image and office formats) render inline
- Server-side helpers on `ir.attachment`: computed detected-type field with `@api.depends`, safe content-streaming controller, and optional cached thumbnails
- Preview access is gated by Odoo's existing `ir.model.access.csv` and record rules — a user can only preview a file they were already permitted to open