跳至主要内容
产品详细信息以英文显示。翻译即将推出。
SQL BI View Editor — A build-to-order Odoo module that turns your SQL into governed business intelligence views — materialize — 1/1示意预览

A build-to-order Odoo module that turns your SQL into governed business intelligence views

— materialized or standard — exposed as read-only ORM models you can pivot, filter, group, and export.

ECOSIRE scopes, builds, installs, and supports it.

什么是 SQL BI View Editor?

A build-to-order Odoo module that turns your SQL into governed business intelligence views — materialized or standard — exposed as read-only ORM models you can pivot, filter, group, and export. ECOSIRE scopes, builds, installs, and supports it. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $999.00 USD; request a quote for a scoped proposal.

核心功能

View-definition model with `_auto = False` whose `init()` issues `CREATE OR REPLACE VIEW` for standard views
Materialized-view mode: `CREATE MATERIALIZED VIEW` plus scheduled `REFRESH MATERIALIZED VIEW`, with a unique index to enable `CONCURRENTLY`
Column-to-field mapping that exposes SQL columns as native Odoo fields (`Integer`, `Float`, `Char`, `Many2one`, `Date`, `Datetime`, `Selection`)
Automatic pivot, graph, list, and search views on each dataset with `group_by`/`measure` support and one-click XLSX export
SELECT-only statement validation (allowlist parser) that rejects any embedded DML/DDL before a definition can be saved
Per-view `ir.model.access.csv` generation plus optional `ir.rule` record rules for company/department/group scoping
Multi-company aware datasets that filter on `company_id` and respect the active company set
`ir.cron`-driven refresh for materialized views, plus manual refresh button and automated-action trigger
Read-only enforcement: `create`/`write`/`unlink` blocked on generated models so BI data can never be edited in place
Restricted authoring group — only designated analysts can define or alter view SQL; everyone else consumes
Datasets reachable over XML-RPC/JSON-RPC so external dashboards query through Odoo's authenticated API, not a raw DB link
Supporting-index creation on materialized views for large aggregations, with `EXPLAIN`-informed tuning during the build
Definition versioning/audit trail so SQL changes are logged and reversible
Menu, action, and access-group wiring so each new view appears in the correct app menu without manual XML editing

按需定制,全程代劳

无需自行搭建——由 ECOSIRE 构建、安装并提供支持的可用应用。

  1. 1

    您下单

    以一次性构建价格开始。我们在启动时与您共同确定范围。

  2. 2

    我们构建与安装

    ECOSIRE 在您的 Odoo 上构建、配置并安装。

  3. 3

    上线 + 支持

    约一个工作周内上线,并包含两周上线支持。我们交付的代码中的缺陷免费修复。

技术规格

Odoo 兼容性
Odoo 17, Odoo 18, Odoo 19
版本
企业版和社区版
许可证
许可证需要确认
Python 要求
Python 3.10+
数据库
PostgreSQL 12+

关于此产品

Analysts and finance teams on Odoo constantly hit the same wall: the reporting they actually need spans several models — sale orders joined to invoices joined to stock moves joined to analytic lines — but Odoo's native pivot, list, and graph views only report on one model at a time. The out-of-the-box workarounds are painful: build a fragile computed model, wire up dozens of related/compute fields, export to a spreadsheet and reconcile by hand, or push everything into an external BI tool and re-implement your access rules there. Meanwhile the SQL that answers the question already exists in someone's psql session — it just has nowhere to live inside Odoo where the business can safely use it.

The SQL BI View Editor closes that gap. We build a module that lets your team define a business intelligence dataset as a SQL statement and register it as a first-class, read-only Odoo model backed by a real PostgreSQL view. Under the hood each definition maps to a models.Model with _auto = False whose init() runs a CREATE OR REPLACE VIEW for standard (always-live) views, or a CREATE MATERIALIZED VIEW with a scheduled REFRESH for heavy aggregations that you would rather compute on a cron. The declared columns become proper Odoo fields — Integer, Float, Char, Many2one, Date, Datetime, Selection — so the dataset instantly gains pivot, graph, list, and search views, group_by/measure behaviour, and XLSX export, with no bespoke reporting UI to maintain.

Governance is built in, because a raw SQL surface inside an ERP is a liability if it is ungoverned. Every generated model ships with ir.model.access.csv entries and optional ir.rule record rules so a view can be scoped by company, department, or user group, and multi-company datasets respect company_id filtering. Definitions are edited by a restricted authoring group only; the resulting views are read-only to everyone else. We validate each statement against a SELECT-only allowlist so authors cannot smuggle DML into a definition, register the view against the correct database cursor, and (for materialized views) create the supporting indexes and a REFRESH MATERIALIZED VIEW CONCURRENTLY-safe unique index where the workload calls for it. Refreshes can be triggered by ir.cron, by an automated action, or on demand from a button. Because the datasets are ordinary models, they are reachable over XML-RPC/JSON-RPC and can feed a downstream BI/dashboard tool through Odoo's own authenticated API rather than a direct database connection.

Delivery is build-to-order: this is not an existing apps.odoo.com download. We start with a short scoping call to inventory the reports you need, the source models and joins involved, your Community-vs-Enterprise edition, target version (17.0, 18.0, or 19.0), and multi-company/localization requirements. We then build your version of the module, prove it on a staging database with your data volumes, run UAT with your analysts, and deploy with a rollback plan. Typical delivery is one working week from confirmed scope. Pricing starts from $999 (indicative, single-company base scope); the number and complexity of source views, multi-company/record-rule depth, materialized-refresh scheduling, and data-migration or historical-backfill volume increase the quoted scope. You receive a fixed quote after the scoping call.

你得到什么

  • Installable source code for your version of the SQL BI View Editor module (17.0 / 18.0 / 19.0 as scoped)
  • Installation and configuration on your environment, including view registration and cron/refresh setup
  • Technical documentation: model design, view-definition schema, access-rule map, and refresh scheduling
  • End-user guide plus a live training session for your analyst/authoring group
  • Post-go-live support window for defect fixes and configuration questions
  • UAT on a staging database with your data volumes, plus a documented rollback plan
  • Git repository handover with full commit history and tagged release
  • Seed set of your initial BI view definitions built and validated during the engagement

这是给谁的

Finance & Controlling Analyst

Needs cross-model reporting (orders-to-invoice-to-payment, margin by analytic account) that native single-model pivots can't express. Wants to author the SQL once and hand the team a governed, filterable dataset instead of a spreadsheet.

Odoo Functional / ERP Manager

Owns reporting standardization across departments and companies. Needs role-scoped access, multi-company `company_id` filtering, and a read-only surface so ad-hoc queries never mutate ERP data.

BI / Data Engineer

Already writes the SQL and maintains dashboards downstream. Wants those queries to live as Odoo models reachable over XML-RPC/JSON-RPC with materialized-view refresh on a schedule, rather than a fragile direct database connection.

Operations / Supply-Chain Lead

Needs joined views over stock moves, purchase, and manufacturing with heavy aggregations refreshed nightly, surfaced as pivot/graph views the team can slice without exporting.

SQL BI View Editor 如何比较

标准伊科西尔定制建造竞争对手Odoo 原生
Cross-model reporting (multi-table joins)Purpose-built: any SQL join exposed as one governed BI datasetAchievable but you design and maintain the SQL-to-model plumbing yourselfGeneric editor, often limited to simpler joins and light governancePivot/graph report on a single model only
Materialized vs standard viewsBoth, chosen per dataset with scheduled `REFRESH` and indexingPossible, but refresh/index logic is hand-rolled each timeUsually standard views only; materialized support variesNo user-facing SQL view layer
Access governancePer-view `ir.model.access.csv` + optional `ir.rule`, restricted authorsWhatever you remember to buildBasic group access; record-rule depth often shallowStandard model ACLs, but no ad-hoc view layer to govern
Multi-company`company_id`-aware filtering built into scoped datasetsAdd it yourself per viewInconsistent; frequently single-company assumptionsNative models are multi-company; ad-hoc joins are not
External BI / API accessDatasets queryable over XML-RPC/JSON-RPC through Odoo authBuild the endpoints or expose a raw DB linkVaries; may require direct DB accessAPI exists per model, but no combined-view dataset
Safety of raw SQLSELECT-only allowlist + read-only generated modelsDepends entirely on your validation disciplineValidation strength varies by vendorNo raw SQL surface, so no exposure
Fit to your data modelBuilt to your exact reports, versions, and editionFully bespoke but full cost and timeline on youGeneric; you adapt your needs to the toolFixed to core report views
Support & ownershipFixed quote, support window, full source + git handoverYou own everything including the maintenance burdenVendor-dependent; roadmap outside your controlCovered by your Odoo support, no custom layer

关于SQL BI View Editor的常见问题

Is this an app I can download and install today?

No. This is a build-to-order engagement, not an existing apps.odoo.com download. ECOSIRE scopes your reporting requirements, builds your version of the module, validates it on staging, and installs it. You receive installable source and a git repo at handover.

How long does delivery take?

Typical delivery is one working week from confirmed scope. The timeline depends on how many source views you need, the complexity of the joins, multi-company/record-rule depth, and whether historical data backfill is involved. We confirm a delivery date with the fixed quote after the scoping call.

How does pricing and scoping work?

Pricing starts from $999 (indicative, single-company base scope). The number and complexity of views, multi-company and record-rule requirements, materialized-refresh scheduling, and any data-migration volume increase the quoted scope. After a short scoping call we send a fixed, itemized quote — no firm price is committed before we understand your requirements.

What about support and updates after go-live?

Every engagement includes a post-go-live support window for defect fixes and configuration questions. Because you receive the full source and git repository, your team can maintain and extend the module. We also offer ongoing support and version-upgrade engagements (for example moving your build from 17.0 to 18.0 or 19.0) as a separate scope.

Standard SQL view or materialized view — which do I get?

Both are supported and we choose per dataset during scoping. Standard views (`CREATE OR REPLACE VIEW`) are always live and best for lightweight queries. Materialized views are used for heavy aggregations where you prefer to precompute on a schedule; we add the supporting indexes and an `ir.cron` refresh (with a unique index so `REFRESH … CONCURRENTLY` doesn't lock readers).

Does it work with Odoo Community, and which versions?

Yes. The module is built on standard ORM primitives (`_auto = False` models, `ir.model.access.csv`, `ir.rule`, `ir.cron`) that exist in both Community and Enterprise, and we build for Odoo 17.0, 18.0, or 19.0. Any Enterprise-only integration points (such as feeding Enterprise dashboards) are confirmed during scoping.

Is letting people run SQL inside Odoo safe?

Yes, because the surface is governed. View definitions are editable only by a restricted authoring group, each statement is validated against a SELECT-only allowlist so no DML/DDL can be saved, generated models are read-only (`create`/`write`/`unlink` blocked), and every view carries access rules and optional record rules for company/group scoping.

申请报价

SQL BI View Editor

A build-to-order Odoo module that turns your SQL into governed business intelligence views — materialized or standard — exposed as read-only ORM models you can pivot, filter, group, and export. ECOSIRE scopes, builds, installs, and supports it.

  • View-definition model with `_auto = False` whose `init()` issues `CREATE OR REPLACE VIEW` for standard views
  • Materialized-view mode: `CREATE MATERIALIZED VIEW` plus scheduled `REFRESH MATERIALIZED VIEW`, with a unique index to enable `CONCURRENTLY`
  • Column-to-field mapping that exposes SQL columns as native Odoo fields (`Integer`, `Float`, `Char`, `Many2one`, `Date`, `Datetime`, `Selection`)
  • Automatic pivot, graph, list, and search views on each dataset with `group_by`/`measure` support and one-click XLSX export

申请报价

告诉我们您对 SQL BI View Editor 的需求,我们将发送价格、许可选项和量身定制的方案,通常在一个工作日内。

现在无需付款。此操作会向我们的团队发送报价请求——我们会通过邮件跟进价格和后续步骤。