📌 Visão Geral
- Nome da funcionalidade: Estoque Unificado
- Objetivo principal: Permitir a gestão centralizada do inventário de produtos em múltiplos depósitos, com suporte a lançamentos de estoque (entradas e ajustes manuais) e transferências entre depósitos.
- Perfil de usuário: Usuário com perfil de Vendedor/Gestor de Estoque (ex: VENDOR), com acesso ao backoffice da plataforma OmniDom.
- Pré-requisitos de acesso:
- Usuário autenticado no sistema OmniDom Backoffice
- Permissão de acesso ao módulo “Estoque Unificado” na barra lateral
- Ao menos um produto e um depósito cadastrado no sistema
🔢 Passo a Passo
Fluxo 1: Consulta do Painel de Estoque Unificado
Passo 1: Acessar o módulo Estoque Unificado- O que o usuário vê: A barra lateral à esquerda com o menu de navegação do sistema: Produtos, Anúncios, Estoque Unificado, Gestão de Depósitos, Canais de Vendas, Importações, Fornecedores e Empresas.
- O que o usuário deve fazer: Clicar em “Estoque Unificado” na barra lateral esquerda.
- Resultado esperado: O sistema exibe o painel principal do Estoque Unificado.
Passo 2: Visualizar o painel de métricas
- O que o usuário vê: Um painel com quatro cards de resumo exibidos no topo da tela:
- 🧩 PRODUTOS: Total de produtos cadastrados (ex:
38) - 🛒 DISPONÍVEL: Total de unidades disponíveis para venda (ex:
790ou840após ajuste) - ⚠️ ESTOQUE BAIXO: Quantidade de SKUs abaixo do limite mínimo (ex:
0) - 🚫 SEM ESTOQUE: Quantidade de SKUs zerados (ex:
0)
- 🧩 PRODUTOS: Total de produtos cadastrados (ex:
- O que o usuário deve fazer: Observar os indicadores para ter uma visão geral do inventário.
- Resultado esperado: O painel atualiza automaticamente conforme operações são realizadas.
Passo 3: Navegar e filtrar a listagem de inventário
- O que o usuário vê: Abaixo dos cards, há uma barra de pesquisa (“Buscar por nome ou SKU…”) e filtros de abas por Depósito (Todos, Depósito Principal, Galpão A, Mercado Livre, Trainmec) e por Status (Todos, Normal, Baixo, Esgotado).
- O que o usuário deve fazer: Usar a barra de pesquisa ou clicar nas abas para filtrar por depósito ou status desejado.
- Resultado esperado: A tabela de inventário é filtrada exibindo apenas os produtos correspondentes ao filtro selecionado.
Passo 4: Visualizar a tabela de inventário
-
O que o usuário vê: Uma tabela com as seguintes colunas:
- PRODUTO / SKU: Nome do produto e seu código SKU
- FÍSICO: Quantidade física total em estoque
- DISPONÍVEL: Quantidade disponível para venda (físico − reservado)
- RESERVADO: Quantidade reservada por pedidos em andamento
- DEPÓSITOS: Indicador do número de depósitos onde o produto está alocado (ex: “1 DEPÓSITO”, “2 DEPÓSITOS”), com barra de progresso colorida
- STATUS: Badge indicando a situação (ex: “Em estoque”)
- AÇÕES: Botões de ação rápida: Transferir e Ajustar Saldo
Produto SKU Físico Disponível Reservado AGUA DESTILADA 4X5L 18856 5 → 55 5 → 55 0 AMACIAN.CONC.COALA SOL BRASIL 85912X1L 011245 50 50 0 AMACIAN.CONC.COALA THE QUEEN 86012X1L 011247 50 50 0 GELALCOOL 70. INPM 12X470G BACTERICIDA 33247 1 1 0 LAVA LOUÇAS AZULIM CITRUS 24X500ML 14576 4 4 0 LAVA LOUÇAS AZULIM CLEAR 24X500ML 14177 4 4 0 LAVA LOUÇAS AZULIM NEUTRO 24X500ML — 0 0 0 - O que o usuário deve fazer: Rolar a lista para visualizar todos os produtos ou usar os filtros.
- Resultado esperado: A tabela lista todos os SKUs com suas quantidades e status de estoque.
Fluxo 2: Lançamento de Estoque (Ajuste)
Passo 5: Abrir o modal de Lançamento de Estoque- O que o usuário vê: No canto superior direito da tela, há dois botões: Transferir (ícone de setas) e + Novo Ajuste (botão azul). Abaixo, na coluna “AÇÕES” de cada produto, existem os botões Transferir e Ajustar Saldo.
- O que o usuário deve fazer: Clicar em ”+ Novo Ajuste” no topo da tela ou clicar em “Ajustar Saldo” na linha do produto desejado.
- Resultado esperado: O modal “Lançamento de Estoque” é aberto com 4 etapas numericass: (1) Tipo de Operação, (2) Produto e Depósito, (3) Valores, (4) Motivo.
Passo 6: Selecionar o Tipo de Operação
- O que o usuário vê: Três opções de operação no Passo 1 do modal:
- 🟢 Entrada de Compra — Soma ao saldo e ajusta custo (R$) (selecionado no exemplo)
- 🔵 Acréscimo Manual (+) — Soma ao saldo sem ajustar custo
- 🔴 Baixa Manual (-) — Subtrai, visando erros, sinistros ou correções
- O que o usuário deve fazer: Clicar na opção desejada. No exemplo demonstrado, “Entrada de Compra” foi selecionado (aparece destacado/selecionado).
- Resultado esperado: O tipo de operação fica marcado e o formulário avança para o próximo campo.
Passo 7: Selecionar Produto e Depósito
- O que o usuário vê: O Passo 2 do modal exibe:
- Campo Produto com um buscador (buscar produto por nome ou SKU…)
- Indicador “Em estoque: X un.” ao lado do campo
- Campo Depósito com um seletor (dropdown) — valor padrão: “Selecione o depósito…”
- O que o usuário deve fazer:
- Clicar no campo Produto e digitar o nome ou SKU. No exemplo:
18856 – AGUA DESTILADA 4X5L - Clicar no campo Depósito e selecionar o depósito desejado. No exemplo:
Mercado Livre
- Clicar no campo Produto e digitar o nome ou SKU. No exemplo:
- Resultado esperado: O produto e depósito ficam selecionados; o sistema exibe a quantidade atual em estoque para o produto/depósito selecionado.
Passo 8: Informar Valores
- O que o usuário vê: O Passo 3 do modal exibe:
- Campo Quantidade com controles de + e − e campo numérico (valor padrão:
0) - Campo **Custo Unitário (R” e campo numérico (valor padrão:
0,00)
- Campo Quantidade com controles de + e − e campo numérico (valor padrão:
- O que o usuário deve fazer:
- Clicar no campo Quantidade e digitar a quantidade a ser lançada. No exemplo:
50 - Clicar no campo Custo Unitário e informar o custo. No exemplo:
12,12
- Clicar no campo Quantidade e digitar a quantidade a ser lançada. No exemplo:
- Resultado esperado: Os valores são preenchidos corretamente e o sistema está pronto para o próximo passo.
Passo 9: Selecionar o Motivo e Salvar
- O que o usuário vê: O Passo 4 do modal apresenta o campo Motivo (dropdown). No exemplo, o valor selecionado é “Ajuste Manual”. Ao final do modal há o botão “Salvar” (verde).
- O que o usuário deve fazer: Selecionar o motivo adequado e clicar em “Salvar”.
- Resultado esperado: O modal fecha e o sistema exibe uma notificação de sucesso: “Lançamento realizado com sucesso!”.
Passo 10: Verificar atualização no painel
- O que o usuário vê: A tabela é atualizada automaticamente; o produto que teve lançamento reflete a nova quantidade. No exemplo, “AGUA DESTILADA 4X5L” passou de 5 → 55 unidades (físico e disponível). O card DISPONÍVEL no topo também atualiza (ex:
790 → 840). - O que o usuário deve fazer: Nenhuma ação adicional necessária.
- Resultado esperado: O inventário reflete o lançamento realizado em tempo real.
Fluxo 3: Transferência entre Depósitos
Passo 11: Iniciar a Transferência- O que o usuário vê: Na coluna “AÇÕES” da tabela, há o botão “Transferir” para cada produto. No topo da tela, também existe um botão global “Transferir”.
- O que o usuário deve fazer: Clicar em “Transferir” na linha do produto desejado (ex: “AGUA DESTILADA 4X5L”).
- Resultado esperado: O modal “Transferência de Estoque” é aberto.
Passo 12: Preencher os dados da Transferência
- O que o usuário vê: O modal de Transferência de Estoque exibe:
- Campo Produto (pré-preenchido com o produto selecionado, ex: “AGUA DESTILADA 4X5L” — SKU 18856)
- Campo Depósito de Origem (dropdown — ex: “Mercado Livre”)
- Campo Depósito de Destino (dropdown — ex: “Trainmec” ou “Galpão A”)
- Campo Quantidade (numérico — ex:
8ou10) - Campo Observação/Nota — texto livre opcional (ex: “Transferencia”)
- Botão “Confirmar Transferência” (azul/primário)
- O que o usuário deve fazer:
- Confirmar ou alterar o Produto (se acessado pelo botão global)
- Selecionar o Depósito de Origem
- Selecionar o Depósito de Destino
- Informar a Quantidade a transferir
- (Opcional) Adicionar uma Observação
- Clicar em “Confirmar Transferência”
- Resultado esperado: O modal fecha e o sistema exibe uma notificação: “Transferência realizada com sucesso!”.
Passo 13: Verificar atualização pós-transferência
- O que o usuário vê: Na tabela, o produto que teve transferência agora exibe mais de um depósito na coluna “DEPÓSITOS” (ex: muda de “1 DEPÓSITO” para “2 DEPÓSITOS”), com a barra de indicação refletindo a distribuição atualizada. O card DISPONÍVEL também pode ser atualizado se a transferência afetar disponibilidade.
- O que o usuário deve fazer: Nenhuma ação adicional necessária.
- Resultado esperado: A tabela reflete a nova distribuição de estoque entre os depósitos em tempo real.
Fluxo 4: Filtrar por Depósito
Passo 14: Aplicar filtro de depósito- O que o usuário vê: Abas de depósito disponíveis: Todos, Depósito Principal, Galpão A, Mercado Livre, Trainmec.
- O que o usuário deve fazer: Clicar na aba do depósito desejado (ex: “Depósito Principal”).
- Resultado esperado: O sistema exibe: “Carregando inventário…” momentaneamente e, então, a tabela é filtrada mostrando apenas os produtos alocados naquele depósito. O card DISPONÍVEL atualiza para refletir o total do depósito selecionado (ex:
840 → 730ao filtrar por “Depósito Principal”).
Fluxo 5: Exportar Inventário (CSV)
Passo 15: Exportar listagem- O que o usuário vê: No topo da tela, ao lado do botão “Atualizar”, há o botão “CSV” (com ícone de download).
- O que o usuário deve fazer: Clicar no botão “CSV”.
- Resultado esperado: ⚠️ Fluxo de exportação não demonstrado completamente no vídeo — inferido pela presença do botão. Comportamento: download de um arquivo .csv com a listagem atual do inventário. A validar.
📋 Regras de Negócio
RN01: Diferença entre Estoque Físico e Disponível- Descrição: O estoque físico representa o total armazenado no depósito. O disponível é calculado subtraindo o estoque reservado (pedidos em andamento) do físico.
- Condição: Sempre que houver pedidos com produtos reservados.
- Comportamento: A coluna “DISPONÍVEL” pode ser menor que “FÍSICO” quando há reservas ativas.
- Exemplo: Produto com 55 unidades físicas e 0 reservadas → 55 disponíveis.
- Descrição: O sistema oferece três tipos distintos de lançamento com comportamentos diferentes no custo.
- Condição: Ao criar um novo ajuste de estoque.
- Comportamento:
- Entrada de Compra: Soma ao saldo E atualiza o custo médio unitário (R$)
- Acréscimo Manual: Soma ao saldo sem alterar o custo médio
- Baixa Manual: Subtrai do saldo (para sinistros, erros, correções)
- Exemplo: Ao receber NF de compra, usar “Entrada de Compra” para atualizar custo. Para contar inventário e corrigir diferença, usar “Acréscimo Manual”.
- Descrição: Não é possível salvar um lançamento sem selecionar o produto e o depósito de destino.
- Condição: No modal de Lançamento de Estoque, Passo 2.
- Comportamento: Campos “Produto” e “Depósito” são obrigatórios. O campo Produto exibe um buscador com pesquisa por nome ou SKU.
- Exemplo: Ao tentar salvar sem depósito, o sistema deve bloquear e indicar o campo obrigatório. (A validar — não observado diretamente no vídeo.)
- Descrição: Todo lançamento é vinculado a um depósito específico, não ao produto globalmente.
- Condição: Sempre ao realizar um lançamento de estoque.
- Comportamento: O usuário deve selecionar o depósito no qual o lançamento será contabilizado. O saldo do produto no depósito selecionado é atualizado.
- Exemplo: Lançamento de 50 unidades no “Mercado Livre” afeta apenas o saldo desse depósito.
- Descrição: A transferência move unidades de um depósito para outro sem alterar o total físico ou disponível geral.
- Condição: Ao realizar uma transferência entre depósitos.
- Comportamento: O saldo do depósito de origem diminui e o do destino aumenta na mesma quantidade. O total físico do produto permanece igual.
- Exemplo: Transferir 10 unidades do “Mercado Livre” para “Galpão A”: Mercado Livre perde 10, Galpão A ganha 10; total = igual.
- Descrição: Após uma transferência ou lançamento em depósitos diferentes, o produto passa a ter estoque distribuído em mais de um depósito.
- Condição: Quando um lançamento ou transferência adiciona saldo a um segundo depósito para o mesmo produto.
- Comportamento: A coluna “DEPÓSITOS” na tabela atualiza o contador (ex: “1 DEPÓSITO” → “2 DEPÓSITOS”).
- Exemplo: AGUA DESTILADA 4X5L, após transferência para Trainmec, passa a aparecer com “2 DEPÓSITOS”.
- Descrição: O sistema opera em modo online e sincronizado, exibindo o status “Online & Sync” no rodapé da barra lateral.
- Condição: Sempre que o usuário está conectado e ativo.
- Comportamento: Todas as alterações de estoque são refletidas imediatamente na interface, sem necessidade de recarregar a página.
- Exemplo: Após clicar em “Salvar” no lançamento, a tabela atualiza o saldo em segundos.
- Descrição: Após cada operação de sucesso, o sistema exibe uma notificação (toast) na parte superior da tela.
- Condição: Sempre que um lançamento ou transferência é concluído com sucesso.
- Comportamento: Toast com mensagem de sucesso aparece automaticamente e desaparece após alguns segundos.
- Exemplo:
- “Lançamento realizado com sucesso!” — ao salvar um ajuste de estoque
- “Transferência realizada com sucesso!” — ao confirmar uma transferência
✅ Critérios de Aceitação
CA01: Visualização do painel de métricas- Dado que: o usuário está autenticado e acessa o módulo Estoque Unificado
- Quando: a tela é carregada
- Então: o sistema deve exibir os 4 cards de resumo (Produtos, Disponível, Estoque Baixo, Sem Estoque) com os valores atualizados
- Status: Visível nas telas
- Dado que: o usuário clica em “Novo Ajuste” e seleciona “Entrada de Compra”
- Quando: preenche produto, depósito, quantidade (ex: 50) e custo unitário (ex: R$ 12,12), seleciona um motivo e clica em “Salvar”
- Então: o sistema deve atualizar o estoque físico e disponível do produto no depósito selecionado e exibir “Lançamento realizado com sucesso!”
- Status: Visível nas telas
- Dado que: um lançamento foi realizado com sucesso
- Quando: o modal é fechado
- Então: a tabela de inventário deve refletir o novo saldo no produto correspondente, sem necessidade de recarregar a página
- Status: Visível nas telas
- Dado que: o usuário clica em “Transferir” no produto desejado
- Quando: seleciona depósito de origem, depósito de destino, define quantidade e clica em “Confirmar Transferência”
- Então: o sistema deve registrar a movimentação, atualizar os saldos de ambos os depósitos e exibir “Transferência realizada com sucesso!”
- Status: Visível nas telas
- Dado que: um produto tem estoque em mais de um depósito
- Quando: a tabela é carregada ou atualizada
- Então: a coluna “DEPÓSITOS” deve indicar o número correto de depósitos onde o produto possui saldo (ex: “2 DEPÓSITOS”)
- Status: Visível nas telas
- Dado que: o usuário clica em um filtro de depósito específico (ex: “Depósito Principal”)
- Quando: o filtro é aplicado
- Então: a tabela deve exibir apenas os produtos com saldo naquele depósito, e os cards de métricas devem atualizar para refletir os totais do depósito selecionado
- Status: Visível nas telas
- Dado que: o usuário está conectado ao sistema
- Quando: qualquer tela do Estoque Unificado está aberta
- Então: o rodapé deve exibir o indicador “Online & Sync” confirmando a conexão ativa
- Status: Visível nas telas
- Dado que: o usuário abre o modal de Lançamento de Estoque
- Quando: tenta salvar sem selecionar produto ou depósito
- Então: o sistema deve bloquear o envio e indicar visualmente os campos obrigatórios
- Status: A validar (comportamento não observado diretamente no vídeo)
- Dado que: o usuário está preenchendo o modal de lançamento
- Quando: tenta salvar sem selecionar um motivo
- Então: o sistema deve bloquear e indicar o campo de motivo como obrigatório
- Status: A validar (campo visível no modal, mas validação não demonstrada no vídeo)
⚠️ Pontos de Atenção
-
Campos obrigatórios identificados no Lançamento de Estoque:
- Tipo de Operação (Step 1)
- Produto (Step 2)
- Depósito (Step 2)
- Quantidade — valor mínimo: 1 (Step 3)
- Motivo (Step 4)
- Custo Unitário: Presente apenas na operação “Entrada de Compra”, pois afeta o custo médio do produto. Deve ser preenchido com valor positivo em reais (R$).
- Depósito de Origem na Transferência: Ao clicar em “Transferir” pela linha da tabela, o depósito de origem pode ser pré-selecionado. Verificar se o sistema exige que haja saldo suficiente no depósito de origem antes de confirmar a transferência. (A validar)
- Carregamento ao filtrar depósito: Ao clicar em uma aba de depósito, o sistema exibe “Carregando inventário…” com spinner antes de apresentar os resultados. Para listas grandes, isso pode levar alguns segundos.
- Exportação CSV: O botão CSV está disponível na interface, mas o comportamento completo não foi demonstrado no vídeo. Recomendável validar quais colunas são exportadas e se respeita os filtros ativos.
-
Estoque Reservado: A coluna “RESERVADO” exibe
0em todos os produtos visíveis. O comportamento do sistema quando há pedidos em andamento (reserva > 0) não foi demonstrado e deve ser validado separadamente.
💡 Dicas para o Usuário
- Use “Entrada de Compra” ao registrar recebimento de mercadorias com nota fiscal, pois esta opção atualiza também o custo médio unitário do produto — dado importante para precificação e gestão financeira.
- Use “Acréscimo Manual” para corrigir diferenças de inventário descobertas em contagem física, quando não há NF associada e você não deseja alterar o custo médio.
- Ao transferir estoque, verifique sempre se o depósito de origem possui saldo suficiente para a quantidade que deseja mover, para evitar erros na operação.
- Utilize os filtros por depósito para ter uma visão detalhada do estoque em cada local separadamente. O card “DISPONÍVEL” se ajusta automaticamente ao depósito filtrado.
- Acompanhe o indicador “Online & Sync” no rodapé da barra lateral. Se o sistema estiver offline, as operações podem não ser salvas imediatamente.
- O campo “Observação” na Transferência é opcional, mas recomenda-se preencher o motivo da movimentação (ex: “Redistribuição para canal ML”) para fins de histórico e auditoria.