Skip to main content
Metabase Embedded Analytics — A build-to-order Frappe app that embeds signed Metabase dashboards directly inside ERPNext Desk — 1/1Illustrative preview

A build-to-order Frappe app that embeds signed Metabase dashboards directly inside ERPNext Desk,

with per-user row filtering, SSO pass-through, and one-click provisioning of governed read-only database access.

ECOSIRE scopes, builds, installs, and supports it for your ERPNext v15/v16 site.

What is Metabase Embedded Analytics?

A build-to-order Frappe app that embeds signed Metabase dashboards directly inside ERPNext Desk, with per-user row filtering, SSO pass-through, and one-click provisioning of governed read-only database access. ECOSIRE scopes, builds, installs, and supports it for your ERPNext v15/v16 site. Built to order by ECOSIRE for ERPNext v15, v16 — indicative price from $999.00 USD; request a quote for a scoped proposal.

Key Features

Frappe app with its own module and `hooks.py` that renders Metabase dashboards inside ERPNext Desk workspaces via signed embedding, not a public iFrame
Whitelisted server method mints short-lived JWT-signed Metabase embed URLs per request, so tokens expire and cannot be replayed
Locked, signed embed parameters derived from the logged-in ERPNext user (`company`, warehouse, cost center, territory) — users cannot widen their view by editing the URL
`Metabase Dashboard` catalog DocType maps each Metabase dashboard ID to an ERPNext workspace, allowed Role Profiles, and a parameter-to-permission mapping
In-Desk dashboard catalog page so users browse and open only the dashboards their role permits
One-click provisioning of a least-privilege, read-only database user scoped to reporting views — no sharing of the site's app credentials with Metabase
SSO pass-through: a user already authenticated in ERPNext opens the embedded dashboard with no second login
Per-user row filtering enforced server-side from ERPNext permissions and Role Profiles, keeping BI scoping consistent with the rest of the site
Optional `hooks.py` doc events and `scheduler_events` to refresh Metabase caches or sync users into Metabase groups when ERPNext roles change
Frappe REST API and whitelisted methods for the embed-URL mint and provisioning actions, usable by client scripts or external tools
Client scripts add 'Open in Metabase' actions on relevant DocType forms (e.g., Customer, Item, Warehouse) that deep-link to a filtered dashboard
Encrypted storage of the Metabase secret key and connection settings in a single-DocType settings page, never hardcoded
Audit log DocType recording who opened which dashboard and with which locked parameters
Targets Frappe/ERPNext v15 and v16, with graceful handling when the Metabase instance is unreachable

Built to order, done for you

No DIY setup — a working app, built, installed and supported by ECOSIRE.

  1. 1

    You order

    Start with a one-time build price. We scope it with you at kickoff.

  2. 2

    We build & install

    ECOSIRE builds, configures and installs it on your ERPNext.

  3. 3

    Go live + support

    You go live in about one working week, with two weeks of go-live support. Defects in the code we deliver are fixed free of charge.

Technical Specifications

ERPNext Compatibility
—
License
Licence confirmation required
Python Requirement
Python 3.10+
Database
MariaDB 10.6+

About this Product

Most ERPNext teams that adopt Metabase end up running two parallel worlds. Finance and ops live in ERPNext Desk all day, but every time someone needs a real dashboard — cohort trends, contribution margin, inventory ageing across warehouses — they alt-tab to a separate Metabase tab, log in again, and hope the filters they see match their ERPNext permissions. ERPNext's native Number Cards, Dashboard Charts, and Report Builder are fine for single-DocType counts and simple aggregates, but they run out of road on multi-join SQL, materialized models, drill-through, and the polished visual layer that Metabase gives you for free. The result is dashboard sprawl, duplicated access management, and BI that nobody trusts because the row-level scoping is done by hand.

This build-to-order app closes that gap by making Metabase a first-class citizen of ERPNext Desk. We build a proper Frappe app (its own module, DocTypes, and hooks.py) that renders your Metabase dashboards inside Desk workspaces via Metabase signed embedding — not a naked public iFrame. A whitelisted server method mints a short-lived, JWT-signed embed URL per request, injecting locked parameters derived from the logged-in ERPNext user: their company, allowed warehouses, cost centers, territory, or any dimension you nominate. Because the parameters are signed server-side and locked, a user physically cannot widen their own view by editing the URL. A Metabase Dashboard DocType acts as the catalog — each row maps a Metabase dashboard ID to an ERPNext workspace, a set of allowed Role Profiles, and the parameter-to-permission mapping — so adding or retiring a dashboard is a data change, not a redeploy.

Technically, the app leans on the parts of Frappe that are built for exactly this. Access is gated through standard ERPNext permissions and Role Profiles, so the dashboard catalog respects the same roles as the rest of your site. A one-click "provision read-only access" action calls a whitelisted method that creates and grants a least-privilege, read-only Postgres/MariaDB user scoped to the reporting views Metabase should see — no more hand-editing pg_hba or sharing the site's app credentials with the BI tool. SSO pass-through means a user already authenticated in ERPNext lands in the embedded dashboard without a second login prompt. Optional hooks.py doc events and scheduler_events can trigger Metabase cache refreshes or sync new users into a Metabase group when their ERPNext role changes. Everything is exposed cleanly through the Frappe REST API and whitelisted methods, and the whole app targets Frappe/ERPNext v15 and v16.

Because this is build-to-order, nothing ships until we agree on scope. It starts with a short scoping call where we map which dashboards go where, which ERPNext dimensions drive the signed filters, and how read-only access should be provisioned against your database and Metabase instance. From confirmed scope, typical delivery is one working week: we build on a staging copy of your site, run UAT with your team against real dashboards and real permissions, and only then install on production behind a rollback plan. You receive the full source, a git repo handover, install and configuration docs, a user guide, a training session, and a post-go-live support window — so your team owns and can extend the app, not just rent it.

What you get

  • Installable source code for your version of the app, pinned to your Frappe/ERPNext v15 or v16 site
  • Installation and configuration: app install on your bench, Metabase connection and signing-key setup, and dashboard catalog seeding
  • Technical documentation covering the DocTypes, whitelisted methods, `hooks.py` events, and the read-only provisioning flow
  • User guide plus a live training session for admins and dashboard consumers
  • Post-go-live support window for defect fixes and configuration questions
  • UAT on a staging copy of your site with a documented rollback plan before production install
  • Git repository handover with full commit history so your team can maintain and extend the app
  • Signed-embedding and least-privilege database-access hardening notes so your security team can review the access model

Who this is for

ERPNext admin already running Metabase

Manages the ERPNext site and a separate Metabase instance and is tired of maintaining two access models. Wants dashboards inside Desk with permissions driven by ERPNext roles, and read-only DB access provisioned without handing Metabase the site's app credentials.

Finance or operations lead who lives in Desk

Needs contribution margin, cash-flow, and inventory-ageing dashboards richer than native Number Cards, but refuses to make the team learn a second tool or log in twice. Wants the polished Metabase visuals to appear where they already work.

Data or BI analyst building the models

Owns the Metabase questions and models and needs a reliable, least-privilege read-only connection plus signed per-user filters, so the dashboards they publish are automatically scoped to each ERPNext user's company and warehouses.

IT security reviewer

Must sign off on how BI reaches production data. Wants signed embedding instead of public links, short-lived tokens, a scoped read-only DB user, and an audit trail of dashboard access tied to ERPNext identities.

How Metabase Embedded Analytics Compares

CriterionECOSIRECustom BuildCompetitorERPNext Native
Dashboards inside ERPNext DeskSigned Metabase dashboards embedded in Desk workspacesPossible but you design the embed and catalog yourselfUsually a standalone report page, not true Desk embeddingOnly native Number Cards and Dashboard Charts
Per-user row filteringLocked signed parameters from ERPNext user permissionsHand-built and easy to get wrongOften global filters, not per-user lockedLimited to native permission-scoped charts
Embed securityShort-lived JWT-signed embeds, no public linksDepends entirely on your implementationFrequently relies on public or static iFrame URLsNot applicable — no external BI embedding
Read-only DB provisioningOne-click least-privilege scoped read-only userManual DBA work each timeTypically out of scope — you wire it yourselfNone
SSO pass-throughNo second login from an authenticated Desk sessionYou build the SSO bridge yourselfOften a separate Metabase loginNot applicable
Version supportBuilt and UAT-tested on your v15/v16 siteYou own all version testingMay lag ERPNext releasesShips with ERPNext core
Ownership and extensibilityFull source and git repo handoverYou own it but carry the full build costClosed source, vendor-lockedCore code, not app-specific
Delivery and supportone working week, UAT + rollback + support windowTimeline and support depend on internal capacityInstant install, generic forum supportImmediate but no BI capability to support

Frequently Asked Questions about Metabase Embedded Analytics

Is this an existing app I can download and install today?

No. It is build-to-order. ECOSIRE scopes, builds, installs, and supports a version tailored to your ERPNext site, your Metabase instance, and your specific dashboards and permission model. There is no instant download.

How long does delivery take?

Typical delivery is one working week from confirmed scope. The initial scoping call sets exactly which dashboards, which ERPNext dimensions drive the signed filters, and how read-only access is provisioned; the timeline then depends on the number of dashboards and the complexity of the permission mapping.

How do you keep users from seeing data outside their permissions?

The app uses Metabase signed embedding. A whitelisted server method mints a short-lived JWT-signed embed URL and injects locked parameters — company, warehouse, cost center, territory — derived from the logged-in ERPNext user. Because the parameters are signed and locked server-side, a user cannot edit the URL to widen their view. Access to each dashboard is additionally gated by ERPNext Role Profiles.

Does Metabase get direct access to my ERPNext database?

Only through a least-privilege, read-only database user that the app provisions in one click, scoped to the reporting views Metabase needs. Your site's application credentials are never shared with Metabase, and the access model is documented for your security team to review.

Which versions of Frappe and ERPNext are supported?

The app targets Frappe/ERPNext v15 and v16. We build against your exact site version on a staging copy and confirm compatibility during UAT before touching production.

What happens after go-live for support and updates?

You receive a post-go-live support window for defect fixes and configuration questions, plus a full git repo handover with source and history so your team can maintain and extend the app. Ongoing enhancements or a longer support retainer can be arranged separately.

Do users have to log in to Metabase separately?

No. SSO pass-through means a user already authenticated in ERPNext opens the embedded dashboard inside Desk without a second login prompt.

Request a quote

Metabase Embedded Analytics

A build-to-order Frappe app that embeds signed Metabase dashboards directly inside ERPNext Desk, with per-user row filtering, SSO pass-through, and one-click provisioning of governed read-only database access. ECOSIRE scopes, builds, installs, and supports it for your ERPNext v15/v16 site.

  • Frappe app with its own module and `hooks.py` that renders Metabase dashboards inside ERPNext Desk workspaces via signed embedding, not a public iFrame
  • Whitelisted server method mints short-lived JWT-signed Metabase embed URLs per request, so tokens expire and cannot be replayed
  • Locked, signed embed parameters derived from the logged-in ERPNext user (`company`, warehouse, cost center, territory) — users cannot widen their view by editing the URL
  • `Metabase Dashboard` catalog DocType maps each Metabase dashboard ID to an ERPNext workspace, allowed Role Profiles, and a parameter-to-permission mapping

Request a Quotation

Tell us about your Metabase Embedded Analytics requirements and we'll send pricing, licensing options and a tailored proposal — usually within one business day.

No payment now. This sends a quote request to our team — we'll follow up by email with pricing and next steps.