Business Intelligence & Analytics

ReportGen

Reports From Any Database, Built From Its Own Catalogue

Self-hosted reporting and dashboards for any relational database. Point it at PostgreSQL, MySQL, SQL Server, Oracle, Snowflake, Redshift, DuckDB, SQLite or a REST API — its tables become the report list, its columns the picker. Build, chart, export, schedule, share, embed and call reports by API, read-only by construction.

ReportGen builds reports from any relational database using the database's own catalogue. Connect it and the tables become the report list, the columns become the picker, and each column's type decides which filters are offered. Joins are suggested from foreign keys, and the builder covers a filter tree, period controls, aggregates, window columns, two-stage aggregation, subtotals and pivot tables — with Show SQL and EXPLAIN for anyone who wants to see what runs. It ships with no bundled templates: every report in it is built by someone who works there, against their own data.

It works across eight SQL engines — PostgreSQL, Redshift, MySQL/MariaDB, SQL Server, Oracle, Snowflake, DuckDB and SQLite — plus HTTP/REST APIs returning JSON, NDJSON or CSV, which are paged, flattened into columns and queried like any other table. A question box turns plain words such as "total revenue by region last quarter" into an editable builder report, read from the catalogue and an administrator's synonyms, with no AI model or outside service involved. For the questions the builder cannot express, SQL Lab offers a schema-aware editor, saved and shared queries, history and charts on the result.

Results become tables, pivots, and fifteen chart types from bar and line to funnel, treemap, gauge and KPI tiles. Dashboards add shared filters and time ranges, cross-filtering by click, drill-down to the rows behind a figure, live refresh down to five seconds, TV mode, share links and version history. A semantic layer defines metrics and calculated columns once, so every report agrees on what "revenue" means. Exports to CSV, XLSX and PDF are streamed and identical to what is on screen.

Safety is built into the compiler rather than bolted on: connections are read-only by construction, values are always bound parameters, identifiers come only from the catalogue allow-list, credentials are encrypted, column and row policies apply on every surface, and every run writes an audit row. Reports reach people through saved views, link shares, iframe embeds with signed row scope, a run-by-API endpoint, and scheduled delivery by email, Slack, Teams or webhook — plus threshold alerts. ReportGen is single-tenant and self-hosted, deployed with Docker next to your data, directly or through an SSH bastion. Innoworks can install it, connect your databases and build your first reports and dashboards with your team.

Supported Technologies

Built on industry-leading frameworks and models

PostgreSQLAmazon RedshiftMySQL / MariaDBSQL ServerOracleSnowflakeDuckDBSQLiteREST APIsNext.jsReactTypeScriptKyselyDocker

Connect Any Database

Eight SQL Engines

PostgreSQL, Redshift, MySQL/MariaDB, SQL Server, Oracle, Snowflake, DuckDB and SQLite — each with its own dialect for quoting, paging and placeholders, so the SQL that runs is native to the engine.

HTTP / REST APIs as Tables

Point a connection at an API and each endpoint becomes a table. Bearer, basic or API-key auth; page, offset, cursor or Link-header pagination; nested JSON flattened into columns.

Built From the Catalogue

Tables become the report list, columns the picker, and each column's type decides which filter operators appear. Joins are suggested from foreign keys.

Direct or Through an SSH Bastion

Reach databases on private networks through an SSH tunnel opened by the app and forwarded on loopback only. Password, AWS IAM and Microsoft Entra database authentication.

Report Builder & SQL Lab

Point-and-Click Builder

A filter tree, a period control, aggregates, window columns, share-of-total, two-stage aggregation, subtotals and pivot tables — with Show SQL and EXPLAIN on every report.

Ask in Plain Words

Type "top 5 customers by revenue" or "shipped orders in North last 30 days" and get an editable builder report. Read from the catalogue and your synonyms — no AI model, no outside service, the same answer every time.

Fan-Out Protection

Summing across a one-to-many join silently inflates totals. ReportGen detects it from the foreign keys, warns, and offers a join-a-summary fix that groups the many side first.

SQL Lab for Analysts

Tabs, a highlighted editor with schema-aware autocomplete, run selection, Format, Explain, saved and shared queries, history, CSV and charts — all inside a read-only transaction.

Charts & Live Dashboards

Fifteen Ways to Show a Result

Table, pivot, bar, stacked bar, line, area, pie, scatter, heatmap, KPI, table-with-sparkline, big number with trend, gauge, funnel, treemap and histogram.

Interactive Dashboards

Dashboard-wide filters and time ranges, cross-filtering by click, drill-down to the rows behind a figure, drill-through to another report, text tiles and tabs.

Live Refresh & TV Mode

Refresh down to every five seconds without twenty screens meaning twenty queries — identical statements are shared. Full-screen TV mode for operations floors.

History, Export & Import

Every dashboard keeps its last fifty arrangements for one-step restore, and exports to JSON for moving between installs — no data, no credentials.

Semantic Layer

Metrics Defined Once

Datasets hold metrics like revenue and average order value, and calculated columns like order size, in a small formula language. Fix a definition and every report using it is fixed.

Certified Datasets

Administrators mark the agreed definitions as certified so they are shown first, and a metric a report depends on cannot be deleted from under it.

Safe Formula Language

Column names, numbers, comparisons and a fixed list of functions — compiled through the same allow-list as filters, with every value bound and division by zero left blank.

Shared Result Cache

A per-connection cache shared by the app and its workers, off until an administrator sets how stale an answer may be — and never shared across row scopes.

Delivery, Sharing & Embedding

Exports That Match the Screen

CSV, XLSX and PDF are streamed and use one ordered column list, so what you send a client is exactly what you saw.

Schedules & Alerts

Scheduled delivery by email, Slack, Microsoft Teams and webhooks, plus alerts that fire once when a threshold is crossed and stay quiet until it clears.

Embeds With Row Scope

Embed reports in your own application with a signed token that carries the row scope. A scoped view refuses to run without one — it fails closed, never open.

Run Reports by API

Call any saved report as JSON, CSV, XLSX or PDF with a key scoped to named reports. Every API call lands in the same audit log as a run from the app.

Security & Governance

Read-Only by Construction

Connect as a SELECT-only role; the API accepts a report definition, never SQL. Values are always bound parameters and identifiers only ever come from the catalogue.

Column & Row Policies

Hidden columns are removed from the catalogue before anything sees them, masks apply on every surface, and row scope is enforced by the compiler so no caller can forget it.

Roles, Folders & Projects

Administrator, author and viewer roles, folder-level groups, and projects that keep each client's or product's connections and reports in separate workspaces.

Audit Every Run

Every run, export, share and API call writes an audit row. Database credentials and webhook secrets are encrypted at rest.

Who It's For

Built for Teams That Demand More

Companies that want self-hosted reporting on their own databases without a per-seat BI subscription

Operations, finance and sales teams who need governed, repeatable reports and dashboards without writing SQL

Software vendors embedding customer-facing reports in their product with per-customer row scope

Data and engineering teams consolidating ad-hoc SQL, spreadsheets and emailed exports into one audited tool

Common Questions

Frequently Asked Questions

Get answers to common questions about ReportGen.

QWhat is ReportGen?

ReportGen is a self-hosted reporting and dashboard tool for relational databases. You point it at a database, and its tables, columns and foreign keys become a report builder — with charts, dashboards, exports, schedules, alerts, shares, embeds and an API on top.

QWhich databases does ReportGen support?

PostgreSQL, Amazon Redshift, MySQL/MariaDB, SQL Server, Oracle, Snowflake, DuckDB and SQLite, plus HTTP/REST APIs that return JSON, NDJSON or CSV. Databases on private networks can be reached through an SSH bastion.

QDoes ReportGen need people to know SQL?

No. The builder is point-and-click, and the question box turns plain-word questions into editable reports. Analysts who prefer SQL get SQL Lab, and every builder report can show the SQL it runs.

QCan ReportGen change data in our database?

No. It is read-only by construction: connections use a SELECT-only role, the API accepts report definitions rather than SQL, and hand-written SQL in SQL Lab runs inside a read-only transaction. Writing to target databases is deliberately out of scope.

QCan we embed ReportGen reports in our own product?

Yes. Reports embed as iframes using a signed token minted by your application, carrying the report, parameter values, an expiry and the row scope — so each of your customers sees only their own rows. Reports can also be run directly through the API.

QDoes the question box use AI or send our data anywhere?

No. It reads a fixed vocabulary of words plus your database's own table names, column names and the synonyms an administrator adds. There is no model and no outside service, and the same question always produces the same report.

QHow is ReportGen deployed?

It is single-tenant and self-hosted: one install per company, run with Docker Compose (the app, a background worker and its own database) or on any Node.js host with PostgreSQL. Projects let one install serve several clients or products side by side.

QDoes it come with ready-made report templates?

No — by design. Every report is built on your own data by people who know it. Innoworks can help you install ReportGen, connect your databases, define your metrics and build the first set of reports and dashboards.

70+
Products Delivered
98%
Client Satisfaction
12+
Years Experience
50+
Enterprise Clients

Ready to Get Started with ReportGen?

Schedule a demo or talk to our team about your requirements.

Get In Touch

Let's Build Something Amazing Together

Ready to transform your business with innovative technology solutions? Our team of experts is here to help you bring your vision to life. Let's discuss your project and explore how we can help.

MVPs in Weeks, Not Months

Launch your product faster with our proven development cycle

Global Presence

Offices in USA & India, serving clients worldwide

Let's discuss how Innoworks can bring your vision to life.