Skip to main content
Excel/XLSX Report Designer Studio — A build-to-order Odoo module that turns your own Excel or LibreOffice files into branded, — 1/1Illustrative preview

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.

What is Excel/XLSX Report Designer Studio?

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 $999.00 USD; request a quote for a scoped proposal.

Key Features

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
Computed columns and running totals (subtotals, cumulative balances, currency conversion) defined as template rules over the record set
Security-scoped by ir.model.access.csv + record rules — edit rights per group, multi-company isolation of branded layouts
Batch generation across a filtered list-view selection, producing one file per record or a consolidated workbook
Scheduled/automated report runs via ir.cron and server actions (e.g. month-end statements) with the file dropped to chatter or emailed
XML-RPC / JSON-RPC endpoint to request a rendered report for a given record and format from external systems
Auto-attach generated XLSX/PDF to the record's chatter and wire it into mail templates for automatic send-with-email
Native currency, decimal-precision and date/number localisation honoured from the company and partner settings
Template versioning and cloning so finance can iterate on a layout without breaking the live bound report

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

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.

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 one working week 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.

What you get

  • Installable, tested module source code for your exact Odoo edition and version (17.0 / 18.0 / 19.0, Community or Enterprise)
  • Installation and configuration on your environment, including report bindings and security-group setup
  • UAT on a staging database with a documented test plan and a rollback plan before production cut-over
  • Technical documentation — data model, template registry, rendering pipeline, security matrix and dependency list
  • End-user guide plus a live training session for your finance/ops template authors
  • Git repository handover with full commit history so the module is yours to extend and re-deploy
  • Post-go-live support window for defect fixes and configuration questions
  • Sample templates (invoice, sales order, picking) pre-wired to your branding as working starting points

Who this is for

Finance & accounting lead

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.

Operations / logistics manager

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.

Odoo functional consultant / ERP admin

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.

Systems integrator / data team

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.

How Excel/XLSX Report Designer Studio Compares

CriterionECOSIRECustom BuildCompetitorOdoo Native
Template sourceYour real Excel/LibreOffice file with formatting preservedHand-coded xlsxwriter cells in PythonGeneric template, limited layout controlNo Excel template — list export or QWeb HTML only
Editable by finance teamYes — drag-and-drop placeholders, no codeNo — every change is a developer ticketPartial — config UI but rigidNo — QWeb XML requires a developer
Output formatsXLSX, XLSM and PDF from one templateWhatever you code per reportUsually XLSX onlyPDF via QWeb; raw XLSX export separately
Per-model bindingBound via ir.actions.report to any modelManual per reportFixed set of supported modelsOnly where a report action already exists
Conditional formatting & computed columnsRule-based, evaluated at render timeCoded case-by-case in PythonBasic or noneNot applicable to native XLSX export
Automation & APIir.cron, server actions and XML-RPC/JSON-RPCBuild it yourself each timeRarely exposed over the APIManual print action only
Security & multi-companyir.model.access.csv + record rules, company-isolatedDepends on developer disciplineOften coarse-grainedStandard model access, no template layer
Ownership & supportFull git handover + post-go-live support windowYours but tied to the original developerVendor-locked, per-version repurchaseCovered by your Odoo support only

Frequently Asked Questions about Excel/XLSX Report Designer Studio

How long does delivery take, and how does build-to-order work?

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 one working week from confirmed scope. Complex, high-volume template sets can take longer; we agree the timeline in writing before any build starts.

Which Odoo versions and editions are supported?

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.

Can our finance team edit templates without a developer?

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.

How is this different from Odoo's native list export or QWeb PDF reports?

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.

Can reports be generated automatically or from other systems?

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.

What about support and updates after go-live?

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.

Do we own the code?

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.

Request a quote

Excel/XLSX Report Designer Studio

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.

  • 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

Request a Quotation

Tell us about your Excel/XLSX Report Designer Studio 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.