Skip to main content

ERPNext how-to & fixes

ERPNext Dashboards & Reports: Build Your Own (2026)

Build ERPNext dashboards and reports yourself: Report Builder, Query Reports, Number Cards and Dashboard Charts, and when to add Frappe Insights.

Updated 29 Oct 202610 min readBy ManojFirst published 20 Jul 2026

You can build an ERPNext dashboard and most reports yourself, without code, in an afternoon. Report Builder handles the everyday questions, Query Reports handle the complex joins, and Number Cards plus Dashboard Charts turn those numbers into a live homepage view. Frappe Insights is the step you add only when self-service analytics outgrows the built-in tools. Reporting is the last stage of our complete guide to setting up ERPNext.

Short answer

ERPNext ships four native reporting tools you can use without a developer: Report Builder for no-code column-and-filter reports, Query Reports for custom SQL, Number Cards for single-metric tiles, and Dashboard Charts for trends. You assemble cards and charts into a Dashboard. Add the separate open-source Frappe Insights app only when you need full self-service BI across joined datasets.

If you run ERPNext and still export everything to a spreadsheet, you are leaving a useful part of the platform switched off. I am Manoj, an ERPNext implementation lead at MithTech, a team of Frappe specialists in Bengaluru. Most of the "we need a custom report" requests I get on client programmes are things the team could build themselves once they know which of the four tools to reach for.

The reporting layer in ERPNext is good, but it is discoverable rather than obvious. Nobody hands you a map, so people assume it isn't there.

What is the difference between an ERPNext report and a dashboard?

A report answers one question as a table of rows — "unpaid invoices this quarter," "stock below reorder level." A dashboard answers many questions at a glance by combining several visual widgets on one screen. Reports are the raw data layer; dashboards are the summary layer built on top of them. You almost always build reports first, then surface the important numbers as dashboard widgets.

In ERPNext the two are wired together deliberately. A Number Card can pull its figure straight from a saved report, and a Dashboard Chart can be driven by a report's output. So the effort you spend defining a good report is reused when you build the dashboard — nothing is thrown away.

LayerWhat it isBest for
ReportA filtered table of recordsDetail, drill-down, export
Number CardOne headline metric"How many / how much right now"
Dashboard ChartA trend or breakdownDirection over time, splits by category
DashboardCards + charts on one screenTeam or executive at-a-glance view

Skimmable summary: reports answer one question as a table; dashboards combine cards and charts to answer many at a glance, and ERPNext lets a card or chart feed directly from a saved report.

How do I build a report with Report Builder?

Report Builder is the no-code tool built into every ERPNext list view, and it should be your first stop for the majority of reporting needs. Open any DocType list — Sales Invoice, Item, Stock Ledger Entry — switch the view to Report, then choose the columns you want, apply filters, set sorting, and save. No SQL, no developer, no waiting on a queue.

1

Open the list and switch to Report view

Go to the DocType you care about — say Sales Invoice — and change the view selector from List to Report. You now see records as a spreadsheet-style grid.

2

Pick your columns

Use the column menu to add or remove fields. Start from the business question: if the report answers "which customers are overdue," you need customer, due date, outstanding amount, and status — nothing else.

3

Filter and sort

Add filters (status = Unpaid, due date before today) and sort by the column that matters. Filters are the difference between a useful report and a wall of rows.

4

Save it as a named report

Save the configuration with a clear name. It now lives in the Report list, is reusable by permitted colleagues, and can feed a Number Card or Dashboard Chart later.

Skimmable summary: switch any list to Report view, pick columns, filter, sort, and save — Report Builder covers most needs with no code and produces a named report you can reuse.

When should I use a Query Report instead?

Query Reports are the right choice when a question spans several DocTypes, needs calculations Report Builder can't express, or requires a specific join. Written in SQL, a Query Report pulls exactly the values you specify from the database and returns them as a report — no visual builder, full control. Reach for it when Report Builder's single-DocType, column-and-filter model runs out of room.

Typical cases where I move a client from Report Builder to a Query Report: combining sales orders with delivery status to show fulfilment gaps, computing margins from linked cost fields, or a distributor rolling up sales across territories. If you are tracking downstream sell-through, my guide on ERPNext distributor secondary-sales tracking walks through the kind of multi-table reporting a Query Report handles well.

Skimmable summary: use a Query Report when a question needs SQL joins, calculations, or multiple DocTypes; keep permissions tight because it can surface data a normal list view would not.

How do I create Number Cards and Dashboard Charts?

Number Cards and Dashboard Charts are the two visual building blocks of every ERPNext dashboard. A Number Card displays a single metric — count of open leads, total outstanding — for a quick high-level read. A Dashboard Chart plots a trend or breakdown, such as monthly sales or invoices by status. Both are created from their own DocType lists and can draw from a document type or a saved report.

1

Create a Number Card

From the Number Card list, click New. Point it at a DocType (or a report), choose the function — Count, Sum, Average — pick the field to aggregate, and add a filter so the number means what you intend. Save.

2

Create a Dashboard Chart

From the Dashboard Chart list, click New. Choose the source, the chart type (line, bar, pie, percentage), and the time series settings — group by month or week for trends. Preview updates as you configure.

3

Sanity-check the number

Cross-check each new card and chart against a report you trust. A metric that is subtly wrong on a dashboard is worse than no metric, because people stop questioning it.

4
Native reporting tools, no add-on needed
0
Lines of code for a Report Builder report
1
Dashboard that can replace many exports

Skimmable summary: build a Number Card for a single metric and a Dashboard Chart for trends — each pulls from a DocType or saved report, and every one should be validated against a report you trust.

How do I assemble everything into a dashboard?

A Dashboard in ERPNext is a saved layout that groups your Number Cards and Dashboard Charts onto one screen for a team or role. From the Dashboard list you create a new Dashboard, give it a name and module, then attach the cards and charts you already built. Once saved, it shows current data every time someone opens it.

1

Create the Dashboard

Open the Dashboard list, click New, name it for its audience — "Sales Team Home," "Finance Daily" — and set the relevant module.

2

Add your cards and charts

Attach the Number Cards and Dashboard Charts you created earlier. Order them so the most important number sits top-left, where the eye lands first.

3

Set it as a workspace or homepage

Surface the dashboard in the relevant workspace so the right people see it on login. A dashboard nobody opens is just a hidden report.

Skimmable summary: a Dashboard is a named arrangement of your existing cards and charts — build one per role, put the key number top-left, and surface it in the workspace so people actually see it.

When should I add Frappe Insights?

Frappe Insights is a separate, open-source Business Intelligence app for ERPNext, and you add it when the built-in tools stop keeping up with demand for self-service analytics. Built for non-technical and technical users alike, Insights offers a no-code query builder that selects tables, joins, filters, and calculations without SQL, then turns them into interactive dashboards that reflect live ERPNext data. It closes the gap where everyone waits for one person to "pull a report."

The native tools and Insights are not rivals — they overlap and you can run both. The question is where each earns its place.

Everyday filtered reportReport Builder — idealOverkill
Custom SQL / joinsQuery ReportNo-code query builder
Single metric tileNumber CardSupported
Self-service, many analystsLimitedPurpose-built
Drag-and-drop explorationNoYes
Licence modelOpen source (GPLv3), no licence feeOpen source, no licence fee

My rule of thumb: stay on the built-in tools while a handful of people build reports and dashboards for everyone else. The moment a dozen people all want to slice data themselves and the queue backs up, Insights pays for itself in unblocked time. Both are open source, so the real cost is setup and hosting, not licences; managed hosting pricing varies, so check the vendor's own page. For where reporting sits in the wider platform, see ERPNext and Frappe.

Skimmable summary: keep using Report Builder, Query Reports, cards, and charts for structured reporting; add the open-source Frappe Insights when you need self-service analytics for many people at once.

Frequently asked questions

+

Do I need a developer to build ERPNext reports?

No — not for most of them. Report Builder is fully no-code: switch any list to Report view, pick columns, filter, and save. Number Cards and Dashboard Charts are configured through forms, not code. You only need a developer for Query Reports with complex SQL or Script Reports with server-side Python, and even then an implementer can build a template you reuse yourself.

+

What is the difference between Report Builder and a Query Report?

Report Builder is a visual, no-code tool that works on one DocType — you choose columns and filters and it generates the report. A Query Report is SQL you write, which can join multiple DocTypes, compute values, and shape output precisely. Start with Report Builder; move to a Query Report only when a single-DocType, column-and-filter report cannot express the question.

+

Can a Number Card pull from a saved report?

Yes. A Number Card can aggregate a field directly from a DocType, or it can draw its figure from a saved report. That reuse is the point of ERPNext's reporting design — you define a good report once, then surface its key number as a card on a dashboard without rebuilding the logic.

+

Is Frappe Insights free?

Frappe Insights is open source, like ERPNext itself, and you can self-host it, so there is no licence fee. The only costs are setup and wherever you choose to run it. If you look at managed hosting options, pricing varies by edition — check the vendor's official page rather than assuming a figure.

+

How many dashboards should we build?

Start with one per role — sales, finance, operations, owner — rather than one giant shared view or one per person. Role-based dashboards stay focused, load fast, and are easy to maintain. You can always split a dashboard once a team's needs diverge, but a sprawling everything-view usually ends up ignored.

+

Will my ERPNext dashboards update in real time?

Yes. Number Cards, Dashboard Charts and Frappe Insights dashboards read ERPNext data directly rather than an export, so figures are current when they load or refresh. That is the main reason to move off spreadsheets: a saved export is stale the moment you download it.

Your next step

Want dashboards your team actually opens?

Next step · ERPNext how-to & fixes

Now see what an audit finds in yours

When the same problems keep coming back, tick what you see and get an audit of the ERPNext you have, then fixes in order of what costs you most.

Comments & ratings

No comments yet. Start a new discussion.

0

Manoj · Published on 20 July 2026

Worked with us? Leave a Google review

Questions about this? Talk to the team.

Book a 30-minute Google Meet, WhatsApp us, or send a message. The engineer who works on this replies.

Send us a message
Your details go to our team's CRM and are used only to reply.