Skip to content

An SSRS alternative for reports inside your application

Many applications produce their documents (invoices, statements, delivery notes, lists) by calling SQL Server Reporting Services: the application sends parameters, SSRS runs the RDL report against the database and returns a PDF. It works, and it means running, patching and licensing a Windows report server for what is, to the application, a function call. This page sets out where SSRS stands, the options, and when rendering the reports inside the application with Tagua is the better fit.

As of September 2026:

  • SSRS 2022 is the last version. Microsoft announced in June 2025 that it will not release a new version of SSRS with SQL Server 2025: on-premises reporting is consolidated into Power BI Report Server.
  • SSRS 2022 remains supported, with security updates, until 11 January 2033.
  • RDL reports run on Power BI Report Server unchanged. Power BI Report Server is included with SQL Server 2025 Standard and Enterprise core licences; for SQL Server 2022 and earlier it needs Enterprise with Software Assurance, or a Power BI Premium or Fabric F64 or larger capacity.
  • Both are Windows servers.
Option What it means
Stay on SSRS 2022 Supported until 2033. The server, its Windows host and its SQL Server licence stay part of the application’s footprint.
Move to Power BI Report Server The natural path for a reporting portal: RDL reports carry over, with the licensing above. Still a server to run.
Render the reports in the application Convert the RDL reports to Tagua templates and render them inside the application, on the rows it already has. No report server for these reports.

The choice depends on what SSRS does for you. If people browse a portal, subscribe to reports and explore them interactively, a report server is the right tool, and Power BI Report Server is its successor. If the application calls SSRS to produce documents, the reports belong in the application.

What moving reports into the application changes

Section titled “What moving reports into the application changes”
  • One less server. Reports render in the application’s process, on Windows, Linux or macOS, in a container, from .NET 8 to 10, with native AOT. Nothing to install, patch or license separately.
  • Your data, as you query it. The application passes rows it already has, in memory or straight from a database reader, instead of the report server running its own queries.
  • Standards. One line makes the PDF accessible (PDF/UA), archival (PDF/A) or a Factur-X invoice; the same report also exports to Excel.
  • Templates in the repository. A template is YAML, versioned with the code that fills it, reviewed in pull requests and previewed as you edit.

What a report server does that Tagua does not: a web portal, subscriptions and schedules, data-driven delivery, and interactive features such as drill-down and document maps in a browser viewer. Tagua renders documents; scheduling and delivery stay with your application, a job scheduler or your mail system.

tagua import reads RDL reports (2005 to 2016 schemas) as well as ReportViewer’s RDLC, and writes Tagua templates: datasets and parameters, page setup, headers and footers, text boxes with their formatting, tables and lists with row groups and totals, matrices, charts, subreports and Visual Basic expressions. Anything it does not convert is left as a visible placeholder and listed, so a person can finish it.

Terminal window
dotnet tool install --global Tagua.Cli
tagua import MonthlyStatement.rdl
tagua import Reports --out converted

Given a folder, it converts every report in it and writes tagua-import-summary.md: how many need nothing reviewed, and what the others need, report by report.

Queries are the one part that moves differently: an SSRS report runs its own dataset queries against a data source, while a Tagua report receives its rows from the application. Keep the queries (they are in the RDL file) and run them in the application, or pass rows it already loads. The migration guide walks through converting and rendering a report.

Checked on 25 September 2026.