Skip to main content

CSV import — Payables

Import batches of payables from a CSV file.

Where it lives

There is no "Import" in the menu, and no import screen. The way in is:

Payables → the Import pill, on the listing itself.

You need a specific company selected in the header. Under "all companies", the panel only warns: "Select a specific company to import payables."

The Download template button hands you a sample CSV with the right header — the safest place to start, because it already comes in the right encoding.

CSV columns

ColumnRequiredDescription
descriptionPayable description
amountAmount in reais (e.g. 3500,00)
due_dateDue date (dd/MM/yyyy)
competence_dateCompetence date (dd/MM/yyyy)
documentDocument identifier
document_dateIssue date (dd/MM/yyyy)
document_numberInvoice number
person_namePerson/supplier name (created if it doesn't exist)
category_nameCategory name (must already exist — it is not created; an unmatched name is ignored)
cost_center_nameClassification center name (must already exist — it is not created; an unmatched name is ignored)
payment_methodMethod: boleto, pix, ted, dinheiro, cartao_credito, etc.
notesNotes
ir_relevanttrue or false
operation_kindpagamento or transferencia
barcodeBarcode (boleto or utility bill)
pix_copia_e_colaPIX Copia e Cola payload
pix_keyPIX key
pix_key_typeKey type: cpf, cnpj, email, phone, random
bank_codeBank COMPE code (TED)
bank_ispbBank ISPB (TED)
agencyBank branch
agency_digitBranch check digit
account_numberAccount number
account_digitAccount check digit
transfer_purposeTransfer purpose (TED)
tax_kindTax type: darf, gru, gps, fgts, etc.
beneficiary_nameBeneficiary name (sending to the bank)
beneficiary_documentBeneficiary CPF or CNPJ
scheduled_toDate/time to schedule the send to the bank

The names above are the canonical ones, but every header also accepts its Portuguese equivalentdescricao, valor, vencimento, fornecedor, categoria, observacao and so on. Columns the system doesn't know are ignored silently.

Format

The parser is more forgiving than it looks. You don't have to normalize the file first:

  • 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 has to be greater than zero.
  • ir_relevanttrue/false, sim/nao, yes/no, 1/0, s/y/n. Accents and case don't matter. Empty leaves the field blank.
warning

The encoding has to 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 whole-file rejections: an extension other than .csv, a size above 5 MB, an empty file, and a missing required column"Colunas obrigatórias ausentes: amount" ("Missing required columns: amount"). In those cases there is no preview: the problem is the file, not a row.

Importing

  1. Upload the file. The system reads it and shows the preview.
  2. Valid rows come pre-selected. Click a row to deselect it.
  3. Click Import N lines.

Rows with errors

Invalid rows show up in the preview with a red marker, and can't be selected or edited there. There is no fixing them inside the system. The screen itself tells you the way out: "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.

Writing happens in the background

On confirmation you get "Import started in the background" and a progress dialog. You can close the dialog — the import keeps going, and progress stays visible in the lower-right corner.

The supplier is created automatically when the name doesn't exist. Category and classification center are not created: an unmatched name leaves the field blank, with no error and no warning.

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 went in out of the total, and who asked for it.

Authorization

Imported payables fall under the payment authorization gate: they are born awaiting authorization and do not show up in the official list (nor in totals/cash flow) until someone authorizes them at Authorize payments. Only once authorized can they be sent to the bank. This applies when the gate is on (the default); off, imported rows are born official. See Lifecycle.