ValidateFin
Voltar ao blog
BAI2 → camt.0536 min de leituraPor Eliel Nicaise

BAI2 para camt.053: extratos bancários dos EUA e Canadá

O BAI2 é o formato de extrato bancário dominante nos EUA e no Canadá. Veja a correspondência com ISO 20022 camt.053 e converta-o gratuitamente no navegador.

Valide o seu ficheiro agora

Grátis, instantâneo e 100% no seu navegador - nenhum ficheiro é enviado.

Abrir o BAI2 Viewer & Converter

O que é um ficheiro BAI2?

O BAI2 é o formato "Cash Management Balance Reporting" publicado pelo Bank Administration Institute (BAI). A versão 2 foi lançada em 1987 e continua a ser o formato de extrato bancário de fim de dia dominante nos Estados Unidos e no Canadá — o equivalente norte-americano do SWIFT MT940 europeu. Os bancos utilizam-no para entregar o reporte de saldos e de transações a sistemas ERP e de tesouraria.

Um ficheiro BAI2 é uma hierarquia de registos numéricos, cada um escrito como uma linha delimitada por vírgulas e terminada por uma barra (/): um 01 File Header envolve um ou mais 02 Group Headers, cada grupo envolve um ou mais 03 Account Identifiers, e cada conta contém as suas linhas 16 Transaction Detail (com registos 88 Continuation quando uma linha transborda). Duas particularidades do BAI2 confundem quem começa: os montantes são expressos em unidades menores inteiras, sem separador decimal (10000 significa 100.00 numa moeda de 2 casas decimais como USD ou EUR, mas 100 unidades inteiras em JPY, e 10.000 numa moeda de 3 casas decimais como KWD ou BHD), e o sentido débito/crédito não é uma marca, mas um código de tipo numérico — 100–399 para créditos, 400–699 para débitos.

Tal como o MT940, o BAI2 não tem esquema XSD, pelo que a verificação de integridade fundamental é aritmética. O 03 Account Identifier transporta os saldos por código numérico — 010 para o saldo contabilístico de abertura e 015 para o saldo contabilístico de fecho (040/045 são saldos disponíveis) — e um ficheiro bem formado reconcilia: o saldo contabilístico de abertura mais o líquido de todas as transações deve ser igual ao saldo contabilístico de fecho. Um ficheiro que não reconcilia perdeu, duplicou ou atribuiu o sinal errado a uma linha.

Os registos dentro de um ficheiro BAI2

Um ficheiro BAI2 é construído a partir de um pequeno conjunto de códigos de registo numéricos que se aninham sempre pela mesma ordem. Eis os que transportam o ficheiro, os grupos, as contas, os saldos e as transações.

01 — File Header

Abre o ficheiro. Transporta os identificadores do remetente e do destinatário, a data e a hora de criação e um número de identificação do ficheiro.

02 — Group Header

Inicia um grupo de contas para uma origem/destino e uma data de referência. Um ficheiro pode conter vários grupos.

03 — Account Identifier

Identifica a conta e lista os seus saldos por código numérico: 010 saldo contabilístico de abertura, 015 saldo contabilístico de fecho, 040/045 saldos disponíveis, cada um com um montante em unidades menores inteiras.

16 — Transaction Detail

Um registo por transação: um código de tipo numérico que define o sentido (100–399 crédito, 400–699 débito), o montante em unidades menores inteiras, uma referência bancária e uma descrição em texto.

88 — Continuation

Dá continuação ao registo anterior quando o seu conteúdo excede uma linha — na maioria das vezes o detalhe em texto livre de uma transação 16.

49 / 98 / 99 — Trailers

Fecham cada nível e transportam os totais de controlo: 49 o Account Trailer, 98 o Group Trailer e 99 o File Trailer no final.

Como o BAI2 corresponde ao ISO 20022 camt.053

O camt.053 (Bank-to-Customer Statement) é a substituição moderna do BAI2 em XML ISO 20022. Onde o BAI2 condensa um saldo num registo conciso como 03,123456789,USD,010,10000,,,015,12500,,/, o camt.053 exprime a mesma informação como elementos <Bal> estruturados com códigos de tipo explícitos (OPBD para o saldo de abertura, CLBD para o saldo de fecho), um montante com atributo de moeda, um indicador de crédito/débito e uma data. É XML, muito mais rico do que o BAI2, e validado contra um XSD oficial em vez de reconciliado à mão.

A correspondência é direta no essencial: o 03 Account Identifier torna-se a conta camt.053 mais os seus blocos de saldo OPBD e CLBD, e cada 16 Transaction Detail torna-se um <Ntry> (lançamento contabilizado) com o seu montante, a sua data de contabilização, a sua descrição como informação de remessa e — de forma crucial — um CdtDbtInd derivado do código de tipo BAI2 (100–399 → crédito, 400–699 → débito). O montante em unidades menores inteiras é reescalado para um decimal correto utilizando o número de casas decimais da moeda.

É por isto que a migração importa na prática: as plataformas modernas de ERP e de tesouraria (SAP, Kyriba e outras) padronizam cada vez mais no camt.053 para a importação de extratos, independentemente de onde a conta é mantida. As equipas financeiras norte-americanas assentes em fluxos BAI2 precisam de uma forma fiável de os converter, para que o mesmo extrato circule pelo mesmo pipeline ISO 20022 que as suas contas europeias.

Converter BAI2 para camt.053 sem carregar os seus dados

Uma conversão só é útil se o resultado for um camt.053 válido que o seu ERP aceite efetivamente. A chave está em transportar os saldos reais de abertura e de fecho diretamente dos códigos 010/015, reescalar os montantes em unidades menores inteiras usando as casas decimais da moeda para que 10000 USD se torne 100.00, e derivar o indicador de débito/crédito fielmente a partir de cada código de tipo 16 — um código 400–699 torna-se um lançamento a débito, um código 100–399 um lançamento a crédito — para que nada fique com o sinal errado. Os intervalos ambíguos (700+ empréstimos, 900+ códigos personalizados específicos do banco) são sinalizados em vez de adivinhados.

Tão importante quanto isto é o que NÃO envia para lado nenhum. Um extrato bancário são dados sensíveis: números de conta, contrapartes, montantes. A ValidateFin processa e converte o BAI2 inteiramente no seu navegador — o ficheiro nunca sai da sua máquina, não há carregamento e nada é armazenado num servidor. É essa a diferença entre um rápido colar-e-converter e enviar um extrato por email para um serviço de terceiros.

Antes de converter, a ferramenta também reconcilia o extrato: o saldo contabilístico de abertura (010) mais o líquido das transações deve ser igual ao saldo contabilístico de fecho (015). Se não coincidirem, recebe um aviso em vez de um camt.053 silenciosamente incorreto — a mesma verificação aritmética que um analista de tesouraria cuidadoso faria à mão.

Converta já o seu BAI2 para camt.053

Coloque o seu ficheiro BAI2 no visualizador BAI2 da ValidateFin para ver os saldos e as transações, e depois exporte um extrato camt.053.001.02 válido — inteiramente no seu navegador. Nenhum ficheiro BAI2 é alguma vez carregado para um servidor.

Abrir o visualizador e conversor BAI2

Perguntas frequentes

O que é um ficheiro BAI2?

O BAI2 é o formato Cash Management Balance Reporting do Bank Administration Institute, versão 2, lançado em 1987. É o formato de extrato bancário de fim de dia dominante nos Estados Unidos e no Canadá — o equivalente norte-americano do SWIFT MT940 europeu.

Qual é a diferença entre BAI2 e MT940?

Ambos são formatos de extrato bancário em texto, herdados e sem esquema. O MT940 é a norma SWIFT usada sobretudo na Europa, com campos marcados por etiquetas com dois-pontos e uma marca de letra para débito/crédito. O BAI2 domina nos EUA e no Canadá, usando códigos de registo numéricos aninhados (01/02/03/16…) e um código de tipo numérico — não uma marca — para o sentido. Ambos estão a ser substituídos pelo ISO 20022 camt.053.

Posso converter BAI2 para camt.053 gratuitamente?

Sim. A ferramenta BAI2 da ValidateFin lê um ficheiro BAI2 e exporta um extrato camt.053.001.02 válido gratuitamente, inteiramente no seu navegador. Sem registo e sem carregamento.

O meu extrato bancário é carregado para um servidor?

Não. O ficheiro BAI2 é lido, processado e convertido inteiramente no seu navegador com JavaScript. Nenhum dado do extrato é alguma vez enviado para um servidor ou nele armazenado.

Como é que o BAI2 codifica um débito ou um crédito?

Pelo código de tipo numérico no registo 16 Transaction Detail, não por uma marca: 100–399 são créditos e 400–699 são débitos. Os códigos 700 e superiores (empréstimos) e 900 e superiores (códigos personalizados específicos do banco) são ambíguos e não podem ser classificados apenas pelo intervalo.

Como sei que um ficheiro BAI2 está correto?

O BAI2 não tem esquema, pelo que a verificação fundamental é aritmética: o saldo contabilístico de abertura (código 010) mais o líquido de todas as transações deve ser igual ao saldo contabilístico de fecho (código 015). Se não reconciliar, uma linha foi perdida, duplicada ou ficou com o sinal errado.

Porquê converter BAI2 para camt.053?

O camt.053 é o extrato XML ISO 20022, validado contra um esquema oficial e muito mais rico do que os registos numéricos concisos do BAI2. Os sistemas modernos de ERP e de tesouraria (SAP, Kyriba) importam cada vez mais apenas camt.053, pelo que converter o BAI2 permite que as contas norte-americanas circulem pelo mesmo pipeline que as europeias.

O conversor lida com ficheiros com várias contas?

Sim. O parser lê todos os grupos e contas (02/03) do ficheiro e o visualizador mostra cada um; a exportação camt.053 abrange a primeira conta — o caso comum de migração um-ficheiro-uma-conta.