{{template "base" .}} {{define "content"}} {{$d := .}}

Import Guide

How to get your bank transactions into the app

Upload CSV →
1

Export a CSV from your bank

Log into your bank's online portal and download a transaction extract for the period you want. Most Portuguese banks offer this under Movimentos or Extratos.

CGD (Caixa Geral de Depósitos)
Netbanco → Consultas → Movimentos de Conta → Exportar. Choose CSV.
Trade Republic
App → Profile → Documents → Activity. Export as CSV.
Generic / Other banks
Any CSV with columns: Date, Description, Amount. The importer auto-detects column order.
2

Upload and preview

Go to Import, pick the account and format, then select your file. You'll see a preview of every row with auto-suggested categories. Rows already in the database are shown greyed out and will be skipped automatically — safe to re-upload the same file.

3

Review categories and confirm

Adjust any auto-categorised rows using the dropdown selectors, then click Confirm Import. Only new transactions are saved.

Tip — avoid duplicates: the importer fingerprints each row by date, description, amount, and account. Re-uploading a file that overlaps with a previous import is safe; duplicates are detected and skipped at both preview and confirm time.

Automate with a script

If you export your CSV on a schedule (e.g. via a cron job or n8n), you can push it directly to the import endpoint without going through the UI:

curl -X POST https://<your-host>/import/preview \
  -H "X-Auth-User-Id: <user-id>" \
  -H "X-Auth-Email: <email>" \
  -F "account_id=<account-id>" \
  -F "format=cgd" \
  -F "file=@movements.csv"

The preview endpoint returns an HTML page; for headless import pipe the confirmed rows to POST /import/confirm with the same account_id, format, raw_data, and categories[] fields.

{{end}}