← Voltar para publicações Automação Python

Automação de Auditoria Financeira com Python: Uma Experiência Prática

Logo Cara Core Cara Core Informática 81 seguidores
29 de junho de 2025

Atualmente, é comum encontrarmos processos de auditoria financeira e validação de notas fiscais que são executados manualmente ou com auxílio de macros em VBA no Excel. Embora eficazes até certo ponto, essas soluções apresentam limitações significativas em termos de escalabilidade, integração e manutenção.

Este artigo compartilha minha experiência na automação de um processo de auditoria de documentos fiscais, originalmente desenvolvido em VBA, e sua modernização utilizando Python. A proposta foi transformar uma rotina repetitiva e sujeita a erros em uma solução eficiente, escalável e de fácil manutenção.

O Desafio

O processo original consistia na importação de arquivos texto (.txt) contendo registros financeiros, normalmente exportados de um sistema ERP (como SAP). O VBA realizava tarefas como:

Limitações encontradas no processo com VBA:

Por que migrar para Python?

Python se mostrou uma excelente alternativa por diversas razões:

Arquitetura da Solução em Python

[ Arquivos TXT/CSV ] → [ Leitura e Validação com pandas ] → [ Aplicação das Regras ] → [ Geração de Relatórios (Excel ou Dashboard) ]

Tecnologias utilizadas:

Principais Regras de Auditoria Aplicadas

Durante o desenvolvimento da automação, foi fundamental implementar um conjunto robusto de regras para garantir a qualidade dos dados e a conformidade fiscal. Aqui apresentamos as 4 principais regras aplicadas:

Regras Principais

Regra Descrição Objetivo
1 Descrição do material contém "Sem Número" → imposto deve ser zero. Verificar materiais genéricos ou mal cadastrados com imposto incorreto.
2 Cod. Imposto = "IN" ou (CNPJ vazio e CPF tem 9 dígitos) → imposto ≥ 11%. Detectar possíveis cadastros incompletos que indicam retenções maiores.
8 Agrupar notas fiscais onde Ctg. N = "SE" e os campos CIA, Nº NF, Nº Ordem, Nome e Total NF são iguais. Detectar documentos relacionados, permitindo análise consolidada.
11 Verificar se uma nota não possui imposto (quando valor líquido = total NF). Identificar possíveis erros de tributação (ausência de imposto).

Ao todo, foram implementadas 13 regras de auditoria que cobrem desde validações específicas até agrupamento e reconciliação de dados. O conjunto completo das regras pode ser consultado no final deste artigo.

Interface Original da Automação em VBA

Para contextualizar a evolução do processo, abaixo está a interface da automação original desenvolvida em VBA. Note como o sistema importava arquivos TXT do SAP e aplicava as regras de auditoria de forma manual:

Interface VBA da Automação Original

Interface da automação original em VBA/Excel, mostrando os 17 campos esperados e as 13 regras de auditoria implementadas.

Esta interface ilustra bem as limitações da solução anterior: dependência total do Excel, interface não intuitiva e processo semi-manual. Com Python, eliminamos essas barreiras e criamos uma solução completamente automatizada.

Implementação: Exemplo de Código

Leitura dos Dados

import pandas as pd

# Carregar arquivo txt delimitado por pipe '|'
df = pd.read_csv('notas_fiscais.txt', sep='|')

print(df.head())

Aplicação de uma Regra de Validação

Regra: Se a descrição do material contém "Sem Número", o imposto deve ser zero.

df['Erro'] = df.apply(
    lambda row: 'Imposto incorreto' 
    if 'Sem Número' in str(row['DescricaoMaterial']) and row['Imposto'] != 0 
    else '', axis=1
)

Exportação do Relatório para Excel

df.to_excel('relatorio_auditoria.xlsx', index=False)

Benefícios Alcançados

Critério Solução VBA Solução Python
Volume de Dados Limitado (~1 milhão) Milhões de registros
Desempenho Médio Alto
Integração Limitada APIs, Bancos, Web
Manutenção Difícil Simples, modular, versionável
Automatização Completa Limitada Sim, sem intervenção manual

Lições Aprendidas

Conclusão

Automatizar processos de auditoria financeira com Python não só é viável como altamente recomendável. A experiência demonstrou que é possível construir soluções robustas, escaláveis e integráveis, eliminando as limitações tradicionais do VBA no Excel.

Este é um caminho sem volta para quem busca modernizar processos, aumentar produtividade e reduzir riscos operacionais.


Curiosidade: As 13 Regras Completas de Auditoria

Para quem tem interesse técnico, aqui está o conjunto completo das 13 regras de auditoria implementadas na automação:

Tabela Completa das Regras de Auditoria

Regra Descrição Objetivo
1 Descrição do material contém "Sem Número" → imposto deve ser zero. Verificar materiais genéricos ou mal cadastrados com imposto incorreto.
2 Cod. Imposto = "IN" ou (CNPJ vazio e CPF tem 9 dígitos) → imposto ≥ 11%. Detectar possíveis cadastros incompletos que indicam retenções maiores.
3 Cod. Imposto = "XB" e imposto igual a zero. Validar se XB está aplicado incorretamente sem imposto devido.
4 Cod. Imposto = "XA" ou "YW" e descrição do material = "N 1.05" → imposto deve ser zero. Isentar corretamente serviços específicos dessa classificação.
5 Cod. Imposto = "XA" ou "YW" e descrição do material = "N 10.05" → imposto ≤ 1,5%. Validar serviços que possuem limite máximo de imposto aplicado.
6 Cod. Imposto = "XA" ou "YW" e descrição = "N 1.07" e Cod. Parceiro = 436 → imposto deve ser zero. Caso especial de isenção total para parceiro e serviço específicos.
7 Ctg. N = "SE" ou "CI". Contabilizar corretamente registros classificados como SE ou CI.
8 Agrupar notas fiscais onde Ctg. N = "SE" e os campos CIA, Nº NF, Nº Ordem, Nome e Total NF são iguais. Detectar documentos relacionados, permitindo análise consolidada.
9 Somar valor líquido para documentos agrupados por Doc Contábil e Ctg. N. Validar se os valores consolidados estão corretos entre registros.
10 Após a soma, verificar se uma nota CI cancela uma nota SE (comparando datas, horários e valores). Detectar estornos, cancelamentos ou compensações.
11 Verificar se uma nota não possui imposto (quando valor líquido = total NF). Identificar possíveis erros de tributação (ausência de imposto).
12 Identificar o tipo de imposto a partir da taxa (%). Validar se a alíquota aplicada corresponde aos impostos esperados.
13 Checar se o imposto aplicado é permitido para o número de serviço (descrição do material). Garantir que não há impostos indevidos para determinados serviços.

Observações Técnicas

Contato