Types of Reports in ERPNext
ERPNext provides three main types of reports depending on the level of customization, complexity, and data processing required.
1. Report Builder
Report Builder is an in-built tool that allows users to create and customize reports without coding.
It enables selection of specific fields from a DocType and lets users define filters, sorting, and column structure.
Report Builder is used for simple, no-code report customization directly from the user interface.
This makes it suitable for users who want quick reporting without technical knowledge.
2. Query Report
Query Reports are created using SQL queries that fetch data directly from the ERPNext database.
These reports are more powerful than Report Builder reports and allow complex data extraction using database queries.
However, in hosted environments, SQL-based report creation from the frontend is restricted for security reasons.
Query Reports directly access the database using SQL, making them suitable for structured and filter-based data retrieval.
An example of a Query Report is the Purchase Order Item to Be Received report in the Stock module.
3. Script Report
Script Reports are written in Python and executed on the server side.These are used when reports require complex logic, calculations, or multi-step data processing that cannot be handled by SQL or Report Builder.
Script Reports are server-side Python-based reports used for complex business logic and advanced computations.
An example is the Financial Analytics report in the Accounts module.
Note on Dynamic Filters
Dynamic Filters are supported in Query Reports and Script Reports, but not in Report Builder.
Report Builder does not support Dynamic Filters, while Query and Script Reports do.