Impactos Financeiros da Ausência de Tecnologia no Estoque
A ausência de processos tecnológicos nas operações de estoque pode gerar impactos severos na saúde financeira de uma empresa:
- Subestimação dos custos reais e da margem de lucro;
- Imobilização de capital com produtos parados;
- Perdas por vencimento, avaria ou erro humano;
- Rupturas por falta de reposição correta;
- Fluxo de caixa desbalanceado por compras equivocadas.
A Solução: Sistema de Contagem Integrado com Excel, VBA e SQL
Diante disso, desenvolvi um sistema completo e acessível utilizando Excel como interface principal, VBA para automação e SQL Server para controle e consistência de dados. O sistema realiza contagens de estoque em tempo real, integrando diretamente com o ERP da empresa.
Funcionalidades principais:
- Filtro por Classificação ABC, Grupo, Classe, Subclasse, Família e Fabricante.
- Suspensão automática de movimentação dos produtos em contagem.
- Conferência cega via aplicativo Android, com exportação em .TXT.
- Análise de desvios antes da atualização no ERP.
- Exportações automáticas e barra de progresso visual.
Integração direta com base SQL
Veja este exemplo de consulta para buscar o saldo real:
SELECT
dPSE.Codigo AS Codigo_Interno,
dPSE.Nome AS Nome_Produto,
fEA.Qtde_Estoque_Atual AS Estoque_Disponivel,
(
SELECT COALESCE (SUM (VMPS.Quantidade), 0)
FROM Movimento_Transferencias dMT
INNER JOIN Movimento fM ON dMT.Ordem_Movimento = fM.Ordem
INNER JOIN View_Movimento_Prod_Serv VMPS ON fM.Ordem = VMPS.Ordem_Movimento
WHERE fM.Tipo_Operacao = 'TRS'
AND fM.Ordem_Filial = fEA.Ordem_Filial
AND VMPS.Ordem_Prod_Serv = fEA.Ordem_Prod_Serv
) AS Transferencias_Em_Andamento
FROM Estoque_Atual fEA
INNER JOIN Prod_Serv dPSE ON fEA.Ordem_Prod_Serv = dPSE.Ordem
WHERE fEA.Qtde_Estoque_Atual > 0
Essa consulta traz o saldo real do estoque considerando o que está em trânsito ou aguardando entrega, impedindo que itens movimentados sejam contados novamente.
Automação com VBA - Exportação da Contagem
Sub ExportarCadastroParaTXT()
Dim IsCaminho As String
IsCaminho = InputBox("Caminho do arquivo:")
Open IsCaminho For Output As #1
For IContador = 2 To iTotalLinhas
ILinha = 'monta a linha
Print #1, ILinha
Next IContador
Close #1
End Sub
Essa macro exporta os dados da planilha para o aplicativo Android que realiza a conferência cega.
Atualização com barra de progresso personalizada
Sub AtualizarBaseDadosProgresso()
ActiveWorkbook.RefreshAll
frmProgresso.Show vbModeless
tempoInicial = Timer
Do
tempoDecorrido = Timer - tempoInicial
AtualizarBarraTeste progresso, tempoDecorrido
DoEvents
Loop While tempoDecorrido < TEMPO_TESTE_SEGUNDOS
Unload frmProgresso
End Sub
Exibe o tempo estimado de carregamento e sincronização, melhorando a experiência do usuário.
App Android + Integração
- O operador realiza a contagem no app sem acesso ao sistema (conferência cega).
- O arquivo .TXT é enviado automaticamente para a planilha.
- Os dados são importados, validados e comparados.
- Divergências relevantes são destacadas e tratadas antes da atualização final no ERP.
Resultados Obtidos
Antes
- Até 8 horas por inventário completo
- Erros frequentes por movimentações durante a contagem
- Consolidação manual dos dados
Depois
- Inventário completo em até 3 horas
- Erro operacional praticamente zerado
- Integração direta com o ERP
- Precisão nas decisões de reposição
Conclusão
Automação com ferramentas acessíveis como Excel, VBA e SQL pode ser um divisor de águas para pequenas e médias empresas. Com esse projeto, conseguimos:
- Economizar tempo e reduzir retrabalho
- Melhorar a acurácia de dados
- Preservar o fluxo de caixa
- Evitar rupturas e excessos no estoque
- Sustentar decisões de compra mais inteligentes
"Quem controla bem o estoque, controla bem o caixa."