A build-to-order Odoo module that turns your own Excel or LibreOffice files into branded, field-mapped report templates producing pixel-perfect XLSX, XLSM and PDF documents — bound per model, no developer required after handover. ECOSIRE builds, installs and supports it. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $199.00 USD; request a quote for a scoped proposal.

A build-to-order Odoo module that turns your own Excel or LibreOffice files into branded, field-mapped report templates producing pixel-perfect XLSX, XLSM and PDF documents — bound per model, no developer required after handover. ECOSIRE builds, installs and supports it.
No payment now. This sends a quote request to our team — we'll follow up by email with pricing and next steps.
Finance and operations teams live in spreadsheets, but Odoo's native reporting doesn't meet them there. Out of the box, printable documents are QWeb/HTML rendered to PDF through wkhtmltopdf — great for invoices and pickings, but hostile to the multi-column, formula-driven, brand-locked worksheets accountants actually hand to auditors, banks and regulators. Producing a truly Excel-native report today means either exporting a raw list view (which loses all formatting, subtotals and layout) or writing a bespoke report.report_xlsx class in Python with hand-coded xlsxwriter calls for every cell, format and merge. Each new layout is another developer ticket, and the finance team who owns the format can't touch it. Enterprise's Spreadsheet/documents helps interactively, but it isn't a repeatable, model-bound document engine you can trigger from a button or the API.
Upload real MS Excel .xlsx/.xlsm or LibreOffice .ods files as the master report template — original fonts, borders, merged cells and print areas preserved on output
Drag-and-drop field placeholders that resolve dotted ORM paths (${object.partner_id.vat}, ${line.product_id.default_code}) with a live binding preview
Per-model template binding via ir.actions.report — attach templates to account.move, sale.order, stock.picking or any custom model, surfaced as a Print action
XLSX, XLSM (macro-enabled) and PDF output from a single template definition; XLSX/XLSM via the report.report_xlsx + xlsxwriter engine, PDF via a QWeb paper path
one2many line loops that expand invoice/order/picking lines into repeating rows with automatic row-band styling and page breaks
Conditional formatting rules (colour scales, thresholds, negative-in-red) evaluated at render time, not frozen into Python
Excel/XLSX Report Designer Studio closes that gap. ECOSIRE builds you a first-class Odoo module that lets non-developers upload an actual .xlsx/.xlsm (or LibreOffice .ods) file as the report template, then drag pre-formatted field placeholders onto cells — ${object.partner_id.name}, ${line.price_subtotal}, computed columns and running totals — while your original fonts, borders, conditional formatting and print areas are preserved byte-for-faithful. Technically it is delivered as a proper addon: a __manifest__.py declaring the dependency tree, a models.Model template registry and a designer model with fields and @api.depends computes for previewing bindings, and a rendering service built on the report.report_xlsx / xlsxwriter stack for XLSX/XLSM output plus a QWeb-to-PDF path when a paper copy is needed. Templates are bound per model via ir.actions.report, so an invoice template attaches to account.move, a quotation template to sale.order, a delivery slip to stock.picking — each surfacing as a Print action on that record and its list view. Placeholder resolution walks the ORM (dotted paths, one2many line loops, related and computed fields), and conditional formatting plus computed columns are expressed as rules the template evaluates at render time rather than frozen Python.
Everything ships governed the Odoo way. Access is controlled through ir.model.access.csv and record rules so, for example, only the Accounting group can edit finance templates while Sales users can only run them; multi-company record rules keep each company's branded layouts isolated. Reports can be produced on demand from the record button, batch-generated over a filtered selection, scheduled via an automated action / server action (ir.cron), or pulled programmatically through Odoo's XML-RPC and JSON-RPC API so an upstream system can request "the June statement for partner X as XLSX" and receive the finished file. Output attaches to the record's chatter and mail templates, so a formatted XLSX or PDF can go out with the confirmation email automatically.
Because this is build-to-order, we start from your real documents and your real data model, not a generic demo. After a short scoping call we confirm exact scope — which models, which templates, which output formats, which security groups — and typically deliver in 2 to 4 weeks from confirmed scope. You get the installable source built and tested against your Odoo 17.0, 18.0 or 19.0 edition (Community or Enterprise), UAT on a staging database before anything touches production, and a git repository handover so the module is yours to keep, extend and re-deploy.
Owns the statutory and management report formats — bank statements, VAT summaries, aged balances. Needs pixel-perfect, formula-accurate XLSX/PDF that match the layout auditors and regulators expect, and wants their team to edit templates without raising a developer ticket each time.
Prints pickings, delivery notes, packing lists and inventory reports to specific carrier and warehouse formats. Needs per-model templates that expand line items into repeating rows and can be batch-generated or triggered from a list-view selection.
Configures and maintains the Odoo instance for internal or client use. Wants a governed module (proper manifest, ir.model.access, record rules) that they can bind to models, expose over the API, and hand to end users rather than maintaining hand-coded xlsxwriter reports.
Feeds Odoo from or into upstream systems. Needs to request a formatted report for a specific record and format over XML-RPC/JSON-RPC and receive a finished XLSX file — no scraping list-view exports or reimplementing layout downstream.
Buy the license on ecosire.com and download the Excel/XLSX Report Designer Studio module ZIP from your account dashboard.
Extract the ZIP into your Odoo custom addons folder on the server (or upload via Apps > Install from file on Odoo.sh / runbot).
Activate Developer Mode, open Apps, click Update Apps List, search for Excel/XLSX Report Designer Studio, and press Install.
Open the new menu, paste your ECOSIRE license key, connect any external credentials (Shopify, Amazon, Stripe, etc.), and save.
Run the built-in connection test, sync your first 10 records, and schedule the recurring cron. Contact support if anything fails.
| Criterion | ECOSIRE | Custom Build | Competitor | Odoo Native |
|---|---|---|---|---|
| Template source | Your real Excel/LibreOffice file with formatting preserved | Hand-coded xlsxwriter cells in Python | Generic template, limited layout control | |
| Editable by finance team | Yes — drag-and-drop placeholders, no code | No — every change is a developer ticket | Partial — config UI but rigid | |
| Output formats | XLSX, XLSM and PDF from one template | Whatever you code per report | Usually XLSX only | |
| Per-model binding | Bound via ir.actions.report to any model | Manual per report | Fixed set of supported models | |
| Conditional formatting & computed columns | Rule-based, evaluated at render time | Coded case-by-case in Python | Basic or none | |
| Automation & API | ir.cron, server actions and XML-RPC/JSON-RPC | Build it yourself each time | Rarely exposed over the API | |
| Security & multi-company | ir.model.access.csv + record rules, company-isolated | Depends on developer discipline | Often coarse-grained | |
| Ownership & support | Full git handover + post-go-live support window | Yours but tied to the original developer | Vendor-locked, per-version repurchase |
This is not an instant apps.odoo.com download — ECOSIRE builds it for you. After a short scoping call we confirm exact scope (models, templates, output formats, security groups), then typically deliver in 2 to 4 weeks from confirmed scope. Complex, high-volume template sets can take longer; we agree the timeline in writing before any build starts.
We build and test against Odoo 17.0, 18.0 and 19.0, on both Community and Enterprise. XLSX/XLSM generation works on Community and Enterprise alike since it rides the report.report_xlsx / xlsxwriter stack rather than any Enterprise-only feature; we confirm your exact version at scoping so the manifest and dependencies match your deployment.
Yes — that's the point. Authors upload a real Excel/LibreOffice file and drag pre-formatted field placeholders onto cells; the original formatting is preserved. Editing rights are scoped by security group via ir.model.access.csv and record rules, so finance can maintain finance templates while other users can only run them.
A native list-view export gives raw data with no layout, subtotals or branding, and native printed documents are QWeb/HTML rendered to PDF — not true Excel. This module produces genuine XLSX/XLSM with your fonts, borders, conditional formatting, formulas and computed columns intact, bound per model, and can also emit a PDF path when a paper copy is needed.
Yes. Reports can be triggered from a record's Print button, batch-generated across a filtered selection, scheduled via ir.cron / server actions (e.g. month-end statements), auto-attached to chatter and wired into mail templates, or requested externally over Odoo's XML-RPC / JSON-RPC API for a given record and format.
Every build includes a post-go-live support window for defect fixes and configuration questions. Because you receive the full git repository, the module is yours to extend. For version upgrades (e.g. Odoo 18 to 19) or new template families, we scope those as a follow-on engagement so your codebase stays clean and maintainable.
Yes. We hand over the complete, installable source in a git repository with commit history. There is no license lock-in or per-seat runtime fee for the module itself — you can self-host, extend it in-house, or bring us back for enhancements.
A build-to-order Odoo module that turns your own Excel or LibreOffice files into branded, field-mapped report templates producing pixel-perfect XLSX, XLSM and PDF documents — bound per model, no developer required after handover. ECOSIRE builds, installs and supports it.