> ## Documentation Index
> Fetch the complete documentation index at: https://muveya.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Reposição e alertas de estoque

> Defina um mínimo para cada insumo em cada depósito, veja o que precisa ser reposto e acompanhe os alertas de mínimo e de validade

O muveya compara o estoque utilizável de cada insumo em cada depósito com o **mínimo** que a sua equipe define ali. A tela **Reposição** lista o que está faltando e sugere quanto pedir; a tela **Alertas de estoque** lista os insumos abaixo do mínimo e as caixas perto do vencimento ou já vencidas.

Nada é comparado enquanto não existe um mínimo: um insumo sem mínimo em um depósito nunca aparece na tela **Reposição** e nunca gera ali um alerta de mínimo.

## Quem pode fazer

| Ação | Permissão (rótulo no console) |
| - | - |
| Ver **Reposição** e **Alertas de estoque** | `inventory.read` (**Ver estoque**) |
| Definir ou editar um mínimo; usar as ações **Contar** e **Editar mínimo** | `inventory.adjust` (**Ajustar e contar estoque**) |

As duas telas mostram só os depósitos que o seu acesso na equipe alcança. Um mínimo não é uma permissão do dia a dia porque também define o tamanho máximo de uma correção antes que uma segunda pessoa precise aprová-la. Veja [Funções e permissões](/docs/pt/account/roles-and-permissions).

## O que um mínimo define

Um mínimo (política de estoque) pertence a **um insumo em um depósito**. Todas as quantidades estão na unidade base do insumo, que fica gravada no mínimo quando você salva.

| Campo (rótulo no console) | Regras | Efeito |
| - | - | - |
| **Mínimo** seguido da unidade de medida, por exemplo **Mínimo (Unidade)** | Obrigatório. Número inteiro de 0 a 1.000.000. | Abaixo dele, o insumo precisa de reposição e um alerta de mínimo é aberto. `0` significa "nunca alertar". |
| **Pedido habitual** seguido da unidade de medida | Opcional. Número inteiro de 1 a 1.000.000. "Sugerido quando o insumo fica abaixo do mínimo." | Usado como pedido sugerido quando é maior do que o que falta. |
| **Avisar antes do vencimento (dias)** | Opcional. De 1 a 365. "Sem valor, avisa 30 dias antes." Aparece só para insumos com **Controlar validades** ativado no catálogo. | Quantos dias antes da validade uma caixa deste insumo neste depósito gera um alerta de vencimento. |
| **Limite de aprovação** seguido da unidade de medida | Opcional. De 0 a 100. "Correções acima desta quantidade precisam da aprovação de outra pessoa. No máximo 100." | A maior correção ou diferença de contagem aplicada sem uma segunda pessoa. Sem valor, o limite é 100. Veja [Correções de estoque](/docs/pt/inventory/corrections). |

Para um insumo marcado como **Insumo de alto valor** no catálogo, o campo do limite é substituído por "É um insumo de alto valor: toda correção precisa da aprovação de outra pessoa."

<Note>
  Não existe nível máximo nem ponto de reposição separado: o mínimo é o único gatilho, e o pedido habitual é a única referência de tamanho.
</Note>

### Definir ou editar um mínimo

<Steps>
  <Step title="Abra o formulário">
    Em **Reposição**, selecione **Definir um mínimo**, ou **Editar mínimo** em uma linha. A página é `console.muveya.com/inventory/replenishment/policy`, com o título **Mínimo por depósito**.
  </Step>

  <Step title="Escolha o insumo e o depósito">
    Escolha um insumo ativo em **Insumo** (**Escolha um insumo**) e um depósito ativo ao qual você tenha acesso em **Depósito** (**Escolha um depósito**). **Editar mínimo** preenche os dois para você.
  </Step>

  <Step title="Veja o que existe agora">
    O formulário mostra **Utilizável agora:** com a quantidade e a unidade de medida atuais, e carrega os valores já salvos para esse local (campos vazios quando ainda não há mínimo).
  </Step>

  <Step title="Preencha os valores">
    Digite o **Mínimo** e, se quiser, os outros campos. Os erros só aparecem depois que você tenta salvar.
  </Step>

  <Step title="Salve">
    Selecione **Salvar mínimo**. O formulário diz **Mínimo salvo.**
  </Step>
</Steps>

Regras importantes:

* **A política inteira é salva de uma vez.** Um campo opcional deixado em branco é apagado, mesmo que antes tivesse valor.
* **O insumo precisa estar ativo e com a unidade de medida fixada.** Caso contrário, o muveya recusa com "Este insumo ainda não tem unidade confirmada, então um mínimo não pode ser comparado. Confirme a unidade no catálogo primeiro." Veja [Insumos do catálogo](/docs/pt/catalog/items).
* **Outra pessoa pode ter salvado antes.** Se alguém alterou o mínimo depois que você o abriu, o formulário recarrega os valores dessa pessoa e diz "Alguém alterou este mínimo depois que você o abriu. Agora mostra os valores dessa pessoa; revise-os e salve novamente."
* Membros sem `inventory.adjust` veem "Somente um membro que pode corrigir o estoque pode definir mínimos."

**O que o muveya registra:** o mínimo com a unidade gravada e um número de versão, e o evento de auditoria `inventory.policy.set` com os valores salvos e quem salvou. Logo depois de salvar, o muveya reavalia os alertas desse insumo nesse depósito, então um estoque que já estava baixo gera o alerta sem esperar um movimento.

### Erros dos campos

| Mensagem | Campo |
| - | - |
| **Informe um número inteiro a partir de 0.** | **Mínimo** |
| **Informe um número inteiro a partir de 1 ou deixe em branco.** | **Pedido habitual** |
| **Informe de 1 a 365 dias ou deixe em branco.** | **Avisar antes do vencimento (dias)** |
| **Informe de 0 a 100 ou deixe em branco.** | **Limite de aprovação** |

## A tela Reposição

Selecione **Reposição** na navegação principal, ou o link **Reposição** na tela **Estoque**. A página é `console.muveya.com/inventory/replenishment`, com a descrição "Insumos abaixo do mínimo definido para cada depósito, contados na unidade base."

### Filtros

| Controle | O que faz |
| - | - |
| **Depósito** | **Todos os depósitos** (o padrão) ou um depósito ativo ao qual você tenha acesso. |
| **Somente o que requer atenção** | Marcado por padrão: mostra só as linhas abaixo do mínimo ou com uma caixa cuja unidade de medida precisa de revisão. Desmarque para ver todos os locais com mínimo. |
| **Definir um mínimo** | Link para o formulário de mínimo. Aparece só com `inventory.adjust`. |

### Colunas

| Coluna | O que mostra |
| - | - |
| **Insumo** | O nome e o SKU do insumo, por exemplo `Luvas de nitrilo M · GLV-NIT-M`. |
| **Depósito** | O depósito. Quando ele guarda o estoque de uma sala que conta o próprio estoque, uma segunda linha diz **Ponto de estoque de** e a sala (veja [Salas e áreas](/docs/pt/locations/destinations)). |
| **Unidade** | A unidade de medida de todas as quantidades da linha. |
| **Utilizável agora** | O total utilizável (veja abaixo). |
| **Mínimo** | O mínimo definido. |
| **Faltam** | Mínimo menos utilizável, quando positivo; caso contrário, vazio. |
| **Pedido sugerido** | A quantidade sugerida, só quando a linha está abaixo do mínimo. |
| **Situação** | **Abaixo do mínimo**, **Suficiente** ou **Sem mínimo**. Quando necessário, aparece uma segunda linha: "Uma caixa deste insumo está em outra unidade e não é contada. Verifique a unidade." |
| **Ações** | Só com `inventory.adjust`: **Contar** (abre a [contagem rápida](/docs/pt/inventory/counts)) e **Editar mínimo**. |

As linhas são ordenadas com **Abaixo do mínimo** primeiro, depois as linhas com uma unidade de medida a revisar e depois pelo que falta, do maior para o menor.

### Como os números são calculados

* **Utilizável agora** soma, para cada caixa do insumo nesse depósito que está **Ativa** e não passou da validade, a quantidade em mãos da caixa menos o que ela tem reservado para pedidos. Cada caixa conta no mínimo 0, então uma caixa com déficit (mais reservado do que em mãos) nunca desconta das outras. Caixas em quarentena, vencidas, descartadas, esgotadas ou em trânsito não contam.
* Só contam as caixas na unidade de medida gravada no mínimo. Uma caixa em outra unidade de medida, ou com a unidade de medida não verificada, fica de fora e é sinalizada; nunca é convertida.
* **Faltam** é o mínimo menos o utilizável agora, quando é maior que zero.
* **Pedido sugerido** é o maior valor entre **Faltam** e **Pedido habitual**.
* **Situação** é **Abaixo do mínimo** quando falta algo e **Suficiente** caso contrário. **Sem mínimo** descreve um local sem mínimo; esses locais não aparecem nesta tela.
* Uma caixa conta como utilizável durante todo o dia da sua data de validade.

| Mínimo | Pedido habitual | Utilizável agora | Faltam | Pedido sugerido | Situação |
| - | - | - | - | - | - |
| 20 | 50 | 12 | 8 | 50 | **Abaixo do mínimo** |
| 20 | 5 | 12 | 8 | 8 | **Abaixo do mínimo** |
| 20 | (nenhum) | 12 | 8 | 8 | **Abaixo do mínimo** |
| 20 | 50 | 25 | (vazio) | (vazio) | **Suficiente** |
| 0 | (nenhum) | 0 | (vazio) | (vazio) | **Suficiente** |

### Listas vazias ou parciais

| Mensagem | Significado |
| - | - |
| **Carregando o que precisa ser reposto…** | A lista está carregando. |
| **Nada está abaixo do mínimo.** | Com **Somente o que requer atenção** marcado, nada está faltando. |
| **Nenhum depósito tem ainda um mínimo para estes insumos. Defina um para comparar o estoque com o que a clínica precisa.** | Com o filtro desmarcado, nenhum local tem mínimo. |
| **Você não tem depósitos atribuídos. Peça acesso a um administrador.** | O seu acesso na equipe não inclui nenhum depósito. |
| **Esta lista atingiu o limite e pode estar incompleta. Escolha um depósito para vê-la completa.** | A tela mostra no máximo 200 linhas e lê uma quantidade limitada de mínimos e caixas. Filtre por depósito. |

Se a lista não carregar, o erro aparece com o botão **Tentar de novo**.

### De uma sugestão a um pedido

A tela **Reposição** não cria pedidos: não existe um botão que transforme uma sugestão em pedido. Para solicitar o estoque a outro depósito da sua clínica odontológica, crie um pedido com a quantidade sugerida (veja [Criar e acompanhar pedidos](/docs/pt/orders/create-and-track)). As compras de fornecedores acontecem fora do muveya; quando a entrega chegar, registre-a com [Receber estoque](/docs/pt/inventory/receive).

## Alertas de estoque

Selecione **Alertas de estoque** na tela **Estoque**, ou acesse `console.muveya.com/inventory/alerts`. Em **Início**, o cartão **Alertas de estoque abertos** mostra quantos alertas estão abertos (conta até 200; ao chegar a 200 mostra **200+**) e abre esta tela.

### Visões e colunas

Use **Mostrar** para escolher **Alertas abertos** (o padrão), **Resolvidos** ou **Todos**. Os alertas aparecem do mais recente para o mais antigo, até 200.

| Coluna | O que mostra |
| - | - |
| **Alerta** | O tipo de alerta (veja abaixo). Os alertas abertos ficam destacados. |
| **Insumo** | O nome e o SKU do insumo. |
| **Depósito** | Onde está o risco. |
| **Detalhe** | Para o mínimo, por exemplo "12 utilizáveis de um mínimo de 20", com os números do momento em que foi detectado. Para a validade, "Vence em" ou "Venceu em" e a data. |
| **Detectado** | Quando o alerta foi detectado; em um alerta resolvido, uma segunda linha **Resolvido em** e a data. |
| **Caixa** | **Abrir a caixa** quando o alerta se refere a uma caixa (veja [Caixas e etiquetas](/docs/pt/inventory/boxes)). |

Quando a visão está vazia: **Não há alertas nesta visão.**

### Tipos de alerta

| Rótulo | Tipo | Abre quando | Resolve quando |
| - | - | - | - |
| **Abaixo do mínimo** | `low_stock` | O total utilizável de um insumo em um depósito fica abaixo de um mínimo maior que 0. | O total utilizável volta a alcançar o mínimo, ou o mínimo é definido como 0. |
| **Perto do vencimento** | `expiry_approaching` | A validade de uma caixa ativa entra na janela de aviso do depósito (os dias da política, ou 30). | A caixa deixa de estar ativa (esgotada, em quarentena, vencida ou descartada) ou não está mais dentro da janela. |
| **Vencido** | `expiry_approaching` | O mesmo alerta quando termina o último dia da caixa, ou uma caixa encontrada já vencida. | A caixa é tirada de uso, por exemplo marcada como vencida na página dela. |

Não existe um alerta separado de "sem estoque". Um insumo sem nada utilizável em um depósito que tem mínimo mostra **Abaixo do mínimo** com um detalhe como "0 utilizáveis de um mínimo de 20". Um depósito sem mínimo não gera nenhum alerta de mínimo.

Há no máximo um alerta aberto por insumo em cada depósito (mínimo) e por caixa (validade). Um alerta de validade acompanha a caixa quando ela é transferida para outro depósito. Um alerta de mínimo indica uma caixa (e mostra **Abrir a caixa**) só quando foi detectado por um movimento dessa caixa.

### Quando os alertas são calculados

O muveya avalia os alertas em três momentos, sempre com as mesmas regras:

1. **Pouco depois de cada movimento de estoque**, para cada depósito que o movimento envolveu (em uma transferência, a origem e o destino). Uma quarentena ou uma caixa que se esgota também reduz o estoque utilizável, então também dispara a verificação.
2. **Logo depois de salvar um mínimo**, para esse insumo nesse depósito.
3. **Em uma verificação periódica a cada 15 minutos, aproximadamente**, que percebe o que muda só com o tempo: caixas que entram na janela de aviso, caixas cuja data passa e deixam de contar como utilizáveis, e alertas que ficaram abertos por uma verificação que falhou.

Por isso um alerta não é instantâneo: conte com um pequeno atraso depois de um movimento, e até a próxima verificação periódica para mudanças que dependem só da data.

### Quem vê os alertas

Membros com `inventory.read`, para os depósitos que o acesso deles alcança. Os alertas aparecem só no console: o muveya não os envia por e-mail nem por WhatsApp. Gestores também podem ler a quantidade de alertas abertos nas métricas operacionais `LOW_STOCK` e `EXPIRING_STOCK` (veja [Análises gerenciais](/docs/pt/reports/management-analytics)).

## O que pode dar errado

| Mensagem | Código | O que fazer |
| - | - | - |
| **Alguém alterou este mínimo depois que você o abriu. Agora mostra os valores dessa pessoa; revise-os e salve novamente.** | `inventory.stock_policy_conflict` | Revise os valores exibidos e salve novamente. |
| **Este insumo ainda não tem unidade confirmada, então um mínimo não pode ser comparado. Confirme a unidade no catálogo primeiro.** | `inventory.measurement_unverified` | Ative o insumo no [catálogo](/docs/pt/catalog/items) e depois salve o mínimo. |
| **Somente um membro que pode corrigir o estoque pode definir mínimos.** | Nenhum | Peça a um administrador **Ajustar e contar estoque**. |
| **Uma caixa deste insumo está em outra unidade e não é contada. Verifique a unidade.** | Nenhum | Abra as caixas do insumo e peça a revisão da unidade de medida; até lá elas ficam fora do total. |
| **Este registro não está disponível na conta de clínica odontológica ativa.** | `inventory.warehouse_not_found`, `inventory.item_not_found` | O depósito está inativo ou fora do seu acesso, ou o insumo não existe. |
| **Confira os dados informados antes de tentar novamente.** | `inventory.stock_policy_invalid` | Um valor está fora da faixa permitida. |
| **Sua conta não tem permissão para esta ação.** | `common.forbidden` | Falta `inventory.read` ou `inventory.adjust`. |
| **Não foi possível concluir a solicitação. Tente novamente.** | Qualquer outra falha | Tente de novo. Se persistir, escreva para [team@muveya.com](mailto:team@muveya.com). |

## Páginas relacionadas

<CardGroup cols={2}>
  <Card title="Visão geral do estoque" icon="boxes-stacked" href="/docs/pt/inventory/overview">
    Quantidades em mãos, reservadas e disponíveis.
  </Card>

  <Card title="Contagens físicas" icon="clipboard-list" href="/docs/pt/inventory/counts">
    Confira um insumo em falta antes de pedir.
  </Card>

  <Card title="Correções de estoque" icon="scale-balanced" href="/docs/pt/inventory/corrections">
    O que o limite de aprovação controla.
  </Card>

  <Card title="Criar e acompanhar pedidos" icon="cart-shopping" href="/docs/pt/orders/create-and-track">
    Solicite o estoque que falta.
  </Card>

  <Card title="Análises gerenciais" icon="chart-line" href="/docs/pt/reports/management-analytics">
    Os alertas abertos como métricas operacionais.
  </Card>

  <Card title="Funções e permissões" icon="user-shield" href="/docs/pt/account/roles-and-permissions">
    Quem pode definir mínimos.
  </Card>
</CardGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.