← Home

Administracao

0 0 0
Total
Ativos
Inativos
Admin
Online
Nome Login (CPF) Filial Perfil Status Último Login Ações

Perfis de Acesso

Carregando...
OK
Atrasado
Critico
Total
Modulo Status Ultima Atualizacao Tempo Registros
Total
Ativos
Em Desenvolvimento
Testes
Em Produção
Pausados
# Projeto Categoria Status Atualizado Etapa Atual

SISTEMA DE GESTAO DA QUALIDADE

CRM MEDFORMULA
Documento
SGQ-CRM-001
Norma Base
ISO 9001:2015
Versao
1.0
Data
21/05/2026
Responsavel
Equipe de Tecnologia
Classificacao
Uso Interno
ISO 9001:2015 COMPLIANT

SUMARIO

  1. Escopo e Contexto da Organizacao
  2. Lideranca e Responsabilidades
  3. Planejamento — Modulos do Sistema
  4. Apoio — Infraestrutura e Recursos
  5. Operacao — Processos e Fluxos
  6. Avaliacao de Desempenho
  7. Melhoria Continua
  8. Controle de Registros e Rastreabilidade
  9. Gestao de Riscos
  10. Anexos — Inventario Tecnico

1 ESCOPO E CONTEXTO DA ORGANIZACAO

1.1 Objetivo do Documento

Documentar o Sistema de Gestao da Qualidade (SGQ) aplicado ao CRM MedFormula, abrangendo todos os modulos de vendas, operacoes, financeiro, estoque e marketing, em conformidade com os requisitos da norma ISO 9001:2015.

1.2 Escopo do Sistema

O CRM MedFormula e um sistema web multi-modulo que gerencia o ciclo completo de vendas perdidas, recompra de medicamentos, orcamentos rejeitados, ativacao de prateleira, entregas, estoque de revendas, agenda de tarefas e indicadores de desempenho para a rede de filiais MedFormula.

1.3 Partes Interessadas

Parte InteressadaNecessidade / Expectativa
DiretoriaVisao gerencial consolidada, indicadores de performance, metas por filial
Gerentes de FilialAcompanhamento de vendas perdidas, recompra, orcamentos rejeitados
Operadores (Atendentes)Interface agil para contato com clientes, registro de tratativas
FinanceiroControle de entregas, pagamentos pendentes, saldos
Industria / ProducaoEstoque minimo, faltas de insumos, producao de revendas
MarketingSolicitacao e acompanhamento de rotulos
TIEstabilidade, rastreabilidade, seguranca dos dados

1.4 Contexto Operacional

  • Rede: 4 filiais ativas (Herval, Pedro Taques, Sarandi, Cartao Atende)
  • ERP de origem: Fagron Formula Certta (Firebird, host 192.168.2.250)
  • Banco do CRM: PostgreSQL (Railway Cloud)
  • Extracao automatica: Diaria as 20h via Task Scheduler (13 scripts)
  • Usuarios ativos: ~20-100 colaboradores com perfis diferenciados

2 LIDERANCA E RESPONSABILIDADES

2.1 Matriz RACI

ProcessoResponsavel (R)Aprovador (A)Consultado (C)Informado (I)
Extracao de dados Firebird → PGTIDiretoriaGerentesOperadores
Cadastro de usuariosAdmin CRMTIRHUsuarios
Configuracao de perfis/permissoesAdmin CRMDiretoriaTITodos
Registro de tratativas (7a Venda)OperadoresGerentesDiretoria
Contato com clientes (3a/4a/5a)OperadoresGerentesDiretoria
Controle de entregas (Financeiro)FinanceiroDiretoriaGerentes
Gestao de estoque revendasIndustriaDiretoriaGerentesMarketing
Definicao de metasDiretoriaDiretoriaGerentesOperadores
Solicitacao de rotulosMarketingIndustriaOperadores
Monitoramento de indicadoresTI / DiretoriaDiretoriaGerentesTodos

2.2 Perfis de Acesso e Segregacao de Funcoes

PerfilModulos PermitidosRestricoes
adminTodos os modulosAcesso total, gestao de usuarios e metas
operadorAgenda, 3a, 4a, 5a, 7a VendaSomente leitura/escrita nos modulos de contato
financeiroOperador + FinanceiroAcesso adicional a entregas e saldos
industriaRevendas (somente leitura)Consulta de estoque e faltas
marketingRevendas + RotulosGestao de rotulos e consulta de estoque

Autenticacao: JWT Bearer Token com validade de 10 horas, login via CPF + senha bcrypt.
Primeiro acesso: Senha padrao 123456, sistema forca troca obrigatoria.

3 PLANEJAMENTO — MODULOS DO SISTEMA

O CRM e composto por modulos operacionais organizados em 5 dominios:

Dominio 1 — Vendas (Core CRM)

Modulo 3a Venda — Recompra de Medicamentos
  • Objetivo: Identificar clientes com medicamentos vencendo e promover a recompra
  • Entrada: FC07800/07810/14000 (medicamentos com DTTERM proximo)
  • Saida: Registro de contatos, status de ligacao, campanhas ativas
  • Tabelas: crm_3a_clientes, crm_3a_contatos, crm_3a_campanhas, crm_3a_compras_revenda
  • KPIs: Taxa de contato, taxa de conversao, evolucao diaria
  • Extrator: extrair_3a_venda.py (diario 06:00/17:30)
Modulo 4a Venda — Formulas de Uso Continuo
  • Objetivo: Acompanhar pacientes com formulas de uso recorrente
  • Entrada: FC07800/07810/14000 (formulas recorrentes)
  • Saida: Registro de contatos e acompanhamento de recorrencia
  • Tabelas: crm_4a_clientes, crm_4a_contatos
  • KPIs: Taxa de contato, evolucao diaria
  • Extrator: extrair_4a_venda.py (diario 06:00/17:30)
Modulo 5a Venda — Orcamentos Rejeitados
  • Objetivo: Recuperar orcamentos nao aprovados com analise de objecoes (PQ1/PQ2/PQ3)
  • Entrada: FC15100/15110/31100 (orcamentos com QTAPROV=0)
  • Saida: Contatos com registro de motivos de rejeicao, margem de lucro
  • Tabelas: crm_5a_orcamentos, crm_5a_contatos, crm_5a_series
  • KPIs: Volume de orcamentos, taxa de recuperacao, principais objecoes, margem media
  • Extrator: extrair_5a_venda.py (diario 06:00/17:30)
Modulo 7a Venda — Prateleira (Vendas Perdidas)
  • Objetivo: Gerenciar formulas cadastradas sem requisicao de compra (vendas perdidas)
  • Entrada: FC12000 sem correspondencia em FC17000
  • Saida: Tratativas com 12 status possiveis, anexos, classificacao por zona
  • Tabelas: crm_7a_pendencias, crm_7a_tratativas
  • Classificacao: Ate 30d → Operacional | 31-60d → Estrategico | >60d → Critico
  • Extrator: extrair_pendencias.py (diario 06:00/17:30)
Modulo 8a Venda — Ativacao de Prateleira
  • Objetivo: Acompanhar ativacao de formulas em prateleira apos contato
  • Entrada: Vinculado a 7a Venda (cdfil+nrrqu)
  • Tabela: crm_8a_ativacoes
  • KPIs: Ativacoes por filial, taxa de sucesso, evolucao diaria

Dominio 2 — Financeiro

Modulo Financeiro — Entregas e Romaneios
  • Objetivo: Controlar entregas, pagamentos e saldos pendentes
  • Entrada: FC12400/12410 (romaneios de entrega)
  • Tabelas: fin_romaneios, fin_anotacoes
  • KPIs: Valor pendente, valor pago, valor devolvido
  • Extrator: extrair_entregas_pg.py (diario 06:00/17:30)

Dominio 3 — Estoque e Producao

Modulo Estoque Revendas — Minimo, Atual e Faltas
  • Objetivo: Gerenciar niveis de estoque com base em medias moveis de 3 meses
  • Entrada: FC14000/31100/31200 (vendas), FC03140 (inventario)
  • Tabelas: rev_produtos, rev_filiais, rev_anotacoes, rev_estoque, rev_falta, rev_falta_subitens, rev_falta_historico, rev_insumos
  • Calculo: m1/m2/m3 (3 meses) | Est.Min = media/3 | Est.Min 2M = media×2 | Ponto Pedido = media/2
  • Regra critica: rev_anotacoes editada SOMENTE pela API. Extrator NUNCA sobrescreve.
Modulo Producao Revendas
  • Objetivo: Acompanhar lotes de producao (FC03140)
  • Tabela: rev_producao
  • Extrator: extrair_producao_revendas.py (diario 06:00/17:30)
Modulo CTRL+H — Faltas de Estoque
  • Objetivo: Dashboard de faltas registradas no ERP (FC1G000)
  • Tabela: crm_ctrlh
  • Extrator: extrair_ctrlh_pg.py (diario 20h, trigger manual disponivel)

Dominio 4 — Gestao e Indicadores

Modulo Agenda e Tarefas
  • Objetivo: Gerenciar tarefas vinculadas aos modulos de vendas com SLA e follow-up
  • Entrada: Criacao manual ou automatica (3a/5a Venda geram tarefas)
  • Tabelas: agenda_tipos, agenda_tarefas, agenda_followups, agenda_eventos, agenda_timeline, agenda_notificacoes
  • Tipos (SLA): Retornar Cliente (24h), Cobranca (48h), Verificar Ativo (24h), Follow-up (48h), Ligacao (4h), Renovacao (72h), Pendencia Operacional (24h)
  • KPIs: Tarefas pendentes, atrasadas, SLA estourado, badges no header
Modulo Indicadores
  • Objetivo: Snapshot diario de KPIs operacionais por filial e grupo
  • Tabelas: ind_snapshots, ind_solicitacoes
  • Extrator: extrair_indicadores.py (diario)
Modulo Metas
  • Objetivo: Definir e acompanhar metas de vendas por filial e grupo (A/B/C)
  • Tabela: ind_metas
Painel Gerencial
  • Objetivo: Visao consolidada de todos os modulos em 7 abas
  • Abas: Geral, 3a+4a, 5a, 7a, 8a, Financeiro, Operacoes
  • Funcionalidades: Auto-refresh 3 minutos, lazy loading, graficos ECharts

Dominio 5 — Marketing

Modulo Rotulos
  • Objetivo: Gerenciar solicitacoes de rotulos com fluxo de aprovacao
  • Tabelas: mkt_rotulos, mkt_rotulos_audit
  • Fluxo: Pendente → Producao → Enviado → Recebido
  • Acesso: marketing + industria + admin

4 APOIO — INFRAESTRUTURA E RECURSOS

4.1 Arquitetura Tecnica

CAMADA DE ORIGEM (Read-Only) Firebird ERP (192.168.2.250:alterdb.ib) └── Formula Certta / Fagron — SOMENTE SELECT | v CAMADA DE EXTRACAO (Diaria 20h, Task Scheduler) 13 scripts Python (extrair_*.py) └── conn.py (driver Firebird FB4) └── Logs\extracao_agendada.log | v CAMADA DE DADOS (Cloud) PostgreSQL Railway — 39 tabelas + indices └── Migracoes via init_tables() (ADD COLUMN IF NOT EXISTS) | v CAMADA DE APLICACAO (Cloud) Flask API (api.py) — Railway └── 139 endpoints REST / JWT Bearer Token (10h) | v CAMADA DE APRESENTACAO 29 paginas HTML / ECharts / Identidade visual teal (#00897b)

4.2 Ambiente de Hospedagem

ComponenteTecnologiaLocalizacao
ERP (origem)Firebird 4.0On-premise (192.168.2.250)
ExtratoresPython 3.xMaquina local (Task Scheduler)
Banco de dadosPostgreSQLRailway Cloud
API BackendFlask (Python)Railway Cloud
FrontendHTML + JS + EChartsRailway Cloud (servido pela API)
DeployGit push → auto-deployRailway (branch main)

4.3 Pipeline de Extracao

#ScriptOrigem FirebirdDestino PostgreSQL
1extrair_pendencias.pyFC12000 + FC17000crm_7a_pendencias
2extrair_3a_venda.pyFC07800/07810/14000crm_3a_clientes
3extrair_4a_venda.pyFC07800/07810/14000crm_4a_clientes
4extrair_5a_venda.pyFC15100/15110/31100crm_5a_orcamentos + series
5extrair_entregas_pg.pyFC12400/12410fin_romaneios
6extrair_estoque_min.pyFC14000/31100/31200rev_produtos + filiais
7extrair_estoque_atual.pyFC03140rev_estoque
8extrair_usuarios.pyFC08000crm_7a_usuarios
9extrair_producao_revendas.pyFC03140rev_producao
10extrair_insumos.pyFC03000rev_insumos
11extrair_compras_revenda.pyFC31110crm_3a_compras_revenda
12extrair_ctrlh_pg.pyFC1G000crm_ctrlh
13extrair_indicadores.pyMultiplasind_snapshots

4.4 Controle de Versao

  • Repositorio: LHGONCALVES/crm-7a-venda (branch main)
  • Deploy: Push no main → Railway redeploy automatico
  • Migracoes: Via init_tables() em db.py usando ALTER TABLE ... ADD COLUMN IF NOT EXISTS
  • Logs de extracao: Logs\extracao_agendada.log (diario)

5 OPERACAO — PROCESSOS E FLUXOS

5.1 Fluxo Principal — Ciclo de Vendas

EXTRACAO DIARIA (20h) Firebird → PostgreSQL ↓ IDENTIFICACAO AUTOMATICA 3a: Clientes com medicamento vencendo 4a: Formulas de uso continuo 5a: Orcamentos rejeitados (QTAPROV=0) 7a: Formulas sem requisicao ↓ DISTRIBUICAO Por filial e atendente (automatica) ↓ OPERACAO (Atendente) Contato com cliente → Registro de tratativa Status + Observacao + Retorno ↓ ACOMPANHAMENTO Painel Gerencial (auto-refresh 3min) | Indicadores diarios | Agenda com SLA ↓ FECHAMENTO 7a: Baixado quando req aparece no Firebird 3a/4a: Contato registrado com resultado 5a: Orcamento recuperado ou descartado

5.2 Fluxo — 7a Venda (Vendas Perdidas)

EtapaAcaoResponsavelRegistro
1Extracao identifica formula sem reqAutomaticocrm_7a_pendencias
2Classificacao por zona (Oper/Estrat/Critico)Automaticocampo zona
3Operador visualiza pendenciaOperador
4Operador registra tratativaOperadorcrm_7a_tratativas
5Seleciona status (12 opcoes)Operadorcampo status
6Opcional: anexa documentoOperadorcampos anexo_*
7Req aparece no ERP → baixado automaticamenteAutomaticobaixado=TRUE
8Gerente monitora via PainelGerente

5.3 Fluxo — Financeiro (Entregas)

EtapaAcaoResponsavelRegistro
1Extracao de romaneios do ERPAutomaticofin_romaneios
2Financeiro visualiza entregas pendentesFinanceiro
3Registra anotacao financeiraFinanceirofin_anotacoes
4Marca status (troca, sem taxa, pago, manual)Financeirocampos booleanos
5Criacao manual quando necessarioFinanceirois_manual=TRUE
6Acompanha KPIs (pendente/pago/devolvido)Financeiro

5.4 Fluxo — Estoque Revendas

EtapaAcaoResponsavelRegistro
1Extracao de vendas mensais (m0/m1/m2/m3)Automaticorev_produtos
2Calculo de estoque minimo (media 3 meses)Automaticocampo media_qtd
3Industria consulta niveis de estoqueIndustria
4Identifica faltas (ativo ou embalagem)Industriarev_falta
5Registra sub-itens da faltaIndustriarev_falta_subitens
6Acompanha historico de alteracoesTodosrev_falta_historico
7Atualiza anotacoes do produtoIndustriarev_anotacoes

5.5 Fluxo — Rotulos (Marketing)

EtapaAcaoResponsavelRegistro
1Marketing cria solicitacao de rotuloMarketingmkt_rotulos (Pendente)
2Industria inicia producaoIndustriastatus=Producao
3Industria envia rotuloIndustriastatus=Enviado
4Marketing confirma recebimentoMarketingstatus=Recebido
5Trilha de auditoria completaAutomaticomkt_rotulos_audit

5.6 Fluxo — Agenda e Tarefas

EtapaAcaoResponsavelRegistro
1Tarefa criada (manual ou automatica via 3a/5a)Sistema/Operadoragenda_tarefas
2SLA calculado com base no tipoAutomaticosla_limite
3Responsavel visualiza tarefaOperador
4Muda status: pendente → iniciadaOperadoriniciada_em
5Registra follow-upOperadoragenda_followups
6Conclui tarefaOperadorconcluida_em
7Timeline registra todas as mudancasAutomaticoagenda_timeline
8Notificacao para atrasos/SLA estouradoAutomaticoagenda_notificacoes

6 AVALIACAO DE DESEMPENHO

6.1 KPIs — Vendas

IndicadorModuloFormula / DescricaoFrequencia
Pendencias por zona7a VendaCount por Operacional/Estrategico/CriticoTempo real
Taxa de tratativa7a VendaPendencias com tratativa / Total pendenciasDiario
Taxa de contato3a/4a VendaClientes contatados / Total clientesDiario
Taxa de recuperacao5a VendaOrcamentos recuperados / Total rejeitadosDiario
Objecoes principais5a VendaTop PQ1/PQ2/PQ3 por frequenciaDiario
Margem media5a VendaMedia PTLUCRO dos orcamentosDiario
Ativacoes por filial8a VendaCount de ativacoes por filialDiario

6.2 KPIs — Financeiro / Estoque / Operacional

IndicadorModuloFormula / DescricaoFrequencia
Valor pendenteFinanceiroSUM(vrsdo) WHERE status=pendenteTempo real
Valor pagoFinanceiroSUM(vrpag) WHERE status=pagoTempo real
Valor devolvidoFinanceiroSUM WHERE status=devolvidoTempo real
Produtos abaixo do minimoRevendasCount WHERE estoque_atual < est_minDiario
Faltas ativasRevendasCount WHERE status=PENDENTETempo real
Tarefas atrasadasAgendaCount WHERE vencimento < NOWTempo real
SLA estouradoAgendaCount WHERE sla_estourado=TRUETempo real
Usuarios onlineAdminCount WHERE ultimo_heartbeat > NOW-5minTempo real

6.3 Dashboards de Monitoramento

DashboardRotaAbasRefreshAcesso
Painel Gerencial/painel7Auto 3minAdmin
Gerencial 3a/gerencial3a1ManualAdmin
Gerencial 5a/gerencial5a1ManualAdmin
Gerencial 7a/gerencial7a1ManualAdmin
Gerencial 8a/gerencial8a1ManualAdmin
Indicadores/indicadores1ManualAdmin
Metas/metas1ManualAdmin
Admin Monitor/admin3ManualAdmin

6.4 Monitor do Sistema (20 modulos)

#ModuloTabelaTimestampMetrica
1Indicadoresind_snapshotscriado_emUltimo registro + contagem
2Usuarios (sync)crm_7a_usuariosatualizado_emUltimo registro + contagem
37a Vendacrm_7a_pendenciasatualizado_emUltimo registro + contagem (baixado=FALSE)
43a Vendacrm_3a_clientesatualizado_emUltimo registro + contagem
54a Vendacrm_4a_clientesatualizado_emUltimo registro + contagem
65a Vendacrm_5a_orcamentosatualizado_emUltimo registro + contagem
75a Ativoscrm_5a_ativosatualizado_emUltimo registro + contagem
8Fila Orcamentoscrm_fila_orcamentosatualizado_emUltimo registro + contagem
9Financeirofin_romaneiosatualizado_emUltimo registro + contagem
10Conveniosfin_conveniosatualizado_emUltimo registro + contagem
11Estoque Minimorev_produtosatualizado_emUltimo registro + contagem
12Estoque Atualrev_estoqueatualizado_emUltimo registro + contagem
13Producao Revendasrev_producaoatualizado_emUltimo registro + contagem
14Insumosrev_insumosatualizado_emUltimo registro + contagem
15Compras Revendacrm_3a_compras_revendaatualizado_emUltimo registro + contagem
16Vendas Mensaisrev_vendas_mensaisatualizado_emUltimo registro + contagem
17CTRL+H (Faltas)crm_ctrlhatualizado_emUltimo registro + contagem
18Auditoria Revendasrev_auditoriaatualizado_emUltimo registro + contagem
19Visitacao Medicavis_checkscriado_emUltimo registro + contagem
20Campanhas 3acrm_3a_campanhasatualizado_emUltimo registro + contagem

7 MELHORIA CONTINUA

7.1 Processo de Evolucao do Sistema

EtapaDescricaoFerramenta
IdentificacaoNecessidade identificada por usuario ou diretoriaConversa / Reuniao
AnaliseAvaliacao de impacto e viabilidadeDocumentacao tecnica
DesenvolvimentoImplementacao com testesGit + Railway
DeployPush no main → auto-deploy RailwayGit push
ValidacaoVerificacao em producaoCRM + Logs
RegistroVersionamento e documentacaoGit log + CLAUDE.md

7.2 Historico de Evolucao

ProjetoModuloStatus
CRM 7a Venda7a Venda (core)Producao
Projeto 22Agenda e TarefasProducao
Projeto 25CTRL+HProducao
Projeto 28Rotulos MarketingProducao
Painel GerencialDashboard consolidadoProducao
Estoque RevendasEstoque + Producao + FaltasProducao

7.3 Migracoes de Banco

ALTER TABLE ... ADD COLUMN IF NOT EXISTS ...
  • Nunca usar DDL destrutivo no startup (risco de lock em workers gunicorn)
  • Nunca usar ALTER COLUMN TYPE sem guarda
  • Migracoes aplicadas via python db.py com DATABASE_URL

8 CONTROLE DE REGISTROS E RASTREABILIDADE

8.1 Rastreabilidade de Dados

Tipo de RegistroTabelaCampos de RastreioRetencao
Tratativas 7a Vendacrm_7a_tratativasusuario, perfil, criado_emIndefinida
Contatos 3a/4a/5acrm_3a/4a/5a_contatosusuario, criado_emIndefinida
Ativacoes 8acrm_8a_ativacoesusuario, criado_emIndefinida
Anotacoes financeirasfin_anotacoesusuario, atualizado_emIndefinida
Anotacoes revendasrev_anotacoesusuario, atualizado_emIndefinida
Historico de faltasrev_falta_historicousuario, campo, valor_ant, valor_novo, criado_emIndefinida
Timeline agendaagenda_timelineusuario, acao, mudancas (JSONB), criado_emIndefinida
Auditoria rotulosmkt_rotulos_auditusuario, acao, detalhes, criado_emIndefinida
Follow-upsagenda_followupsusuario, tipo_acao, resultado, criado_emIndefinida

8.2 Campos de Auditoria Padrao

  • usuario VARCHAR(120) — identifica quem realizou a acao
  • criado_em TIMESTAMP DEFAULT NOW — data/hora da criacao
  • atualizado_em TIMESTAMP DEFAULT NOW — data/hora da ultima alteracao

8.3 Logs Operacionais

LogLocalizacaoConteudoFrequencia
Extracao agendadaLogs\extracao_agendada.logOutput dos 21 extratoresDiario 06:00 e 17:30
DeployRailway dashboardLogs de build e runtimeCada push
Heartbeat usuarioscrm_7a_usuarios.ultimo_heartbeatUltima atividade do usuarioA cada acao
Logincrm_7a_usuarios.ultimo_loginUltimo acessoCada login

9 GESTAO DE RISCOS

9.1 Riscos Identificados e Controles

#RiscoProb.ImpactoControle Implementado
R1Perda de dados no FirebirdBaixaCriticoAcesso SOMENTE SELECT, nunca DDL/DML
R2Extracao falha silenciosamenteMediaAltoLog completo + monitor no Admin
R3Deploys cascata causam downtimeMediaMedioAgrupar alteracoes, evitar pushes consecutivos
R4DDL no startup trava workersBaixaCriticoSomente ADD COLUMN IF NOT EXISTS
R5Acesso nao autorizadoBaixaAltoJWT + bcrypt + perfis + primeiro acesso forca troca
R6Sobrescrita de dados manuaisBaixaAltorev_anotacoes protegida — extrator NUNCA toca
R7Token API usado em slug erradoMediaMedioCada token vale para seu proprio slug (403 ≠ token invalido)
R8Campos TIME quebram JSONMediaBaixoisoformat() generico para serializacao
R9Licenca BD Monitor sobrescritaBaixaAltoArquivo protegido, nunca sobrescrever sem confirmacao
R10Dados desatualizados no CRMBaixaMedioExtracao diaria 06:00 e 17:30 + monitor 20 modulos no Admin

9.2 Regras de Seguranca Obrigatorias

  1. Firebird: SOMENTE SELECT — nunca executar DDL ou DML no banco 192.168.2.250
  2. Exclusao: Nunca deletar arquivos, processos ou recursos sem confirmacao explicita
  3. Senhas: Armazenadas com bcrypt, nunca em texto plano
  4. JWT: Token com validade de 10 horas, verificado em cada requisicao autenticada
  5. Inputs de data: onkeydown=false + min/max no frontend, _safe_date() no backend (2020-2099)
  6. Erros: API deve retornar JSON em caso de erro (errorhandler 500)

10 ANEXOS — INVENTARIO TECNICO

Anexo A — Inventario de Endpoints (139 rotas)

DominioPrefixoQtd
Paginas HTML/27
Autenticacao/api/7a/auth/8
7a Venda/api/7a/7
3a Venda/api/3a/10
4a Venda/api/4a/7
5a Venda/api/5a/9
8a Venda/api/8a/5
Financeiro/api/fin/6
Revendas/api/rev/16
Agenda/api/agenda/17
Producao/api/prod/2
Admin / Sistema/api/7a/admin/12
CTRL+H/api/ctrlh/2
Indicadores/api/indicadores/4
Rotulos/api/rotulos/7
TOTAL139

Anexo B — Inventario de Tabelas (39)

#TabelaDominioRegistros Est.
1crm_7a_usuariosAuth20-100
2crm_perfisAuth5
3crm_7a_pendencias7a Venda1.000-5.000
4crm_7a_tratativas7a VendaAcumulativo
5crm_3a_clientes3a Venda100-300
6crm_3a_contatos3a VendaAcumulativo
7crm_3a_campanhas3a Venda1-12
8crm_3a_compras_revenda3a Venda500-2.000
9crm_4a_clientes4a Venda50-200
10crm_4a_contatos4a VendaAcumulativo
11crm_5a_orcamentos5a Venda100-500
12crm_5a_contatos5a VendaAcumulativo
13crm_5a_series5a Venda200-1.000
14crm_8a_ativacoes8a VendaAcumulativo
15fin_romaneiosFinanceiro200-1.000
16fin_anotacoesFinanceiroAcumulativo
17rev_produtosRevendas300-1.000
18rev_filiaisRevendas1.000-4.000
19rev_anotacoesRevendas300-1.000
20rev_estoqueRevendas500-2.000
21rev_vendas_mensaisRevendas2.000-10.000
22-26rev_falta*, rev_insumos, rev_producaoRevendasAcumulativo
27-32agenda_*AgendaAcumulativo
33-35ind_snapshots, ind_solicitacoes, ind_metasIndicadores365/ano
36crm_ctrlhCTRL+H50-500
37-38mkt_rotulos, mkt_rotulos_auditMarketingAcumulativo
39crm_projetosAdmin27

Anexo C — Identidade Visual

ElementoValor
Cor primaria (teal)#00897b
Cor escura (topbar)#00695c
Fundo#f0f4f3
Bordas#d0e2de
Texto#1c2b29
FonteSegoe UI, system-ui, sans-serif

CONTROLE DE REVISOES

VersaoDataDescricaoResponsavel
1.021/05/2026Emissao inicial — 14 modulos, 139 endpoints, 39 tabelasEquipe TI

Documento elaborado com base nos requisitos da ISO 9001:2015, adaptado ao contexto do CRM MedFormula.
Proxima revisao programada: Quando houver inclusao de novo modulo ou alteracao significativa de processo.

Historico de Versoes — SGQ-CRM-001

Registro de todas as revisoes do documento ISO 9001:2015 do CRM MedFormula. Cada versao documenta as alteracoes realizadas no sistema e no documento de qualidade.

ATUAL Versao 1.0

21/05/2026 — Equipe de Tecnologia
  • Emissao inicial do documento SGQ-CRM-001
  • Documentacao de 14 modulos operacionais em 5 dominios
  • 139 endpoints REST catalogados
  • 39 tabelas PostgreSQL inventariadas
  • 13 scripts de extracao Firebird → PostgreSQL documentados
  • Matriz RACI definida para 10 processos
  • 5 perfis de acesso com segregacao de funcoes
  • 10 riscos identificados com controles implementados
  • 6 regras de seguranca obrigatorias estabelecidas
  • 8 dashboards de monitoramento catalogados
  • 9 tabelas de auditoria/rastreabilidade mapeadas

PLANEJADO Versao 1.1

Prevista: Quando houver inclusao de novo modulo
  • Inclusao de novos modulos adicionados ao CRM
  • Atualizacao do inventario de endpoints e tabelas
  • Revisao dos riscos identificados
  • Atualizacao da Matriz RACI se necessario

Criterios para Nova Versao

EventoAcao RequeridaTipo de Revisao
Novo modulo adicionado ao CRMDocumentar modulo na Secao 3, atualizar anexosRevisao maior (x.0)
Novo perfil de acesso criadoAtualizar Secao 2.2, revisar Matriz RACIRevisao menor (x.x)
Mudanca na arquitetura tecnicaAtualizar Secao 4, revisar riscosRevisao maior (x.0)
Novo extrator adicionadoAtualizar pipeline (Secao 4.3) e anexosRevisao menor (x.x)
Incidente de segurancaAtualizar riscos (Secao 9), adicionar controlesRevisao menor (x.x)
Auditoria interna/externaIncorporar achados e acoes corretivasConforme achados
Alteracao significativa de processoAtualizar fluxos (Secao 5), revisar KPIsRevisao maior (x.0)
Acessos
Usuários
Páginas
Hoje

Resumo por Usuário

UsuárioFilialAcessosPáginasÚltimo acessoPáginas visitadas

Resumo por Página

PáginaAcessosUsuários

Log Detalhado

UsuárioPáginaData/Hora

Projetos em Desenvolvimento

Rastreio de Fórmula

Página pública para cliente acompanhar pedido

ONLINE

Busca por CPF ou Nº Orçamento. Stepper 5 etapas (Orçamento → Receita → Produção → Pronto → Entregue). WhatsApp por filial, FAQ, indicação, cupom retorno, avaliação com estrelas. D+1 Firebird.

Abrir Rastreio Painel Analytics

Cockpit da Filial

Visão consolidada por filial: metas, vendas, CRM, CTRL+H, capacidade

ONLINE

Aba nos Indicadores (admin). Meta/Real/Gap/% por filial (OP/VN/RV/VT), Ticket Médio, OR%, uso CRM (3a/4a/5a/7a/8a), faltas CTRL+H, capacidade produtiva. Gráficos ECharts.

Abrir Cockpit

PCP Revendas

Controle de produção de revendas com kanban e dashboard

ONLINE

Kanban visual por etapa (Separação → Manipulação → Envase → Conferência → Expedição). Importa solicitações SR# automaticamente. Tabela completa, dashboard ECharts, auditoria. Etapas configuráveis. Sync status com Solicitação de Revendas. Só admin.

Abrir PCP

Briefing Diário

Resumo do dia com pendências, alertas e timeline

EM TESTE

Saudação personalizada + frase motivacional. 8 KPIs (atenção, sem contato, retornos vencidos, 5ª/7ª Venda, % trabalhado, atrasadas, tarefas hoje). Alertas detalhados por módulo, tarefas pendentes, timeline sugerida do dia. Botão WhatsApp para compartilhar.

Abrir Briefing

Folha de Ponto

Dashboard de jornada via API Secullum Ponto Web

EM DESENVOLVIMENTO

Extrator Python consome API Secullum (291 funcionários ativos, 7 empresas, 26 departamentos). Dashboard 5 abas: Resumo, Departamentos, Individual, Batidas e Ocorrências. Exclui domingos e 14 feriados nacionais dos cálculos. Tema claro/escuro.

API Secullum ECharts Local (JSON)

RH Analytics

People Dashboard — Rotatividade, Absenteísmo, Remuneração

ONLINE

6 abas: Visão Geral, Headcount, Rotatividade, Absenteísmo, Remuneração e Colaboradores. Dados do Excel RH (578 funcionários) + Secullum Ponto Web (270 ativos, 20 departamentos). KPIs, alertas automáticos, drill-down por filial e departamento. Tema claro/escuro.

Abrir Dashboard RH

Visitação Médica

Sistema completo de gestão de visitação com GPS, fotos e IA

EM PRODUÇÃO — 9/14

PWA para representantes em campo. Check-in/out com GPS e fotos, base de 22.417 médicos (Firebird), agenda integrada ao Google Calendar (OAuth2), login via Google, jornada do dia, temperatura de visita, ficha completa do médico com secretária e auditoria, transcrição de voz. Pendentes: modo offline, assistente IA (Haiku), premiação, captação SDR, ROI de visitas. Projeto separado no Railway. 14 módulos.

✅ PWA ✅ Check-in/out ✅ Google Calendar ✅ Login Google ✅ 22k Médicos ✅ Fotos + GPS ✅ Jornada ✅ Voz→Texto ✅ Dashboard ⏳ IA Haiku ⏳ Offline ⏳ SDR ⏳ ROI ⏳ Premiação
PWA Representante Dashboard CRM Proposta v1.0

IA Revenda — CRM Revendas

Chat IA vendedora WhatsApp + CRM completo para reativação 3ª Venda

ONLINE

CRM 13 abas: Dashboard, Pipeline Kanban, Catálogo Magazord (73 produtos), Pedidos, Clientes (2.993 da 3ª Venda), Conversas, Operador (FCerta manual), Treinamento IA (Claude Haiku), Cadências (4 sequências), Inteligência (5 perfis), Fluxos N8N, Roadmap, Config. Pagamento via Payer (Pix/Débito/Crédito 6x). Compra 100% dentro do WhatsApp via Chatwoot/Bridge. Disparo desabilitado.

✅ CRM 13 abas ✅ 2.993 Clientes ✅ Catálogo Magazord ✅ Claude Haiku ✅ Inteligência 5 perfis ✅ 4 Cadências ✅ Payer mapeada ⏳ Handler Bridge ⏳ Templates Meta ⏳ Disparo
Abrir CRM Revendas Fluxograma N8N API Status

Sorteador

Ferramenta interna

ONLINE

Sorteador de nomes com animação tipo roleta e confetti. Adicione participantes e sorteie de forma aleatória.

Abrir Sorteador

Compras — Cotação de Ativos

Cadastro de ativos/fornecedores e disparo de cotação por WhatsApp

EM DESENVOLVIMENTO

Cadastra ativos (medicamento/cosmético/suplemento) e vincula fornecedores (sincronizados do Firebird FC02000). Tela de cotação seleciona o ativo, marca os fornecedores vinculados e monta a mensagem. Disparo automático pelo WhatsApp ainda pendente — depende de alinhamento com o Alan sobre o Chatwoot/bridge. Por enquanto o pedido de envio só fica registrado (compra_envios).

Abrir Compras

Novos projetos aparecerão aqui conforme forem desenvolvidos.