# Consolidação do ProcuraFlow Estado verificado em 28 de Outubro de 2026. ## Projecto activo O projecto activo é `C:\laragon\www\compras`, em Laravel, React, TypeScript, Inertia e PostgreSQL, em http://127.0.0.1:8015. A conta já foi criada. Preservar `APP_URL=http://127.0.0.1:8015`, `SERVER_PORT=8015`, `SESSION_COOKIE=procuraflow_session` e `SESSION_DRIVER=database`. O SGF Tempo é independente. A implementação Python/React na pasta de outputs da conversa fica descontinuada como aplicação executável e preservada apenas como referência. Não importar contas sintéticas, bases SQLite, sessões ou palavras-passe. Não executar os seus servidores ou contentores. O iniciador antigo passa a indicar o endereço do projecto Laravel, sem iniciar outro servidor. ## Compatibilidade funcional | Área | Base a preservar | Adaptação da referência experimental | | ------------------------------- | -------------------------------------------------------------------- | --------------------------------------------------------------------------- | | Acesso | Fortify, conta existente, sessões e equipa | Não transportar login Python nem contas fictícias | | Organização | Empresa, departamentos, centros de custo e isolamento | Aplicar o mesmo isolamento nos novos módulos | | Requisições | Rascunhos editáveis, validações, relações e numeração | Acrescentar funções sem substituir as existentes | | Aprovações | RequisitionWorkflow, perfis, etapas e snapshots | Adaptar cenários e testes adicionais | | Valores | Brick Math e centavos | Não importar o armazenamento genérico JSON | | Fornecedores e cotações | Cadastro, validação, propostas e comparação implementados no Laravel | Adaptados com tabelas próprias, isolamento, centavos e auditoria existentes | | Ordens, recepções e facturas | Ainda ausentes nesta base | Adaptar estados, recepções parciais e conferência | | Stock, equipamentos e orçamento | Ainda ausentes nesta base | Adaptar movimentos, mínimos, inventários e compromissos | | Relatórios e auditoria | Indicadores e histórico existentes | Adaptar exportação e controlos adicionais | A consolidação inicial definiu a base única de continuidade. Posteriormente, fornecedores e cotações foram adaptados ao Laravel; os restantes módulos experimentais continuam por implementar nesta base. ## Diferenças a resolver em cada adaptação - Laravel aplica provisoriamente escalões com IVA; o protótipo Python usava sem IVA. Preservar a configuração existente e snapshots, até decisão de Finanças. - Perfis e estados têm identificadores diferentes: usar os enums e políticas Laravel, sem criar perfis concorrentes. - Preservar as tabelas relacionais e o isolamento por empresa. Não importar a tabela JSON genérica do protótipo. - Manter a edição de rascunhos e a gestão da equipa já existentes no Laravel. - Não apresentar funcionalidades ainda ausentes como implementadas nem considerar o protótipo uma validação para compras reais. ## Verificação - Página de entrada em 8015: HTTP 200 e texto “Entrar no ProcuraFlow”. - Testes Laravel: 47 passaram, 3 ignorados, 219 asserções. - Testes em SQLite em memória, conforme phpunit.xml; não na base real. - Nenhuma conta, credencial ou dado real foi alterado nesta consolidação. ## Adaptação de fornecedores e cotações A migração aditiva `2026_10_28_000002_create_suppliers_and_quotations` criou suppliers, quotations, quotation_items e proposal_evaluations no PostgreSQL. A comparação dos registos antes e depois confirmou que utilizadores, empresas, departamentos, centros de custo, requisições, linhas e aprovações permaneceram inalterados. Não foram criadas contas ou dados sintéticos na base real. Validações: 54 testes passaram, 3 ignorados, 305 asserções; análise estática PHP, tipos TypeScript, formatação e compilação da interface aprovadas. Âmbito: cadastro e validação de fornecedores, propostas por requisição aprovada, preços em MZN, IVA herdado, avaliação independente e indicação de completude da matriz. Os módulos usam a conta/sessão Laravel existente. O navegador abriu a entrada na porta 8015; a inspecção visual das páginas autenticadas fica dependente do início de sessão do utilizador. Não foi pedida nem alterada a senha. Edição/renovação de fornecedores e anexos privados foram acrescentados no incremento descrito em [desenvolvimento.md](desenvolvimento.md). Continuam pendentes dados bancários, registo anual de conflitos, adjudicação, ordens, recepção e restantes módulos. Os resultados anteriores acima referem-se à adaptação inicial; consultar o relatório de desenvolvimento para a validação actual.