A governed semantic dashboard foundation for Odoo 19: administrators allowlist the metrics, managers assemble versioned boards, a second reviewer approves activation, and every value is read through ordinary Odoo access — company, record rule and field access included. One-time license from $499.00 USD for Odoo 19 — includes 12 months of updates and support.

A governed semantic dashboard foundation for Odoo 19:
administrators allowlist the metrics, managers assemble versioned boards, a second reviewer approves activation, and every value is read through ordinary Odoo access — company, record rule and field access included.
Buy the license on ecosire.com and download the Ecosire Dashboard Management 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 Ecosire Dashboard Management, 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.
Most Odoo dashboard tools solve the wrong half of the problem. They give a builder a blank canvas and a way to write SQL or a Python expression, and the result is a board that is fast to make and impossible to trust: nobody knows whether the number is defined the way finance defines it, whether the person looking at it was allowed to see the underlying records, or who changed the definition last Tuesday. The dangerous failure is not a broken chart. It is a chart that is confidently wrong, or one that shows a user rows their record rules were supposed to hide.
Ecosire Dashboard Management inverts that. An administrator allowlists the business metrics and actions that exist — the semantic layer — and nothing outside that allowlist can appear on a board. Managers assemble versioned boards from those approved semantics. An independent reviewer, not the author, approves and activates the immutable revision, which carries a definition checksum so a published board and its definition cannot silently drift apart. The result is a dashboard you can put in front of an auditor, a board member, or a customer without a caveat.
Access is not re-implemented, which is the point. Semantic queries execute as the requesting user, so model access, field access and record rules are enforced by Odoo itself before any value leaves the server. Audience, company and drill-through actions are checked server-side. There is no service account quietly reading everything and filtering in the browser — the pattern that turns a dashboard into a data leak.
Charts and filters are typed. A filter bar narrows only the semantics it is explicitly compatible with, and the browser cannot submit a raw domain or a widening operator, so a curious user with developer tools cannot broaden their own view. Governed snapshots capture bounded aggregates together with the user, company, revision, filter set, locale, classification, checksum, expiry and legal-hold context that make a saved number meaningful six months later. Threshold alerts deduplicate until they reset and re-cross, so an alert channel stays worth reading; exceptions are assigned and resolved through audited dialogs. Scheduled delivery generates each recipient payload separately under that recipient user and company context, so a subscription cannot become a side channel around access rules. CSV export neutralises formula-leading cells, and print, PDF and narrative flows reuse the authorised payload rather than re-querying with different privileges.
The exclusions are deliberate and worth reading, because they are what makes the guarantees hold. No raw SQL. No Python or executable expressions. No runtime plugins, public iframes, remote data sources, CDN assets or arbitrary actions. The eight launch packs that ship are capability-aware declarative drafts containing no invented business metrics — an administrator binds approved local semantic definitions before activation, and an application that is not installed produces an explicit unavailable state instead of a fabricated number. There is no visual drag-and-drop designer. If a drag-and-drop canvas that can run SQL is what you want, this is the wrong module and we would rather say so here.
Presentation is treated as a first-class requirement: explicit loading, empty, populated, unavailable and recoverable-error states, with keyboard navigation, screen-reader support, mobile layout, dark mode, RTL and reduced-motion handling. Fifteen typed server contracts back the client. It installs on Odoo 19 Community or Enterprise against base, web and mail only — no external Python package and no remote service. Licensed OPL-1, one payment per Odoo version, full source included.
Reports numbers upward and needs the definition of each metric to be fixed, approved and traceable. Needs versioned boards, an independent approver and a definition checksum so a published figure cannot drift from the definition it was approved under.
Is accountable for who can see what. Needs dashboard queries to run as the requesting user so record rules and field access apply, and needs a hard guarantee that no raw SQL, expression or remote data source can be introduced through a dashboard.
Assembles the boards their team uses day to day. Wants typed charts, compatible filters and drill-through that behave predictably, without needing SQL and without being able to break the access model by accident.
Reviews what is published and what is retained. Needs snapshots carrying user, company, revision, filter, classification, checksum, expiry and legal-hold context, audited exception handling, and recipient-isolated scheduled delivery.
| Criterion | ECOSIRE | Custom Build | Competitor | Odoo Native |
|---|---|---|---|---|
| How a metric gets defined | Administrator-allowlisted semantic layer only | Whatever was specified | Free-form builder, often SQL | Ad-hoc per view or pivot |
| Raw SQL / expression execution | Excluded by design — not expressible | Frequently used to move fast | Commonly offered as a feature | Not exposed to dashboard users |
| Whose privileges run the query | The requesting user, enforced server-side | Depends on implementation | Often a privileged service account | The requesting user |
| Publication control | Maker-checker: independent reviewer activates the immutable revision | Rarely modelled | Usually none | Save and it is live |
| Definition drift after approval | Definition checksum on every revision | Untracked | Untracked | Untracked |
| Filter safety | Typed filters; browser cannot submit a raw or widening domain | Spec-dependent | Varies; client-side filtering common | Domains editable by capable users |
| Scheduled delivery | Generated separately per recipient user and company | Usually one render for all | One render mailed to everyone | Limited |
| Retained numbers | Snapshots with revision, filter, classification, checksum, expiry, legal hold | As built | Plain exports | Screenshots |
| Accessibility and states | Explicit states plus keyboard, screen reader, mobile, dark mode, RTL, reduced motion | Usually skipped | Frequently an afterthought | Standard Odoo |
| Delivery | Instant download, OPL-1 source, USD 499 one-time | Weeks of build, then you own it | Download and self-integrate | Included, but ungoverned |
No, and that is a deliberate exclusion rather than a gap we intend to close. A free-form canvas that can run SQL or Python expressions is exactly what makes most dashboard tools impossible to govern. Here an administrator allowlists the semantics, managers assemble boards from that approved set, and a reviewer activates the revision. If a drag-and-drop canvas with raw SQL is your requirement, this is the wrong module and we would rather you know before purchase.
No. Semantic queries execute as the requesting user, so Odoo model access, field access and record rules are enforced by Odoo before any value leaves the server. Audience, company and drill-through actions are checked server-side as well. There is no privileged service account reading everything and filtering in the browser, and the browser cannot submit a raw domain or a widening operator to broaden its own view.
Eight capability-aware declarative drafts ship with the module. They deliberately contain no invented business metrics: an administrator binds approved local semantic definitions before a pack can be activated. If a required application is not installed, the pack renders an explicit unavailable state rather than a fabricated number. That is intentional — a dashboard that invents a metric to fill a tile is worse than one that says it cannot answer.
Instant download. You buy it, the Odoo 19 package is available immediately, and you install it into your addons path yourself. It is the released build, licensed OPL-1, at USD 499 one-time for the Odoo 19 series.
Odoo 19.0, Community or Enterprise. It depends only on base, web and mail — no external Python package, no remote service and no CDN asset. Earlier Odoo series are not shipped for this module today; if you need 18.0 or 17.0, ask us before purchase and we will confirm.
Each recipient payload is generated separately under that recipient user and company context, rather than rendering once and mailing the same image to a distribution list. A subscription therefore cannot become a side channel around access rules — a recipient sees what they would see if they opened the board themselves.
Each revision carries a definition checksum, and a published revision is immutable. Changing a definition means producing a new draft, which a different reviewer must approve and activate. Snapshots additionally retain the user, company, revision, filter set, locale, classification, checksum, expiry and legal-hold context, so a number retained today is still interpretable months later.
You get the installable Odoo 19 module source under OPL-1, the installation and configuration guide on docs.ecosire.com, and email support at [email protected]. Maintenance releases within the 19.0 series are included. Migration to a future Odoo major series is a separate arrangement.
Get a custom quote, a live demo, or help evaluating fit.