The workbook attached to that quotation opens, edits and saves — with its macros.
Odoo keeps files as attachments and has no office editor of its own. Our module gives it one: it makes Odoo a WOPI host — the same protocol SharePoint and Nextcloud speak — and hands the file to SumSheet or SumDoc. The file never leaves your servers, and it comes back as a new attachment version with the VBA project untouched. Measured on Odoo 18 Community.
What the module does
| Where you click | An Open in SumOffice action on attachments in the chatter — the place your people already keep the workbook that matters. |
|---|---|
| What it adds to Odoo | A complete WOPI host inside Odoo: CheckFileInfo, GetFile, PutFile, and locking. Odoo becomes the host; the editor is the client. |
| Who is allowed | Signed access tokens, and the signature is verified on every request. A missing or corrupted signature is refused, not tolerated. |
| Measured | A macro workbook and a document with five pictures, opened from Odoo, edited, saved back: VBA byte for byte, all five pictures byte for byte, the edit exactly in the cell that was clicked. Every call answered 200 with signature verification on. |
| What this does not say | The round used a small fixture workbook from our corpus, and that fixture asks Microsoft Excel to repair it before any round touches it — so we make no claim here about a silent Excel. We make that claim where we measured it on a real workbook: Nextcloud and Seafile. |
Setting it up
Two parts: the editors, and the module.
# 1. the editors, behind your TLS address
git clone https://github.com/SumOfficeApp/sumoffice-docker && cd sumoffice-docker/editors
cp env.example .env # PUBLIC_URL=https://office.example.com, WOPI_HOST_URL and WOPI_HOST = your Odoo
sh sdelat-proof-klyuch.sh # one signing key for all the editors, once; Odoo checks it on every call
docker compose up -d # TLS proxy: https://office.example.com → 127.0.0.1:8093
# 2. the module: from apps.odoo.com/apps/modules/18.0/sumoffice_wopi, or from the source
git clone --depth 1 -b integrations https://github.com/SumOfficeApp/sumoffice-docker sumoffice-module
cp -r sumoffice-module/integrations/odoo/sumoffice_wopi /path/to/odoo/addons/
# Odoo 19: take the 19.0 branch, the module folder is at its root
# developer mode → Apps → Update Apps List; clear the "Apps" filter, search "sumoffice", Activate
# Settings → SumOffice → Discovery URL: https://office.example.com/hosting/discovery
# web.base.url must be the https address of your Odoo; behind a TLS proxy run Odoo with proxy_mode
The module is LGPL-3, like Odoo Community itself, and it ships no activation keys and no calls home. The editors run in your own Docker (hissih/sumsheet-webhost, hissih/sumdoc-webhost); nothing about your files reaches us.
What travels with the file
.xlsx/.xlsm/.xlsband.docxare edited and saved back natively — macros, defined names, queries and pictures come back as they went in.- Saving creates a new attachment version in Odoo; the previous one stays.
- Not counted: people, companies, documents. Evaluation is free with no time limit; production is the per-application license.
Before you move a team onto it, run its workbooks through Check my Excel file: it names every macro, every function and every data source the engine knows or does not know, in seconds, without running anything. The other systems we measured →
- Tell us which Odoo version you run — 18 is measured, 19 is measured with Excel workbooks; earlier majors are a short port, and we will say the date before we start.
- Order a change under your process — your access rules, your document model: from 150 €.