Sistema completo para processamento, validação e envio de notas fiscais com integração de IA para extração automática de dados.
- Upload de PDFs: Processamento de múltiplos arquivos PDF de notas fiscais
- Upload de Excel: Comparação com planilhas Excel para validação
- Extração automática: Dados extraídos automaticamente usando IA (OpenAI GPT-4)
- Busca de notas enviadas: Filtro por competência para visualizar notas já enviadas
- Validação cruzada: Comparação entre dados do PDF e planilha Excel
- Interface responsiva: Design moderno com Tailwind CSS
- Validação por email: Sistema de 3 etapas com token de validação
- Upload de PDF: Anexo de arquivo PDF da nota fiscal
- Extração automática: Dados extraídos automaticamente usando IA
- Salvamento completo: Todos os dados são salvos no servidor
- Visualização dos dados: Interface mostra todos os dados extraídos
O sistema extrai automaticamente os seguintes dados das notas fiscais:
- Prestador de Serviços (Razão Social)
- CNPJ do prestador
- Número da Nota Fiscal
- Valor dos Serviços
- Data da Nota Fiscal
- Competência
- ISS Retido
- Valor Líquido (calculado automaticamente)
- Upload de PDFs → Extração automática de dados
- Upload de Excel → Comparação e validação
- Busca por competência → Visualização de notas enviadas
- Análise de convergência/divergência
- Informar email → Token enviado
- Validar token → Acesso liberado
- Preencher dados + anexar PDF → Envio
- Dados extraídos automaticamente → Salvamento
- Visualização dos dados extraídos
- React 18 - Interface de usuário
- React Router DOM - Navegação entre páginas
- React Dropzone - Upload de arquivos
- XLSX - Processamento de planilhas Excel
- Tailwind CSS - Estilização moderna
- Go - Servidor backend
- Gin - Framework web
- OpenAI GPT-4 - Extração de dados de PDFs
- Poppler-utils - Conversão PDF para imagem
Crie um arquivo .env
na raiz do projeto:
# Configurações do Backend
OPENAI_API_KEY=sua_chave_openai_aqui
# Configurações do Frontend
REACT_APP_API_URL=http://localhost:8080
Backend:
cd backend
go mod download
Frontend:
cd frontend
npm install
macOS:
brew install poppler
Ubuntu/Debian:
sudo apt-get install poppler-utils
Backend:
cd backend
go run main.go
Frontend:
cd frontend
npm start
POST /upload
- Upload e processamento de PDFsGET /buscar-notas-fiscais?competencia=MM/AAAA
- Busca notas por competência
POST /send-validation-token
- Envio de token de validaçãoPOST /validate-token
- Validação do tokenPOST /save-nota-fiscal
- Salvamento da nota fiscal
validaNotaFiscal/
├── backend/
│ ├── handlers/
│ │ ├── handler.go # Processamento de PDFs
│ │ └── email_handlers.go # Envio e busca de notas
│ ├── main.go # Servidor principal
│ └── uploads/ # Arquivos salvos
├── frontend/
│ ├── src/
│ │ ├── components/
│ │ │ ├── NfValidator.jsx # Processamento de notas
│ │ │ ├── EnviaNotaFiscal.jsx # Envio de notas
│ │ │ └── Navigation.jsx # Navegação
│ │ └── App.js # Rotas principais
│ └── package.json
└── README.md
- Obtenha sua chave em: https://platform.openai.com/api-keys
- Configure no arquivo
.env
- Backend: 8080
- Frontend: 3000
- Configurado automaticamente no backend
- Aceita requisições de qualquer origem em desenvolvimento
- Filtro por período (MM/AAAA)
- Visualização em tabela organizada
- Contador de resultados
- Botão para limpar busca
- Email do remetente
- Número da nota fiscal
- Prestador de serviços
- CNPJ
- Valores (serviços e ISS)
- Data da nota
- Contabilidade: Processamento em lote de notas fiscais
- Empresas: Validação de notas recebidas
- Auditoria: Comparação entre sistemas
- Compliance: Verificação de dados fiscais
- Validação por email obrigatória
- Tokens com expiração (10 minutos)
- Validação de tipos de arquivo (apenas PDF)
- Sanitização de dados de entrada
- Banco de dados para persistência
- Sistema de usuários e permissões
- Relatórios e exportação
- Notificações por email
- API para integração com outros sistemas