Skip to content

Repository files navigation

🤖 ContractOps AI — Automação de Cadastramento de Contratos

RPA corporativo com UiPath REFramework, validação de regras de negócio, FastAPI e Torre de Controle

UiPath FastAPI Python Flask Chart.js

Testes Workflows UiPath Licença MIT Demonstração ao Vivo

Uma solução empresarial de automação que recebe contratos corporativos, valida CNPJ, vigência, valores e duplicidade via API REST em tempo real, cadastra no ERP legado com seletores resilientes e consolida telemetria operacional na Torre de Controle.

🌐 Acesse a demonstração interativa ao vivo: ContractOps AI — Cadastramento Inteligente de Contratos


Demonstração do Robô UiPath em Execução - ContractOps AI

Visão geral

O projeto representa uma esteira crítica de Gestão e Cadastramento de Contratos Corporativos (Suprimentos, Compras e Contas a Pagar). O processo manual de recepção de documentos, conferência cadastral e digitação no ERP legado — que demandava em média 45 minutos por contrato — é executado de forma totalmente autônoma pelo robô em 23 segundos (-98,4% no tempo de ciclo).

Entrada Processamento Resultado
📄 Contratos em PDF / Propostas 🤖 UiPath REFramework + Regras de Negócio ✅ Contrato Registrado no ERP
🏢 Base de Fornecedores Homologados ⚡ Validação REST FastAPI em Tempo Real 🛡️ Bloqueio Preventivo de Compliance
📬 Fila Orchestrator / Webhook 🖥️ Digitação com Seletores Resilientes 📊 Telemetria na Torre de Controle

Importante: A solução conta com uma aplicação web completa integrando Landing Page institucional, Simulador Visual Interativo com preenchimento em tempo real do ERP, Portal ERP Legado para o robô atuar e Torre de Controle Executiva (Control Tower) com KPIs de SLA e AHT. A automação real está nos workflows UiPath Studio, iniciando pelo Main.xaml.


Demonstração interativa

Acesse a demonstração interativa online publicada no Vercel:
👉 ContractOps AI — Cadastramento Inteligente de Contratos

A aplicação web disponibiliza uma experiência completa antes e depois da automação:

  • Landing Page Institucional: Apresentação da solução com design system All-Black (Linear/Vercel) e métricas-chave;
  • Simulador Visual Passo a Passo: Permite selecionar diferentes propostas de contratos, visualizar cada etapa da automação, inspecionar a validação do CNPJ e assistir à digitação robótica simulada no formulário do ERP em tempo real;
  • Torre de Controle (Control Tower Dashboard): Visão executiva com indicadores de SLA, TMA, horas de trabalho economizadas, gráficos de throughput temporal e distribuição de desfechos operacionais;
  • Portal ERP Legado: Sistema web simulando o ambiente corporativo com suporte a injeção de falhas (modo de indisponibilidade 503) e seletores semânticos resilientes.

Acessar Demonstração ao Vivo Deploy with Vercel

Para rodar o ambiente completo de desenvolvimento local com o servidor Flask e banco de dados:

# Iniciar a aplicação web integrada:
python webapp/app.py

Em seguida, acesse http://localhost:5000 no seu navegador.


Fluxo da automação

flowchart LR
    A[📄 Contrato Recebido] --> B[🤖 UiPath REFramework]
    B --> C[⚡ Validação REST API]
    C --> D{🛡️ Regras Válidas?}
    D -->|Sim| E[🖥️ Digitação no ERP Legado]
    D -->|Não| F[⚠️ Business Exception]
    E --> G[✅ PROCESSED]
    F --> H[📋 Incidente Registrado]
    G --> I[(📊 Banco de Dados & Auditoria)]
    H --> I
    I --> J[📈 Torre de Controle Control Tower]
Loading

Regras verificadas

Verificação Critério Ação quando viola regra
Formato e Extração Leitura de metadados do documento Desvio para triagem / exceção técnica
Duplicidade Contrato já registrado na base Rejeição imediata (DUPLICATE_CONTRACT)
Homologação Fornecedor ativo na base corporativa Bloqueio preventivo (VENDOR_NOT_FOUND)
Compliance Ausência de restrições cadastrais Bloqueio de compliance (VENDOR_BLOCKED)
Vigência Término posterior à data de início Rejeição de regra (INVALID_DATE_RANGE)
Valor Financeiro Montante estritamente positivo Rejeição de regra (INVALID_CONTRACT_VALUE)
Todas as regras válidas Validação completa pela API REST Cadastro automático no ERP legado (PROCESSED)

Componentes principais

Componente Tecnologia Responsabilidade
Main.xaml UiPath Studio Máquina de estados REFramework (Init, Get, Process, End)
InvokeApi.xaml UiPath (HttpClient) Integração REST com autenticação e telemetria
RegisterContract.xaml UiPath (UI Automation) Digitação resiliente dos campos no formulário ERP
api/app/main.py FastAPI + Pydantic API corporativa com 26 endpoints e validação de regras
webapp/app.py Flask + Jinja2 + Chart.js Landing page, simulador interativo, ERP legado e Torre de Controle
tests/ pytest (Python) Suíte com 26 testes automatizados de backend e interface

Comparativo de impacto (AS-IS vs. TO-BE)

Métrica de Negócio Processo Manual (AS-IS) Automação ContractOps AI (TO-BE) Impacto / Ganho Obtido
Tempo Médio por Contrato (TMA) 45 minutos 23 segundos -98,4% de tempo de ciclo
Taxa de Erro de Digitação ~8,5% 0,0% (Validação via API) Eliminação total de retrabalho
Aderência a SLAs Contratuais 72,0% 99,2% +27,2 pontos percentuais
Rastreabilidade e Compliance Planilhas e e-mails dispersos Trilha imutável em banco relacional 100% de auditabilidade
Detecção de Renovação Automática Manual / Amostral 100% extraído e parametrizado Mitigação de passivos jurídicos

5. Máquina de Estados UiPath REFramework

A máquina de estados implementada em rpa/ContractOps/Main.xaml segue rigorosamente a arquitetura empresarial padrão UiPath, composta por 4 estados e 10 transições:

stateDiagram-v2
    [*] --> Inicializacao : Início da Execução

    state Inicializacao {
        InitAllSettings --> CarregarConfig
        CarregarConfig --> InitAllApplications
        InitAllApplications --> TestarConexoes
    }

    Inicializacao --> ObterTransacao : Sucesso (SystemException Is Nothing)
    Inicializacao --> FinalizarProcesso : Falha Fatal de Inicialização

    state ObterTransacao {
        ConsultarFilaOrchestrator --> VerificarItem
    }

    ObterTransacao --> ProcessarTransacao : Item Disponível (New Transaction)
    ObterTransacao --> FinalizarProcesso : Fila Vazia (No Data)
    ObterTransacao --> FinalizarProcesso : Erro Crítico na Fila

    state ProcessarTransacao {
        ValidarRegras --> ValidacaoGate
        state ValidacaoGate <<choice>>
        ValidacaoGate --> RegistrarERP : IsValid == True
        ValidacaoGate --> ExcecaoNegocio : IsValid == False (4xx)
        RegistrarERP --> AtualizarAuditoriaSucesso
    }

    ProcessarTransacao --> ObterTransacao : Sucesso (Incrementa TxnNumber, Limpa TxnID)
    ProcessarTransacao --> ObterTransacao : Exceção de Negócio (Sem Retry, Despacha Incidente)
    ProcessarTransacao --> Inicializacao : Exceção de Sistema (Retry < MaxRetries, Preserva TxnID, Executa KillProcess)
    ProcessarTransacao --> FinalizarProcesso : Exceção de Sistema (Retry >= MaxRetries Excedido)

    state FinalizarProcesso {
        CloseAllApplications --> FecharSessoes
        FecharSessoes --> GerarRelatorioFinal
    }

    FinalizarProcesso --> [*] : Término Gracioso
Loading

Arquitetura UiPath REFramework


6. Matriz de Casos de Teste Operacionais

O ecossistema implementa 8 cenários de teste automatizados cobrindo tanto o caminho feliz quanto cenários de estresse, falha e validação de regras:

Caso de Teste Contrato / Referência Condição de Entrada Regra Validada Resultado Esperado do Robô
TC-001 CTR-2026-0001 Fornecedor Ativo, R$ 145.000, Datas válidas Caminho Feliz Padrão Valida na API, digita no ERP legado e grava PROCESSED.
TC-002 CTR-2026-0001 Contrato repetido com mesmo ID DUPLICATE_CONTRACT BusinessRuleException imediata, sem retry, gera incidente.
TC-003 CTR-2026-0005 CNPJ não cadastrado no banco VENDOR_NOT_FOUND BusinessRuleException, recusa digitação no ERP.
TC-004 CTR-2026-0006 Data Término anterior à Data Início INVALID_DATE_RANGE BusinessRuleException disparada pelo validador.
TC-005 CTR-2026-0007 Valor negativo (-R$ 50.000) INVALID_CONTRACT_VALUE BusinessRuleException, bloqueio antes da digitação.
TC-006 CTR-2026-9999 Fornecedor com restrição judicial VENDOR_BLOCKED Bloqueio preventivo de compliance / compras.
TC-007 CTR-2026-0008 Documento com OCR borrado (Conf. 0.62) Limiar de Confiança < 0.85 Desvia para o UiPath Action Center (Human-in-the-Loop).
TC-008 CTR-2026-0002 Timeout de rede / Erro 503 no ERP Falha Técnica Transitória Lança SystemException, tira screenshot, fecha browser e retenta.

7. Estrutura do Repositório

contractops-ai/
├── api/                               # Microsserviço Backend em FastAPI
│   ├── app/
│   │   ├── api/v1/                   # Endpoints REST (/contracts, /vendors, /incidents, /transactions)
│   │   ├── core/                     # Configurações, conexão com banco e logging estruturado
│   │   ├── models/                   # Entidades relacionais do SQLAlchemy (PostgreSQL / SQLite)
│   │   ├── schemas/                  # Esquemas Pydantic tipados com validações estritas
│   │   └── services/                 # Regras de negócio, cálculo de KPIs e serviços de IA
│   └── tests/                        # Testes unitários e de integração (pytest com 93% de cobertura)
├── rpa/                               # Projeto UiPath Studio (REFramework Modern Windows)
│   └── ContractOps/
│       ├── Components/               # Módulos XAML atômicos (InvokeApi, RegisterContract, etc.)
│       ├── Config/                   # Config.json (Parâmetros, URLs e limiares operacionais)
│       ├── Framework/                # Máquina de estados REFramework (Init, Process, Retry, Kill)
│       ├── Main.xaml                 # State Machine principal com 4 estados e 10 transições
│       └── project.json              # Metadados e dependências UiPath 2024.10
├── webapp/                            # Portal Web do ERP Legado Corporativo
│   ├── static/css/theme.css          # Design system moderno em tons de ardósia suave
│   ├── templates/                    # Telas Jinja2 em português (Dashboard com Chart.js, etc.)
│   └── app.py                        # Servidor da aplicação web com simulação de queda (503)
├── scripts/                           # Utilitários de simulação e validação
│   ├── rpa_simulator.py              # Simulador ponta a ponta do robô REFramework via terminal
│   └── validate_uipath_project.py    # Validador de integridade sintática e arquitetural de XAMLs
└── tests/                             # Testes automatizados dos 8 cenários de RPA

8. Guia Rápido de Instalação e Execução

8.1 Pré-requisitos

  • Python 3.12 ou 3.13 instalado
  • Git configurado

8.2 Clonar o Repositório e Instalar Dependências

git clone https://github.com/geovatatsuga/contractops-ai.git
cd contractops-ai

python -m venv .venv
# Windows:
.venv\Scripts\activate
# Linux/macOS:
source .venv/bin/activate

pip install -r api/requirements.txt
pip install pytest pytest-cov httpx ruff

8.3 Iniciar os Serviços Locais

Terminal 1 — API Backend FastAPI:

uvicorn api.app.main:app --port 8000

Terminal 2 — Portal Web do ERP Legado Corporativo:

python webapp/app.py
  • Acesse a interface web: http://localhost:5000
  • Credenciais de demonstração pública: Usuário admin_rpa | Senha DemoEnterprise2026!

8.4 Executar Testes e Simulação

# Executar a suíte de 26 testes automatizados com cobertura:
pytest -v

# Validar a integridade estrutural das 24 árvores XAML do UiPath:
python scripts/validate_uipath_project.py

# Rodar a simulação completa da máquina de estados do robô:
python scripts/rpa_simulator.py

9. Segurança & Governança

  • Sem Credenciais de Produção (Apenas Credenciais de Demonstração): Nenhuma senha de ambiente produtivo, token privado ou string de conexão real está exposta no repositório. As credenciais listadas no guia destinam-se unicamente ao sandbox local de simulação e testes.
  • Gestão de Segredos: Padrão UiPath Credential Assets e variáveis de ambiente locais (.env no .gitignore).
  • Dados Sintéticos: Todos os nomes de empresas (NovaCore Tecnologia Ltda, Atlas Cloud), CNPJs e contratos são fictícios.
  • Princípio do Menor Privilégio: Identidade de serviço dedicada (robot_contractops_svc) para execução das tarefas automatizadas.

10. Autor & Perfil Profissional

Jeová Anderson
Dados • Automação • Inteligência Artificial

Profissional com formação em Ciência de Dados e sólida experiência em Python, SQL, Business Intelligence, Power BI, PySpark, Azure Databricks, APIs e automação de processos. Histórico prático em automação de conciliação e gestão de contratos com Python e arquiteturas de dados, expandindo a atuação para soluções completas de RPA corporativo com UiPath e Orchestrator.


Projeto demonstrativo com dados totalmente sintéticos.

Desenvolvido para estudo e apresentação de automação corporativa de processos com UiPath REFramework e FastAPI.

About

RPA em UiPath para cadastramento inteligente de contratos com REFramework, validação de regras de negócio, API FastAPI e Torre de Controle.

Topics

Resources

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages