Skip to main content

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.

note

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

ColumnRequiredDescription
dataTransaction date
descricaoTransaction description
valorAmount in reais, always positive
tipoentrada (credit) or saida (debit)
categoriaCategory name (must already exist — it is not created; a name with no match is left blank)
pessoaPerson name (created if it doesn't exist). Alias: cliente_fornecedor
centro_custoClassification center name (must already exist — it is not created). Alias: centro_de_custo
documentoDocument identifier
observacaoNotes
warning

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, DESCRICAO and descricao are the same column.
  • Separator, or ;, detected from the header line. On a tie, ;.
  • Dates31/12/2026, 31-12-2026 or 2026-12-31.
  • Amounts1234.56, 1.234,56, 1234,56, with or without R$. The amount must be greater than zero: what decides credit or debit is the tipo column, never the sign of the amount.
warning

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

  1. Upload the file. The system reads it and shows the preview.
  2. Valid rows come already checked. Click a row to uncheck it.
  3. 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.

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.