Build Odoo reports
without the grind.
A split-pane QWeb editor with an instant, true-to-print preview. Edit on the left, watch real data render on the right.
No edit-upgrade-refresh loop. No surprise database writes. Save back to the report — or export an installable file.
The report loop is brutal
Edit XML, upgrade the module, regenerate the PDF, squint, repeat. The web Views editor skips the upgrade — but strands your change in the database, far from your source tree, and still can't show you the page as it will actually print. QWeb Live Editor closes the loop: instant preview, real paper geometry, and one click to save back to the report or hand you a clean, installable module file.
Every keystroke renders through Odoo's real report pipeline — docs, company, layouts — in about 300 ms.
Previews run inside a rolled-back transaction. Experiment on live data with zero risk; bad XML shows inline, never a 500.
When it's right, save to the live report or export template + paper format as an installable .xml.
See it live
Edit the QWeb on the left, watch the report redraw on the right — in real time.
What's inside
Instant, isolated rendering
Real records, real layout, ~300 ms — all inside a savepoint that rolls back. Nothing persists, so you can refactor a customer's invoice fearlessly.
Edit any report, or invent one
Load any installed report's XML — even from third-party apps — straight from the database. Or pick a model and start a new report from a blank page with starter templates.
True-to-print page setup
Size, orientation, custom mm/in dimensions and margins in one popup. Your margins are a single source of truth — the same values drive the preview, the PDF, and the saved paper format.
See the printable area
A dashed guide marks the printable boundary at physical scale. It detects framed (header/footer) vs. bare templates and insets the body to match exactly what the PDF engine will do.
A field browser that writes code
Don't remember the schema? Browse the model's fields, drill one level into relations, and click to insert — a leaf becomes a t-field, a one2many becomes a ready t-foreach loop.
Save to DB or export a module
Write straight back to the live report — with an optional, warning-guarded paper-format update, plus undo and restore. Or export template + paper format as a complete installable file, prefilled from your page setup.
Real PDF, on demand
One click renders the actual PDF through Odoo's engine — your live buffer in model mode, the saved report otherwise. The preview simulates; this is the source of truth.
An editor you'll enjoy
CodeMirror with XML highlighting, light/dark, font and tab controls, line wrap, inline diff, examples, and a built-in guide. Bundled in the module — no CDN, fully offline.
From blank page to shipped report
Open it from Settings → Technical → QWeb Live Editor (developer mode).
Pick an existing report to refine, or a model to start something new.
Choose a record — your real data renders instantly on the right.
Edit the QWeb; lean on the field browser. Errors surface inline, never as a crash.
Dial in Page setup — size, orientation, margins — with the printable-area guide.
Render PDF to verify, then Save to DB or Export a module file.
Who it's for
Building or customizing PDF reports for clients, fast — and shipping the result straight to source.
Adjusting layouts and wording without a full local dev environment or a deploy cycle.
Tired of the edit → upgrade → print → squint loop and ready for something instant.
A look inside
Questions, answered
No. Previews roll back automatically. Only Save to DB and Export persist anything, and both confirm first.
Yes — any installed QWeb report in your database, no source files required.
Only for the optional Render PDF button. The live HTML preview works without it.
It's gated behind a dedicated developer security group and intended for developers — not exposed to regular users.
Requirements
- Odoo 19.0 (Community or Enterprise).
- Works out of the box — CodeMirror is bundled; no CDN, no internet, no extra Python packages for the editor or the live HTML preview.
- PDF output uses Odoo's standard wkhtmltopdf.
- Barcode / QR widgets (optional) need the rlPyCairo backend; if missing, the editor shows a clear message and the rest still renders.
Not supported: ZPL (Zebra) label output and reports that require a print wizard's data (label-style reports are handled automatically).
Secure by design
Rendering arbitrary QWeb executes template expressions, so the editor is gated behind a dedicated QWeb Live Editor security group (implied by Settings/Admin) and is never exposed to regular users.
New to QWeb reports? QWeb language · Reports reference.
Stop fighting the report loop.
Install QWeb Live Editor and design reports the way you write code — live, safe, and shippable.
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