About the service
A report is only worth building when it answers a question somebody actually asked. So that is where I start: not with the table, but with the question behind the request. Who reads the number, what decision follows from it, and what would change if the figure came out twice as large? Half of the reporting work is done at that moment, because a question stated in one sentence can be checked against the data, while "give me the numbers" cannot.
The build itself is deliberately unglamorous. I pull the source rows out of the accounting system and test them for completeness first: half-closed periods, documents without postings, records that quietly fell outside a filter. Only verified data goes into summary figures by period, by unit and by responsible person, with a comparison against the previous period so that every number has something to stand against. The result leaves in two shapes at once — a working spreadsheet that can be sliced further, and a print layout that survives being forwarded or put on a desk. Delivery runs on a schedule, and each reader sees the slice their role allows.
Three commitments I do not trade away. A report either reconciles with the primary documents or it does not ship: a discrepancy is investigated before the first run, not explained away after it. Personal data and payroll details never travel in a mailing list unless that access has been agreed separately. And figures are not bent toward expectations — if the data shows something unpleasant, the report will say so in plain words.
— framing: the exact question the report answers and the decision it supports
— extraction from the accounting system with completeness and boundary checks
— summary figures by period, unit and responsible person
— comparison with the previous period, with short notes explaining the gaps
— export to a working spreadsheet and to a print-ready layout
— scheduled automatic delivery to the people who need it
— role-based access, so each reader gets only their own slice
— reconciliation against primary documents before the report goes live
— a one-page guide on how to read the report, for people who did not build it
The build itself is deliberately unglamorous. I pull the source rows out of the accounting system and test them for completeness first: half-closed periods, documents without postings, records that quietly fell outside a filter. Only verified data goes into summary figures by period, by unit and by responsible person, with a comparison against the previous period so that every number has something to stand against. The result leaves in two shapes at once — a working spreadsheet that can be sliced further, and a print layout that survives being forwarded or put on a desk. Delivery runs on a schedule, and each reader sees the slice their role allows.
Three commitments I do not trade away. A report either reconciles with the primary documents or it does not ship: a discrepancy is investigated before the first run, not explained away after it. Personal data and payroll details never travel in a mailing list unless that access has been agreed separately. And figures are not bent toward expectations — if the data shows something unpleasant, the report will say so in plain words.
— framing: the exact question the report answers and the decision it supports
— extraction from the accounting system with completeness and boundary checks
— summary figures by period, unit and responsible person
— comparison with the previous period, with short notes explaining the gaps
— export to a working spreadsheet and to a print-ready layout
— scheduled automatic delivery to the people who need it
— role-based access, so each reader gets only their own slice
— reconciliation against primary documents before the report goes live
— a one-page guide on how to read the report, for people who did not build it