#039

Executive Reporting Automation

ServiceWebsite

Auto-generates weekly/monthly reports from connected data sources

Project Variant:
Dark factory developmentPublic
Candidate
2
Dark factory
3
Guided development
4
Raw
5
Custom development
6
Alpha
7
Beta
8
Production

Collaborators

philcal (project owner)

How do I use this software?

This software runs wherever suits you — you just need somewhere to host it. Pick the option that fits your team:

OptionWhat it means
Self-hostingSet up the environment and run it yourself, on your own infrastructure.
Tooltwist hostingTooltwist can host and run it for you.
Other providersFind a host in the provider directory — or, if you already have a support company, we're happy to give them the tools to deploy the application for you.
Licensing

This variant is open source — you're free to use it and modify it at no cost. Hosting and support arrangements are provided separately and are not covered by this licence.

Who can help me?

Plenty of people can help you get the most from this software — browse the provider directory. Some providers can host it for you, others can customise it to your needs, and others again offer technical support and a helpdesk.

Tooltwist can host and customise the software for you, and Twist Teams provides technical support services.

Already have a support provider? We're happy to give them the tools to fully support the platform.

Not sure who to ask? Feel free to .

How can I help?

If you would like to help develop or test this project, go to the Collaborators tab (after you log in) and request to join. Your help will be appreciated!

Read me first

If you have just been handed this project and have no idea what it is, start here. There is no code in this document and no technical vocabulary. It should take about ten minutes.


1. Who this is for

Three kinds of people, with very different jobs.

The person who reads the report. Usually someone who runs a part of a business — operations, logistics, a division, a region. They are not a data specialist. Once a week or once a month they open a report to answer one question: is anything off, and does it need me? They often read it on a phone, between meetings, shortly before they have to say something about it.

The person who builds the report. An analyst, or someone in finance or operations who has quietly become the person who does this. They connect the systems the numbers come from, decide what each number means, and set up when the report goes out. They are the ones this software is really trying to give time back to.

The person who runs the software. Sets it up, decides who is allowed to do what, and answers the auditors. Often the same person as the second one, in a smaller organisation.

There is also a fourth group who never log in at all: people who simply receive a report by email and read it.


2. What it does

It produces a recurring business report, on its own, on a schedule.

It connects to the systems where an organisation's numbers already live. It holds one agreed definition of each figure that matters — what "revenue" means, exactly, and where it comes from. It assembles those figures into a document, writes the commentary that goes alongside them, and sends it out.

The point is that the report simply arrives, is correct, and is trusted enough that nobody rebuilds it by hand to check.


3. The domain

Every organisation of any size has a recurring report. The weekly operating review, the monthly business review, the quarterly board pack. It exists because a meeting exists.

Making one is a slow, manual job. Somebody pulls figures out of the finance system, the warehouse system, and the CRM. They paste them into slides. They write a paragraph explaining what moved. They send it round. Depending on the organisation this takes between four and eight hours, every single time.

Two things go wrong, reliably.

The numbers drift. The finance system says one thing, the sales system says another, and last month's slide says a third. Each was correct when someone copied it. Nobody can say which is right now, and the meeting turns into an argument about the data instead of a decision about the business.

The commentary is guesswork under time pressure. The person writing "revenue was up on strong performance in the north" at half past eleven the night before is often inferring. Sometimes they are wrong, and there is no way for a reader to tell.

There is software that shows an organisation its data — dashboards and business intelligence tools. What they generally do not do is produce the finished document. So the last stretch, the part that takes the hours, stays manual.

That gap is what this fills.


4. Where it fits

It sits between the systems that hold the data and the people who read the report.

On the data side it expects to connect to four kinds of system: a database the organisation runs itself, a cloud data warehouse, a CRM, and a spreadsheet service. It reads from them; it does not write back. Anything it cannot connect to out of the box can be added, because the way built-in connections work is the same way new ones are added.

On the delivery side it produces a document that can be read in a browser, a portable document for forwarding, and a presentation for anyone who needs to stand up and talk through it. It sends by email through the organisation's own mail relay.

Sign-in uses whatever the organisation already uses. There is no separate password to create or remember.

The whole thing runs inside the organisation's own network if that is what is wanted — including the model that writes the commentary. That matters in industries where pre-release financial figures are not permitted to leave the building.

One deployment serves one organisation. It is not designed to hold several companies' data side by side. Departments and audiences are separated inside it, but the boundary of the system is the boundary of the organisation.


5. First run

Set the financial year start, before anything else.

Administration → Workspace. Choose the month the organisation's financial year begins.

Everything downstream depends on it: what counts as "this quarter", which periods a report compares, and how they are labelled. Change it later and reports already issued keep the labels they were issued with. It is much easier to get right at the start.

Then connect the first source. The software will tell you so itself — until it can reach some data there is nothing it can report on, and it says that rather than showing empty panels.


6. Setting up

Roughly a day's work in total for someone who knows where their data lives.

Connect your sources. Sources → Connect a source. Pick the kind of system, give it a name someone else will recognise, and provide the connection details. The credentials are encrypted and never shown again — not to you, not to an administrator, not in a log.

Test the connection before saving. A source that cannot be reached is refused at that point, with the reason, rather than being accepted and failing quietly at three in the morning.

Define your metrics. This is the part worth slowing down for, and the part that determines whether anyone trusts the output.

For each figure that matters, say exactly what it is: which source, which data, what unit. "Net revenue" is not a shared understanding until it is written down once, in one place.

When a definition has been reviewed and agreed, mark it certified. That is a visible statement that the number is fit for a board pack. Uncertified metrics still work; they are simply labelled as not yet agreed.

Units are taken seriously. A figure in pounds and a figure in euros will not be combined — the system refuses rather than converting behind your back and producing a plausible wrong answer.

Build a template. Templates → new. A template fixes what a report contains and in what order, so the same document arrives every period. You choose sections from a fixed set — a headline figure, a comparison, a chart, a table, a commentary block — and arrange them.

If the report needs sign-off before it goes anywhere, turn on approval and name the approver.

Set up delivery. Schedules → new. Say how often, at what time, in which time zone, and who receives it.

You will be asked whether to send a link or attach the document. A link is better: access can be withdrawn later, and you can see who opened it. An attachment cannot be recalled once sent. The system says so at the point of choosing, rather than leaving you to find out.

Assign roles. Administration → Users. See section 11 for who can do what.


7. Day to day

Most days, nothing. That is the intent.

Reading a report. Open the link. The figure that matters is the largest thing on the page, with how far it moved since last period directly beneath it. Under that, in small type, is where the number came from: which source, which version of its definition, and when the data was retrieved.

That last line is worth knowing about. It is the difference between a number you act on and a number you go and verify.

When something is missing, the report says so in words. It will not show a blank, and it will not show a zero. "No data for this period" and "zero" are different statements about the world, and the report distinguishes them.

Reviewing the commentary. The prose is written by a language model and is always labelled as such — a reader is never left wondering whether a person wrote it.

Every figure in that commentary is checked against the figures actually in the report. If the model writes a number the report does not contain, the sentence is withheld before anyone sees it. Not flagged — withheld. The system would rather say less than say something it cannot stand behind.

If you have permission, you can read what was generated, see exactly which figures the model was permitted to use, and rewrite anything you would put differently. Your version is marked as edited by a person wherever the report is read.

Approving. If a template requires approval, the report waits in Approvals until you release it. Nothing is delivered before that. If you reject it, you say why, and it goes back to the author with your reason attached.

When a source breaks. It will be on the Sources page, in red, in words, with what went wrong. Reports that depend on it keep working from the last data retrieved successfully, and say that they are doing so. Nothing silently reports stale numbers as current.


8. Ongoing care

Every month or so

  • Glance at Administration → Health. It answers "is anything broken" in one place.
  • Check whether anything has been sitting in Approvals longer than it should.

Every quarter

  • Review your metric definitions. Businesses change what they mean by things. When a definition changes, reports already issued keep the definition they were produced under — nothing is quietly restated behind you.
  • Review who has access, particularly for people who have changed roles.

Every year

  • Check the retention settings. By default, reports are kept seven years, metric history three years, and the audit record two years. These are defaults, not legal advice; your own obligations may differ.

Backups are the responsibility of whoever runs the deployment. The software does not back itself up. The audit record cannot be edited or deleted from inside the application — including by an administrator — but that is not a substitute for a backup.


9. Glossary

Source — a system the software reads numbers from.

Dataset — a particular collection of data within a source; one table, one report, one sheet.

Metric — an agreed definition of a business figure. Not the number itself: the definition of what the number means.

Certified — a metric whose definition has been reviewed and agreed as fit for external use. A visible statement of confidence.

Metric version — definitions change. Each change is a new version, and every figure records which version produced it.

Template — the fixed shape of a report: what it contains, in what order.

Section — one block within a template: a figure, a chart, a table, a commentary block.

Report — one issue of a template for one period. "The monthly operating review for July."

Period — the stretch of time a report covers, labelled the way the organisation labels it.

Comparison period — what the current period is measured against, usually the one before.

Schedule — the rule that decides when a report is produced and sent.

Delivery — one sending of one report to one recipient.

Approval — the sign-off some templates require before anything is delivered.

Audit record — the permanent, unalterable log of who did what.


10. The other documents

DocumentWhat it is forWho reads it
READ-ME-FIRST.mdThis documentAnyone new
deployment.mdInstalling and running itWhoever operates it
production-setup.mdPreparing a real environment for the first time. Destructive — read it fully firstWhoever operates it
data-egress.mdExactly what data leaves the deployment, and whenSecurity, procurement, compliance
../DEVELOPING.mdRunning it locally to make changesDevelopers
../preview/README.mdTrying the all-in-one evaluation containerAnyone evaluating it

11. Who can do what

Six roles. Most people need one.

RoleCan
AdministratorEverything, including who has access and how long data is kept
Source managerConnect and maintain data sources
Metric stewardDefine metrics and certify definitions
Report authorBuild templates, generate reports, edit commentary
ApproverApprove or reject a report before it is delivered
ViewerRead reports

Two notes worth knowing. Being an administrator does not let you read a report's underlying credentials — nobody can, once saved. And an approver cannot approve by accident: rejecting requires a stated reason, which the audit record keeps.


12. The demo data

The evaluation container ships with a made-up logistics company, "Meridian Logistics", whose financial year starts in April. Fourteen months of history across six metrics, three connected sources, three templates, seven issued reports.

All of it is invented. No real customer, figure, or outcome appears anywhere in it.

Two things in it are deliberately imperfect:

  • one source is broken, so you can see how a failed connection is surfaced rather than hidden;
  • one metric has no data for the latest month, so you can see that "no data" is reported as different from zero, with a reason given.

A demo where everything is healthy hides half of what the software is for.

The figures are internally consistent: the rows underneath a metric genuinely add up to the figure the report displays. You can drill in and check.

To start fresh, the evaluation container forgets everything when it stops, unless you deliberately asked it to keep the data. For a real environment, see production-setup.md — that path is destructive and worth reading in full before you run it.


13. Common questions

Can it write to our systems? No. It reads.

What happens if a source is down when a report is due? The report is still produced, from the most recent data successfully retrieved, and says that is what it has done. It does not silently present stale figures as current.

Does our data leave our network? Only if you configure it to. The model that writes the commentary can run inside your own network. If you choose a hosted model instead, data-egress.md sets out exactly what is sent and when. If commentary is switched off entirely, the reports still deliver their figures and charts.

Can the AI make up a number? It can write one — models do. It cannot get one in front of a reader. Every figure in generated commentary is checked against the figures in the report, and any sentence containing a figure that is not there is removed before delivery.

Can we change what a metric means? Yes. The change is a new version, and reports already issued keep the version they were produced under.

What if two people edit the same thing at once? The second save is refused rather than silently overwriting the first.

Can we get a report out right now, off schedule? Yes. Schedules are for the routine case.

Is it locked to one cloud provider? No. It runs on ordinary infrastructure, and the licence is permissive.

How much of this was written by AI? All of it — the application, the tests, and the words on the screen. It is deliberately a starting point: complete and working, with no company styling or branding, meant to be made yours.


14. Getting help

The community at wbsp.ai is the place to go.

If you know your own field and can work with AI tools, you can adapt this yourself. If you would rather not, there are people there who do this work. It is also worth looking at what others have built — someone may have already made a version closer to what you need than anything you would start from scratch.

If you have an idea for something it should do, that is worth saying there too.