CSV import — Transactions
Import transactions in bulk from a CSV file.
Where it lives
There is no "Import" in the menu, and no import screen. And, contrary to what you might expect, the Transactions screen does not import — the import lives inside the account:
Financial accounts → open the account → Import pill.
There is no destination account picker. The account is the one you are already in: every transaction in the file lands there. To import into two accounts, run two imports.
You need a specific company selected in the header, and the account must be tied to a company. In either case the panel tells you: "Select a specific company to import transactions."
The Download template button hands you a sample CSV with the right header — the safest starting point, because it already comes in the right encoding.
CSV columns
| Column | Required | Description |
|---|---|---|
data | ✅ | Transaction date |
descricao | ✅ | Transaction description |
valor | ✅ | Amount in reais, always positive |
tipo | ✅ | entrada (credit) or saida (debit) |
categoria | — | Category name (must already exist — it is not created; a name with no match is left blank) |
pessoa | — | Person name (created if it doesn't exist). Alias: cliente_fornecedor |
centro_custo | — | Classification center name (must already exist — it is not created). Alias: centro_de_custo |
documento | — | Document identifier |
observacao | — | Notes |
This file's header is in Portuguese, and only in Portuguese. Unlike the payables and receivables CSV — which takes both description and descricao — here the canonical names are the Portuguese ones and there is no English equivalent. A file with description, amount and date is refused whole, for a missing required column.
Columns the system doesn't know are ignored silently.
Format
- Header — case, accents and spaces don't matter:
Descrição,DESCRICAOanddescricaoare the same column. - Separator —
,or;, detected from the header line. On a tie,;. - Dates —
31/12/2026,31-12-2026or2026-12-31. - Amounts —
1234.56,1.234,56,1234,56, with or withoutR$. The amount must be greater than zero: what decides credit or debit is thetipocolumn, never the sign of the amount.
The encoding must be UTF-8, and this is where most files trip up. Excel in Portuguese saves CSV as Windows-1252 by default, and the system refuses it with a message that stays in Portuguese: "Arquivo não está em UTF-8. Salve novamente em UTF-8 e tente novamente." ("The file is not UTF-8. Save it again as UTF-8 and try once more.") In Excel, use Save as → CSV UTF-8; or start from the downloaded template.
Other refusals of the whole file: an extension other than .csv, a size above 5 MB, an empty file, and a missing required column — "Colunas obrigatórias ausentes: tipo" ("Missing required columns: tipo"). In those cases there is no preview: the problem is the file's, not a row's.
Import
- Upload the file. The system reads it and shows the preview.
- Valid rows come already checked. Click a row to uncheck it.
- Click Import N lines.
Rows with errors
Invalid rows show in the preview with a red marker, and cannot be selected or edited there. There is no fixing them inside the system. The screen itself spells out the path: "Uncheck the rows with errors or fix them in the file and upload again."
The number in Row N is the line number in the file, counting the header — the first data line is 2.
The write runs in the background
On confirmation you get "Import started in the background" and a progress dialog. You can close the dialog — the import carries on, and the progress stays visible in the bottom-right corner.
Links
The person is created automatically when the name doesn't exist. Category and classification center are not created: a name with no match leaves the field blank, with no error and no warning.
The automatic rules are applied to the imported records.
History
Below the panel, the History section lists the imports with date, file, status (Queued, Running, Completed, Failed, Cancelled), how many rows landed out of the total, and who asked for it.