requisitos
ons-2026 • 18/05/2026
Levantamento de Requisitos - Extrator OCR Palkia-GUI-PDF
Este documento descreve as especificações técnicas e funcionais para a automação da extração de dados de notas fiscais (PDF) e a conciliação com a planilha de controle de orçamento (Excel).
1. Objetivo
Automatizar o processo de conferência de faturas recebidas, extraindo dados vitais de PDFs escaneados ou digitais e realizando a marcação (“baixa”) automática na planilha Base NF delegada..xlsx, garantindo que os registros coincidam com os pagamentos efetuados.
2. Requisitos Funcionais
- RF01: Leitura de Documentos: O sistema deve ler todos os arquivos
.pdfcontidos no diretórioOracle/. - RF02: Extração de Dados via OCR: Para cada documento, o sistema deve identificar:
- Número da Nota Fiscal.
- Nome Fantasia (ou Razão Social) do Prestador.
- Valor Total da Nota.
- RF03: Conciliação Financeira: O sistema deve buscar na planilha
Base NF delegada..xlsxlinhas onde:- O valor extraído coincida com a coluna
Realizado. - O Número da Nota ou o Nome Fantasia apareça na coluna
Fato_Realizado[Lançamento].
- O valor extraído coincida com a coluna
- RF04: Atualização da Planilha: Para cada correspondência (match) encontrada:
- Preencher a coluna
observaçãocom o status “OK”. - Colorir o fundo da linha inteira de Vermelho.
- Adicionar o link do documento no SharePoint em uma nova coluna
Link SharePoint.
- Preencher a coluna
- RF05: Relatório de Divergências: Documentos não encontrados na planilha devem ser listados em um log ou adicionados como novas linhas de observação para auditoria.
3. Requisitos Não Funcionais
- RNF01: Precisão do OCR: Uso de pré-processamento de imagem (OpenCV) para melhorar a acurácia em documentos digitalizados.
- RNF02: Integridade de Dados: A planilha original deve ter sua estrutura preservada (fórmulas e outros cabeçalhos).
4. Arquitetura do Algoritmo
graph TD
A[Início] --> B[Listar PDFs na pasta Oracle/]
B --> C{Existem PDFs?}
C -- Sim --> D[Converter PDF para Imagem - pdf2image]
D --> E[Pré-processamento OpenCV - Grayscale/Threshold]
E --> F[OCR Tesseract - Extração de Texto]
F --> G[Regex para extrair: Número, Nome, Valor]
G --> H[Carregar Base NF delegada..xlsx]
H --> I[Iterar linhas da Planilha]
I --> J{Match de Valor e Descrição?}
J -- Sim --> K[Marcar OK na OBS + Pintar de Vermelho]
K --> L[Adicionar Link SharePoint]
J -- Não --> M[Registrar como Pendência]
L --> N[Próximo PDF / Salvar Planilha]
M --> N
C -- Não --> O[Fim]
N --> O
5. Bibliotecas Recomendadas
pytesseract: Interface para o motor Tesseract OCR.opencv-python(cv2): Tratamento de imagem e visão computacional.pdf2image: Conversão de páginas de PDF para objetos de imagem.openpyxl: Manipulação de arquivos Excel preservando formatação e estilos.pandas: Auxílio na manipulação de grandes volumes de dados (opcional para busca rápida).re: Expressões regulares para busca de padrões de texto.
6. Integração SharePoint (VBA)
Atualmente, o projeto conta com scripts VBA (code/AuthSharepointWordTemplate.vba) que gerenciam a autenticação e download de arquivos. O script Python pode ser configurado para consumir o mapeamento gerado por esses scripts ou operar diretamente em uma pasta sincronizada do OneDrive/SharePoint.