Automatically email any Odoo report or dashboard as a PDF or XLSX attachment to defined recipients on a daily, weekly, or monthly cadence — with per-recipient data scoping, dynamic filters, and full delivery logging. Built, installed, and supported by ECOSIRE. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $149.00 USD; request a quote for a scoped proposal.

Automatically email any Odoo report or dashboard as a PDF or XLSX attachment to defined recipients on a daily, weekly, or monthly cadence — with per-recipient data scoping, dynamic filters, and full delivery logging. Built, installed, and supported by ECOSIRE.
لا حاجة للدفع الآن. يؤدي هذا إلى إرسال طلب عرض سعر إلى فريقنا — وسنتواصل معك عبر البريد الإلكتروني بالأسعار والخطوات التالية.
Managers keep asking for the same numbers, so someone on the team spends the first hour of every Monday exporting the sales pivot, the aged-receivables report, and the inventory valuation to PDF, then forwarding them around. Odoo can generate every one of those reports on demand, but out of the box it has no concept of a recurring subscription: there is no built-in way to say "email the Q-to-date sales analysis as XLSX to the regional managers every Monday at 7am, each one filtered to only their own team." You can bolt something together with ir.cron and a hand-written server action, but that is brittle, invisible to non-developers, and impossible for a manager to self-manage. That gap is exactly what this module fills.
Dedicated `report.subscription` model with typed `fields` and `@api.depends` computes that preview the next run date and human-readable cadence
Subscribe any QWeb report (`qweb-pdf`) or list/pivot view — bind by report `report_name` / action, not a hard-coded whitelist
PDF output via Odoo's native `IrActionsReport._render_qweb_pdf` for pixel-perfect, letterhead-consistent documents
XLSX output through the report engine or an `xlsxwriter`-backed writer for analysis-ready spreadsheets
Daily / weekly / monthly cadence with configurable time-of-day and per-subscription timezone handling
Dynamic `domain` filters and context (e.g. date-window `relativedelta`) resolved at send time so attachments always reflect live data
We build a first-class report.subscription model (with models.Model, typed fields, and @api.depends computes for next-run previews) that lets an admin or manager define a subscription against any QWeb report or list/pivot view in the system. Each subscription carries its cadence (daily/weekly/monthly with time-of-day and timezone), its output format (qweb-pdf for pixel-perfect PDFs, XLSX via the report engine or an xlsxwriter writer for spreadsheets), a recipient list built from res.partner/res.users and free-form addresses, and a domain-based filter so the attachment reflects live data at send time. A scheduled ir.cron job wakes on your interval, resolves each due subscription, renders the report through Odoo's own report registry, and dispatches it via mail.mail / ir.mail_server so it respects your existing outgoing-mail configuration.
Two capabilities are where the engineering earns its keep. First, per-recipient data scoping: rather than blasting one identical PDF to everyone, the module can re-render the report in each recipient's security context, so ir.rule record rules and multi-company boundaries are honored — a branch manager only ever receives rows they are entitled to see, enforced by the same ORM access layer as the live UI, not a bolt-on filter. Second, delivery reliability: every send writes a report.subscription.log row (rendered-at, recipient, attachment size, SMTP result), failed sends are automatically retried with backoff on the next cron pass, and admins get a delivery dashboard plus optional failure alerts. Security is wired properly via ir.model.access.csv and record rules so managers can manage their own subscriptions without touching anyone else's.
Because this is a build-to-order module, you are not downloading a generic binary and hoping it fits. After a short scoping call we confirm exactly which reports, cadences, formats, and scoping rules you need, we build and test the module against your Odoo edition (Community or Enterprise) and version (17.0, 18.0, or 19.0), and we run it on a staging copy of your database for UAT before anything touches production. Typical delivery is 2–4 weeks from confirmed scope. You receive the full installable source, a git repository handover, technical and user documentation, a training session, and a post-go-live support window — so the subscriptions keep landing in the right inboxes long after launch.
Wants the KPIs they check daily — sales analysis, order backlog, aged receivables — to arrive in their inbox automatically each morning, already filtered to their region, without logging in or asking anyone to export them.
Needs recurring, auditable delivery of financial reports (P&L snapshots, receivables, cash position) as PDF and XLSX to the leadership team on a fixed calendar, with a delivery log proving each report actually went out.
Owns the Odoo instance and wants scheduled reporting handled by a properly secured, record-rule-aware module instead of one-off server actions and hand-written crons that no one else can maintain.
Wants a single weekly executive digest of the numbers that matter emailed every Monday, and wants confidence that each recipient only sees data they are cleared to see.
قم بشراء الترخيص من موقع ecosire.com وقم بتنزيل وحدة Scheduled Report Email Subscriptions ZIP من لوحة تحكم حسابك.
قم باستخراج ملف ZIP إلى مجلد إضافات Odoo المخصصة على الخادم (أو تحميله عبر التطبيقات > التثبيت من ملف على Odoo.sh / runbot).
قم بتنشيط وضع المطور، وافتح التطبيقات، وانقر فوق تحديث قائمة التطبيقات، وابحث عن Scheduled Report Email Subscriptions، ثم اضغط على تثبيت.
افتح القائمة الجديدة، والصق مفتاح ترخيص ECOSIRE الخاص بك، وقم بتوصيل أي بيانات اعتماد خارجية (Shopify، وAmazon، وStripe، وما إلى ذلك)، ثم احفظها.
قم بتشغيل اختبار الاتصال المدمج، وقم بمزامنة أول 10 سجلات لديك، وقم بجدولة عملية cron المتكررة. اتصل بالدعم إذا فشل أي شيء.
| المعيار | ECOSIRE | بناء مخصص | منافس | أودو الأصلي |
|---|---|---|---|---|
| Recurring scheduled delivery | Purpose-built cron engine with daily/weekly/monthly cadence and timezone control | Possible, but you build and maintain the cron and scheduling logic yourself | Usually included, though cadence options vary by module | |
| Per-recipient data scoping | Report re-rendered per recipient, honoring `ir.rule` and multi-company | Achievable but easy to get wrong; a security-sensitive build | Rare — most send one identical attachment to everyone | |
| Output formats | QWeb PDF plus XLSX, chosen per subscription | Whatever you take the time to implement | Often PDF only, or a fixed format | |
| Delivery logging & retries | Full delivery ledger with automatic backoff retries and alerts | Extra work most DIY builds skip | Basic logging at best; retries uncommon | |
| Fit to your reports | Scoped to your exact reports, filters, and recipients | Fully bespoke, at full development cost | Generic — you adapt to its assumptions | |
| Version & edition support | Built and tested for your Odoo 17/18/19, Community or Enterprise | Depends on your team's version expertise | Listed versions only; may lag your edition | |
| Maintenance & support | Post-go-live support window plus source and git handover | Entirely your team's responsibility | Vendor support varies; often ticket-only | |
| Setup effort for you | We install, configure, and train — you approve on staging | Your developers' time end to end | Self-install and self-configure |
This is a build-to-order module, not an instant apps.odoo.com download. After we lock the scope on a short call, typical delivery is 2–4 weeks depending on how many reports, cadences, and scoping rules are involved. You get a firm timeline in writing once the scope is confirmed.
We build against Odoo 17.0, 18.0, or 19.0, on either Community or Enterprise. We confirm your exact version and edition during scoping and build/test specifically against it. Enterprise-only report types (like the spreadsheet/Documents apps) are supported when you run Enterprise; Community deployments use QWeb PDF and `xlsxwriter`-based XLSX.
Yes — that is a core capability. We can render the report in each recipient's security context (`with_user()`), so Odoo's own `ir.rule` record rules and multi-company boundaries decide which rows appear. A branch manager receives only their branch's data, enforced by the same access layer as the live UI.
In most cases yes. Any report exposed as a QWeb report action, or any list/pivot view, can be subscribed. During scoping we inventory the specific reports you want and confirm each one renders cleanly to PDF/XLSX in a headless (cron) context — a handful of reports that depend on interactive UI state may need a small adaptation, which we call out up front.
Every send is recorded in a delivery log with its SMTP result. Failed sends are automatically retried with backoff on the next cron pass up to a configurable limit, and you can optionally alert an admin when a subscription exhausts its retries. Nothing fails silently.
Every build includes a post-go-live support window for defect fixes and configuration tweaks. Because you receive the full source and git repository, your team can maintain it too. When you upgrade Odoo to a new major version, we offer a paid migration to keep the module compatible — quoted separately from the initial build.
Yes. The `report.subscription` model is exposed over Odoo's standard XML-RPC / JSON-RPC API, so external systems can create, update, pause, or trigger subscriptions without touching the UI — useful when subscription setup is driven by another system.
Automatically email any Odoo report or dashboard as a PDF or XLSX attachment to defined recipients on a daily, weekly, or monthly cadence — with per-recipient data scoping, dynamic filters, and full delivery logging. Built, installed, and supported by ECOSIRE.