Skip to main content

📌 Épico Identificado

  • Nome do épico: Gestão de Estoque Unificado
  • Objetivo de negócio: Permitir que o gestor de estoque visualize, ajuste e movimente o inventário de produtos em múltiplos depósitos de forma centralizada, garantindo rastreabilidade e acuracidade dos saldos por canal de venda.
  • Módulo/sistema identificado: OmniDom Backoffice — módulo Estoque Unificado

📖 Histórias de Usuário


HU01: Visualizar painel consolidado de estoque

  • Como gestor de estoque
  • Quero visualizar um painel com os indicadores consolidados de inventário (total de produtos, unidades disponíveis, itens com estoque baixo e sem estoque)
  • Para que eu possa ter uma visão executiva rápida da saúde do meu estoque sem precisar acessar relatórios individuais
  • Prioridade sugerida: Alta
  • Estimativa de complexidade: P
✅ Critérios de Aceitação
  • CA01: Dado que o usuário acessa o módulo Estoque Unificado / Quando a tela é carregada / Então o sistema deve exibir 4 cards: Produtos (total de SKUs), Disponível (unidades disponíveis), Estoque Baixo (SKUs abaixo do mínimo) e Sem Estoque (SKUs zerados)
    • Status: Visível nas telas
  • CA02: Dado que uma operação de ajuste ou transferência foi realizada / Quando a operação é concluída / Então os cards do painel devem atualizar automaticamente sem recarregar a página
    • Status: Visível nas telas
📋 Regras de Negócio Relacionadas
  • RN01: Disponível = Físico − Reservado
    • Condição: Sempre que houver pedidos em andamento que rezervam unidades
    • Comportamento: O card “Disponível” e a coluna homônima refletem o saldo líquido descontado de reservas
⚠️ Restrições e Dependências
  • Requer ao menos um produto cadastrado no sistema
  • Requer pelo menos um depósito ativo vinculado ao usuário autenticado

HU02: Listar e filtrar inventário por depósito e status

  • Como gestor de estoque
  • Quero visualizar a lista completa de produtos com seus saldos por depósito e filtrar por canal/depósito ou situação do estoque
  • Para que eu possa identificar rapidamente quais produtos precisam de atenção em um depósito específico
  • Prioridade sugerida: Alta
  • Estimativa de complexidade: M
✅ Critérios de Aceitação
  • CA03: Dado que o usuário está na tela de Estoque Unificado / Quando clica em uma aba de depósito (ex: “Mercado Livre”) / Então a tabela deve exibir somente os produtos com saldo naquele depósito e os cards do painel devem refletir os totais filtrados
    • Status: Visível nas telas
  • CA04: Dado que o usuário aplica o filtro por Status (Normal / Baixo / Esgotado) / Quando o filtro é selecionado / Então a tabela deve exibir somente os produtos que correspondem ao status escolhido
    • Status: Visível nas telas
  • CA05: Dado que o usuário digita um termo no campo “Buscar por nome ou SKU” / Quando digita o texto / Então a tabela deve filtrar em tempo real os produtos cujo nome ou SKU corresponda ao texto informado
    • Status: Inferido (campo visível, comportamento não demonstrado no vídeo)
  • CA06: Dado que a tabela está carregando após troca de filtro / Quando o sistema está processando / Então deve exibir o estado de “Carregando inventário…” com indicador visual (spinner)
    • Status: Visível nas telas
📋 Regras de Negócio Relacionadas
  • RN02: Os depósitos disponíveis como filtros são: Todos, Depósito Principal, Galpão A, Mercado Livre, Trainmec
    • Condição: Sempre que a tela é carregada
    • Comportamento: As abas de filtro refletem os depósitos ativos no sistema
  • RN03: Cada linha da tabela exibe: Produto/SKU, Físico, Disponível, Reservado, Depósitos (com barra de progresso), Status e Ações
    • Condição: Para todo produto com ao menos 1 unidade física ou histórico no sistema
    • Comportamento: As colunas são sempre visíveis, mesmo com valor zero
⚠️ Restrições e Dependências
  • Depende de HU01 (painel de métricas) para consistência dos totalizadores
  • A aba “Todos” deve ser o estado padrão ao abrir o módulo

HU03: Realizar lançamento de estoque por tipo de operação

  • Como operador de estoque
  • Quero registrar um lançamento de estoque escolhendo entre Entrada de Compra, Acréscimo Manual ou Baixa Manual, informando produto, depósito, quantidade, custo e motivo
  • Para que o saldo do inventário fique atualizado e rastreável, com histórico da origem da movimentação
  • Prioridade sugerida: Alta
  • Estimativa de complexidade: G
✅ Critérios de Aceitação
  • CA07: Dado que o usuário clica em ”+ Novo Ajuste” / Quando o modal é aberto / Então o sistema deve exibir um formulário em 4 etapas: (1) Tipo de Operação, (2) Produto e Depósito, (3) Valores, (4) Motivo
    • Status: Visível nas telas
  • CA08: Dado que o usuário seleciona “Entrada de Compra” / Quando preenche produto, depósito, quantidade (ex: 50) e custo unitário (ex: R$ 12,12) e clica em “Salvar” / Então o sistema deve incrementar o estoque físico do produto no depósito selecionado e atualizar o custo médio unitário
    • Status: Visível nas telas
  • CA09: Dado que o usuário seleciona “Acréscimo Manual” / Quando preenche e salva / Então o sistema deve somar ao saldo sem alterar o custo médio unitário
    • Status: Inferido (descrição visível no card da opção, comportamento não demonstrado)
  • CA10: Dado que o usuário seleciona “Baixa Manual” / Quando preenche e salva / Então o sistema deve subtrair do saldo físico do produto no depósito selecionado
    • Status: Inferido (descrição visível no card da opção, comportamento não demonstrado)
  • CA11: Dado que o lançamento é salvo com sucesso / Quando o modal fecha / Então o sistema deve exibir a notificação “Lançamento realizado com sucesso!” e atualizar a tabela automaticamente
    • Status: Visível nas telas
  • CA12: Dado que o usuário tenta salvar sem preencher campos obrigatórios (produto, depósito, quantidade, motivo) / Quando clica em “Salvar” / Então o sistema deve bloquear o envio e indicar os campos inválidos
    • Status: A validar
📋 Regras de Negócio Relacionadas
  • RN04: “Entrada de Compra” é a única operação que impacta o custo médio unitário do produto
    • Condição: Ao salvar com tipo “Entrada de Compra”
    • Comportamento: O custo unitário informado é usado para recalcular o custo médio ponderado
  • RN05: Todo lançamento é vinculado a um depósito específico — não ao produto globalmente
    • Condição: Sempre
    • Comportamento: O saldo do produto é atualizado apenas no depósito selecionado
  • RN06: O campo “Motivo” deve ser preenchido obrigatoriamente
    • Condição: Ao salvar qualquer tipo de lançamento
    • Comportamento: O valor padrão observado é “Ajuste Manual” — outros motivos podem existir no dropdown (A validar)
⚠️ Restrições e Dependências
  • Depende de HU02 para que o produto e depósito existam no sistema
  • A quantidade mínima para lançamento é 1 unidade (inferido — a validar)
  • O campo “Custo Unitário” usa formato monetário brasileiro (R$ com vírgula decimal)

HU04: Transferir estoque entre depósitos

  • Como operador de estoque
  • Quero transferir unidades de um produto de um depósito de origem para um depósito de destino, informando a quantidade e uma observação opcional
  • Para que eu possa redistribuir o inventário entre canais de venda ou locais físicos sem criar inconsistências no saldo global
  • Prioridade sugerida: Alta
  • Estimativa de complexidade: M
✅ Critérios de Aceitação
  • CA13: Dado que o usuário clica em “Transferir” na linha de um produto / Quando o modal é aberto / Então o sistema deve pré-preencher o produto selecionado e permitir escolher origem, destino e quantidade
    • Status: Visível nas telas
  • CA14: Dado que o usuário define origem (ex: “Mercado Livre”), destino (ex: “Trainmec”) e quantidade (ex: 8) e clica em “Confirmar Transferência” / Quando a operação é processada / Então o sistema deve debitar a quantidade do depósito de origem e creditar no depósito de destino, mantendo o total físico global inalterado
    • Status: Visível nas telas
  • CA15: Dado que a transferência é confirmada com sucesso / Quando o modal fecha / Então o sistema deve exibir a notificação “Transferência realizada com sucesso!” e a tabela deve atualizar a coluna “DEPÓSITOS” do produto (ex: de “1 DEPÓSITO” para “2 DEPÓSITOS”)
    • Status: Visível nas telas
  • CA16: Dado que o usuário tenta transferir uma quantidade maior do que o saldo disponível no depósito de origem / Quando clica em “Confirmar Transferência” / Então o sistema deve bloquear a operação e exibir uma mensagem de erro
    • Status: A validar
📋 Regras de Negócio Relacionadas
  • RN07: A transferência não altera o estoque físico total do produto — apenas redistribui entre depósitos
    • Condição: Sempre que uma transferência é realizada
    • Comportamento: Saldo de origem − N; saldo de destino + N; total global = igual
  • RN08: Após uma transferência para um novo depósito, o produto passa a aparecer com múltiplos depósitos na tabela
    • Condição: Quando o produto ainda não tinha saldo no depósito de destino
    • Comportamento: Coluna “DEPÓSITOS” incrementa o contador e a barra de progresso distribui proporcionalmente
⚠️ Restrições e Dependências
  • Depende de HU02 para que os depósitos de origem e destino estejam cadastrados
  • Origem e destino não podem ser o mesmo depósito (inferido — a validar)
  • O campo “Observação” é opcional, mas recomendado para rastreabilidade (A validar se há limite de caracteres)

HU05: Exportar inventário em formato CSV

  • Como gestor de estoque
  • Quero exportar a listagem atual do inventário para um arquivo CSV
  • Para que eu possa processar os dados em planilhas, gerar relatórios externos ou auditar o estoque fora do sistema
  • Prioridade sugerida: Média
  • Estimativa de complexidade: P
✅ Critérios de Aceitação
  • CA17: Dado que o usuário clica no botão “CSV” no topo da tela / Quando o botão é clicado / Então o sistema deve iniciar o download de um arquivo no formato .csv com os dados visíveis na tabela
    • Status: A validar (botão visível nas telas, comportamento completo não demonstrado)
  • CA18: Dado que o usuário aplicou um filtro de depósito antes de exportar / Quando clicar em “CSV” / Então o arquivo exportado deve conter apenas os dados filtrados (A validar)
    • Status: A validar
📋 Regras de Negócio Relacionadas
  • RN09: O botão CSV está sempre visível na tela, independente de filtros aplicados
    • Condição: Sempre que a tela de Estoque Unificado está carregada
    • Comportamento: Botão “CSV” exibido ao lado do botão “Atualizar” no topo
⚠️ Restrições e Dependências
  • ⚠️ Fluxo não demonstrado no vídeo. Toda esta história deve ser validada com testes diretos no sistema.
  • Pode depender de permissão de exportação no perfil do usuário (A validar)

HU06: Atualizar manualmente o inventário

  • Como operador de estoque
  • Quero clicar em um botão de “Atualizar” para recarregar os dados do inventário
  • Para que eu possa garantir que estou vendo os saldos mais recentes, especialmente após operações realizadas por outros usuários ou integrações externas
  • Prioridade sugerida: Baixa
  • Estimativa de complexidade: P
✅ Critérios de Aceitação
  • CA19: Dado que o usuário clica no botão “Atualizar” / Quando clicado / Então o sistema deve recarregar os dados da tabela e dos cards de métricas a partir do servidor
    • Status: Inferido (botão visível nas telas, comportamento não demonstrado)
📋 Regras de Negócio Relacionadas
  • RN10: O sistema exibe o status de sincronização “Online & Sync” no rodapé da barra lateral
    • Condição: Sempre que o usuário está conectado
    • Comportamento: Atualização automática em tempo real após operações locais; o botão “Atualizar” serve para buscar mudanças externas
⚠️ Restrições e Dependências
  • Comportamento de atualização pode ter relação com o status “Online & Sync” — se offline, pode não estar disponível (A validar)

🗂️ Backlog Sugerido

IDHistóriaPrioridadeTamanho
HU01Visualizar painel consolidado de estoqueAltaP
HU02Listar e filtrar inventário por depósito e statusAltaM
HU03Realizar lançamento de estoque por tipo de operaçãoAltaG
HU04Transferir estoque entre depósitosAltaM
HU05Exportar inventário em formato CSVMédiaP
HU06Atualizar manualmente o inventárioBaixaP
Ordenado da maior para a menor prioridade sugerida.

📝 Definition of Ready

Checklist gerado a partir das telas analisadas:
CritérioHU01HU02HU03HU04HU05HU06
✅ Critérios de aceitação definidos
✅ Regras de negócio mapeadas
✅ Dependências identificadas
✅ Protótipo/tela de referência disponível
Legenda: ✅ Confirmado nas telas analisadas | ⬜ Pendente de validação