Agree on metric definitions
Before connecting sources, we clarify each metric. Sales may be counted by order, payment or dispatch date. Different rules produce different numbers, even with automated collection. We define the period, statuses, returns and responsibility for validation.
What we automate
The output can stay in Excel or Google Sheets if that interface suits the team. Larger volumes or more complex access rules may call for a database and a reporting interface, which we assess separately.
- Collect data from files, CRM, ERP or available APIs.
- Map product codes, dates, statuses and field names.
- Detect duplicate, missing and unexpected values.
- Calculate agreed metrics and update the report.
- Show the last successful refresh and notify on failures.
Checking correctness
We select a reference period and reconcile the report against source records. Totals alone are not enough: we also check row counts, unique orders and exceptions. If yesterday’s file is uploaded twice, the workflow should recognize or flag the repeat. The precise rule depends on the source structure and is agreed in advance.
When a source is unavailable
We define whether to show the last validated data with a refresh date or stop report generation. A partial dataset should not appear to be a complete current report. The solution documents retry steps, error logs and who receives a notification.
Preparing for an estimate
List your sources, reporting frequency and expected output. A table structure with fictional rows is enough to start. We agree on access, execution environment and data-handling rules later. Python, SQL, n8n or API choices follow the analysis. Automating one report can be a small standalone project.