Pular para o conteúdo principal

Ajustes — Cadastro e Detalhes de Estabelecimentos

Documento gerado a partir do chat de implementação (21/08/2026 a 24/08/2026).


Sumário

  1. Status de cadastro / compliance
  2. Sócios e consulta CNPJ
  3. MCC / CNAE e máscaras
  4. Otimização de campos e objetivo do serviço
  5. Documentos (estabelecimentos_documentos)
  6. KYC (estabelecimentos_kyc)
  7. UX de KYC, toastr e compliance
  8. Correções de bug no cadastro
  9. Modal de detalhes do estabelecimento
  10. Accordion de sócios e layout vertical
  11. Pendências conhecidas
  12. Principais arquivos tocados

1. Status de cadastro / compliance

Pedido: padronizar status após o cadastro.

StatusCódigo
Cadastro pendente (sem documentos)cadastro_pendente
Em análise de complianceanalise_compliance
Aprovado em complianceaprovado_compliance
Reprovado em compliancereprovado_compliance

Onde: serviços/helpers de status do estabelecimento (ex.: establishment_status.php e fluxo de cadastro).


2. Sócios e consulta CNPJ

Pedidos:

  • Campos obrigatórios de sócio (nome, CPF, cargo, participação, permissão para assinar, etc.).
  • Preencher sócios na consulta do CNPJ.
  • Corrigir dados que não apareciam (ex.: tipo de empresa).
  • Na busca do CNPJ, Sócio 1 = sócio administrador (não trazer todo o QSA).

Entregas:

  • Validação/obrigatoriedade de campos de sócio no cadastro.
  • Extração de sócios no cnae-cnpj.php filtrando administrador (socioEhAdministrador).
  • Prefill no frontend limitando a 1 sócio administrador quando aplicável.

3. MCC / CNAE e máscaras

Pedidos:

  • Validar estado da busca de MCC e CNAE.
  • Corrigir máscaras no modal de cadastro (vários campos sem máscara / quebrados).
  • Ajuste pontual de máscara (ex.: RG / documento).

Entregas:

  • Revisão do fluxo MCC/CNAE.
  • Ajustes em cp-masks.js e bindings no cadastro (estabelecimentos-cadastro.js).

4. Otimização de campos e objetivo do serviço

Pedidos:

  • Reduzir redundância do bloco de contatos vs. contatos do sócio.
  • Opções de funcionamento → colocar em objetivo do serviço.
  • Remover opção dinâmica e deixar valor fixo para o tipo indicado.

Entregas:

  • Ajustes de UX/campos no formulário de cadastro.
  • Objetivo do serviço com opções de funcionamento alinhadas ao pedido.
  • Opção fixa conforme tipo (sem seletor redundante).

5. Documentos (estabelecimentos_documentos)

Pedidos:

  • Separar tabela estabelecimentos_documentos.

  • Tipologia canônica de documentos:

    • Contrato Social
    • Comprovante de Endereço da Empresa
    • Foto da Operação
    • Cartão CNPJ
    • Foto do Estabelecimento
    • Faturamento Últimos 12 Meses
    • NF / Contrato Prestação de Serviço
    • CNH
    • RG - Frente e Verso
    • Comprovante de Endereço do Responsável
    • Foto Self
    • Foto Self Segurando Documento
    • Documento adicional 1
    • Documento adicional 2

Entregas:

  • Schema/tipos em establishment_document_types.php (e persistência relacionada).
  • Fluxo de upload/listagem alinhado à nova tipagem.
  • Melhorias visuais na aba Documentos / compliance docs.

6. KYC (estabelecimentos_kyc)

Pedidos:

  • Criar tabela estabelecimentos_kyc.
  • Persistir o bloco KYC/Compliance nessa tabela (não misturado em JSON genérico sem estrutura).

Entregas:

  • Persistência KYC no cadastro padrão / MDR conforme serviços de registration.
  • Accordion de KYC no formulário.

7. UX de KYC, toastr e compliance

Pedidos:

  • Validação KYC obrigatória com toastr (não só console).
  • Auto-preencher local da declaração KYC (com opção de editar).
  • Melhorar design do bloco KYC.
  • Padronizar design dos toasts do sistema (cp-toastr.css).
  • Reduzir texto gigante de compliance e melhorar toastr.

Entregas:

  • Toastr de erro quando KYC incompleto.
  • Autofill de local + edição manual.
  • CSS de KYC / compliance / toastr alinhados ao DS do portal.

8. Correções de bug no cadastro

Corrigidos durante testes manuais:

ProblemaAção
Call to undefined function logEstabelecimento()Correção no standard_registration_service.php / helper de log
Column not found / erros SQL no saveAjustes de colunas e queries de persistência
Syntax error SQLCorreção de SQL no fluxo de cadastro
Dúvida se documentos do EC id 4 foram salvosVerificação do fluxo de documentos

9. Modal de detalhes do estabelecimento

Pedidos e entregas:

PedidoEntrega
Retirar visualmente a tab de adquirênciasRemovida/ocultada
Melhorar design do modal / docsCSS e layout da aba Documentos e satellites
Atualizar estabelecimento não funcionavaFix em atualizar-local.php (SELECT dinâmico de colunas, ex.: ec_id_api)
Retirar questão de terminaisAba/fluxos de terminais desabilitados
Criar tabs: Sócios, Produtos, CredenciamentoTabs novas no modal de detalhes
Melhorar visual do toggle “isento de aluguel”CSS do toggle na aba Produtos
Remover campos e esconder tab TerminaisRemoção de EC ID API, Plano, etc.; Terminais oculto
Remover campo adicional (ID interno visível)ID interno como hidden (mantido para save)
Adicionar Informações Financeiras em Dados BásicosPatrimônio, faturamento mensal, ticket médio, faixa anual, antecipação (exibição; sem mudar regra de negócio)

JS de suporte:

  • estabelecimentos-detalhe-satellites.js — sócios, produtos, credenciamento, toggle isento, visibilidade tab Sócios (PJ).
  • estabelecimentos-lista.js — prefill satellites + campos financeiros.

10. Accordion de sócios e layout vertical

Pedidos (final do chat):

  1. Cada sócio em um accordion.
  2. Estrutura em pé (header em cima, campos embaixo — não lado a lado).

Entregas — Cadastro:

  • adicionarSocio() gera .ec-accordion.ec-socio-accordion.
  • Toolbar: trigger (título + meta nome/cargo) + botão Remover.
  • 1º sócio expandido; demais fechados.
  • Meta atualiza ao digitar nome/cargo e após prefill da consulta CNPJ.
  • CSS em estabelecimentos-cadastro.css e estabelecimentos-cadastro-embed.css.

Entregas — Modal de detalhes:

  • socioCardHtml() no mesmo padrão accordion.
  • Bind de expand/collapse + meta dinâmica.
  • CSS no popup_detalhes_estabelecimento.php.

Correção de layout “em pé”:

  • Causa: .dynamic-section no embed usava grid 2 colunas (pensado para contatos/contas).
  • Fix: .ec-socio-accordion com display: flex; flex-direction: column (override do grid).

Cache bust (referência):

  • JS/CSS ?v=20260824-socio-accordion / ?v=20260824-socio-vertical.

11. Pendências conhecidas

Itens identificados no chat e ainda não fechados de ponta a ponta:

  1. Upload de documentos no cadastro — em alguns testes os arquivos não chegavam ao backend (files_global: []); investigar montagem do FormData.
  2. Save no detalhe — campos financeiros novos (ticket médio, faixa anual, antecipação) podem não persistir em atualizar-local.php (pedido foi só exibir).
  3. Sócios/produtos no save do detalhe — coletores existem no front, mas o backend ainda pode não persistir satellites/credenciamento completo.
  4. Accordion em Produtos — sugerido como próximo passo opcional (não implementado).

12. Principais arquivos tocados

Backend

  • backend/api/estabelecimentos/atualizar-local.php
  • backend/api/estabelecimentos/cnae-cnpj.php
  • backend/api/estabelecimentos/upload-documento.php
  • backend/src/services/estabelecimentos/establishment_service.php
  • backend/src/services/estabelecimentos/establishment_status.php
  • backend/src/services/estabelecimentos/establishment_document_types.php
  • backend/src/services/estabelecimentos/processar_cadastro_service.php
  • backend/src/services/estabelecimentos/processar_cadastro_mdr_service.php
  • backend/src/services/estabelecimentos/registration/*

Frontend / UI

  • frontend/pages/estabelecimentos/cadastro.php
  • frontend/pages/estabelecimentos/lista.php
  • components/popup_detalhes_estabelecimento.php
  • components/ec-kyc-compliance-accordion.php
  • assets/js/pages/estabelecimentos/estabelecimentos-cadastro.js
  • assets/js/pages/estabelecimentos/estabelecimentos-lista.js
  • assets/js/pages/estabelecimentos/estabelecimentos-detalhe-satellites.js
  • assets/js/cp-masks.js
  • assets/css/gestao/estabelecimentos-cadastro.css
  • assets/css/gestao/estabelecimentos-cadastro-embed.css
  • assets/css/cp-toastr.css
  • assets/css/pages/compliance/* (docs / modals, quando aplicável)

Linha do tempo resumida

DataFoco
21/08Status compliance, sócios obrigatórios / CNPJ
22/08MCC/CNAE, máscaras, otimização de campos, objetivo do serviço
24/08 (manhã/tarde)Documentos tipados, KYC tabela, toastr/UX, bugs de save, modal detalhes
24/08 (noite)Sócio admin na consulta CNPJ, accordion por sócio, layout vertical

Arquivo gerado para referência interna do time. Não substitui migrations/SQL oficiais nem o manual técnico.