ValidateFin
Voltar ao blog
Atualizado 14 de mar. de 2026SEPA9 min de leituraPor Eliel Nicaise

Conversor CSV para SEPA XML: gerar pain.001 a partir de uma folha de cálculo

Converta qualquer ficheiro CSV ou Excel num ficheiro XML SEPA pain.001 ou pain.008 válido em segundos. Veja como funciona o conversor e o que a sua folha de cálculo deve conter.

Por que gerar XML SEPA a partir de uma folha de cálculo?

A maioria dos programas de contabilidade e sistemas ERP permite exportar ordens de pagamento como CSV ou Excel. Mas os bancos exigem XML SEPA — especificamente o formato pain.001 para transferências e pain.008 para débitos diretos. A conversão manual é sujeita a erros e demorada.

Um conversor CSV para SEPA preenche esta lacuna: mapeia visualmente as colunas da sua folha de cálculo para os campos SEPA necessários, e a ferramenta gera instantaneamente um ficheiro XML válido e pronto para o banco — com validação IBAN, formatação de montantes e conformidade de namespaces.

O conversor do ValidateFin trata tanto pain.001 (transferências a crédito) como pain.008 (débitos diretos), com validação IBAN automática, formatação de montantes e conformidade de namespaces SEPA.

O que o seu CSV deve conter

O conversor requer no mínimo estas colunas (os nomes das colunas podem ser mapeados visualmente):

# CSV input (semicolon-separated)
creditor_name;creditor_iban;creditor_bic;amount;currency;reference
Supplier A;DE89370400440532013000;COBADEFFXXX;1200.00;EUR;INV-2026-001
Supplier B;FR7630006000011234567890189;BNPAFRPPXXX;350.00;EUR;INV-2026-002

# Generated pain.001 XML output
<Document>
  <CstmrCdtTrfInitn>
    <GrpHdr>
      <MsgId>MSG-20260303-001</MsgId>
      <CreDtTm>2026-03-03T09:00:00</CreDtTm>
      <NbOfTxs>2</NbOfTxs>
      <CtrlSum>1550.00</CtrlSum>
      <InitgPty><Nm>My Company</Nm></InitgPty>
    </GrpHdr>
    <PmtInf>
      <PmtInfId>PMT-001</PmtInfId>
      <PmtMtd>TRF</PmtMtd>
      <ReqdExctnDt><Dt>2026-03-05</Dt></ReqdExctnDt>
      <Dbtr><Nm>My Company</Nm></Dbtr>
      <DbtrAcct>
        <Id><IBAN>BE68539007547034</IBAN></Id>
      </DbtrAcct>
      ...
    </PmtInf>
  </CstmrCdtTrfInitn>
</Document>

Campos obrigatórios explicados

Estes 5 campos são obrigatórios em cada transação SEPA pain.001:

  • IBAN do devedorA conta a debitar — deve ser um IBAN válido (verificado por mod-97).
  • IBAN do credorA conta beneficiária — também validada por IBAN antes da geração do XML.
  • MontanteDeve ser um número decimal positivo (ex. 1500.00). A moeda é EUR por defeito.
  • Referência de pagamentoA referência comunicada ao credor — máximo 140 caracteres (EndToEndId).
  • Data de execuçãoData de execução solicitada no formato AAAA-MM-DD. Deve ser um dia útil bancário.
  • Nome do credor/devedorDenominação legal do beneficiário ou devedor — máximo 70 caracteres, sem caracteres especiais para além do conjunto de caracteres SEPA.
  • BIC (opcional)Bank Identifier Code — opcional no âmbito do SEPA desde 2016 para transferências nacionais, mas obrigatório para pagamentos transfronteiriços fora do SEPA.
  • MoedaCódigo de moeda ISO 4217 — por defeito EUR. O SEPA apenas suporta EUR para transações transfronteiriças.

Erros comuns na geração de XML SEPA

Estes são os problemas mais frequentes ao converter CSV para SEPA:

Soma de verificação IBAN inválida

Um erro de digitação no IBAN falhará a verificação mod-97. O conversor valida todos os IBANs antes de gerar o XML.

Montante com separador decimal incorreto

Use um ponto (.) como separador decimal. As vírgulas (,) causam erros de análise na maioria dos sistemas bancários.

BIC em falta para bancos fora do EEE

No âmbito do SEPA, o BIC é opcional para transferências nacionais, mas obrigatório para credores transfronteiriços ou fora do EEE.

Referências EndToEndId duplicadas

Cada pagamento num ficheiro SEPA deve ter um EndToEndId único. Referências duplicadas fazem com que o banco rejeite o lote ou as transações individuais.

Caracteres especiais nos nomes

O SEPA permite apenas um conjunto restrito de caracteres (a-z, A-Z, 0-9, e alguns caracteres especiais como / - ? : ( ) . , '). Caracteres acentuados como é, ü, ñ podem ser rejeitados.

Data de execução em dia não útil

A data de execução solicitada deve ser um dia útil TARGET2 válido. Fins de semana e feriados bancários provocam rejeição ou atraso no processamento.

Passo a passo: converter o seu CSV

Siga estes passos para gerar um ficheiro XML SEPA válido a partir da sua folha de cálculo:

  1. 1Prepare o seu CSVExporte os dados de pagamento do seu software de contabilidade ou crie um CSV com pelo menos: nome do credor, IBAN, montante e referência.
  2. 2Carregue no conversorAbra o conversor CSV para SEPA e carregue o seu ficheiro. A ferramenta deteta automaticamente os delimitadores (vírgula, ponto e vírgula, tabulação).
  3. 3Mapeie as suas colunasUse a interface visual para associar os cabeçalhos das colunas do CSV aos campos SEPA necessários. A ferramenta memoriza o seu mapeamento.
  4. 4Introduza os dados do devedorPreencha o nome da empresa, IBAN, BIC e a data de execução solicitada. Estes aplicam-se a todas as transações do lote.
  5. 5Gere e descarregueClique em gerar — a ferramenta valida todos os IBAN, formata os montantes e produz um XML pain.001 ou pain.008 válido, pronto para o seu banco.

Todo o processo demora segundos e é executado 100% no seu browser — nenhum dado é carregado para qualquer servidor.

Pain.001 vs pain.008: que formato precisa?

Pain.001 (Customer Credit Transfer Initiation) é utilizado para pagamentos de saída — envia dinheiro a fornecedores, colaboradores ou parceiros. É o caso de utilização mais comum para conversão CSV.

Pain.008 (Customer Direct Debit Initiation) é utilizado para cobrar pagamentos — retira dinheiro de clientes que assinaram um mandato de débito direto. É utilizado por serviços de subscrição, empresas de serviços públicos e organizações associativas.

O conversor do ValidateFin suporta ambos os formatos. Selecione o tipo de pagamento antes de gerar o XML e a ferramenta utilizará o namespace e a estrutura corretos.

Gere o seu ficheiro XML SEPA agora

Carregue o seu CSV, mapeie as suas colunas visualmente e descarregue um ficheiro pain.001 ou pain.008 válido em segundos. 100% gratuito, sem registo, sem dados carregados.

Abrir o conversor CSV para SEPA

Perguntas frequentes

Como converto um ficheiro CSV para o formato SEPA XML?

Carregue o seu CSV no conversor CSV para SEPA do ValidateFin, depois use a interface visual de mapeamento de colunas para associar os cabeçalhos do CSV aos campos SEPA (IBAN do devedor, IBAN do credor, montante, referência, etc.). A ferramenta gera um ficheiro XML pain.001 ou pain.008 válido.

Qual é a diferença entre pain.001 e pain.008?

Pain.001 (Customer Credit Transfer Initiation) é para transferências bancárias de saída — envia dinheiro a credores. Pain.008 (Customer Direct Debit Initiation) é para cobrar pagamentos — retira dinheiro de devedores. O conversor suporta ambos.

Preciso de formatar o meu CSV de uma forma específica?

Não. O conversor aceita qualquer formato CSV. A interface visual de mapeamento permite atribuir cada coluna ao campo SEPA correspondente. Os campos necessários incluem nome do credor/devedor, IBAN, montante, moeda e referência de pagamento.