- Home
- Apps
- Multichannel & PIM Tools
- Forms to QWeb Reports
Illustrative previewA build-to-order Odoo module that turns website and internal form submissions into branded,
print-ready QWeb PDF reports automatically.
ECOSIRE scopes, builds, installs, and supports it for your instance.
What is Forms to QWeb Reports?
A build-to-order Odoo module that turns website and internal form submissions into branded, print-ready QWeb PDF reports automatically. ECOSIRE scopes, builds, installs, and supports it for your instance. 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
Built to order, done for you
No DIY setup — a working app, built, installed and supported by ECOSIRE.
- 1
You order
Start with a one-time build price. We scope it with you at kickoff.
- 2
We build & install
ECOSIRE builds, configures and installs it on your Odoo.
- 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
Teams collect data through Odoo forms — website enquiries, intake questionnaires, inspection checklists, survey responses, application forms — but the moment someone needs a clean PDF of a single submission, the native path runs out of road. Odoo can print list and form views, and the website builder can capture submissions into a target model, but there is no out-of-the-box way to render an individual submission as a designed, letterheaded document with computed fields, conditional sections, and a filename that reflects the record. People end up copy-pasting into a word processor, which is slow, error-prone, and impossible to automate. This is a productized service page: the module described here is built to order for your instance, not an existing download.
ECOSIRE builds a dedicated QWeb report bound to the model your forms write into. Technically, we deliver a proper module with its own __manifest__.py, a report.report_action (report_type = 'qweb-pdf') and a matching QWeb <template> that walks the submission record and its related fields. Where the raw submission stores loosely-typed answers, we add models.Model extensions with typed fields and compute/@api.depends methods so the PDF shows properly formatted totals, dates, currencies, and derived values rather than dumped strings. The report inherits web.external_layout so your company header, footer, address, and logo are applied consistently, and we implement _get_report_values in an AbstractModel so the template receives exactly the data it needs — including many-to-one and one-to-many lines rendered as tables. Optional QR codes, barcodes, page-break control, and multi-language rendering (t-lang) are handled in-template.
Beyond the document itself, we wire the automation you actually want. Using Odoo's automated actions (or a small server action), a PDF can be generated and emailed the instant a form is submitted, attached to the record as an ir.attachment, pushed to a partner via a mail template, or filed into Documents. For headless and integration scenarios the same report is renderable over the XML-RPC/JSON-RPC API, so an external portal or another system can request the PDF for a given record id. Access is locked down properly with ir.model.access.csv and record rules so users only render reports for records they are allowed to see, and multi-company setups get the correct company branding per record.
Delivery is build-to-order. After a short scoping call we confirm the exact source model, the fields and layout of the report, the trigger conditions, and your Odoo version — we support Odoo 17.0, 18.0, and 19.0, and account for Community vs Enterprise differences (for example, Studio-created fields or Enterprise-only Documents routing). You receive a fixed written quote, then we build on a staging copy, run UAT with you, and deploy with a rollback plan. Typical delivery is one working week from confirmed scope. Pricing starts from $999 (indicative, single-company base scope covering one source model and one report layout); additional report layouts, complex conditional logic, multi-company branding, extra integrations over the RPC API, and localization depth increase the quoted scope.
What you get
- Installable, version-pinned Odoo module source for your target version (17.0/18.0/19.0), no core patches
- Installation and configuration on your instance, including report action and automation wiring
- Technical documentation covering the model extensions, QWeb template, security rules, and trigger logic
- End-user guide plus a live training session for the team that will run and print the reports
- Post-go-live support window for defect fixes and adjustments after deployment
- UAT on a staging copy with a documented, tested rollback plan before production deploy
- Git repository handover with full commit history and tagged release
- Sample generated PDFs and test records demonstrating each report layout and trigger
Who this is for
Operations lead running Odoo forms
Owns website enquiry or intake forms and needs each submission as a branded PDF, filed and emailed automatically, without manual copy-paste for every record.
Field and inspection teams
Capture checklists and site data through Odoo and need a clean, letterheaded PDF per job — with computed totals and pass/fail sections — to hand to clients or file for compliance.
Odoo administrator or internal developer
Wants the reporting layer delivered as a proper module with `ir.model.access.csv`, record rules, and clean QWeb templates they can maintain, not brittle Studio hacks or core edits.
Membership, HR, or education coordinator
Processes application and registration forms and needs each accepted submission rendered as an official document, in the applicant's language, attached to their record.
How Forms to QWeb Reports Compares
| Criterion | ECOSIRE | Custom Build | Competitor | Odoo Native |
|---|---|---|---|---|
| Output fidelity | Branded QWeb PDF per submission with computed fields and line tables | Depends entirely on in-house developer skill and time | Generic template, rarely matches your exact model | List/form print only, no per-submission designed document |
| Automation on submit | Automated action generates, attaches, and emails the PDF | Buildable but must be designed and tested from scratch | Usually manual print, limited trigger options | No native submit-to-PDF workflow |
| Security model | `ir.model.access.csv` + record rules scoped to your roles | Correct only if the developer implements it deliberately | Broad defaults you must tighten yourself | Standard access, not report-specific |
| Odoo version fit | Built and tested for your 17.0/18.0/19.0, Community or Enterprise | Whatever you target, at your maintenance cost | Often lags new versions or a paid upgrade | Ships with core, but no report layer |
| Integration / API | Renderable over XML-RPC/JSON-RPC for external systems | Possible with additional in-house work | Rarely exposed or documented | Report objects exist but need custom wiring |
| Maintenance & ownership | Versioned module + git handover, no core patches | You own all upkeep and documentation | Vendor-controlled release cadence | Maintained by Odoo, but no matching feature |
| Time to value | one working week from confirmed scope, UAT and rollback included | Unpredictable; depends on backlog and skill | Fast to install, slow to fit your data | Immediate, but does not solve the need |
| Total cost clarity | Indicative from $999, fixed written quote after scoping | Open-ended developer hours | Low license, high customization cost to fit | Free, but leaves the gap unsolved |
Frequently Asked Questions about Forms to QWeb Reports
Is this an existing app I can download and install right now?
No. This is a build-to-order module. We scope it to your exact source model, fields, layout, and triggers, then build, install, and support it for your instance. It is not a pre-existing apps.odoo.com download.
How long does delivery take?
Typical delivery is one working week from confirmed scope. After the scoping call and a signed fixed quote, we build on a staging copy, run UAT with you, and deploy with a rollback plan. Larger multi-layout or multi-company work sits at the upper end of that range.
How does pricing and scoping work?
Pricing starts from $999 as an indicative single-company base scope (one source model, one report layout). We never quote a firm price sight-unseen — after a short scoping call we send a fixed written quote. Additional layouts, conditional logic, multi-company branding, integrations, and localization increase the quoted scope.
What about support and future Odoo updates?
Every build includes a post-go-live support window for defect fixes and adjustments. Because it ships as a self-contained module with no core patches, it upgrades cleanly. We also offer paid support and version-migration engagements (17.0 → 18.0 → 19.0) beyond the initial window.
Which Odoo versions and editions do you support?
We support Odoo 17.0, 18.0, and 19.0 on both Community and Enterprise. During scoping we account for edition differences — for example Studio-created fields or Enterprise-only Documents routing — so the module fits your setup exactly.
Can the PDF be generated automatically and sent to the submitter?
Yes. We wire an automated action or server action so the PDF is generated on submission, attached to the record as an `ir.attachment`, and optionally emailed via a mail template. It can also be rendered on demand over the XML-RPC/JSON-RPC API for external systems.
Do you handle multi-company and multi-language reports?
Yes. The report inherits `web.external_layout` and is multi-company aware, so each record prints with the correct company branding, and `t-lang` rendering produces the report in each recipient's partner language.
Related Modules
Facebook Pixel Integration for Odoo
A build-to-order Odoo module that injects your Facebook Pixel and fires PageView plus configurable events across your Odoo website pages. ECOSIRE scopes, builds, installs, and supports it — this is a made-to-order engagement, not an off-the-shelf download.

Fetchr / Address-by-GPS Last-Mile Connector for Odoo
A build-to-order Odoo connector that books last-mile shipments from your sales orders using GPS/phone-pin addressing instead of street data — with AWB label sync, live tracking, and COD reconciliation for MENA deliveries.

Freight Forwarder Management for Odoo
A made-to-order Odoo application that runs freight forwarding end to end — bookings, shipment files, cargo details, and multi-party charges — on your own database. ECOSIRE scopes, builds, installs, and supports it; it is not an off-the-shelf download.

Freight Forwarding Management for Odoo
End-to-end air/ocean/land freight forwarding in Odoo — shipments, containers, customs and multi-party billing. Built to order by ECOSIRE.
Forms to QWeb Reports
A build-to-order Odoo module that turns website and internal form submissions into branded, print-ready QWeb PDF reports automatically. ECOSIRE scopes, builds, installs, and supports it for your instance.
- Dedicated QWeb PDF report (`report_type = 'qweb-pdf'`) bound to your form's target model, not a generic list print
- Model extension with typed `fields` and `compute`/`@api.depends` methods so submissions render as formatted totals, dates, and currencies
- `_get_report_values` in an `AbstractModel` builds the exact dataset the template needs, including related one-to-many lines as tables
- Inherits `web.external_layout` for consistent company header, footer, logo, and address on every page