A build-to-order Odoo module that lets you show or hide any QWeb report element based on where it falls in the printed document — first page, last page, or a specific page in the run. ECOSIRE scopes, builds, installs, and supports it for your Odoo 17/18/19 instance. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $249.00 USD; request a quote for a scoped proposal.
ایپ مینی فیسٹ
آپ کے ورک فلو کے مطابق تیار کردہ
A build-to-order Odoo module that lets you show or hide any QWeb report element based on where it falls in the printed document — first page, last page, or a specific page in the run. ECOSIRE scopes, builds, installs, and supports it for your Odoo 17/18/19 instance.
خود سیٹ اپ کی ضرورت نہیں — ایک کام کرنے والی ایپ جو ECOSIRE بناتا، انسٹال اور سپورٹ کرتا ہے۔
ایک بار کی تعمیر کی قیمت سے آغاز کریں۔ آغاز پر ہم آپ کے ساتھ مل کر دائرہ کار طے کرتے ہیں۔
ECOSIRE اسے آپ کے Odoo پر بناتا، ترتیب دیتا اور انسٹال کرتا ہے۔
آپ تقریباً 2–4 ہفتوں میں لائیو ہو جاتے ہیں، لانچ کے بعد معاونت کی مدت کے ساتھ۔
Every business that prints invoices, delivery slips, quotations, or purchase orders from Odoo eventually hits the same wall: the standard QWeb report renders the same header, footer, terms block, and signature area on every single page of a multi-page document. You end up with the bank details and full terms and conditions repeated on page 3 of a long invoice, or a "continued overleaf" note you cannot place only where it belongs. Odoo's report layouts and the web.external_layout templates give you a global header and footer, but out of the box there is no per-page conditional — QWeb has no native awareness of which physical page an element is landing on, because pagination happens later in the wkhtmltopdf/report_pdf rendering step, not in the template loop. Teams work around this with brittle CSS page-break hacks that break the moment a line item count changes.
Report QWeb Element Page Visibility is the module we build to give you real, declarative control over where report elements appear. We add a small extension to the QWeb reporting stack so any element in your report templates can carry a visibility rule — show only on the first page, only on the last page, only on a specific page number, or on every page except the first or last. Technically this is delivered through a targeted report.layout/ir.actions.report extension plus a lightweight rendering pass that annotates the generated PDF pages, driven by data attributes you place on the QWeb nodes (for example a t-page-visibility="first|last|nth" convention). Because the logic keys off the actual paginated output rather than guessing in the template, it stays correct whether a document renders as one page or twenty. We wire it cleanly into your existing web.external_layout_standard/_boxed/_bold templates or your custom report views, so your bank-details block lands only on the last page, your signature line prints only where it should, and repeated legal text disappears from the interior pages.
Under the hood we keep everything on standard Odoo foundations: a proper __manifest__.py declaring the web and base dependencies and the QWeb template assets, any configuration surfaced through ir.model fields with ir.model.access.csv entries and record rules so only report designers can edit the rules, and views built in XML/OWL that fit the native Settings and Technical menus. No core files are patched — the behavior is layered through inheritance so your Odoo stays upgrade-safe. The module is built and tested against Odoo 17.0, 18.0, and 19.0, works on both Community and Enterprise (Enterprise's additional report layouts are supported where present), and exposes its configuration over the standard XML-RPC/JSON-RPC API so it can be provisioned or scripted alongside the rest of your deployment.
Because this is a build-to-order engagement, delivery starts with a short scoping call where we confirm which reports need per-page control, your exact page-placement rules, and your target Odoo version and edition. There is no instant download — we build the module to your requirements, test it on a staging copy of your database, run UAT with your team, and then install to production with a rollback plan. Typical delivery is 2-4 weeks from confirmed scope. Pricing starts from $249 (indicative, single-company base scope); additional report templates, deep Enterprise layout customization, multi-company placement rules, or bespoke pagination logic beyond the standard first/last/nth cases increase the quoted scope. You receive a firm fixed quote after the scoping call — the from-price is a starting indication, not a final figure.
Owns the look of printed invoices and orders and is tired of CSS page-break hacks. Needs a declarative, maintainable way to place blocks per page that survives line-item count changes and Odoo upgrades.
Wants bank details, payment terms, and totals to appear only on the last page of long invoices — and repeated legal text gone from interior pages — so customer-facing documents look professional and unambiguous.
Runs the instance and cares about upgrade safety. Wants the behavior layered through inheritance with proper `ir.model.access.csv`, record rules, and API-scriptable configuration, not a patched core.
Needs terms, disclaimers, and signature lines to print in a specific, controlled position on the correct page for contractual and audit purposes, consistently across every document type.
| Criterion | ECOSIRE | Custom Build | Competitor | Odoo Native |
|---|---|---|---|---|
| Per-page element visibility (first / last / nth) | Built to your exact rules across chosen reports | Possible but you design and maintain the logic yourself | Fixed feature set, may not cover nth-page or your layouts | |
| Fit to your specific reports | Scoped to your documents on a discovery call | Fully tailored if you have the in-house dev time | Generic; you adapt your reports to it | |
| Upgrade safety (17/18/19) | Inheritance-based, no core patches, version-tested | Depends on your team's discipline | Varies by vendor; upgrade timing not in your control | |
| Delivery model | Built, tested on staging, installed with rollback plan | You build, test, and deploy yourself | Instant download, you self-install and debug | |
| Time to working solution | 2-4 weeks from confirmed scope | Weeks to months of internal dev effort | Minutes to install, then your own troubleshooting | |
| Support and accountability | Post-go-live support window + Git handover | Rests entirely with your team | Ticket queue, best-effort, no context on your setup | |
| Cost | From $249 indicative; fixed quote after scoping | High internal engineering cost and opportunity cost | Low sticker price, hidden integration cost | |
| Security and permissions | ir.model.access.csv + record rules for designer roles | You implement access control yourself | Depends on vendor implementation |
No. This is a build-to-order module. ECOSIRE builds it to your specific report and page-placement requirements, tests it on a staging copy of your database, and installs it for you. There is no instant download.
Typical delivery is 2-4 weeks from confirmed scope. The timeline starts once we have agreed which reports need per-page control, your exact placement rules, and your target Odoo version and edition on the scoping call.
Pricing starts from $249 as an indicative, single-company base-scope figure. Drivers such as additional report templates, deep Enterprise layout work, multi-company rules, or bespoke pagination logic increase the quoted scope. After the scoping call you receive a firm fixed quote — the from-price is a starting indication, not the final figure.
We build and test against Odoo 17.0, 18.0, and 19.0, on both Community and Enterprise. Enterprise-specific report layouts are supported where present, with graceful fallback on Community.
Every build includes a post-go-live support window for defect fixes and configuration questions, plus a Git repository handover so your team has the full source. Version upgrades or new report rules beyond the support window are quoted as a separate small engagement.
The module layers its behavior through inheritance of the standard report layouts rather than patching core files, which keeps your instance upgrade-safe. When you move to a new Odoo major version we verify and, if needed, adjust the module as part of a migration engagement.
Yes. It works with standard Odoo reports and with your own custom `ir.actions.report` definitions and QWeb templates. During scoping we confirm exactly which documents and which elements need per-page visibility rules.
A build-to-order Odoo module that lets you show or hide any QWeb report element based on where it falls in the printed document — first page, last page, or a specific page in the run. ECOSIRE scopes, builds, installs, and supports it for your Odoo 17/18/19 instance.