Skip to content

Reporting Automation

When the monthly report is rebuilt by hand from exports and spreadsheets every time, it costs days and depends on a few people. We automate the path from source to recipient, keep Excel where it is useful and make sure the numbers come from one shared source.

The monthly report comes out of exports, formulas and macros in an Excel file that has grown over the years. Someone copies numbers together, the file travels by email through several hands, and in the end there are three versions, none of which is certain to be the last. On top of that, the macros have become so complex that nobody dares change them, and deviations from plan only show up afterwards.

For us, automation covers more than sending: the whole path. Data from the ERP, accounting or CRM is loaded and checked regularly, metrics are defined once, and the finished report goes to the right recipients on a schedule and after approval. How metrics are defined in detail belongs to data modeling. This page is about what happens automatically with the finished numbers.

The examples here mostly refer to Power BI, because it is in use at many companies. Other BI tools offer comparable functions for subscriptions, alerts and print-ready reports, and we automate there as well.

Replacing Excel or connecting it

A report in Excel is not the problem. The problem is the way the numbers get into it. Instead of copying exports, we connect Excel to the data model. Power BI offers “Analyze in Excel” and export with a live connection, and the Excel add-in can insert connected PivotTables and tables. On refresh they show the current state of the model, and row-level permissions continue to apply.

That way business teams work in a familiar interface, add assumptions and check individual figures, while the data itself comes from one source. What is needed permanently, such as the monthly report, moves into a fixed, automated report. We begin with the two or three reports that cost the most time and carry the experience over to the rest. Switching everything at once rarely goes well.

When a report needs to be paginated

Interactive dashboards suit analysis, but not every report is a dashboard. Monthly reports, board papers or attachments for auditors need a fixed layout. That is what paginated reports are for, built in Power BI with Report Builder, for example. They output all rows, keep their page layout and can be exported as PDF, Excel, Word, PowerPoint or CSV. Tables with hundreds of rows, headers and footers, page numbers and fixed breaks are then no longer a special case but part of a template that refills itself on every refresh.

Distribution and its limits

Subscriptions send reports by email at a fixed time or after the data refresh, with the full output as an attachment for paginated reports. With dynamic subscriptions each recipient gets a version of their own, for example per cost center or region. Which parameters apply to whom is then held in a data model of recipients. Saving to OneDrive or SharePoint and further destinations such as Teams can be added with Power Automate.

There are limits, which we clarify beforehand. Attachments are limited in size, subscriptions for external recipients and per recipient require capacity, and the preview image in the email shows the data from the subscription owner’s point of view. That last point is touchier than it sounds: subscriptions run in the name of their owner, and for data with row-level permissions you have to check what is visible in the mailing. Also, if the person who owns a subscription leaves the company or their license expires, the subscription ends. So we settle who owns which mailing.

Alerts, commentary and AI summaries

Not every value needs to be hunted down in a report. Alerts speak up when a metric crosses a threshold. In Power BI they exist for tiles on dashboards, and for reports there is also Fabric Activator, with notifications arriving by email or in Teams. You should only monitor values that someone will actually act on. With the business teams we settle which thresholds make sense, who is notified and what should happen then. Otherwise the alert quickly turns into an email nobody reads.

Numbers alone explain little, so monthly and board reports need commentary. A person still writes it, ideally in a fixed place in the report. AI can supply a draft: Power BI can add a Copilot summary to subscription emails on request. Such texts can misread connections, and for reports that reach the board or banks we use them as help with wording, not as a substitute for review.

Keeping wrong numbers from going out

Automatic does not mean unchecked. Without checks, automation just distributes bad data more reliably. So the data checks for completeness, plausibility and reconciliation with totals in the source system belong in the data pipeline. Important reports go out only after approval, for example via an approval step in Power Automate, and changes to reports are tested before publication, for instance in a deployment pipeline with development, test and production stages. Who approves and maintains a report has to be settled.

For the switch we set a cut-over date, for example the next month-end close. Until then the old and new reports run in parallel, the numbers are reconciled and differences resolved. After the date, the old file is no longer maintained.

What you get

  • Time for analysis

    The monthly report is no longer built from exports and copy-paste, it refreshes itself. The person who used to build it can now read it.

  • One version instead of three

    Formulas, macros and version states in individual files are gone. All reports draw on the same defined metrics.

  • Reports arrive on time

    Recipients get the report on a fixed schedule as an email, PDF or link, without anyone having to remember.

  • Approval as a fixed step

    Important reports go out only after a check. It happens in the workflow, not in an email thread.

Platforms & tools

We are not tied to any vendor and work with what is already running in the company. The list is a selection.

  • Power BI
  • Power BI Report Builder
  • Excel
  • Power Automate
  • Microsoft Teams
  • Microsoft Fabric
  • Fabric Activator
  • SQL Server Reporting Services
  • Tableau
  • Qlik Sense

How we work

  1. Take stock of the reports

    Which reports exist, who receives them, how often, and how much time do they cost today? That settles where we start.

  2. Build the data flow and model

    The sources are connected, metrics are defined once, and the refresh runs automatically with checks.

  3. Set up reports and distribution

    Interactive and print-ready reports, subscriptions, alerts and the approval step are put in place.

  4. Run in parallel, then switch

    The old and new reports run side by side until a cut-over date. Differences are resolved, then the team is trained.

Frequently asked questions

How can we replace Excel reporting without everyone having to relearn?
Usually not all at once. We start with the reports that cost the most time and leave Excel in place as a tool at first. Anyone who likes working in Excel keeps doing so, but draws on checked figures from the data model.
What are paginated reports and when do you need them?
Paginated reports have a fixed page layout and output all rows of a table, even if they fill many pages. They suit monthly reports for printing, board documents or reports passed on as PDF or Excel files. For free analysis on screen, interactive reports are the better fit.
How can a monthly report be automated?
You need an automatic data refresh and clearly defined metrics. The report builds on those, as an interactive report or a paginated document, and is sent automatically after the month-end close. Commentary and interpretation are still written by a person, with an AI draft as a starting point if you like.
Can reports be distributed automatically by email or in Teams?
Yes. Power BI sends reports by email on a schedule or after a data refresh, also with a PDF attachment. Power Automate can connect further destinations, such as saving to OneDrive or SharePoint or posting to a Teams channel. Some features, such as subscriptions for external recipients or per recipient, require capacity.
How do we stop wrong numbers from being sent out automatically?
With automatic checks in the data pipeline and an approval step before important reports go out. We also compare the first reports with the previous figures, so deviations show up before the first delivery.
Do we need a data warehouse for this?
Not always. With only a few sources, a report can access them directly. Once several systems come together or many reports need the same numbers, a shared data model on a data warehouse pays off.