---
title: "How to automate reporting: 5 steps | JustAutomate"
description: "Before you automate a report, agree one definition per metric and one source for every number. Definition disputes, cut-off times and five steps."
url: "https://justautomate.ai/en/guides/how-to-automate-reporting/"
lang: en
---

Finance, reporting and data

# How do you automate reporting? start with the definitions, not the tool

A report that sends itself is the easy part. The hard part is getting every department to agree on what it is counting. This guide is about what to settle before you automate: one definition per metric, one source for every number, a fixed cut-off time and a named reader. Tools come last.

9 minutes read

- 7 metricshow many definitions we agree in the workshop before any automation starts: revenue, lead, margin, conversion, active customer, cost per acquisition and lead time
- 14 dayshow long it usually takes from the workshop to the first report that sends itself from your own data
- 25 hourshow long a source can stay silent before we send an alert instead of a report with a quiet hole in it
- EUR 3,500 netthe price of one workshop week, which ends with a metric catalogue and a list of reports with named owners

Short answer

## How do you automate reporting so the numbers agree?

Start by listing every report that gets built today: who assembles it, who reads it and what decision it drives. If you cannot write down the decision, delete the report instead of automating it. The list usually gets shorter than you expect.

For the metrics that survive, write one definition each: numerator, denominator, period and the moment an event counts. Give every number one system as its source of truth. Fix the cut-off time and decide what happens to data that lands later.

Only now the tools. n8n or Make collects the data on a schedule, a spreadsheet or a warehouse holds it, the report goes out by email or Slack at a fixed hour. The other order ends with a fifth file and a sixth formula. The scope of a build is on the [reporting automation](https://justautomate.ai/en/services/reporting-automation/) page.

## Why do two reports show two different numbers?

Monday's meeting opens with an argument. Marketing has one lead count, sales a lower one, finance none at all, because in their books a lead exists once it is an invoice. Half an hour goes on deciding whose version wins.

The cause is almost never the tool. Every report was built on its own: a different file, a different formula, a different time window, sometimes by a person who has since left. The definition of a lead is written down nowhere, so each report carries its own.

Automation does not fix that. It fixes the speed. Run on three definitions, it will deliver three conflicting numbers every morning at 7:00 instead of once a week.

- Different definition: what counts as a lead, when revenue becomes revenue, which costs go into margin
- Different source: one number from the CRM, the next from an ad platform, the third from a spreadsheet kept by hand
- Different cut-off: a report assembled on Friday at 16:00 is not the same data as the same report on Monday
- Different window: one counts a calendar month, one the last 30 days, one a week starting Monday

## Why does „revenue” mean one thing in sales and another in accounting?

Because both are right and they answer different questions. A salesperson counts revenue from the day the contract is signed, because commission and forecast hang on it. Accounting counts from the invoice date, or from the date the service was delivered.

Until somebody writes it down, each side is certain the other is wrong. A written definition ends that: you pick one recognition moment for the management report and note that sales keeps its own view on a different date. Two numbers can live side by side as long as each has a name.

A metric definition is four things: numerator, denominator, period and the moment an event counts. Below are the places where the argument starts most often.

| Metric               | Where it drifts                                                           | What you write in the definition                                       |
| -------------------- | ------------------------------------------------------------------------- | ---------------------------------------------------------------------- |
| Revenue              | sales counts from signature, accounting from the invoice                  | recognition moment, net or gross, the rate used for foreign currency   |
| Lead                 | marketing counts every enquiry, sales only the ones after a call          | what makes a lead, when it stops being one, how duplicates are treated |
| Margin               | some subtract ad spend, some labour, some neither                         | which costs go in and at what level: product, order, customer          |
| Conversion           | GA4 counts sessions, the CRM counts opportunities, the shop counts orders | what sits in the denominator and over what window                      |
| Active customer      | the shop looks at an order, the CRM at an open contract                   | the event that counts as activity and the length of the window         |
| Cost per acquisition | the ad platform knows the spend, finance knows commission and labour      | whether team time, commission and subscriptions go into the cost       |

A first build usually tidies three to four metrics. That is enough for the sales report and the management report to show the same number.

## Where do you take the number from when every system has its own version?

For each number, name one system as the source of truth. Not „roughly that one”, but precisely: revenue from the invoicing system, orders from the shop, spend from the ad platform, deal stage from the CRM. Other systems may display the number, but they do not define it.

The rule holds until somebody makes an exception. The exception always looks harmless: „we will take this one from the spreadsheet, because two customers are missing in the CRM”. Six months later nobody remembers where the spreadsheet outranks the CRM. Explain the gap between systems once and write it down, instead of patching it by hand every month.

- One system per number, written next to the metric definition
- Systems that only display that number marked as secondary
- The rule for resolving a discrepancy written before the discrepancy happens
- Customer, product and channel names standardised in one place, not in every report separately
- The manual spreadsheet either disappears or becomes a real source with an owner and a deadline

**Note.** The most common hidden exception is a spreadsheet where somebody adds phone orders. With no owner and no deadline the report comes out incomplete in random weeks, and nobody can say which ones.

## Why does the same report show different numbers on Monday and on Friday?

Because data is not ready at the moment the event happened. Saturday's order lands in the system on Sunday, campaign cost keeps settling for several days, a credit note arrives a week later, a return once the withdrawal period ends. A report pulled on Friday at 16:00 sees a different slice than the same report on Monday morning.

Waiting until everything settles is not the answer, because then the report arrives after the decision. Write down two things: the cut-off time, and what you do with data that lands later.

The setup that works: the weekly report reads data up to Sunday 23:59 and goes out on Monday morning, with every number that can still move flagged as provisional. Month-end close gets its own deadline and its own report. A finished version is on the [automatic weekly report](https://justautomate.ai/en/automations/automatic-weekly-report/) page.

| Data                   | When it is complete                             | What you do with it in the report                                       |
| ---------------------- | ----------------------------------------------- | ----------------------------------------------------------------------- |
| Orders and sales       | usually the next morning                        | the report reads data up to a fixed hour on the previous day            |
| Ad spend               | keeps settling for several days after the click | the last few days flagged as provisional, comparisons on closed periods |
| Returns and complaints | once the withdrawal period runs out             | a separate returns column, no quiet correction inside the same row      |
| Credit notes           | at month-end close in accounting                | the management report and the accounting report have separate deadlines |
| Team hours             | once timesheets are approved                    | the weekly report shows entered hours, the monthly one approved hours   |

A number that can still move has to be flagged in the report. A quiet correction after the fact is worse than a provisional number with a label, because it puts the whole report in doubt.

## Who reads it and what decision do they make on it?

Next to every report write the name of the reader and the decision that report supports. Not „for the board”, a person. Not „for information”, a decision: we move budget, we call the customers past due, we stop the campaign.

A report you cannot attach a decision to is a report to delete. That is meant to sound blunt, because automating it costs the same as automating a useful one, and then it has to be maintained. In workshops we switch more reports off than we automate.

The test is simple: turn the report off for two weeks and see if anyone asks for it. If nobody notices, you have your answer. If one person asks, move their question into an existing report or hand it to [BOND, the company AI agent](https://justautomate.ai/en/services/bond-business-ai-agent/).

- A reader's name on every report, not a department
- One decision the report supports, written in a single sentence
- Frequency matched to the pace of the decision: a daily report behind a monthly decision is noise
- Data scope limited to what the reader can actually influence
- A review date for the report list, so it stops growing on its own

## How do you automate reporting step by step?

Below is the order we use internally and with clients. The first three steps need no tool at all, and they decide the outcome. Skipped, they leave you with an automation that delivers numbers nobody trusts, only faster.

1. ### Inventory of reports and decisions
List every report that gets built today: who assembles it, how long it takes, who reads it and what decision it drives. Reports with no decision go on the list to switch off, not on the list to automate.
2. ### Metric catalogue
For the metrics that survive, write down numerator, denominator, period and the moment an event counts. This document has value with no tool attached, because it ends the arguments between departments.
3. ### One source of truth and a cut-off time
Assign one system to every number. Fix the cut-off time and name the data that will still be landing after it. This is where the part without tools ends.
4. ### Pilot alongside the current report
Data collected through n8n, Make or an API, a spreadsheet or a warehouse as the place it is stored. The new report runs two weeks in parallel with the old one, and you compare it number by number and explain every gap.
5. ### Production, distribution and alerts
Schedule, delivery by email or Slack, access levels, and an alert when a source stays silent for more than 25 hours. We train your own person to add a column and change recipients without raising a ticket with us.

Common mistakes

## Five mistakes that cost an automated report its credibility

- Automating before the definitions are agreed
The automation delivers the same disagreement, only every morning at 7:00\. Trust drops faster than with a hand-built report, because there is nobody to ask where the number came from.
- A dashboard wired straight into five systems
Every chart counts its own way, because the definition sits in its configuration. The argument over numbers comes back, in nicer packaging.
- A report with no reader and no decision
You maintain an integration nobody opens. The cost only shows up when a source system changes and somebody has to repair it.
- No fixed cut-off time
The same number looks different on Friday and on Monday, and nobody can explain why. After two of those, the team goes back to its own spreadsheets.
- Data still landing, shown as complete
The report understates the last few days, the decision is taken on the low number, and the correction arrives a week after it.

Checklist

## Checklist before you automate your first report

If any line is a no, the automation will lock in today's mess and do it faster.

- Every report has a named reader and one decision written next to it
- Every metric has a numerator, denominator, period and recognition moment on paper
- Every number has one system named as its source of truth
- The cut-off time is agreed and visible inside the report itself
- Data that lands later is flagged as provisional, with no correction after the fact
- An alert for a silent source is set up before the report goes to the board
- The tool for collection and distribution is chosen only after all of the above

Sources

## Sources

1. [n8n documentation: schedules, integrations and running data workflows](https://docs.n8n.io/)
2. [Make help centre: scenarios and connections to source systems](https://www.make.com/en/help)
3. [BigQuery documentation: storing and querying reporting data](https://cloud.google.com/bigquery/docs)
4. [JustAutomate, reporting automation: scope of a build, timelines and the metric catalogue](https://justautomate.ai/en/services/reporting-automation/)

Definitions first, tools second

## Let us see which of your reports lead to a decision

The free consultation takes 30 minutes. You tell us which reports get built today, who assembles them and what the board asks for outside them. The process workshop costs EUR 3,500 net per week and ends with a metric catalogue and a list of reports with named owners. The build is quoted after the workshop.

[Book a free consultation](https://justautomate.ai/en/contact/)

## Frequently asked questions

Where do you start with reporting automation?

With a list of the reports that get built today, each one with its reader and the decision it supports. Then the metric definitions and one source of truth for every number. The tool comes last, because an automation running on unagreed definitions only speeds the argument up.

Why do two reports in the same company show different numbers?

Almost always the definition, not the tool. The reports were built separately, each with its own formula, time window and cut-off. Until the definition lives somewhere outside the file, nobody can see the point where the numbers start to drift apart.

How does revenue in the CRM differ from revenue in accounting?

By the recognition moment. The CRM usually counts from the signature date or the date an opportunity closes, accounting from the invoice date or the date of delivery. Both numbers are correct. In the management report you pick one moment and write it down, and the second view keeps its own name.

When should a weekly report read its data?

Pick one hour and hold it. A common setup reads data up to Sunday 23:59 and goes out on Monday morning, so the week is closed. What matters more than the hour itself is that it is written down, and that numbers which can still move are flagged.

What do you do with data that arrives after the report goes out?

Flag it as provisional and show the correction in the next edition, instead of quietly changing the number after the fact. Ad spend keeps settling for several days, credit notes land at month-end close. A silent fix puts trust in the whole report in doubt.

How much does it cost to put reporting in order?

The process workshop costs EUR 3,500 net per week, and reporting usually takes one to two weeks. The build is quoted after it, once you know how many sources are in play and what state the data is in. Tool costs you pay to the vendor directly.

Will an AI agent replace reports?

No, it covers the tail of one-off questions. A report covers the questions that come back every week from the same people. A question about a cut nobody planned for goes to an AI agent answering from the same data layer in 5 to 10 seconds.

## Related

- [Reporting automation](https://justautomate.ai/en/services/reporting-automation/)
- [Automatic weekly report](https://justautomate.ai/en/automations/automatic-weekly-report/)
- [Automatic data pipeline](https://justautomate.ai/en/automations/automatic-data-pipeline/)
- [Automation ROI](https://justautomate.ai/en/guides/automation-roi/)
- [Process workshop](https://justautomate.ai/en/services/process-workshop/)
- [BOND, the company AI agent](https://justautomate.ai/en/services/bond-business-ai-agent/)

---

**JustAutomate** · contact: contact@justautomate.ai · form: https://justautomate.ai/en/contact/
