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

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.
अभी कोई भुगतान नहीं। यह हमारी टीम को एक कोटेशन अनुरोध भेजता है — हम कीमत और अगले चरणों के साथ ईमेल द्वारा संपर्क करेंगे।
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.
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
Conditional sections, page-break control, and repeating line rendering via QWeb `t-if`/`t-foreach` directives
Dynamic, record-aware output filenames (e.g. reference number + date) instead of a generic report name
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 2–4 weeks from confirmed scope. Pricing starts from $299 (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.
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.
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.
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.
Processes application and registration forms and needs each accepted submission rendered as an official document, in the applicant's language, attached to their record.
Buy the license on ecosire.com and download the Forms to QWeb Reports 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 Forms to QWeb Reports, 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 |
|---|---|---|---|---|
| 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 | |
| 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 | |
| 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 | |
| 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 | |
| Integration / API | Renderable over XML-RPC/JSON-RPC for external systems | Possible with additional in-house work | Rarely exposed or documented | |
| Maintenance & ownership | Versioned module + git handover, no core patches | You own all upkeep and documentation | Vendor-controlled release cadence | |
| Time to value | 2–4 weeks from confirmed scope, UAT and rollback included | Unpredictable; depends on backlog and skill | Fast to install, slow to fit your data | |
| Total cost clarity | Indicative from $299, fixed written quote after scoping | Open-ended developer hours | Low license, high customization cost to fit |
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.
Typical delivery is 2–4 weeks 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.
Pricing starts from $299 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.
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.
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.
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.
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.
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.