| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
Discuss (mail)
|
| Lines of code | 938 |
| Technical Name |
no_office_preview |
| License | OPL-1 |
| Website | https://www.oudayet.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 | 938 |
| Technical Name |
no_office_preview |
| License | OPL-1 |
| Website | https://www.oudayet.com |
| Versions | 16.0 17.0 18.0 19.0 |
Office Preview.
Inline DOCX, XLSX, XLS, ODS, CSV and Markdown — rendered in the browser.
No cloud round-trip. No extra service to install. No bytes leaving your server.
Odoo 16 OFFLINE $29 USD 9 LanguagesStop downloading attachments to read them
Native Odoo 16 previews images, PDFs, plain text, and video. Everything else — the DOCX a customer sent, the XLSX accountant just attached, the CSV export sitting in chatter — falls back to a download button. Users leave Odoo, lose context, and forget to come back.
Without this module
Click attachment → download → switch to Word/Excel → alt-tab back → lose your place → forget which record you were on.
With this module
Click attachment → instant inline render in the existing modal → close → back where you were. One click, zero context loss.
See it in action
Real chatter, real attachments, real renders.
DOCX inline. Headings, tables, formatting rendered straight in the modal — no download, no Word required.
XLSX with sheet tabs. Multi-sheet workbooks switch via the tab bar. Formulas show their computed values.
CSV as a real table. First row treated as headers, RFC-4180 quoting respected. No more squinting at raw text dumps.
Markdown with full CommonMark. Headings, lists, fenced code, tables, blockquotes — lazy-loaded on first click so it costs nothing if you never open one.
Per-format toggles. Disable any format your team should not see inline. Adjust the max-preview size from the same panel.
What it previews
DOCX, DOCM (macro-enabled), DOTX and DOTM (templates) — the OOXML Word family. Headings, paragraphs, tables, links, and basic formatting render as clean inline HTML inside the existing Odoo modal.
XLSX, XLSM, XLSB (modern Excel), XLS (legacy 97-2003) and ODS (OpenDocument). Multi-sheet tabs, merged cells, dates, and computed formulas all preserved.
Renders as a real styled table, not raw text. First row treated as headers; RFC-4180 quoting (commas, quotes, embedded newlines) handled correctly.
Full CommonMark / GitHub-flavoured Markdown: headings, bold, italic, nested lists, tables, fenced code, blockquotes, autolinks. Raw HTML stripped for safety.
Why “100% offline” matters
HIPAA, GDPR, banking, defence — document content is not allowed to leave your network. Cloud-based preview services route your bytes through external servers. We do not.
Industrial sites, ships, military bases — many Odoo instances run with no outbound internet. Modules that depend on an external preview service break here. Office Preview just works.
A salary spreadsheet, a draft contract, an internal memo — some attachments should not even briefly cross an external server. With Office Preview the bytes never leave your Odoo instance.
How it works
1. Click an Office attachment in any chatter, message thread, or attachment list.
2. The existing Odoo modal opens — same look, same behaviour as for images and PDFs.
3. The document content renders inline directly in the browser, using the standard attachment URL.
4. Close the modal and you are back where you were. No download, no app switch, no bytes sent off the server.
Three ways to preview Office files in Odoo
Inline Office preview is a common need. The market roughly splits into three approaches — each with its own trade-offs.
| Approach | Offline | Setup | Data exposure |
|---|---|---|---|
| In-browser rendering (this module) | yes | install, done | stays in browser |
| Cloud preview integrations | no | none | sent to external host |
| Server-side conversion modules | on-prem only | extra service required | stays on your host |
For PPTX, ODT, ODP, legacy DOC, RTF (which no browser library handles cleanly) we offer a companion Office Preview Pro module ($49.99) that adds the third approach — without forcing you onto it.
No bytes leave your server.
The attachment is fetched from Odoo’s standard internal route and rendered in the user’s own browser. We do not add a controller, do not phone home, do not log content, do not send anything to any external endpoint. The full source is included in the package — audit it before installing.
What this module does NOT do
Word-processor and presentation formats outside of DOCX need a server-side renderer. See Office Preview Pro ($49.99) for the full set.
Read-only preview. Download the attachment to edit in Word / Excel / LibreOffice.
DOCX rendering is faithful for business documents but advanced Word features may render with partial fidelity.
Odoo 16 already previews PDFs natively via bundled pdf.js — we leave that path untouched.
FAQ
No. Rendering happens entirely in the user’s browser. Document bytes stay on your Odoo server and the user’s machine.
No. The heavier components are lazy-loaded only on first click of the relevant format. If a user never opens, say, an XLSX, the spreadsheet code is never downloaded.
A configurable size limit (default 10 MB) keeps the browser responsive. Files above the limit show a friendly “too large to preview” pane with a Download button instead. Adjust the limit under Settings → Office Preview.
We only intercept formats native Odoo does not already render. Images, PDFs, video, plain text all stay on the native path. Conflicts with other inline-preview modules are unlikely but worth testing if you stack two.
From the companion Office Preview Pro module ($49.99), which extends coverage to PowerPoint, OpenDocument text/presentation, and legacy Word using a server-side renderer.
Available in 9 Languages
The preview speaks your team's language. Each user sees button labels and error messages in their own Odoo language setting — no extra setup.
Translation files live under i18n/. Regional variants (fr_BE, nl_BE) inherit from the base language.
At a glance
| Odoo version | 16.0 — Community and Enterprise |
| Version | 16.0.1.1.0 |
| License | OPL-1 |
| External services | none — no cloud, no extra container, no internet required |
| Database impact | none — no new fields, no migrations |
| Languages | EN, FR, ES, DE, NL, PT-BR, IT, ZH-CN, AR |
| Setup | install the module — that is the full procedure |
Found a bug?
Reach out via the Odoo App Store contact form — bug reports get a fix in the next maintenance release.
Office Preview — $29 USD — Odoo 16
© Naim OUDAYET — OPL-1
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