Private reporting
How can I refresh a sensitive financial report with a new CSV each month?
Keep a reusable HTML template and load a new financial CSV into it each reporting cycle. When the required headers and types match, the same dashboard can display the new rows locally. Online editing is needed for design changes, not simply to load another matching CSV in the downloaded file.
Fictional data · worked example
Refresh the same report with a second file
Both fictional files have the same headers and four unpaid invoices. Aging is calculated as of 31 January and 28 February 2026 respectively. The second file changes amounts and dates. Compare the total amount before and after loading it; these figures are not a cash-flow forecast.
- First-month amount
- 10,000
- Next-month amount
- 12,000
- Change in total
- +2,000
Sample files are fictional and contain no customer or employee records. Open the sample HTML locally and load the matching CSV. Preview the accounts receivable template.
Define what each monthly file represents
Decide whether a CSV contains invoices raised during a month, all outstanding invoices at a cut-off date, or another defined population. Those are different reports. Give each export an unambiguous date and reconcile it with your finance system.
Use consistent date formats, one reporting currency or an explicit conversion process, and clear status values. Do not silently mix credits, payments, and invoice balances. A dashboard cannot repair an ambiguous accounting definition.
Practise the refresh with two fictional files
The downloadable examples use the accounts receivable template’s required column names.
- Preview the accounts receivable template, then download its sample HTML and the two fictional CSV files linked here.
- Open the downloaded HTML on your computer. Load the first CSV and check that the four invoice amounts total 10,000.
- Use the CSV loading control in the same template to load the next-month file. Check the new total of 12,000 and review the current filters. Loading a new file replaces the working dataset; do not assume it appends historical months.
- For your own reporting, create and download a layout with sanitized sample data. Each month, prepare the matching real CSV locally, load it in the downloaded template, and reconcile the result before distribution.
Refresh dates and derived columns together
The invoice sample includes days_overdue and overdue_range as well as due_date. Treat these as source values that must be refreshed for your reporting date. Do not assume a saved aging bucket updates itself as time passes.
If you need a historical trend, prepare a dataset containing the relevant periods and a date column, then design a matching trend chart. Merely opening last month’s HTML and loading this month’s CSV does not create a historical archive.
Keep a reusable template separate from a report output
The reusable template download excludes preview rows and is intended to accept another CSV. A populated export or snapshot can carry financial values and may serve a different purpose. Review the file you intend to send rather than relying on its .html extension to tell you what is inside.
Keep versioned source exports and final reports in your approved storage. Check recipients, detailed tables, and any customer or bank-related fields.
Try the workflow with sanitized sample data
Online design and template downloads are subject to your plan. See pricing and editor access.
Try free preview