| Nome | Login (CPF) | Filial | Perfil | Status | Último Login | Ações |
|---|
Perfis de Acesso
| Modulo | Status | Ultima Atualizacao | Tempo | Registros |
|---|
| # | Projeto | Categoria | Status | Atualizado | Etapa Atual |
|---|
SISTEMA DE GESTAO DA QUALIDADE
SUMARIO
- Escopo e Contexto da Organizacao
- Lideranca e Responsabilidades
- Planejamento — Modulos do Sistema
- Apoio — Infraestrutura e Recursos
- Operacao — Processos e Fluxos
- Avaliacao de Desempenho
- Melhoria Continua
- Controle de Registros e Rastreabilidade
- Gestao de Riscos
- 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 Interessada | Necessidade / Expectativa |
|---|---|
| Diretoria | Visao gerencial consolidada, indicadores de performance, metas por filial |
| Gerentes de Filial | Acompanhamento de vendas perdidas, recompra, orcamentos rejeitados |
| Operadores (Atendentes) | Interface agil para contato com clientes, registro de tratativas |
| Financeiro | Controle de entregas, pagamentos pendentes, saldos |
| Industria / Producao | Estoque minimo, faltas de insumos, producao de revendas |
| Marketing | Solicitacao e acompanhamento de rotulos |
| TI | Estabilidade, 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
| Processo | Responsavel (R) | Aprovador (A) | Consultado (C) | Informado (I) |
|---|---|---|---|---|
| Extracao de dados Firebird → PG | TI | Diretoria | Gerentes | Operadores |
| Cadastro de usuarios | Admin CRM | TI | RH | Usuarios |
| Configuracao de perfis/permissoes | Admin CRM | Diretoria | TI | Todos |
| Registro de tratativas (7a Venda) | Operadores | Gerentes | — | Diretoria |
| Contato com clientes (3a/4a/5a) | Operadores | Gerentes | — | Diretoria |
| Controle de entregas (Financeiro) | Financeiro | Diretoria | Gerentes | — |
| Gestao de estoque revendas | Industria | Diretoria | Gerentes | Marketing |
| Definicao de metas | Diretoria | Diretoria | Gerentes | Operadores |
| Solicitacao de rotulos | Marketing | Industria | — | Operadores |
| Monitoramento de indicadores | TI / Diretoria | Diretoria | Gerentes | Todos |
2.2 Perfis de Acesso e Segregacao de Funcoes
| Perfil | Modulos Permitidos | Restricoes |
|---|---|---|
admin | Todos os modulos | Acesso total, gestao de usuarios e metas |
operador | Agenda, 3a, 4a, 5a, 7a Venda | Somente leitura/escrita nos modulos de contato |
financeiro | Operador + Financeiro | Acesso adicional a entregas e saldos |
industria | Revendas (somente leitura) | Consulta de estoque e faltas |
marketing | Revendas + Rotulos | Gestao 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_anotacoeseditada 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
4.2 Ambiente de Hospedagem
| Componente | Tecnologia | Localizacao |
|---|---|---|
| ERP (origem) | Firebird 4.0 | On-premise (192.168.2.250) |
| Extratores | Python 3.x | Maquina local (Task Scheduler) |
| Banco de dados | PostgreSQL | Railway Cloud |
| API Backend | Flask (Python) | Railway Cloud |
| Frontend | HTML + JS + ECharts | Railway Cloud (servido pela API) |
| Deploy | Git push → auto-deploy | Railway (branch main) |
4.3 Pipeline de Extracao
| # | Script | Origem Firebird | Destino PostgreSQL |
|---|---|---|---|
| 1 | extrair_pendencias.py | FC12000 + FC17000 | crm_7a_pendencias |
| 2 | extrair_3a_venda.py | FC07800/07810/14000 | crm_3a_clientes |
| 3 | extrair_4a_venda.py | FC07800/07810/14000 | crm_4a_clientes |
| 4 | extrair_5a_venda.py | FC15100/15110/31100 | crm_5a_orcamentos + series |
| 5 | extrair_entregas_pg.py | FC12400/12410 | fin_romaneios |
| 6 | extrair_estoque_min.py | FC14000/31100/31200 | rev_produtos + filiais |
| 7 | extrair_estoque_atual.py | FC03140 | rev_estoque |
| 8 | extrair_usuarios.py | FC08000 | crm_7a_usuarios |
| 9 | extrair_producao_revendas.py | FC03140 | rev_producao |
| 10 | extrair_insumos.py | FC03000 | rev_insumos |
| 11 | extrair_compras_revenda.py | FC31110 | crm_3a_compras_revenda |
| 12 | extrair_ctrlh_pg.py | FC1G000 | crm_ctrlh |
| 13 | extrair_indicadores.py | Multiplas | ind_snapshots |
4.4 Controle de Versao
- Repositorio:
LHGONCALVES/crm-7a-venda(branchmain) - Deploy: Push no
main→ Railway redeploy automatico - Migracoes: Via
init_tables()emdb.pyusandoALTER 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
5.2 Fluxo — 7a Venda (Vendas Perdidas)
| Etapa | Acao | Responsavel | Registro |
|---|---|---|---|
| 1 | Extracao identifica formula sem req | Automatico | crm_7a_pendencias |
| 2 | Classificacao por zona (Oper/Estrat/Critico) | Automatico | campo zona |
| 3 | Operador visualiza pendencia | Operador | — |
| 4 | Operador registra tratativa | Operador | crm_7a_tratativas |
| 5 | Seleciona status (12 opcoes) | Operador | campo status |
| 6 | Opcional: anexa documento | Operador | campos anexo_* |
| 7 | Req aparece no ERP → baixado automaticamente | Automatico | baixado=TRUE |
| 8 | Gerente monitora via Painel | Gerente | — |
5.3 Fluxo — Financeiro (Entregas)
| Etapa | Acao | Responsavel | Registro |
|---|---|---|---|
| 1 | Extracao de romaneios do ERP | Automatico | fin_romaneios |
| 2 | Financeiro visualiza entregas pendentes | Financeiro | — |
| 3 | Registra anotacao financeira | Financeiro | fin_anotacoes |
| 4 | Marca status (troca, sem taxa, pago, manual) | Financeiro | campos booleanos |
| 5 | Criacao manual quando necessario | Financeiro | is_manual=TRUE |
| 6 | Acompanha KPIs (pendente/pago/devolvido) | Financeiro | — |
5.4 Fluxo — Estoque Revendas
| Etapa | Acao | Responsavel | Registro |
|---|---|---|---|
| 1 | Extracao de vendas mensais (m0/m1/m2/m3) | Automatico | rev_produtos |
| 2 | Calculo de estoque minimo (media 3 meses) | Automatico | campo media_qtd |
| 3 | Industria consulta niveis de estoque | Industria | — |
| 4 | Identifica faltas (ativo ou embalagem) | Industria | rev_falta |
| 5 | Registra sub-itens da falta | Industria | rev_falta_subitens |
| 6 | Acompanha historico de alteracoes | Todos | rev_falta_historico |
| 7 | Atualiza anotacoes do produto | Industria | rev_anotacoes |
5.5 Fluxo — Rotulos (Marketing)
| Etapa | Acao | Responsavel | Registro |
|---|---|---|---|
| 1 | Marketing cria solicitacao de rotulo | Marketing | mkt_rotulos (Pendente) |
| 2 | Industria inicia producao | Industria | status=Producao |
| 3 | Industria envia rotulo | Industria | status=Enviado |
| 4 | Marketing confirma recebimento | Marketing | status=Recebido |
| 5 | Trilha de auditoria completa | Automatico | mkt_rotulos_audit |
5.6 Fluxo — Agenda e Tarefas
| Etapa | Acao | Responsavel | Registro |
|---|---|---|---|
| 1 | Tarefa criada (manual ou automatica via 3a/5a) | Sistema/Operador | agenda_tarefas |
| 2 | SLA calculado com base no tipo | Automatico | sla_limite |
| 3 | Responsavel visualiza tarefa | Operador | — |
| 4 | Muda status: pendente → iniciada | Operador | iniciada_em |
| 5 | Registra follow-up | Operador | agenda_followups |
| 6 | Conclui tarefa | Operador | concluida_em |
| 7 | Timeline registra todas as mudancas | Automatico | agenda_timeline |
| 8 | Notificacao para atrasos/SLA estourado | Automatico | agenda_notificacoes |
6 AVALIACAO DE DESEMPENHO
6.1 KPIs — Vendas
| Indicador | Modulo | Formula / Descricao | Frequencia |
|---|---|---|---|
| Pendencias por zona | 7a Venda | Count por Operacional/Estrategico/Critico | Tempo real |
| Taxa de tratativa | 7a Venda | Pendencias com tratativa / Total pendencias | Diario |
| Taxa de contato | 3a/4a Venda | Clientes contatados / Total clientes | Diario |
| Taxa de recuperacao | 5a Venda | Orcamentos recuperados / Total rejeitados | Diario |
| Objecoes principais | 5a Venda | Top PQ1/PQ2/PQ3 por frequencia | Diario |
| Margem media | 5a Venda | Media PTLUCRO dos orcamentos | Diario |
| Ativacoes por filial | 8a Venda | Count de ativacoes por filial | Diario |
6.2 KPIs — Financeiro / Estoque / Operacional
| Indicador | Modulo | Formula / Descricao | Frequencia |
|---|---|---|---|
| Valor pendente | Financeiro | SUM(vrsdo) WHERE status=pendente | Tempo real |
| Valor pago | Financeiro | SUM(vrpag) WHERE status=pago | Tempo real |
| Valor devolvido | Financeiro | SUM WHERE status=devolvido | Tempo real |
| Produtos abaixo do minimo | Revendas | Count WHERE estoque_atual < est_min | Diario |
| Faltas ativas | Revendas | Count WHERE status=PENDENTE | Tempo real |
| Tarefas atrasadas | Agenda | Count WHERE vencimento < NOW | Tempo real |
| SLA estourado | Agenda | Count WHERE sla_estourado=TRUE | Tempo real |
| Usuarios online | Admin | Count WHERE ultimo_heartbeat > NOW-5min | Tempo real |
6.3 Dashboards de Monitoramento
| Dashboard | Rota | Abas | Refresh | Acesso |
|---|---|---|---|---|
| Painel Gerencial | /painel | 7 | Auto 3min | Admin |
| Gerencial 3a | /gerencial3a | 1 | Manual | Admin |
| Gerencial 5a | /gerencial5a | 1 | Manual | Admin |
| Gerencial 7a | /gerencial7a | 1 | Manual | Admin |
| Gerencial 8a | /gerencial8a | 1 | Manual | Admin |
| Indicadores | /indicadores | 1 | Manual | Admin |
| Metas | /metas | 1 | Manual | Admin |
| Admin Monitor | /admin | 3 | Manual | Admin |
6.4 Monitor do Sistema (20 modulos)
| # | Modulo | Tabela | Timestamp | Metrica |
|---|---|---|---|---|
| 1 | Indicadores | ind_snapshots | criado_em | Ultimo registro + contagem |
| 2 | Usuarios (sync) | crm_7a_usuarios | atualizado_em | Ultimo registro + contagem |
| 3 | 7a Venda | crm_7a_pendencias | atualizado_em | Ultimo registro + contagem (baixado=FALSE) |
| 4 | 3a Venda | crm_3a_clientes | atualizado_em | Ultimo registro + contagem |
| 5 | 4a Venda | crm_4a_clientes | atualizado_em | Ultimo registro + contagem |
| 6 | 5a Venda | crm_5a_orcamentos | atualizado_em | Ultimo registro + contagem |
| 7 | 5a Ativos | crm_5a_ativos | atualizado_em | Ultimo registro + contagem |
| 8 | Fila Orcamentos | crm_fila_orcamentos | atualizado_em | Ultimo registro + contagem |
| 9 | Financeiro | fin_romaneios | atualizado_em | Ultimo registro + contagem |
| 10 | Convenios | fin_convenios | atualizado_em | Ultimo registro + contagem |
| 11 | Estoque Minimo | rev_produtos | atualizado_em | Ultimo registro + contagem |
| 12 | Estoque Atual | rev_estoque | atualizado_em | Ultimo registro + contagem |
| 13 | Producao Revendas | rev_producao | atualizado_em | Ultimo registro + contagem |
| 14 | Insumos | rev_insumos | atualizado_em | Ultimo registro + contagem |
| 15 | Compras Revenda | crm_3a_compras_revenda | atualizado_em | Ultimo registro + contagem |
| 16 | Vendas Mensais | rev_vendas_mensais | atualizado_em | Ultimo registro + contagem |
| 17 | CTRL+H (Faltas) | crm_ctrlh | atualizado_em | Ultimo registro + contagem |
| 18 | Auditoria Revendas | rev_auditoria | atualizado_em | Ultimo registro + contagem |
| 19 | Visitacao Medica | vis_checks | criado_em | Ultimo registro + contagem |
| 20 | Campanhas 3a | crm_3a_campanhas | atualizado_em | Ultimo registro + contagem |
7 MELHORIA CONTINUA
7.1 Processo de Evolucao do Sistema
| Etapa | Descricao | Ferramenta |
|---|---|---|
| Identificacao | Necessidade identificada por usuario ou diretoria | Conversa / Reuniao |
| Analise | Avaliacao de impacto e viabilidade | Documentacao tecnica |
| Desenvolvimento | Implementacao com testes | Git + Railway |
| Deploy | Push no main → auto-deploy Railway | Git push |
| Validacao | Verificacao em producao | CRM + Logs |
| Registro | Versionamento e documentacao | Git log + CLAUDE.md |
7.2 Historico de Evolucao
| Projeto | Modulo | Status |
|---|---|---|
| CRM 7a Venda | 7a Venda (core) | Producao |
| Projeto 22 | Agenda e Tarefas | Producao |
| Projeto 25 | CTRL+H | Producao |
| Projeto 28 | Rotulos Marketing | Producao |
| Painel Gerencial | Dashboard consolidado | Producao |
| Estoque Revendas | Estoque + Producao + Faltas | Producao |
7.3 Migracoes de Banco
- Nunca usar DDL destrutivo no startup (risco de lock em workers gunicorn)
- Nunca usar ALTER COLUMN TYPE sem guarda
- Migracoes aplicadas via
python db.pycom DATABASE_URL
8 CONTROLE DE REGISTROS E RASTREABILIDADE
8.1 Rastreabilidade de Dados
| Tipo de Registro | Tabela | Campos de Rastreio | Retencao |
|---|---|---|---|
| Tratativas 7a Venda | crm_7a_tratativas | usuario, perfil, criado_em | Indefinida |
| Contatos 3a/4a/5a | crm_3a/4a/5a_contatos | usuario, criado_em | Indefinida |
| Ativacoes 8a | crm_8a_ativacoes | usuario, criado_em | Indefinida |
| Anotacoes financeiras | fin_anotacoes | usuario, atualizado_em | Indefinida |
| Anotacoes revendas | rev_anotacoes | usuario, atualizado_em | Indefinida |
| Historico de faltas | rev_falta_historico | usuario, campo, valor_ant, valor_novo, criado_em | Indefinida |
| Timeline agenda | agenda_timeline | usuario, acao, mudancas (JSONB), criado_em | Indefinida |
| Auditoria rotulos | mkt_rotulos_audit | usuario, acao, detalhes, criado_em | Indefinida |
| Follow-ups | agenda_followups | usuario, tipo_acao, resultado, criado_em | Indefinida |
8.2 Campos de Auditoria Padrao
usuario VARCHAR(120)— identifica quem realizou a acaocriado_em TIMESTAMP DEFAULT NOW— data/hora da criacaoatualizado_em TIMESTAMP DEFAULT NOW— data/hora da ultima alteracao
8.3 Logs Operacionais
| Log | Localizacao | Conteudo | Frequencia |
|---|---|---|---|
| Extracao agendada | Logs\extracao_agendada.log | Output dos 21 extratores | Diario 06:00 e 17:30 |
| Deploy | Railway dashboard | Logs de build e runtime | Cada push |
| Heartbeat usuarios | crm_7a_usuarios.ultimo_heartbeat | Ultima atividade do usuario | A cada acao |
| Login | crm_7a_usuarios.ultimo_login | Ultimo acesso | Cada login |
9 GESTAO DE RISCOS
9.1 Riscos Identificados e Controles
| # | Risco | Prob. | Impacto | Controle Implementado |
|---|---|---|---|---|
| R1 | Perda de dados no Firebird | Baixa | Critico | Acesso SOMENTE SELECT, nunca DDL/DML |
| R2 | Extracao falha silenciosamente | Media | Alto | Log completo + monitor no Admin |
| R3 | Deploys cascata causam downtime | Media | Medio | Agrupar alteracoes, evitar pushes consecutivos |
| R4 | DDL no startup trava workers | Baixa | Critico | Somente ADD COLUMN IF NOT EXISTS |
| R5 | Acesso nao autorizado | Baixa | Alto | JWT + bcrypt + perfis + primeiro acesso forca troca |
| R6 | Sobrescrita de dados manuais | Baixa | Alto | rev_anotacoes protegida — extrator NUNCA toca |
| R7 | Token API usado em slug errado | Media | Medio | Cada token vale para seu proprio slug (403 ≠ token invalido) |
| R8 | Campos TIME quebram JSON | Media | Baixo | isoformat() generico para serializacao |
| R9 | Licenca BD Monitor sobrescrita | Baixa | Alto | Arquivo protegido, nunca sobrescrever sem confirmacao |
| R10 | Dados desatualizados no CRM | Baixa | Medio | Extracao diaria 06:00 e 17:30 + monitor 20 modulos no Admin |
9.2 Regras de Seguranca Obrigatorias
- Firebird: SOMENTE SELECT — nunca executar DDL ou DML no banco 192.168.2.250
- Exclusao: Nunca deletar arquivos, processos ou recursos sem confirmacao explicita
- Senhas: Armazenadas com bcrypt, nunca em texto plano
- JWT: Token com validade de 10 horas, verificado em cada requisicao autenticada
- Inputs de data:
onkeydown=false+ min/max no frontend,_safe_date()no backend (2020-2099) - Erros: API deve retornar JSON em caso de erro (errorhandler 500)
10 ANEXOS — INVENTARIO TECNICO
Anexo A — Inventario de Endpoints (139 rotas)
| Dominio | Prefixo | Qtd |
|---|---|---|
| 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 |
| TOTAL | 139 |
Anexo B — Inventario de Tabelas (39)
| # | Tabela | Dominio | Registros Est. |
|---|---|---|---|
| 1 | crm_7a_usuarios | Auth | 20-100 |
| 2 | crm_perfis | Auth | 5 |
| 3 | crm_7a_pendencias | 7a Venda | 1.000-5.000 |
| 4 | crm_7a_tratativas | 7a Venda | Acumulativo |
| 5 | crm_3a_clientes | 3a Venda | 100-300 |
| 6 | crm_3a_contatos | 3a Venda | Acumulativo |
| 7 | crm_3a_campanhas | 3a Venda | 1-12 |
| 8 | crm_3a_compras_revenda | 3a Venda | 500-2.000 |
| 9 | crm_4a_clientes | 4a Venda | 50-200 |
| 10 | crm_4a_contatos | 4a Venda | Acumulativo |
| 11 | crm_5a_orcamentos | 5a Venda | 100-500 |
| 12 | crm_5a_contatos | 5a Venda | Acumulativo |
| 13 | crm_5a_series | 5a Venda | 200-1.000 |
| 14 | crm_8a_ativacoes | 8a Venda | Acumulativo |
| 15 | fin_romaneios | Financeiro | 200-1.000 |
| 16 | fin_anotacoes | Financeiro | Acumulativo |
| 17 | rev_produtos | Revendas | 300-1.000 |
| 18 | rev_filiais | Revendas | 1.000-4.000 |
| 19 | rev_anotacoes | Revendas | 300-1.000 |
| 20 | rev_estoque | Revendas | 500-2.000 |
| 21 | rev_vendas_mensais | Revendas | 2.000-10.000 |
| 22-26 | rev_falta*, rev_insumos, rev_producao | Revendas | Acumulativo |
| 27-32 | agenda_* | Agenda | Acumulativo |
| 33-35 | ind_snapshots, ind_solicitacoes, ind_metas | Indicadores | 365/ano |
| 36 | crm_ctrlh | CTRL+H | 50-500 |
| 37-38 | mkt_rotulos, mkt_rotulos_audit | Marketing | Acumulativo |
| 39 | crm_projetos | Admin | 27 |
Anexo C — Identidade Visual
| Elemento | Valor |
|---|---|
| Cor primaria (teal) | #00897b |
| Cor escura (topbar) | #00695c |
| Fundo | #f0f4f3 |
| Bordas | #d0e2de |
| Texto | #1c2b29 |
| Fonte | Segoe UI, system-ui, sans-serif |
CONTROLE DE REVISOES
| Versao | Data | Descricao | Responsavel |
|---|---|---|---|
| 1.0 | 21/05/2026 | Emissao inicial — 14 modulos, 139 endpoints, 39 tabelas | Equipe 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
- 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
- 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
| Evento | Acao Requerida | Tipo de Revisao |
|---|---|---|
| Novo modulo adicionado ao CRM | Documentar modulo na Secao 3, atualizar anexos | Revisao maior (x.0) |
| Novo perfil de acesso criado | Atualizar Secao 2.2, revisar Matriz RACI | Revisao menor (x.x) |
| Mudanca na arquitetura tecnica | Atualizar Secao 4, revisar riscos | Revisao maior (x.0) |
| Novo extrator adicionado | Atualizar pipeline (Secao 4.3) e anexos | Revisao menor (x.x) |
| Incidente de seguranca | Atualizar riscos (Secao 9), adicionar controles | Revisao menor (x.x) |
| Auditoria interna/externa | Incorporar achados e acoes corretivas | Conforme achados |
| Alteracao significativa de processo | Atualizar fluxos (Secao 5), revisar KPIs | Revisao maior (x.0) |
Resumo por Usuário
| Usuário | Filial | Acessos | Páginas | Último acesso | Páginas visitadas |
|---|
Resumo por Página
| Página | Acessos | Usuários |
|---|
Log Detalhado
| Usuário | Página | Data/Hora |
|---|
Projetos em Desenvolvimento
Rastreio de Fórmula
Página pública para cliente acompanhar pedido
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.
Cockpit da Filial
Visão consolidada por filial: metas, vendas, CRM, CTRL+H, capacidade
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.
PCP Revendas
Controle de produção de revendas com kanban e dashboard
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.
Briefing Diário
Resumo do dia com pendências, alertas e timeline
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.
Folha de Ponto
Dashboard de jornada via API Secullum Ponto Web
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.
RH Analytics
People Dashboard — Rotatividade, Absenteísmo, Remuneração
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.
Visitação Médica
Sistema completo de gestão de visitação com GPS, fotos e IA
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.
IA Revenda — CRM Revendas
Chat IA vendedora WhatsApp + CRM completo para reativação 3ª Venda
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.
Sorteador
Ferramenta interna
Sorteador de nomes com animação tipo roleta e confetti. Adicione participantes e sorteie de forma aleatória.
Compras — Cotação de Ativos
Cadastro de ativos/fornecedores e disparo de cotação por WhatsApp
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).
Novos projetos aparecerão aqui conforme forem desenvolvidos.
