You can build most ERPNext reports and dashboards 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.
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 the best part of the platform switched off. I am Manoj, an ERPNext implementation consultant at Mith Tech in Bengaluru, and most of the "we need a custom report" requests I get are things the client could build themselves in ten minutes once they know which of the four tools to reach for.
The honest take: the reporting layer in ERPNext is genuinely 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.
| Layer | What it is | Best for |
|---|---|---|
| Report | A filtered table of records | Detail, drill-down, export |
| Number Card | One headline metric | "How many / how much right now" |
| Dashboard Chart | A trend or breakdown | Direction over time, splits by category |
| Dashboard | Cards + charts on one screen | Team 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.
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.
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.
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.
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.
Name reports for the decision, not the data
"Overdue customers over 30 days" tells a manager exactly when to open it. "Sales Invoice Report 3" tells them nothing. Good names are how reports actually get used instead of rebuilt.
Skimmable summary: switch any list to Report view, pick columns, filter, sort, and save — Report Builder covers most needs with zero 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.
Query Reports need permission discipline
Because a Query Report runs SQL you write, it can expose fields a user wouldn't normally see in a list. Restrict who can run each Query Report, and test it under a low-privilege login before rollout. There is also a Script Report variant that adds server-side Python for logic SQL alone can't handle — that one is genuinely developer territory.
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.
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.
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.
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.
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 becomes a living view that reflects real-time data every time someone opens it.
Create the Dashboard
Open the Dashboard list, click New, name it for its audience — "Sales Team Home," "Finance Daily" — and set the relevant module.
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.
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.
Start with one dashboard per role, not per person
A tight, role-based dashboard — one for sales, one for finance, one for the owner — beats a sprawling everything-view. You can always split later. If you also want plain-English questions over this data, see how AI fits in my post on ERPNext AI features.
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.
| Need | Built-in tools | Frappe Insights |
|---|---|---|
| Everyday filtered report | Report Builder — ideal | Overkill |
| Custom SQL / joins | Query Report | No-code query builder |
| Single metric tile | Number Card | Supported |
| Self-service, many analysts | Limited | Purpose-built |
| Drag-and-drop exploration | No | Yes |
| Licence model | Free, open source (GPLv3) | Free, open source |
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 free and open source, so the real cost is setup and hosting, not licences — pricing for any managed hosting varies by option, so check the vendor's official page. For where reporting sits in the wider platform, see the ERPNext product overview.
Skimmable summary: keep using Report Builder, Query Reports, cards, and charts for structured reporting; add the free, open-source Frappe Insights when you need genuine 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 a partner can build a template you then 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 free and open source, the same as ERPNext itself. 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 all read live ERPNext data, so opening a dashboard shows current figures without manual exports or refreshes. That is the main reason to move off spreadsheets — a saved export is stale the moment you download it, while a dashboard reflects the database as it stands.
About the author
I am Manoj, an ERPNext and Frappe implementation consultant at Mith Tech, an independent open-source ERP studio in Bengaluru. I help Indian SMBs set up ERPNext properly — including the reporting and dashboard layer — so teams stop living in spreadsheets and start reading their business off a live screen. I write from real implementation work, not vendor brochures.
Want dashboards your team actually opens?
I help Indian SMBs turn ERPNext data into role-based dashboards and clean reports — and decide honestly whether you need Frappe Insights or the built-in tools are plenty. To see the wider platform, start with the ERPNext product page.