Consolide notas fiscais eletrônicas em segundos. Extraia dados de arquivos XML e gere planilhas profissionais automaticamente.
- ✅ Processamento em lote - Processa múltiplos XMLs de uma vez
- ✅ Extração automática - Chave, datas, CNPJ/CPF, empresa, número e valor
- ✅ Interface gráfica - Aplicativo desktop amigável em Tkinter
- ✅ Sem configuração - Selecione pasta e gere a planilha
- ✅ Portável - Executáveis disponíveis para Windows (32 e 64 bits)
- ✅ Resistente a erros - Continua processando mesmo se um XML falhar
- Python 3.11+ (caso execute o código-fonte)
- Windows, macOS ou Linux
- Dependências:
pandas- Manipulação de dadosopenpyxl- Geração de planilhas Excelpyinstaller- Empacotamento (apenas para compilar)
- Baixe o executável em Releases
- Descompacte o arquivo
- Execute
NF-e-Consolidator.exeouNF-e-Consolidator-x86.exe(32 bits) - ✅ Pronto!
-
Clone o repositório:
git clone https://github.com/PedroNettoDs/NF-e-Consolidator.git cd NF-e-Consolidator -
Crie um ambiente virtual (opcional, mas recomendado):
python -m venv venv # Windows venv\Scripts\activate # macOS/Linux source venv/bin/activate
-
Instale as dependências:
pip install -r requirements.txt
-
Execute o aplicativo:
python app.py
Coloque todos os arquivos XML de NF-e em uma pasta:
minha_pasta_notas/
├── nf_001.xml
├── nf_002.xml
├── nf_003.xml
└── ...
Execute o programa (executável ou python app.py)
- Clique em "Selecionar Pasta" e escolha a pasta com os XMLs
- Clique em "Gerar XLSX"
- Aguarde a conclusão - a planilha será salva com o nome
Resultado.xlsxna mesma pasta
Abra Resultado.xlsx no Excel, Google Sheets ou similar
O arquivo Resultado.xlsx contém as seguintes colunas:
| Campo | Descrição |
|---|---|
| Chave | Chave de acesso da NF-e |
| Emissão | Data de emissão |
| Emitente CNPJ/CPF | CNPJ ou CPF do emitente |
| Emitente | Razão social da empresa emitente |
| Destinatário CNPJ/CPF | CNPJ ou CPF do destinatário |
| Destinatário | Razão social da empresa destinatária |
| Número | Número da nota fiscal |
| Valor | Valor total da nota |
Se deseja criar seu próprio executável:
pip install pyinstaller
pyinstaller --onefile --windowed app.pyInstale Python 32 bits e repita o comando acima.
Verifique a arquitetura do Python:
python -c "import struct; print(struct.calcsize('P')*8)"Os executáveis estarão em dist/
NF-e-Consolidator/
├── app.py # Aplicativo principal com interface GUI
├── app.spec # Configuração para PyInstaller
├── requirements.txt # Dependências Python
├── README.md # Este arquivo
└── dist/ # Executáveis compilados (após build)
- Verifique se os arquivos têm extensão
.xml(minúsculas) - Certifique-se de que estão na pasta selecionada
- O arquivo XML pode estar corrompido
- Verificar o console para mensagens de erro específicas
- O programa continua processando outros arquivos
- Feche
Resultado.xlsxantes de gerar uma nova versão
- Verifique se tem Python 3.11+ instalado
- Tente executar do código-fonte para ver mensagens de erro
Contribuições são bem-vindas! Para ajudar:
- Faça um Fork do projeto
- Crie uma branch para sua feature (
git checkout -b feature/MinhaFeature) - Commit suas mudanças (
git commit -m 'Adiciona MinhaFeature') - Push para a branch (
git push origin feature/MinhaFeature) - Abra um Pull Request
- Suporte a outros formatos (CSV, JSON)
- Filtros avançados de dados
- Suporte a múltiplos idiomas
- Melhorias na interface
- Testes automatizados
Este projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.
Encontrou um bug ou tem uma sugestão? Abra uma Issue
- Comunidade Python
- Documentação do Tkinter, pandas e openpyxl
- Todos que contribuem com feedback
Desenvolvido por Pedro Netto
Última atualização: Abril 2026