> ## 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.

# Visão geral do estoque

> Entenda a tela de estoque, os saldos e status de cada caixa, o registro imutável de movimentos e quem pode fazer o quê no estoque

O muveya controla o estoque por **caixa**: um recipiente físico de um único insumo, com seu próprio código impresso, seu depósito, seu status e, quando o insumo os controla, seu lote, seus números de série e sua data de validade. Cada mudança em uma caixa é gravada em um **registro de movimentos** que só recebe novas linhas, e as quantidades que você vê são calculadas a partir desse registro. Nada nele é editado ou apagado.

Esta página explica a tela principal do estoque, como funcionam as quantidades e os status, cada movimento que o registro pode guardar e qual permissão cada ação exige.

## Abrir a tela de estoque

Selecione **Inventário** na navegação principal. A tela que abre tem o título **Estoque** ("Caixas disponíveis nos depósitos que você pode ver."). Você também pode ir direto para `console.muveya.com/inventory`.

A opção **Inventário** aparece para todos os membros, mas a lista só carrega para quem tem a permissão `inventory.read`. Sem ela, a tela mostra **Sua conta não tem permissão para esta ação.**

### O que a lista mostra

Cada linha é uma caixa.

| Coluna | O que mostra |
| - | - |
| **Insumo** | O nome e o SKU do insumo, por exemplo `Luvas de nitrilo M · GLV-NIT-M`. Selecione para abrir a caixa. |
| **Depósito** | O depósito onde a caixa está agora. |
| **Em mãos** | As unidades que estão fisicamente na caixa, com a unidade de medida do insumo, por exemplo `100 × Unidade`. |
| **Reservado** | As unidades dessa caixa reservadas para pedidos aprovados. |
| **Disponível** | Em mãos menos reservado: o que ainda está livre. |

A lista inclui caixas em qualquer status, então uma caixa esgotada pode continuar aparecendo com `0` em mãos. O código da caixa não é uma coluna: abra a caixa para vê-lo.

### Filtrar a lista

| Filtro | Opções |
| - | - |
| **Insumo** | **Todos os insumos**, ou qualquer insumo por nome e SKU (ativo ou não, porque o estoque pode conter um insumo retirado). |
| **Depósito** | **Todos os depósitos**, ou um depósito por nome (ativo ou não). |

Você só vê caixas dos depósitos que o seu acesso na equipe alcança. A lista mostra até 50 caixas, da mais antiga para a mais recente, e não tem próxima página: se você espera mais, refine com os filtros.

### Estados e mensagens

| Mensagem | Significado |
| - | - |
| **Carregando estoque…** | A lista está carregando. |
| **Nenhuma caixa corresponde a esta visão.** | Nenhuma caixa dos seus depósitos corresponde aos filtros. |
| **Você não tem depósitos atribuídos. Peça acesso a um administrador.** | Seu acesso não inclui nenhum depósito, então nada pode aparecer. Um administrador muda isso em [Equipe](/docs/pt/account/team). |
| **Sua conta não tem permissão para esta ação.** | Você não tem `inventory.read`. |

### Atalhos no topo da tela

| Link | Abre | Guia |
| - | - | - |
| **Receber** | A tela de recebimento. Só aparece para quem pode receber. | [Receber estoque](/docs/pt/inventory/receive) |
| **Escanear um código** | O localizador de caixas. | [Caixas e etiquetas](/docs/pt/inventory/boxes) |
| **Uso por sala ou área** | O que saiu do estoque para cada sala ou área. | [Registrar consumo e transferir caixas](/docs/pt/inventory/use-and-moves) |
| **Reposição** | Os insumos abaixo do mínimo. | [Reposição e alertas de estoque](/docs/pt/inventory/replenishment-and-alerts) |
| **Alertas de estoque** | Alertas de estoque baixo e de validade. | [Reposição e alertas de estoque](/docs/pt/inventory/replenishment-and-alerts) |
| **Recolhimento de lote** | Todas as caixas de um lote. | [Recolhimento de lote](/docs/pt/inventory/lot-recall) |
| **Contagens** | Contagens pendentes, em andamento e suas diferenças. | [Contagens físicas](/docs/pt/inventory/counts) |
| **Correções de estoque** | Correções aguardando aprovação. | [Correções de estoque](/docs/pt/inventory/corrections) |

## Saldos: em mãos, reservado e disponível

Cada caixa tem dois contadores, ambos calculados a partir do registro:

* **Em mãos** (`onHand`): as unidades que estão na caixa. Receber soma; consumir, despachar e correções de saída subtraem. Nunca fica abaixo de zero.
* **Reservado** (`reserved`): as unidades da caixa reservadas para pedidos aprovados. Reservar nunca muda o que está em mãos.
* **Disponível** (`available`): `onHand` menos `reserved`. A alocação de pedidos só reserva unidades disponíveis, e separar parte de uma caixa só usa unidades disponíveis.

As quantidades estão sempre na unidade de medida base do insumo (a definida no [catálogo](/docs/pt/catalog/items)), mostrada no seu idioma, por exemplo `24 × Caixa`. A unidade de medida é bloqueada quando o insumo é ativado no catálogo (um recebimento também a bloqueia se ainda não estava bloqueada), e cada caixa mantém a unidade de medida com que foi recebida. Uma caixa cuja unidade de medida gravada não pode ser confirmada mostra seus números sem unidade e o aviso **A unidade desta caixa precisa de revisão. As quantidades aparecem sem unidade até que alguém a revise.**

## Status de uma caixa

| Status | Rótulo | O que significa | O que a caixa aceita |
| - | - | - | - |
| `active` | **Ativa** | Em uso no seu depósito. | Consumos, transferências, separações, correções, contagens, reservas para pedidos e sair de uso. |
| `quarantine` | **Em quarentena** | Mantida à parte para revisão ou por um recolhimento de lote. | Não aceita consumos nem transferências e nunca vai para um pedido. Ainda pode ser descartada, mas o console não tem um botão para isso. |
| `expired` | **Vencida** | Marcada como vencida por uma pessoa. | Não aceita consumos nem transferências e nunca vai para um pedido. Ainda pode ser descartada, mas o console não tem um botão para isso. |
| `depleted` | **Esgotada** | O que tinha em mãos chegou a zero por consumo ou por uma correção de saída. | Nada. O histórico continua visível. |
| `disposed` | **Descartada** | Descartada. Status final. | Nada. |
| `in_transit` | **Em trânsito** | Despachada para um pedido e ainda não recebida no destino. | Nada até o recebimento ser confirmado. |

```mermaid theme={null}
stateDiagram-v2
    state "Ativa" as Active
    state "Em quarentena" as Quarantined
    state "Vencida" as Expired
    state "Esgotada" as UsedUp
    state "Descartada" as Disposed
    state "Em trânsito" as InTransit
    [*] --> Active: Recebida
    Active --> UsedUp: Em mãos chega a zero
    Active --> Quarantined: Quarentena ou recolhimento de lote
    Active --> Expired: Marcar como vencida
    Active --> Disposed: Descartar
    Quarantined --> Disposed: Descartar
    Expired --> Disposed: Descartar
    Active --> InTransit: Pedido despachado
    InTransit --> Active: Recebimento aceito ou contestado
    InTransit --> Quarantined: Recebimento contestado e retido
```

<Warning>
  Uma caixa não muda de status sozinha quando a data de validade passa. Ela continua **Ativa**, mas a partir do dia seguinte à validade (UTC) não pode mais ser consumida, transferida nem separada, e os pedidos nunca a reservam. Tire-a de uso com **Marcar como vencida**, como explicado em [Caixas e etiquetas](/docs/pt/inventory/boxes).
</Warning>

## O registro de movimentos

O registro é a única fonte da verdade do estoque. Cada movimento guarda seu tipo, a caixa, o insumo, a mudança com sinal no que está em mãos (e no reservado, quando se aplica), quem registrou, quando aconteceu (pelo relógio do servidor), o depósito de onde saiu ou para onde entrou e, quando informado, um motivo. Um erro é corrigido com um novo movimento que o compensa, nunca editando um anterior. Os movimentos de uma caixa aparecem na tela da caixa; veja [Caixas e etiquetas](/docs/pt/inventory/boxes).

| Tipo | Rótulo na caixa | É criado quando | Em mãos | Reservado |
| - | - | - | - | - |
| `receive` | **Recebido** | Alguém recebe uma entrega ([Receber estoque](/docs/pt/inventory/receive) ou [Operações pelo WhatsApp](/docs/pt/whatsapp/operations)). Também quando uma caixa despachada para um pedido é aceita no depósito de destino. | Soma | Sem mudança |
| `reserve` | **Reservado** | Um pedido aprovado é alocado e o sistema separa unidades de uma caixa para ele. Também quando a preparação do pedido passa as unidades dele para um novo recipiente. | Sem mudança | Soma |
| `release` | **Liberado** | Uma reserva é liberada: uma alocação é desfeita, o sistema limpa uma alocação travada ou a preparação do pedido move as unidades dele para um novo recipiente. | Sem mudança | Subtrai |
| `pick` | **Retirado para o pedido** | Uma caixa reservada é escaneada durante a [preparação](/docs/pt/deliveries/picking) de um pedido. | Sem mudança | Sem mudança |
| `dispatch` | **Despachado** | O pedido é despachado. A caixa passa para **Em trânsito**. | Subtrai | Subtrai |
| `transfer_out` | **Saída por transferência** | Uma caixa inteira é transferida para outro depósito (registrado na origem). | Sem mudança | Sem mudança |
| `transfer_in` | **Entrada por transferência** | A mesma transferência, registrada no destino. | Sem mudança | Sem mudança |
| `split_out` | **Separação (saída)** | Parte de uma caixa é separada em um novo recipiente (registrado na caixa original). | Subtrai | Sem mudança |
| `split_in` | **Separação (entrada)** | A mesma separação, registrada no novo recipiente. | Soma | Sem mudança |
| `consume` | **Consumido**, ou **Entregue** quando foi entregue a uma sala ou área | Alguém registra um consumo ou uma saída de uma caixa ([Registrar consumo e transferir caixas](/docs/pt/inventory/use-and-moves) ou WhatsApp). | Subtrai | Sem mudança |
| `return` | **Devolvido** | Uma caixa despachada cujo recebimento foi contestado volta ao depósito de origem, ativa ou em quarentena ([Entrega e recebimento](/docs/pt/deliveries/delivery-and-receipt)). | Soma | Sem mudança |
| `adjust_gain` | **Correção (entrada)** | Uma correção ou uma contagem encontra mais do que o registrado ([Correções de estoque](/docs/pt/inventory/corrections), [Contagens físicas](/docs/pt/inventory/counts)). | Soma | Sem mudança |
| `adjust_loss` | **Correção (saída)** | Uma correção ou uma contagem encontra menos do que o registrado. Em zero, a caixa passa para **Esgotada**. | Subtrai | Sem mudança |
| `expire` | **Vencido** | Alguém marca a caixa como vencida. | Sem mudança | Sem mudança |
| `quarantine` | **Em quarentena** | Alguém coloca a caixa em quarentena, ou um [recolhimento de lote](/docs/pt/inventory/lot-recall) a retém. | Sem mudança | Sem mudança |
| `dispose` | **Descartado** | Alguém descarta a caixa. | Sem mudança | Sem mudança |

Um consumo que usa a última unidade também deixa a caixa **Esgotada**. Transferências, mudanças de status e retiradas para pedido registram mudança `0`: a caixa mantém suas unidades, só muda de lugar ou de status.

## FEFO e FIFO

Quando um pedido aprovado é alocado, o muveya reserva unidades caixa por caixa em uma ordem fixa:

* **FEFO** (o que vence primeiro sai primeiro) vale quando alguma caixa elegível do insumo tem data de validade. As caixas que vencem antes vão primeiro; as caixas sem validade vão por último; empates são resolvidos pela data de recebimento.
* **FIFO** (o que entra primeiro sai primeiro) vale nos demais casos. O recebimento mais antigo vai primeiro.

Só são elegíveis as caixas com status **Ativa** cuja validade não passou, no depósito de origem e com a unidade de medida que o pedido espera, e só as unidades disponíveis delas são reservadas. A ordem é calculada pelo servidor e é sempre a mesma. Quando você mesmo consome ou transfere uma caixa, escolhe a caixa ao escaneá-la; o console não sugere nenhuma. Não há uma ação no console para mudar essa ordem em uma alocação.

## Permissões

As permissões de estoque são concedidas uma a uma em [Equipe](/docs/pt/account/team). Nenhuma função as concede automaticamente: um proprietário ou administrador também precisa delas para ver ou mudar o estoque. Veja [Funções e permissões](/docs/pt/account/roles-and-permissions).

| Permissão | Rótulo em Equipe | O que permite |
| - | - | - |
| `inventory.read` | **Ver estoque** | Ver a lista de estoque, abrir e escanear caixas, ler movimentos, uso por sala ou área, recolhimento de lote, reposição, alertas, contagens e correções. Todas as telas de estoque exigem, exceto **Receber**. |
| `inventory.receive` | **Receber entregas** | Receber estoque em um depósito. |
| `inventory.consume` | **Registrar consumo** | Registrar um consumo ou uma saída de uma caixa, e atribuir depois uma saída anterior. |
| `inventory.transfer` | **Transferir caixas entre depósitos** | Transferir uma caixa inteira para outro depósito e separar parte de uma caixa em um novo recipiente. |
| `inventory.adjust` | **Ajustar e contar estoque** | Correções, contagens, mínimos, decidir correções, tirar uma caixa de uso e colocar um lote em quarentena. **Inclui** `inventory.receive`, `inventory.consume` e `inventory.transfer`. |

<Note>
  `inventory.adjust` não inclui `inventory.read`. Conceda as duas a quem precisa ver o que corrige.
</Note>

Cada permissão vale apenas dentro do **Acesso aos depósitos** do membro (todos os depósitos ou uma lista específica). Uma caixa de um depósito fora desse acesso se comporta exatamente como se não existisse: ao escanear o código, a tela diz que não encontrou a caixa.

Transferir uma caixa, tirar uma caixa de uso e colocar um lote em quarentena são ações marcadas como sensíveis. Na versão atual o segundo fator é opcional e não as bloqueia; veja [Segurança da conta](/docs/pt/account/security).

## Mapa das telas de estoque

| Tela | Caminho | O que você faz ali | Guia |
| - | - | - | - |
| **Estoque** | `/inventory` | Percorrer caixas e saldos. | Esta página |
| **Receber** | `/inventory/receive` | Receber uma entrega em uma caixa nova. | [Receber estoque](/docs/pt/inventory/receive) |
| **Escanear** | `/inventory/scan` | Encontrar uma caixa pelo código. | [Caixas e etiquetas](/docs/pt/inventory/boxes) |
| Caixa (com o código como título) | `/inventory/boxes/:boxId` | Ver uma caixa, imprimir a etiqueta, consumir, transferir, separar, corrigir ou tirá-la de uso. | [Caixas e etiquetas](/docs/pt/inventory/boxes) |
| **Uso por sala ou área** | `/inventory/usage` | Revisar as saídas por sala ou área e atribuí-las. | [Registrar consumo e transferir caixas](/docs/pt/inventory/use-and-moves) |
| **Recolhimento de lote** | `/inventory/lots` | Encontrar todas as caixas de um lote e colocá-lo em quarentena. | [Recolhimento de lote](/docs/pt/inventory/lot-recall) |
| **Reposição** | `/inventory/replenishment` | Insumos abaixo do mínimo. | [Reposição e alertas de estoque](/docs/pt/inventory/replenishment-and-alerts) |
| **Mínimo por depósito** | `/inventory/replenishment/policy` | Definir mínimos e limites de aprovação. | [Reposição e alertas de estoque](/docs/pt/inventory/replenishment-and-alerts) |
| **Alertas de estoque** | `/inventory/alerts` | Alertas de estoque baixo e de validade. | [Reposição e alertas de estoque](/docs/pt/inventory/replenishment-and-alerts) |
| **Contagens** | `/inventory/counts` | Contagens pendentes, em andamento e diferenças. | [Contagens físicas](/docs/pt/inventory/counts) |
| **Contar um insumo** | `/inventory/count` | Contar as caixas de um insumo em um depósito. | [Contagens físicas](/docs/pt/inventory/counts) |
| **Contagem de** um depósito | `/inventory/count-campaigns/:campaignId` | Acompanhar uma campanha de contagem de um depósito. | [Contagens físicas](/docs/pt/inventory/counts) |
| **Correções de estoque** | `/inventory/approvals` | Aprovar, rejeitar ou retirar correções. | [Correções de estoque](/docs/pt/inventory/corrections) |

**Reposição** e **Correções de estoque** também aparecem na navegação principal.

## Ler o estoque pela API ou MCP

Os mesmos saldos e o mesmo registro podem ser lidos com uma chave de API que tenha o escopo `inventory:read`: `GET /v1/inventory/balances`, `GET /v1/inventory/boxes/{boxId}`, `GET /v1/inventory/boxes/{boxId}/balance` e `GET /v1/inventory/boxes/{boxId}/movements`. São somente leitura. Veja [API para desenvolvedores](/docs/pt/api-reference/introduction). Pelo MCP, a ferramenta `inventory.check` devolve o que está em mãos, reservado e disponível de um insumo; veja [Ferramentas MCP](/docs/pt/mcp/tools).

## Páginas relacionadas

<CardGroup cols={2}>
  <Card title="Receber estoque" icon="truck-ramp-box" href="/docs/pt/inventory/receive">
    Transforme uma entrega em caixas etiquetadas.
  </Card>

  <Card title="Caixas e etiquetas" icon="box-open" href="/docs/pt/inventory/boxes">
    Escaneie, consulte, separe, etiquete e tire uma caixa de uso.
  </Card>

  <Card title="Registrar consumo e transferir caixas" icon="arrow-right-arrow-left" href="/docs/pt/inventory/use-and-moves">
    Saídas, salas e áreas, atribuição e transferências.
  </Card>

  <Card title="Depósitos" icon="warehouse" href="/docs/pt/locations/warehouses">
    Depósitos centrais e express.
  </Card>
</CardGroup>


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