Skip to main content

📌 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: 790 ou 840 após ajuste)
    • ⚠️ ESTOQUE BAIXO: Quantidade de SKUs abaixo do limite mínimo (ex: 0)
    • 🚫 SEM ESTOQUE: Quantidade de SKUs zerados (ex: 0)
  • 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
    Exemplos de produtos visíveis na tabela:
    ProdutoSKUFísicoDisponívelReservado
    AGUA DESTILADA 4X5L188565 → 555 → 550
    AMACIAN.CONC.COALA SOL BRASIL 85912X1L01124550500
    AMACIAN.CONC.COALA THE QUEEN 86012X1L01124750500
    GELALCOOL 70. INPM 12X470G BACTERICIDA33247110
    LAVA LOUÇAS AZULIM CITRUS 24X500ML14576440
    LAVA LOUÇAS AZULIM CLEAR 24X500ML14177440
    LAVA LOUÇAS AZULIM NEUTRO 24X500ML000
  • 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:
    1. Clicar no campo Produto e digitar o nome ou SKU. No exemplo: 18856 – AGUA DESTILADA 4X5L
    2. Clicar no campo Depósito e selecionar o depósito desejado. No exemplo: Mercado Livre
  • 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)comprefixo"R)** com prefixo "R” e campo numérico (valor padrão: 0,00)
  • O que o usuário deve fazer:
    1. Clicar no campo Quantidade e digitar a quantidade a ser lançada. No exemplo: 50
    2. Clicar no campo Custo Unitário e informar o custo. No exemplo: 12,12
  • 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: 8 ou 10)
    • Campo Observação/Nota — texto livre opcional (ex: “Transferencia”)
    • Botão “Confirmar Transferência” (azul/primário)
  • O que o usuário deve fazer:
    1. Confirmar ou alterar o Produto (se acessado pelo botão global)
    2. Selecionar o Depósito de Origem
    3. Selecionar o Depósito de Destino
    4. Informar a Quantidade a transferir
    5. (Opcional) Adicionar uma Observação
    6. 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 → 730 ao 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.
RN02: Tipos de Operação de Lançamento
  • 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”.
RN03: Seleção obrigatória de Produto e Depósito no Lançamento
  • 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.)
RN04: Lançamento por Depósito
  • 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.
RN05: Transferência não altera estoque total
  • 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.
RN06: Produto pode existir em múltiplos depósitos
  • 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”.
RN07: Sincronização em tempo real
  • 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.
RN08: Feedback visual para operações concluídas
  • 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
CA02: Lançamento de estoque — Entrada de Compra
  • 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
CA03: Atualização da tabela após lançamento
  • 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
CA04: Transferência entre depósitos
  • 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
CA05: Produto com múltiplos depósitos
  • 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
CA06: Filtro por depósito
  • 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
CA07: Feedback de sincronização
  • 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
CA08: Bloqueio de lançamento sem produto/depósito
  • 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)
CA09: Motivo obrigatório no lançamento
  • 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 0 em 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.