Skip to main content
Preview — A build-to-order extension that widens the Odoo document viewer to open more file types inline — no download-and-op — 1/1Illustrative 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.

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

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
Server-generated, cached thumbnails for formats that need pre-rendering, stored on the attachment so files are not re-rendered on every open
Works everywhere attachments appear: chatter/side panel on any model, the Documents app, and record forms — no per-model reconfiguration
Format support scoped to your actual files during the scoping call, so you never pay for renderers you will not use
Configurable per-format maximum file size and lazy rendering to keep large attachments from blocking the UI
Graceful fallback to a download link for unsupported or oversized files instead of a broken viewer state
Handles Community-vs-Enterprise differences in the underlying viewer so the same behavior ships on either edition
Clean `__manifest__.py` pinned to your exact release (17.0 / 18.0 / 19.0) with declared asset bundles for the OWL/JS additions
No monkey-patching of core JS that would silently break on the next point release — documented extension points only
Optional automated action / server hook to pre-generate thumbnails for existing attachments on install so historical files preview immediately
Respects multi-company record rules and company-scoped attachments where multi-company is in scope

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

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

CriterionECOSIRECustom BuildCompetitorOdoo Native
What you actually getA module built, installed, and supported for your exact Odoo version and file listWhatever your team has time to build and maintain in-houseA fixed feature set aimed at the average customerA narrow set of inline preview types, no extension point
Supported file formatsScoped to the formats your team actually usesWhatever you build; grows only when you fund itA pre-decided list you cannot influenceLimited built-in set; unsupported files must be downloaded
Access controlReuses your `ir.model.access.csv` and record rulesDepends entirely on how carefully you wire itUsually reuses core rules, but you verify per appCore rules apply to attachments already
Upgrade safetyDocumented extension points, version-pinned, no core monkey-patchRisk depends on your discipline and reviewersDepends on the vendor's release cadence and qualityNo custom code to break, but no added capability either
Fit to your models and workflowPrioritizes the models and Documents areas that matter to youFully yours to shape, at your own costGeneric placement; may not match your processWherever core already shows attachments
Time to valueTypically one working week from confirmed scope, tested on stagingHowever long your backlog and hiring allowFast to install, but only if it fits as-isAlready there, within its limits
Support and ownershipPost-go-live support window plus full git repo handoverYou own and staff all support yourselfVendor support tiers; source may be obfuscatedCommunity/Enterprise support for core only
Total cost profileFrom $999 indicative; firm fixed quote after scopingDeveloper time plus ongoing maintenanceLow list price, but customization is extra or unavailableNo 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.

Request a quote

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

Request a Quotation

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