Frappe Insights dashboards and BI on ERPNext data

Frappe Insights gives ERPNext teams a no-SQL query builder, filtered dashboards and charts on their own data. This page covers when it fits, how to set it up, and what drives the work.

On this page

Frappe Insights for ERPNext dashboards: when teams implement it

Finance, operations and leadership teams often need the same ERPNext numbers every week, and each new question tends to become another custom report or a request to someone who can write SQL. Frappe Insights is an open source business intelligence app from the Frappe team that builds queries through a no-SQL query builder and assembles them into drag-and-drop dashboards with filters. Teams usually implement it when recurring dashboards are the main gap, when the people asking the questions cannot or should not write queries, and when they want the dashboards to live next to the ERPNext data they describe.

The decision rests on a few questions to settle before any build starts. Confirm which databases your data will sit in, since Insights supports MySQL, PostgreSQL, DuckDB and BigQuery, and confirm whether ERPNext's own database is the source or whether data is copied elsewhere first. Decide who owns each dashboard, who may see which figures, and how those rules match the roles and permissions already set in ERPNext. Also check whether the figures you need can be expressed as joins and aggregations in the query builder, because that determines whether Insights will be enough or whether a custom report is still the better tool.

This page covers how Insights is built and what it connects to, how the query builder handles joins and charts, the points where it fits and where it does not, and the work involved in running it on your own infrastructure. The sections that follow give a fuller view of each step, so you can judge whether your reporting needs are a fit before asking for a quote.

What Frappe Insights does on ERPNext data

Frappe Insights is a BI app built on the same framework as ERPNext, so it can sit beside your ERPNext data without a separate SQL layer. The cards below separate what the documentation describes from what you should confirm against the current release before you commit to dashboards built on it.

No-SQL query builder

Insights documents a query builder that lets analysts assemble questions over connected tables without writing SQL. Analysts can still reach the data they need, but the queries they build are only as clean as the table relationships behind them. Before building, confirm which ERPNext DocTypes and child tables the builder exposes in your version, and test one sales or stock question end to end against your own data.

Drag-and-drop dashboards with filters

Dashboards in Insights are assembled from saved queries and charts, with filters that apply across the layout. This suits finance and operations reviews where the same question is asked by company, period or warehouse. Check how filters behave when a dashboard mixes queries from different sources, and who can edit a shared dashboard once it is published.

Charts built on eCharts

Visualizations are rendered with eCharts, which gives a wide set of chart types for trends, comparisons and breakdowns. Chart choice matters more than chart count: a stock ageing view and a margin trend need different axes and aggregations. Confirm which chart types your target users need and whether exports or embedded views meet your reporting obligations.

Frappe Framework and Frappe UI base

Insights is built on the Frappe Framework and Frappe UI, the same stack as ERPNext. This matters for operations: it shares the framework's release cadence, bench-based deployment and app management. Plan the Insights app into the same version pinning and upgrade testing you use for ERPNext, rather than treating it as a separate tool with its own lifecycle.

Ibis composes the SQL

Insights uses Ibis to compose SQL queries from the builder's steps. Teams that audit reporting logic should ask how generated SQL is inspected and logged, and whether a reviewer can see the exact statement behind a number that goes into a board pack. Confirm this in the current documentation before relying on it for controlled reporting.

Joins to confirm before scoping

Multi-table questions, such as sales invoices joined to payment entries and customers, depend on join support in the query builder. Describe the joins you need in a short requirements list, then check the current Insights docs for supported join types and key handling. Treat any join you cannot confirm as a build risk and test it on a copy of production data.

Which databases Frappe Insights connects to

Most ERPNext sites store their transactional data in MariaDB or MySQL, so this is the option many teams start with. Frappe Insights supports MySQL, and the ERPNext database is the source of truth for ledgers, stock, sales and purchasing records. Connecting directly avoids a copy process, but it means analysts query the production database, so the read-only account and query load need deliberate planning.

  • Dedicated read-only user: Create a separate database user with SELECT privileges only, limited to the ERPNext site schema, instead of reusing the Frappe administrator account.
  • Replica first: If your site runs on a replica or read-only instance, point Insights there so dashboard queries do not compete with posting transactions.
  • Table naming: ERPNext stores each DocType in a tabSales Invoice-style table, so expect joins across child tables such as item lines and payment entries.
  • Permissions in Insights: Database access does not apply ERPNext role permissions, so restrict who can open dashboards that expose sensitive fields such as salaries or customer bank details.
  • Heavy queries: Large aggregations across general ledger entries can slow the site, so schedule refreshes outside month-end close.

Confirm your database engine and version with your administrator before connecting, and check how your hosting provider handles replicas and user creation.",

Insights, Frappe built-in reports or Metabase: which fits

This table compares Frappe Insights with ERPNext's built-in report builder and script reports, and with a general BI tool such as Metabase or Apache Superset, across who builds, where data lives, access control and upkeep. Read each row against your own reporting owners and data sources, and use the final rows to decide which option fits a given report.

CriterionFrappe InsightsERPNext report builder or script reportGeneral BI tool (Metabase or Superset)
Who usually builds itFinance, operations or analysts who need queries and dashboards without writing SQLFunctional consultants or developers, with report builder for simple lists and Python for script reportsData or BI team, often with analysts working in saved questions or SQL editors
Where the data is read fromConnected databases such as MySQL, PostgreSQL, DuckDB or BigQuery, which you configure as data sourcesThe ERPNext site database, through the ERPNext document model and permissionsAny database the BI team connects, which may include ERPNext and other systems
Access controlGoverned by the Insights setup and the database accounts behind each source. Confirm how it maps to ERPNext role permissionsFollows ERPNext role and user permissions, so users see only what their roles allowGoverned by the BI tool's own user and group model. Confirm how it maps to ERPNext permissions
Best fit forCross-document dashboards and ad hoc analysis where business users need filters and charts quicklyOperational lists, printable outputs and reports that must match ERPNext logic exactlyEnterprise reporting across several systems, with a shared semantic layer owned by data teams
Ownership of logicQuery logic lives in Insights objects that someone must document and reviewLogic lives in the ERPNext codebase or customization, reviewed with other app changesLogic lives in saved questions or models, managed by the BI team
Ongoing maintenanceConfirm upgrade and compatibility steps for the Insights app alongside ERPNext upgradesChanges travel with ERPNext upgrades, so script reports need regression checks at each stepSeparate tool to patch, back up and upgrade alongside ERPNext
When it beats a custom reportA question changes often, spans several sources and business users need to explore it without a developerNot the preferred choice for changing questions, where a developer would need to rewrite the report each timeNot the preferred choice when only ERPNext data is needed and a second platform adds more upkeep than value
When it does notOfficial statements, audited figures or printed forms that must follow ERPNext logic exactlyExploratory analysis across many data sources or dashboards that finance changes weeklySmall teams with ERPNext data only, where the extra platform is hard to justify

How to roll out Insights dashboards on ERPNext

This sequence moves from database access to published dashboards that finance and operations owners trust. Each step closes with a named output, so the team can see what is finished before the next step starts.

  1. Confirm database and read access

    Agree with the ERPNext administrator which database Insights will read, where it is hosted, and which account it will use. The account should have read-only rights to the ERPNext tables needed for the first questions, and the team should confirm that the database type is one Insights supports (MySQL, PostgreSQL, DuckDB or BigQuery). Confirm that the read account cannot write to production tables, and record the host, database name and account owner in the rollout notes. Done means a test connection succeeds from the Insights server and the access record is signed off by the person who owns the ERPNext database.

  2. Connect the ERPNext data source

    In Insights, add the ERPNext database as a data source using the read-only account from the previous step. Browse the tables and confirm that the ERPNext DocTypes you expect are present, such as sales invoices, journal entries, stock ledger entries and purchase orders. Check that the sample rows match what users see in ERPNext for a few known documents. Done means every table the first dashboard needs is visible, and the team has noted any tables that are missing or hidden by ERPNext customizations.

  3. Define first questions with owners

    Meet with the finance and operations owners to choose three to five business questions for the first dashboard, such as open receivables by age or stock value by warehouse. For each question, write down the metric definition, the filters users need, the time basis (posting date or transaction date) and the ERPNext report it should match. Name one owner for each metric. Done means a written metric list exists with an owner, a definition and the ERPNext report used as the reference for every item.

  4. Build queries and joins

    Using the no-SQL query builder, build each question as a query from the approved definition. Join ERPNext tables through their keys, such as invoice headers to item rows or stock ledger entries to items and warehouses, and apply the status and cancellation rules that ERPNext reports use. Keep cancelled and draft documents out unless the definition says otherwise. Done means each metric has a saved query that runs without errors and whose join logic is written down for the owner to read.

  5. Add charts and filters

    Turn each saved query into a chart suited to the question, then add dashboard filters for the dimensions users asked for, such as company, date range, cost center or warehouse. Check that filters apply to every chart on the dashboard and that defaults show the period the owners expect. Test the layout with a user who has the access rights planned for real use. Done means the dashboard loads with the agreed filters, and the test user sees the same charts and data scope the rollout plan specifies.

  6. Reconcile numbers against ERPNext reports

    For each metric, run the matching ERPNext report with the same company, period and filters, and compare totals line by line for at least one period. Investigate any difference, which often comes from posting date versus transaction date, multi-currency rounding, or cancelled documents. Record each reconciled figure and the reason for any accepted gap. Done means every dashboard number either matches the ERPNext report or has a documented explanation signed off by the metric owner.

  7. Publish and hand over metrics

    Publish the dashboard to the users who need it, and confirm that access matches the ERPNext role model so that no one sees data they could not see in ERPNext. Hand over a list of owned metrics that names each owner, the definition, the saved query, the reconciling ERPNext report and the review date agreed with the owner. Agree who changes queries when ERPNext schema or customizations change. Done means users have access, the metric register is with the owners, and the team has a named contact for future changes.

What drives the effort of an Insights rollout

This table lists the factors that expand or shrink an Insights rollout on ERPNext data, with the reason each one matters and how to keep it under control. Read it before scoping, because most overruns come from unagreed metric definitions and a first release that tries to cover every report at once.

DriverWhy it changes effortHow to keep it down
Number of metricsEach metric needs a definition, a source query, a test against known totals and a sign-off from the owner of the number.Agree a short list of metrics that leadership will act on, and park the rest for a later release.
ERPNext doctypes to joinRevenue, stock and margin questions often span Sales Invoice, Payment Entry, GL Entry, Stock Ledger Entry and Item tables, and each join adds validation work.Start from the reporting tables ERPNext already maintains, such as GL Entry for ledger figures, and confirm which joins the finance team expects.
Multi-company logicConsolidated views need intercompany eliminations, company filters on every chart and a clear rule for which company owns each record.Decide in the first workshop whether dashboards are per company, consolidated, or both, and build one pattern before copying it.
Multi-currency logicAmounts recorded in transaction currency and company currency can disagree, and exchange gains and losses must be shown consistently.Choose one reporting currency and one conversion rule, then document which field each chart reads.
Data quality in source recordsMissing customer groups, unposted documents, duplicate items or inconsistent units produce numbers that look wrong and trigger rework.Run a data check on the source tables before building, and agree which errors are fixed in ERPNext and which are excluded in the query.
Access rules for financial dataSalary, margin, bank and supplier balance data may need row or dashboard restrictions that mirror ERPNext roles, and each restriction must be tested with real user accounts.Confirm the sensitive datasets early, then publish those dashboards to a limited group rather than building one dashboard with hidden tabs.
Number of dashboards with filtersEach filter multiplies the combinations users can select, and every combination needs to be checked for correct totals and empty states.Limit filters to the dimensions people actually slice by, such as period, company and warehouse, and reuse them across dashboards.
Scope of the first releaseA first release that covers every department turns metric debates into a long queue and delays the first dashboard people use.Release one or two dashboards for a single function, collect use feedback, then add the next set on the same metric definitions.

Questions teams ask before building Insights dashboards

What does a Frappe Insights rollout cost, and what drives the cost?

The cost depends on how many dashboards and data questions are in scope, how clean the ERPNext data is, and who builds and maintains the queries. Frappe Insights is open source, so the software itself carries no license fee. You pay for the hosting you run it on, the people who design metrics and build dashboards, and any work to connect and secure the databases it reads. Ask for a quote that separates one-time work (metric definitions, query build, access setup, training) from recurring work (dashboard upkeep, upgrades, user support). Ask the provider to list the number of dashboards, the data sources and the sign-off steps included. DeployOpen does not publish prices, so a quote follows from the written scope.

How long does an Insights dashboard project take?

Duration is set by the number of metrics that need agreed definitions, the state of the source data, and how many review cycles stakeholders need. A small set of sales or stock views built on clean ERPNext tables is faster than a finance pack that must reconcile against ledger entries. Before work starts, confirm which metrics are already defined in writing, who approves each one, and whether a test copy of the database is available. Those three items usually decide the timeline more than the tool does. Your engagement should state the schedule in the written scope.

What must our internal team provide for an Insights project?

Three things matter most: a named metric owner for each dashboard, read access to the database that holds the ERPNext data, and a sign-off person who checks results against the source system. Metric owners define what counts as revenue, open orders or stock on hand. Database access should be read-only and scoped to the tables needed. Sign-off protects the business from charts that look right but use the wrong filter. Also agree who handles access requests and who receives dashboards after go-live, so the work does not stall waiting for a single person.

Can our analysts build Insights dashboards without help?

Yes, for straightforward questions. Insights provides a query builder that does not require SQL, along with drag-and-drop dashboards and filters, so analysts who know the business data can build many standard views themselves. Help is more useful for joins across several ERPNext tables, for metrics that must match finance totals, and for access control on the underlying database. A practical split is to have a specialist set up data sources, permissions and the core metric definitions, then let analysts extend dashboards inside those boundaries. Confirm the exact query and dashboard features against the Frappe Insights introduction before you plan the split.

How does Frappe Insights compare with custom ERPNext reports?

Insights suits exploratory analysis and dashboards that draw from several sources, while custom ERPNext reports suit operational documents that users need to open, print or act on inside the ERP. Insights reads from supported databases such as MySQL, PostgreSQL, DuckDB and BigQuery, so it can combine ERPNext data with other data. Custom reports stay within ERPNext permissions and are often the better choice for a report that must respect document-level rules. Many teams use both: reports for transactional work, Insights for management views. Check the Frappe Insights introduction for the current list of supported databases before you decide.

Which database access and permissions should Insights use?

Insights should connect with a database account that has read-only access to the tables it needs, not the account ERPNext uses to write data. This limits what a dashboard or a misconfigured query can change. Because ERPNext permissions apply inside the application, not in the database, confirm which user roles can see which figures in Insights and restrict the data source accordingly. Ask your engineers to review network access between Insights and the database, and to record who can publish dashboards. Your security team should approve this design before the first production dashboard goes live.

What operating work follows go-live?

After go-live, someone must keep metric definitions current, check that dashboards still match ERPNext after upgrades, manage new users and retire unused views. ERPNext releases frequent minor updates, so schedule a regression check of key dashboards after each platform upgrade. Assign an owner for the Insights instance itself, including backups of its configuration and updates to the application. Ask the implementation provider whether ongoing support, upgrades and testing are covered by a retainer or billed separately.

Keeping Insights dashboards accurate after go-live

The main risk after go-live is not a broken chart but a number that quietly changes meaning. Assign a named owner to every metric definition, such as how revenue, open receivables or headcount is filtered and joined, and record that definition next to the dashboard. Insights makes it easy for anyone with access to build a new chart from ERPNext tables, so without an owner two dashboards can report different totals for the same question. Set a review rhythm with finance or HR, and require that a change to a shared metric is approved by the owner before it is saved.

ERPNext upgrades are the most likely cause of silent breakage. Queries built in Insights reference DocType tables and fields directly, so a schema change, a renamed field or a module split can alter results or return errors. Before each ERPNext upgrade, list the dashboards and queries that depend on changed DocTypes, rerun them against a copy of production, and compare totals with the last closed period. Confirm the supported Insights version for your ERPNext release in your own environment, since the compatibility matrix is not covered by the facts supplied for this page. Also confirm what happens to Insights data sources and saved queries when the database backend changes.

Dashboards that show salaries, ledger balances or disciplinary data need the same access review as the source reports. Insights runs queries against the database under its own configured connection, so confirm which database user it uses and whether that user can read tables that ERPNext role permissions would hide from a given employee. Review who can create data sources, edit queries and share dashboards at least once a quarter. Before depending on the open-source project, check the frappe/insights repository for its license, recent release activity, open security issues and the support policy for the versions you run.

How DeployOpen scopes and delivers ERPNext BI work

DeployOpen plans, implements, hardens, documents and supports self-hosted open-source platforms inside your own infrastructure, and Frappe Insights dashboards on ERPNext data follow the same pattern. We agree the data sources, metrics, access model and hosting in writing before build starts, then hand over the dashboards, queries and runbooks your team needs to maintain them.

How we scope

  • Inventory the ERPNext reports, dashboards and spreadsheets your leaders use today and rank them by business value.
  • Confirm which database backs the ERPNext site and whether Insights connects to it directly or to a replica.
  • Agree the written scope, deliverables and timeline with you before any dashboard work starts, as all engagements are fixed-scope.

How we build

  • Build Insights queries with the no-SQL query builder, documenting joins, filters and calculated fields for each metric.
  • Design dashboards with agreed filters, chart types and definitions so finance and operations read the same figures.
  • Test each dashboard against source ERPNext reports and sample records, and review access so users see only permitted data.

How we hand over

  • Document each query, its source tables, refresh expectations and the owner responsible for every metric definition.
  • Walk your team through creating new charts and filters so routine changes stay in-house after handover.
  • Provide the written record of connections, roles and hosting choices so your security and IT teams can review them.

How we support

  • Offer ongoing support, upgrades and testing as a retainer, covering Insights releases and ERPNext version changes.
  • Re-check dashboards after ERPNext upgrades, since field names and report logic can change between versions.
  • Ask for a quote built from the written scope, which states one-time build effort separately from recurring support.

Talk to our team.

Tell us what you're working on, whether it's a deployment, an audit, a security test or a cyber range. You'll speak with an engineer who can help you scope it.

  • 30-minute call: free, with no obligation.
  • NDA on request: we can sign before you share details.
  • Clear next steps: a scope and plan after the call.