PV

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 .pdf contidos no diretório Oracle/.
  • 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..xlsx linhas 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].
  • RF04: Atualização da Planilha: Para cada correspondência (match) encontrada:
    • Preencher a coluna observação com o status “OK”.
    • Colorir o fundo da linha inteira de Vermelho.
    • Adicionar o link do documento no SharePoint em uma nova coluna Link SharePoint.
  • 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.