Tutorial · DEVSYS Dashboard
GUIA COMPLETO
Aprenda a interpretar e usar o Dashboard de Análise de Estoque & Fornecedores
01Visão Geral do Sistema
O Dashboard de Análise de Estoque e Fornecedores é uma ferramenta de inteligência comercial que lê diretamente o banco de dados do DEVSYS e transforma os dados brutos de compras, vendas e estoque em informação acionável para a gestão.
Objetivo Principal
Identificar onde o capital da empresa está imobilizado sem retorno — produtos que não vendem, fornecedores pouco rentáveis e estoque acumulado em excesso.
Base Analisada
15.216 produtos ativos, 313 fornecedores e histórico de vendas de Dez/2024 a Abr/2026, extraídos do DEVSYS_DATABASE.GDB.
Para quem é?
Gestores de compras, estoque e financeiro que precisam tomar decisões sobre quais produtos repor, negociar ou liquidar.
Acesso
Funciona em qualquer navegador da rede local. Não precisa de internet. Servidor Python integrado na porta 9090.
02Como os Dados Chegam ao Dashboard
O fluxo de dados passa por três etapas antes de aparecer na tela.
Extração do Banco Firebird
O script analise_rentabilidade.py conecta ao DEVSYS_DATABASE.GDB via biblioteca fdb e carrega as tabelas EST_PRODUTO, EST_ESTOQUE, EST_FORNECEDOR, VEN_SAIDA e VEN_SAIDA_PRODUTOS. Somente vendas com status Finalizado = Sim são consideradas.
Cálculo dos Indicadores
Os dados são processados com Python + Pandas: cálculo de giro, cobertura de estoque, margem real, valor imobilizado e score de risco para cada produto. O resultado é salvo em analise_produtos.pkl (cache local).
Exportação para o Dashboard
Scripts de exportação geram arquivos JSON (all_fornecedores.json, all_produtos_parados.json, alto_giro.json) que são embarcados diretamente no HTML. O dashboard é 100% estático — roda sem banco de dados aberto.
Para atualizar os dados: rode novamente analise_rentabilidade.py seguido dos scripts de exportação e abra o dashboard. Não é necessário reiniciar o servidor.
03Indicadores Utilizados
Entenda o que cada número significa antes de tomar decisões com base neles.
Margem Real (%)
Diferente da margem cadastrada no produto, esta é calculada sobre as vendas efetivas do período. Um produto com margem cadastrada de 80% pode ter margem real de 30% se houver descontos frequentes.
Giro de Estoque
Indica quantas vezes o estoque "girou" no período analisado. Giro = 2x significa que o estoque atual seria vendido 2 vezes. Quanto maior, melhor aproveitamento do capital.
Cobertura de Estoque (meses)
Estima por quantos meses o estoque atual dura com o ritmo de vendas atual. Cobertura acima de 6 meses indica excesso; acima de 12 meses, situação crítica.
Valor Imobilizado em Estoque
Capital parado que poderia estar gerando retorno. A análise destaca R$ 349 mil imobilizados em produtos sem nenhuma venda no período.
Score de Problema
Pontuação composta que combina ausência de vendas, baixa margem, excesso de cobertura e valor imobilizado. Usado internamente para ordenar e classificar os produtos mais problemáticos.
| Critério | Pontuação |
|---|---|
| Sem nenhuma venda | +40 pontos |
| Sem venda + tem estoque | +20 pontos extras |
| Mais de 180 dias sem venda | +25 pontos |
| Margem real abaixo de 5% | +25 pontos |
| Cobertura acima de 12 meses | +20 pontos |
| Valor imobilizado acima de R$ 1.000 | +10 pontos |
📊Referência: Estoque Parado
Parâmetros ideais para avaliação do percentual de estoque sem giro no setor de material de construção.
Média Ideal de Estoque Parado
| Situação | % Estoque Parado |
|---|---|
| ✅ Excelente | Até 5% |
| 🟢 Saudável / Aceitável | Entre 5% e 10% |
| 🟡 Alerta | Entre 10% e 20% |
| 🔴 Crítico | Acima de 20% |
O que isso significa na prática
Se você tem, por exemplo, R$ 500.000 em estoque:
| % Parado | Valor Imobilizado | Impacto |
|---|---|---|
| 5% | R$ 25.000 | Normal |
| 10% | R$ 50.000 | Começa a pesar |
| 20% | R$ 100.000 | Dinheiro travado e risco de perda |
⚠️ Realidade do Setor de Material de Construção
Este setor costuma ter produtos de baixa rotatividade (louças, metais, acabamentos especiais) e itens sazonais ou de moda (pisos, revestimentos). Por isso, muitas lojas trabalham com:
📌 Regra Prática de Gestão Inteligente
| Situação | Ação Recomendada |
|---|---|
| Produto com +180 dias sem giro | Considerar promoção ou liquidação |
| Produto com +365 dias parado | Risco alto de prejuízo — capital morto |
| Alta ocupação de espaço físico | Pior ainda, mesmo que "não esteja vencido" |
🚀 Regras Automáticas de Decisão
Com base nos dados do sistema, é possível automatizar as seguintes regras de gestão:
| Sinal | Situação | Decisão |
|---|---|---|
| 🟢 | Giro rápido + estoque baixo | Comprar |
| 🟡 | Giro médio | Manter |
| 🔴 | Estoque parado + tempo alto | Liquidar |
04Classificação de Risco
Cada produto recebe uma classificação automática baseada em regras de negócio.
| Classificação | Critério | Ação Sugerida |
|---|---|---|
| SEM VENDA / ESTOQUE PARADO | Nenhuma venda no período + tem estoque físico | Liquidação, devolução ao fornecedor ou promoção agressiva |
| SEM VENDA / SEM ESTOQUE | Nenhuma venda e estoque zerado | Avaliar se deve continuar no cadastro ativo |
| BAIXO GIRO (>180d) | Teve vendas, mas há mais de 180 dias sem movimentação | Revisar preço, reposicionamento ou descontinuação |
| MARGEM CRÍTICA (<5%) | Está vendendo, mas com margem abaixo de 5% | Renegociar custo com fornecedor ou reajustar preço de venda |
| BAIXA MARGEM (<15%) | Vendendo com margem entre 5% e 15% | Monitorar e buscar melhoria na negociação |
| EXCESSO (>12 meses) | Cobertura de estoque superior a 12 meses | Suspender novas compras e liquidar gradualmente |
| ESTOQUE ALTO (>6 meses) | Cobertura entre 6 e 12 meses | Reduzir próximo pedido de compra |
| NORMAL | Vendendo bem com margem e cobertura adequadas | Manter e garantir reposição |
05Entendendo o Giro de Estoque
O giro é o principal termômetro de saúde do estoque.
Giro = 0
Produto parado. Nenhuma unidade foi vendida no período. Capital completamente imobilizado.
Giro 0,1 a 0,9x
Giro fraco. Vendeu menos do que tem em estoque. Vai demorar mais de 16 meses para zerar.
Giro 1x a 3x
Giro saudável. Vendeu o equivalente a 1 a 3 vezes o estoque atual. Cobertura de 5 a 16 meses.
Giro > 5x
Alto giro. Produto campeão de vendas. Cuidado para não faltar estoque — cobertura curta.
Atenção: giro muito alto com cobertura menor que 1 mês pode indicar risco de ruptura de estoque. Monitore esses produtos na aba ⚡ Alto Giro filtrando por cobertura baixa.
06Aba: Ranking Fornecedores
Visão consolidada de todos os 313 fornecedores ordenados pelo impacto negativo no estoque.
Colunas da Tabela
| Coluna | O que significa |
|---|---|
| Prod. Parados | Quantidade de produtos deste fornecedor sem nenhuma venda no período |
| Vlr Parado | Soma do custo de todos os produtos parados — quanto está imobilizado |
| Vlr Total Est. | Valor total do estoque deste fornecedor (parados + girando) |
| % Parado | Proporção do estoque que está parada. Barra colorida: verde <30%, amarelo 30-50%, vermelho >80% |
| Margem | Margem real calculada sobre as vendas efetivas do período |
| Risco | Badge automático: CRÍTICO ≥80% parado, ALTO ≥50%, MÉDIO ≥30%, BAIXO <30% |
Interação: Clique na Linha
Clicar em qualquer fornecedor abre um painel lateral (drawer) com a lista completa dos produtos parados daquele fornecedor, incluindo valor de cada item, dias sem entrada e grupo. Use para preparar reunião de negociação ou devolução.
Dica de uso: Ordene por % Parado para encontrar fornecedores onde a maior parte do estoque está imobilizada. Esses são os candidatos prioritários para negociação de devolução ou desconto adicional.
07Aba: Produtos Parados
Lista completa dos 2.987 produtos com estoque físico e zero vendas no período.
Como Interpretar
Cada linha representa um produto que ocupou espaço físico e imobilizou capital sem gerar receita. A coluna Dias s/ Entrada mostra há quanto tempo o produto foi comprado pela última vez:
| Badge Dias | Interpretação |
|---|---|
| ≤90d | Compra recente — produto pode ainda estar em fase de introdução |
| 91–180d | Atenção — produto parado há 3 a 6 meses após a compra |
| 181–365d | Crítico — comprado há mais de 6 meses, nunca vendido |
| >365d | Muito crítico — produto comprado há mais de 1 ano sem venda alguma |
| S/D | Sem data de entrada registrada no sistema |
R$ 486.527 estão imobilizados nestes produtos. Mesmo recuperando 50% do valor via promoção ou devolução, seriam R$ 243 mil liberados para capital de giro.
08Aba: Por Grupo
Análise agrupada por categoria de produto — ideal para decisões estratégicas de mix.
Permite identificar quais linhas de produto inteiras têm desempenho ruim, não apenas itens isolados. Um grupo com alta % de parados pode indicar que a linha está fora do perfil de compra dos clientes.
Perguntas que esta aba responde
Quais categorias têm maior capital parado?
Ordene por Vlr Parado para ver onde está concentrado o problema.
Quais grupos têm melhor margem?
Ordene por Margem para identificar as linhas mais rentáveis e aumentar o mix dessas.
Qual grupo tem mais produtos parados?
Ordene por Prod. Parados para ver onde há maior dispersão de SKUs problemáticos.
09Aba: ⚡ Alto Giro
Os 3.217 produtos com giro ≥ 1x — os verdadeiros motores da receita.
Esta aba é o contraponto das outras: mostra o que está funcionando bem. Use-a para garantir que esses produtos nunca faltem em estoque e para replicar o modelo de sucesso em outras categorias.
Colunas Especiais
| Coluna | O que observar |
|---|---|
| Giro | Exibido em destaque com cor: verde ≥10x, azul ≥5x, amarelo ≥2x |
| Cobertura | Verde ≤1m (ótimo), laranja >6m (comprou demais mesmo vendendo bem) |
| Margem | Colorida por faixa: ≥40%, ≥20%, <10% |
Slider "Giro Mín"
Arraste o slider no topo da aba para filtrar apenas produtos com giro acima de X. Use giro ≥ 5x para ver os 20% de produtos que provavelmente geram 80% da receita (Princípio de Pareto).
Estratégia: combine alto giro + cobertura baixa para montar a lista de compras urgentes. Esses produtos vendem rápido e podem faltar.
10Filtros Interativos
Todos os filtros são globais — aplicam-se simultaneamente a todas as abas e KPIs.
| Filtro | Como usar | Caso de uso |
|---|---|---|
| 🔍 Busca | Digite qualquer texto | Encontrar um produto ou fornecedor específico por nome |
| 📁 Grupo | Selecione o grupo | Analisar uma linha de produto específica (ex: AMANCO, FORMIGRES) |
| 🏭 Fornecedor | Selecione o fornecedor | Preparar reunião de negociação com fornecedor específico |
| ⚠️ % Parado mín | Arraste o slider | Mostrar só fornecedores com alto índice de estoque parado (ex: ≥50%) |
| 📈 Margem mín | Arraste o slider | Filtrar apenas fornecedores com margem acima de um threshold |
| 📅 Dias s/ entrada | Arraste o slider | Focar em produtos comprados recentemente que não venderam |
| 💰 Vlr estoque mín | Arraste o slider | Ignorar itens de baixo valor e focar no impacto financeiro relevante |
| 🚦 Nível de Risco | Clique nos chips coloridos | Mostrar apenas fornecedores de risco CRÍTICO ou ALTO |
Chips de Filtro Ativo
Cada filtro aplicado aparece como um chip azul abaixo dos controles. Clique no chip para remover aquele filtro específico, ou use o botão "✕ Limpar Tudo" para resetar tudo de uma vez.
Botão Ocultar / Mostrar Filtros
A barra de filtros inicia oculta para não poluir a visão inicial. Clique em "▼ Mostrar Filtros" para expandir e "▲ Ocultar" para recolher.
11Ações Recomendadas
Roteiro prático para tirar valor imediato do dashboard.
Identificar os 10 maiores "vilões" do estoque
Acesse Produtos Parados → ordene por Vlr Estoque ↓. Os 10 primeiros representam a maior concentração de capital parado. Filtre por fornecedor e use o drawer para ver todos os itens daquele fornecedor.
Preparar pauta de negociação por fornecedor
Acesse Ranking Fornecedores → clique no fornecedor → o drawer mostra todos os produtos parados com valor unitário. Use isso para solicitar troca, devolução ou desconto em próxima compra.
Montar lista de produtos para promoção
Filtro: % Parado ≥ 30% + Vlr Estoque ≥ R$500 → aba Produtos Parados. Esses são os candidatos a campanha de liquidação com melhor retorno financeiro.
Definir prioridade de reposição de compras
Acesse ⚡ Alto Giro → slider Giro ≥ 3x → ordene por Cobertura ↑. Produtos com alto giro e baixa cobertura são os que precisam de reposição urgente.
Avaliar mix de grupos de produto
Acesse Por Grupo → compare a coluna % Parado entre grupos. Grupos com mais de 50% parado podem indicar linhas fora do perfil do cliente ou com precificação inadequada.
12Acesso em Rede
Como disponibilizar o dashboard para outros computadores da empresa.
Endereços de Acesso
| Onde | Endereço |
|---|---|
| Neste computador | http://localhost:5657/dashboard_estoque.html |
| Rede local (qualquer PC) | http://192.168.0.115:5657/dashboard_estoque.html |
| Tutorial (esta página) | http://192.168.0.115:5657/tutorial.html |
Iniciar o Servidor
Dê duplo clique no arquivo Iniciar Dashboard.bat localizado em:
D:\Evolução categorias\.worktrees\comissao\Iniciar Dashboard.bat
O servidor inicia na porta 9090 e abre o dashboard automaticamente. A janela do prompt deve permanecer aberta enquanto o servidor estiver em uso.
Atualizar os Dados
# 1. Gerar análise (conecta ao banco Firebird) python analise_rentabilidade.py # 2. Exportar JSONs python export_all_forn.py python export_all_prod.py python export_alto_giro.py # 3. Embarcar no HTML python patch_dashboard.py python patch_prod.py
O banco de dados não precisa estar aberto para o dashboard funcionar. Apenas para rodar os scripts de atualização é necessário acesso ao DEVSYS_DATABASE.GDB.