A custom source lets you bring invoice and customer data into Metriks from any system — not just e-conomic. It's the right choice when you're on an accounting platform Metriks doesn't yet integrate with, when you keep subscription data in a spreadsheet, or when you need to backfill historical revenue from a closed period.
There are two ways to add data to a custom source: upload an Excel file, or enter invoice lines manually. You can mix both — upload historical data once, then add new lines manually each month.
In the product, open Settings → Sources and click Add Source. Pick the Custom source tile, give the source a clear name (e.g. "Historical Stripe export" or "Manual subscriptions"), and confirm.
Metriks creates the source in New Source state. Click it in the list to open the source detail page, where you upload data or add lines manually.
If you have invoices from Stripe and a legacy spreadsheet, create two separate custom sources. That way you can disable, reprocess, or delete each independently — and if you ever connect a live integration later, swapping a custom source out for the new one is a clean migration.
On the source detail page, drop your file in the upload area. Metriks accepts .xlsx and .xls files only — CSV is not supported today; if you have a CSV, open it in Excel and save as .xlsx first. The upload limit is 25 MB; large files (10k+ rows) typically finish in under a minute.
The expected schema mirrors a standard invoice export. Each row is one invoice line:
- Invoice date — the invoice's booking date. ISO format (
YYYY-MM-DD) works best; Excel date cells are also accepted. - Amount — the line total (excluding VAT). Negative for credit notes.
- Currency — three-letter ISO code (e.g.
DKK,EUR). - Customer name — used to group lines into customers. Metriks matches by normalised name.
- Product name — used to group lines into products.
- Accrual start / Accrual end — optional, but recommended for subscription lines so MRR is split across months correctly.
Metriks does not currently honor a custom customer ID column — matching is purely on the normalised customer name. Acme Corp and Acme Corp. are not guaranteed to match. Normalise customer names before upload (one canonical name per customer) for cleanest dedup.
Amounts are imported in the currency you specify per row. If you mix currencies, Metriks displays everything in your reporting currency using e-conomic's rates (or the custom rates you set under Settings → Company → Currencies). See Updating your currency rates.
If you only have a handful of lines, the manual editor is faster than building a spreadsheet. On the source detail page, use the inline form to add invoice lines directly — invoice date, amount, currency, customer / product names (with autocomplete on existing values), and the optional accrual period.
Manual entries are saved immediately and trigger an incremental reprocess — your dashboards update within seconds.
Custom sources don't run a continuous sync the way e-conomic does — they process data on upload. If you re-upload the same file (with corrections, say), Metriks replaces the previously imported lines for that source. You can also trigger a manual reprocess from the source settings dialog (Reprocess data) — useful when you change the source configuration after uploading.
A custom source moves through four states, visible on the sources list and inside the settings dialog:
- New Source — created but no data yet.
- Idle — data has been uploaded but no recent activity.
- Ready — data is processed and feeding the dashboards.
- Error — processing the last upload failed; details are surfaced inline in the source detail view.
Open the source detail page; rows that failed validation are flagged inline in the invoice-lines table with the reason attached. Common causes are: missing invoice date, missing amount, missing customer name or product name (both are required), or an unparseable date format (e.g. 13/05/2026 in a column Metriks read as US-format). Fix the source file and re-upload.
Metriks matches by normalised customer name. Acme Corp and Acme Corp. may not match. Pick one canonical name per customer in the source file and re-upload.
Most often this is missing or wrong Accrual start / Accrual end columns. Without an accrual period, Metriks treats the line as a single-period charge and the amount lands in the invoice month alone. Add the period columns and re-upload.
Once your data is in, head to the dashboard and verify the MRR and active-customer counts look right. If you also use e-conomic, set up that source too — see Connecting an E-conomic source. Ready to put the data to work? Look at Automated Invoicing next, or read up on how to use the stats page.
Was this guide helpful?

