O Analisador de extratos bancarios e uma biblioteca Python de codigo aberto que analisa extratos bancarios de seis formatos em DataFrames pandas estruturados. Todo o processamento acontece localmente -- zero chamadas de rede, saida deterministica e mascaramento automatico de PII.
Para quem e?
- Equipes de tesouraria migrando de MT940 para CAMT.053 que precisam de um parser que lide com formatos antigos e novos durante a transicao.
- Desenvolvedores fintech construindo pipelines de reconciliacao, relatorios ou contabilidade que querem uma unica dependencia em vez de costurar mt940 + ofxparse + logica CSV personalizada.
- Equipes de conformidade que precisam de mascaramento de PII por padrao e saida deterministica pronta para auditoria que nunca envia dados para servicos externos.
- Qualquer pessoa que se recusa a enviar dados financeiros sensiveis para um SaaS de terceiros quando uma ferramenta local de codigo aberto pode fazer o trabalho.
Formatos suportados
| Formato | Padrao | Tipos de arquivo | Classe parser |
|---|---|---|---|
| CAMT.053 | ISO 20022 Extrato banco-para-cliente | .xml |
CamtParser |
| PAIN.001 | ISO 20022 Iniciacao de transferencia de credito | .xml |
Pain001Parser |
| CSV | Exportacoes bancarias genericas | .csv |
CsvStatementParser |
| OFX | Open Financial Exchange | .ofx |
OfxParser |
| QFX | Quicken Financial Exchange | .qfx |
QfxParser |
| MT940 | Padrao SWIFT | .mt940, .sta |
Mt940Parser |
Todos os formatos produzem DataFrames pandas normalizados com nomes de colunas consistentes, tornando o processamento posterior independente de formato.
Capacidades principais
- Deteccao automatica de formato:
detect_statement_format()identifica o formato;create_parser()instancia o parser correto. - Analise streaming: Processe arquivos grandes (50 MB+, 50K+ transacoes) com memoria limitada usando
parse_streaming(). - Processamento paralelo: Analise multiplos arquivos simultaneamente com
parse_files_parallel()usando ProcessPoolExecutor. - Deduplicacao: Detecte duplicatas exatas e correspondencias suspeitas com scores de confianca explicaveis.
- Analise em memoria:
from_string()efrom_bytes()para fluxos SFTP e API sem operacoes de I/O em disco. - Processamento seguro de ZIP:
iter_secure_xml_entries()com limites de taxa de compressao, limites de tamanho de entrada e rejeicao de entradas criptografadas. - Exportacao: CSV, JSON, Excel (
.xlsx) e DataFrames Polars opcionais.
Seguranca e privacidade
- Mascaramento de PII: Nomes, IBANs e enderecos sao mascarados por padrao na saida CLI. Ative com
--show-pii. - Protecao XXE: A analise XML usa
resolve_entities=False,no_network=True,load_dtd=False. - Protecao contra bombas ZIP: Limites de taxa de compressao (100:1 padrao), limites de tamanho de entrada (10 MB), rejeicao de entradas criptografadas.
- Prevencao de travessia de caminho: Lista de bloqueio de padroes perigosos e resolucao de links simbolicos.
- Seguranca da cadeia de suprimentos: Dependencias bloqueadas com hash SHA-256, SBOM CycloneDX, atestacao de procedencia de build.
Desempenho
| Metrica | Valor |
|---|---|
| Throughput CAMT.053 | 27.000+ transacoes/s |
| Throughput PAIN.001 | 52.000+ transacoes/s |
| Latencia por transacao (CAMT) | 37 microssegundos |
| Latencia por transacao (PAIN.001) | 19 microssegundos |
| Tempo ate o primeiro resultado | < 2 ms |
| Escalonamento de memoria (1K-50K transacoes) | Constante (streaming) |
| Cobertura de testes | 100% cobertura de branches |
| Testes | 467 em 29 arquivos de teste |
Comece a construir
Comece com instalacao e exemplos ❯
"Repositorio GitHub"