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

# Contagens físicas

> Conte o que realmente está na prateleira, acompanhe o que precisa ser contado e o que está em andamento, faça campanhas de contagem por depósito e transforme diferenças em correções

Uma **contagem** compara o que uma caixa contém fisicamente com o que o muveya diz que ela contém. Quando não coincidem, salvar a contagem grava uma correção no registro de movimentos, ou a envia para aprovação quando a diferença é grande. O muveya oferece três ferramentas:

* A **contagem rápida** (`/inventory/count`): conta todas as caixas de um insumo em um depósito.
* A tela **Contagens** (`/inventory/counts`): o que precisa ser contado, as contagens em andamento e quanto as contagens diferem dos registros.
* As **campanhas de contagem** (`/inventory/count-campaigns/` seguido da campanha): conta um depósito inteiro e acompanha a cobertura.

## Quem pode fazer

| Ação | Permissão (rótulo no console) |
| - | - |
| Ver a tela **Contagens**, uma campanha e as diferenças | `inventory.read` (**Ver estoque**) |
| Iniciar, salvar e cancelar contagens; iniciar e encerrar campanhas | `inventory.adjust` (**Ajustar e contar estoque**), mais `inventory.read` para carregar as caixas |
| Aprovar uma diferença acima do limite | Outro membro com `inventory.adjust` (veja [Correções de estoque](/docs/pt/inventory/corrections)) |

Tudo fica limitado aos depósitos que o seu acesso na equipe alcança. As permissões são explicadas em [Funções e permissões](/docs/pt/account/roles-and-permissions).

## Como uma contagem funciona: a janela de medição

Uma contagem tem dois momentos. Ao **iniciá-la**, o muveya registra para cada caixa a quantidade que espera (a coluna **Esperado**): a quantidade em mãos da caixa naquele instante. Ao **salvá-la**, você informa o que mediu e confirma que nada entrou nem saiu das caixas enquanto contava.

Entre esses dois momentos o muveya observa cada caixa. Se a caixa tiver qualquer movimento físico (um recebimento, um consumo, uma transferência, uma separação, uma retirada para pedido, um despacho, uma devolução, uma correção, uma quarentena, um vencimento ou um descarte), a contagem deixa de descrever a prateleira e não pode ser salva: você precisa iniciar de novo e medir de novo. Reservar ou liberar unidades para um pedido não é um movimento físico e não afeta a contagem.

```mermaid theme={null}
flowchart LR
  A[Começar a contar] --> B[Quantidade esperada registrada]
  B --> C[Medir as caixas]
  C --> D[Confirmar que nada se moveu e salvar]
  D --> E{A caixa se moveu nesse meio-tempo?}
  E -- Sim --> A
  E -- Não --> F{Diferença}
  F -- Nenhuma --> G[Sem diferença]
  F -- Dentro do limite --> H[Correção gravada]
  F -- Acima do limite --> I[Pendente em Correções de estoque]
```

Só pode haver uma contagem em andamento por caixa. Se alguém já começou a contar uma caixa e ela não se moveu, iniciar de novo reaproveita essa mesma contagem, então duas pessoas contando a mesma prateleira compartilham uma única janela. Se a caixa se moveu desde então, iniciar de novo substitui a contagem anterior por uma nova (a anterior fica registrada como cancelada).

## A contagem rápida

A contagem rápida lista as caixas ativas de **um insumo em um depósito**. Você a abre a partir de:

* a ação **Contar** de uma linha de **Reposição** (veja [Reposição e alertas de estoque](/docs/pt/inventory/replenishment-and-alerts));
* o link **Contar este insumo aqui** na página de uma caixa (veja [Caixas e etiquetas](/docs/pt/inventory/boxes));
* o link **Contar** de um insumo dentro de uma campanha de contagem (a contagem fica então vinculada a essa campanha).

Se você abrir `console.muveya.com/inventory/count` diretamente, sem insumo nem depósito, verá apenas **Escolha um insumo e um depósito na reposição para contá-los.** e o link **Voltar à reposição**.

A tela tem o título **Contar um insumo**, com o insumo e o depósito logo abaixo, por exemplo "Luvas de nitrilo M · GLV-NIT-M em Depósito Central". No celular cada caixa aparece como um cartão.

| Coluna | O que mostra |
| - | - |
| **Caixa** | O código impresso da caixa, por exemplo `BX-000123`. |
| **Esperado** | Vazio até você começar a contar; depois, a quantidade em mãos registrada naquele momento. |
| **Lote** | O lote da caixa, quando houver. |
| **Validade** | A data de validade da caixa, quando houver. |
| **Contado** | O campo onde você digita o que encontrou (com o rótulo, por exemplo, **Contado em BX-000123**). |
| **Resultado** | O que aconteceu com essa caixa ao salvar. |

### Contar passo a passo

<Steps>
  <Step title="Inicie a contagem antes de medir">
    A tela lembra: "Inicie a contagem antes de medir, para perceber qualquer movimento enquanto conta." Selecione **Começar a contar**. A coluna **Esperado** é preenchida e os campos **Contado** ficam habilitados.
  </Step>

  <Step title="Meça e digite o que encontrou">
    Conte cada caixa e digite a quantidade em **Contado**. Deixe um campo vazio para pular essa caixa por enquanto: só as caixas com valor são salvas.
  </Step>

  <Step title="Escolha o motivo da diferença">
    Em **Motivo da diferença**, escolha **Correção de contagem**, **Danificado**, **Uso não registrado** ou **Outro** (os códigos de motivo estão em [Correções de estoque](/docs/pt/inventory/corrections)). O motivo vale para todas as diferenças salvas nesta etapa.
  </Step>

  <Step title="Confirme a janela">
    Marque **Nada entrou nem saiu destas caixas enquanto eu contava**. A caixa de seleção é obrigatória.
  </Step>

  <Step title="Salve">
    Selecione **Salvar contagem**. Cada caixa recebe o próprio resultado. Se alguma caixa ficar aguardando aprovação, aparece o link **Ver correções de estoque**.
  </Step>
</Steps>

**Salvar contagem** fica desativado até você marcar a confirmação, pelo menos uma caixa ter um valor contado e cada valor digitado ser um número inteiro de 0 ou mais. Um valor acima de 1.000.000 é recusado ao salvar (**Não foi salvo**, com **Confira os dados informados antes de tentar novamente.**). Depois de salvar, a confirmação é desmarcada: marque de novo antes de salvar mais caixas.

### Resultados por caixa

| Resultado | O que significa |
| - | - |
| **Sem diferença** | A contagem bateu. A contagem é salva; nenhum movimento é gravado. |
| **Corrigido em +3** (ou um número negativo) | A diferença estava dentro do limite de aprovação e uma correção foi gravada. |
| **Aguardando a aprovação de outra pessoa** | A diferença passou do limite. Ela aguarda em **Correções de estoque**; a contagem continua em andamento até alguém decidir. |
| **Mudou enquanto você contava. Conte novamente.** | A caixa se moveu depois que você começou. Selecione **Começar a contar** de novo e meça de novo. |
| **Já estava registrado** | Esse mesmo resultado já tinha sido salvo. Nada novo foi gravado. |
| **Outra correção desta caixa aguarda aprovação. Aprove, rejeite ou retire em Correções de estoque e conte novamente.** | Já existe uma correção da caixa aguardando uma segunda pessoa. |
| **Não foi salvo** | A contagem não pôde ser salva; a mensagem abaixo do botão explica o motivo. |

### Limites

* A contagem rápida mostra até 50 caixas ativas do insumo nesse depósito.
* Só aparecem caixas **Ativas**. Quando não há nenhuma, a tela diz **Não há caixas ativas deste insumo neste depósito.**
* As quantidades contadas estão na unidade base do insumo, a mesma de **Em mãos**.
* Membros sem `inventory.adjust` veem **Somente um membro que pode corrigir o estoque pode contá-lo.**

## O que uma contagem salva registra

| Resultado | Registro de movimentos | Status da contagem |
| - | - | - |
| Sem diferença | Nada | `submitted` |
| Diferença dentro do limite | Um movimento de correção, `adjust_gain` ou `adjust_loss`, com o motivo escolhido e vinculado à contagem | `submitted` |
| Diferença acima do limite | Nada ainda; aparece uma solicitação em **Correções de estoque** com a origem **Contagem: contado 88, esperado 100** | `open` |
| Essa solicitação aprovada | Um movimento de correção que indica as duas pessoas | `submitted` |
| Essa solicitação rejeitada ou retirada | Nada | Continua `open` até você contar de novo ou cancelar |

A diferença é sempre **contado menos esperado**. As regras do limite (100 por padrão, mais rígido por insumo e depósito, 0 para um insumo de alto valor) são as mesmas das correções: veja [Correções de estoque](/docs/pt/inventory/corrections). Uma contagem conciliada deixa o evento de auditoria `inventory.cycle_count.reconciled`, e a correção dela deixa `inventory.adjust`.

<Warning>
  Contar **0** em uma caixa grava uma saída que a deixa sem nada em mãos, e a caixa passa a **Esgotada**. Uma caixa esgotada não aceita mais movimentos. Tenha certeza de que a caixa está realmente vazia antes de salvar um zero.
</Warning>

## A tela Contagens

Selecione **Contagens** na tela **Estoque**, ou acesse `console.muveya.com/inventory/counts`. A tela tem três seções. **A contar** e **Diferença entre contagens e registros** seguem um único seletor, **Sem contagem desde**: **Há 7 dias** (o padrão), **Há 30 dias** ou **Há 90 dias**. **Contagens em andamento** sempre mostra as contagens abertas.

### A contar

Uma caixa **precisa ser contada** quando está ativa e não tem uma contagem salva desde a data escolhida enquanto está no depósito atual. A tabela lista cada depósito com algo a contar:

| Coluna | O que mostra |
| - | - |
| **Depósito** | O nome do depósito. |
| **Caixas a contar** | Quantas caixas ativas precisam ser contadas ali. |
| **Campanha** | Só para membros com `inventory.adjust`: o botão **Iniciar uma contagem de Depósito Central** (com o nome do depósito). |

Quando não há nada a contar, a seção diz **Todas as caixas dos seus depósitos foram contadas neste período.** Em **Início**, o cartão **Caixas a contar** mostra o mesmo número para os últimos 30 dias.

### Contagens em andamento

Todas as contagens que alguém iniciou e ninguém salvou nem cancelou ainda (as 100 mais recentes).

| Coluna | O que mostra |
| - | - |
| **Insumo** | O nome e o SKU do insumo. |
| **Caixa** | O link **Abrir a caixa**. |
| **Esperado** | A quantidade registrada quando a contagem começou. |
| **Iniciada por** | Quem iniciou. |
| **Iniciada** | Quando. |
| **Alterar** | Só para membros com `inventory.adjust`: o botão **Cancelar**. |

Quando não há nenhuma: **Não há contagens em andamento.**

### Diferença entre contagens e registros

Esta seção mede o quanto os registros estavam certos, com as contagens salvas que foram iniciadas desde a data escolhida.

* Uma frase de resumo, por exemplo: "2 de 14 insumos fora da meta: a contagem diferiu dos registros em 2% ou mais."
* A tabela **Diferença por insumo** lista, por insumo e unidade de medida, do pior para o melhor:

| Coluna | O que mostra |
| - | - |
| **Insumo** | O nome e o SKU do insumo. |
| **Unidade** | A unidade de medida em que as caixas foram contadas. Unidades de medida diferentes nunca são somadas. |
| **Contagens** | Quantas contagens salvas. |
| **Esperado** | Quantidade esperada total. |
| **Contado** | Quantidade contada total. |
| **Diferença** | Diferença absoluta total (uma entrada e uma saída se somam). |
| **Diferença %** | A diferença dividida pelo esperado, ou **Estoque encontrado onde nada era esperado** quando o total esperado era 0 e algo foi contado. |
| **Meta** | **Dentro da meta** abaixo de 2%; **Fora da meta** com 2% ou mais, ou quando não há percentual. |

* As contagens de caixas cuja unidade de medida não está verificada não entram em nenhum insumo; uma nota informa quantas são.
* A tabela **Campanhas de contagem do período** lista cada campanha com contagens salvas: **Depósito**, **Contagens**, **Insumos**, **Fora da meta** e o link **Abrir a campanha de Depósito Central**.
* As notas de cobertura informam quais depósitos foram contados no período, quais não foram ("O estoque deles não fica conciliado por estes números.") e quais salas não contam o próprio estoque, cujas entregas são consumo estimado, nunca estoque exato (veja [Salas e áreas](/docs/pt/locations/destinations)).

Quando nada foi salvo no período: **Nenhuma contagem foi enviada ainda.**

## Campanhas de contagem

Uma campanha conta um depósito inteiro. Sozinha, ela não movimenta estoque: é um plano e um acompanhamento de cobertura.

### Iniciar uma campanha

<Steps>
  <Step title="Encontre o depósito">
    Na tela **Contagens**, em **A contar**, encontre o depósito.
  </Step>

  <Step title="Inicie">
    Selecione **Iniciar uma contagem de** e o nome do depósito. O muveya toma como plano todas as caixas ativas nesse depósito naquele momento (não só as que precisam ser contadas) e abre a página da campanha.
  </Step>
</Steps>

Só pode haver uma campanha em andamento por depósito. Se você tentar iniciar uma segunda, verá **Já há uma contagem deste depósito em andamento.**

<Note>
  A tela **Contagens** lista uma campanha só quando ela tem pelo menos uma contagem salva no período escolhido. Guarde o endereço da página da campanha (ou adicione aos favoritos) para voltar a uma campanha que ainda não tem contagens salvas.
</Note>

### A página da campanha

A página tem o título **Contagem de Depósito Central** (com o nome do depósito), com o status logo abaixo: **Em andamento** ou **Encerrada**.

| Elemento | O que mostra |
| - | - |
| **Caixas a contar** | Quantas caixas o plano tem. |
| **Contadas** | Caixas do plano com uma contagem salva nesta campanha. |
| **Faltam** | Caixas do plano ainda não contadas. |
| Detalhamento | "Enviadas 12 · em andamento 3 · canceladas 1": as contagens da campanha por status. |
| Início e encerramento | Quem iniciou ou encerrou, e quando. |
| **Insumos que faltam contar** | Cada insumo com **Caixas pendentes** e, enquanto a campanha está em andamento e você tem `inventory.adjust`, o link **Contar** seguido do nome do insumo. |

O link abre a contagem rápida desse insumo nesse depósito, e toda contagem que você iniciar por ali fica vinculada à campanha.

Algumas coisas para saber sobre a cobertura:

* Uma contagem aguardando aprovação continua em andamento, então a caixa dela não entra em **Contadas** até a diferença ser aprovada.
* Caixas recebidas depois do início da campanha não fazem parte do plano. Ao começar a contar pela campanha, o processo para em uma caixa assim; conte esse insumo pela tela **Reposição** ou pela página da caixa.
* A linha **Caixas que não estão mais no estoque** agrupa caixas do plano que a página não consegue mais situar neste depósito (por exemplo, caixas transferidas para outro). Em um depósito com um histórico longo de caixas (mais de 200), caixas que ainda estão na prateleira também podem cair nessa linha.

Quando todas as caixas do plano estão contadas: **Todas as caixas planejadas foram contadas.**

### Encerrar uma campanha

Enquanto a campanha está em andamento, membros com `inventory.adjust` veem "Encerre quando as caixas planejadas estiverem contadas. As caixas pendentes ficam sem contagem." e o botão **Encerrar a contagem**. Depois de encerrar, a página diz **A contagem foi encerrada.**

Encerrar não movimenta estoque. As caixas pendentes ficam sem contagem, os links **Contar** desaparecem e nenhuma contagem nova pode entrar na campanha. Uma contagem da campanha que já estava em andamento ainda pode ser concluída: abra a contagem rápida pela tela **Reposição** ou pela página da caixa, e ela retoma essa contagem.

## Cancelar uma contagem

<Steps>
  <Step title="Encontre a contagem">
    Na tela **Contagens**, em **Contagens em andamento**, encontre a linha.
  </Step>

  <Step title="Cancele">
    Selecione **Cancelar**. A caixa de diálogo **Cancelar esta contagem?** explica: "Nada muda no estoque. Inicie de novo quando alguém puder contar a caixa."
  </Step>

  <Step title="Confirme">
    Selecione **Sim, cancelar a contagem**, ou **Continuar contando** para voltar.
  </Step>
</Steps>

Uma contagem cancelada não grava nada no registro e não pode mais ser salva. Uma contagem salva não pode ser cancelada. Se a contagem tinha uma diferença aguardando em **Correções de estoque**, essa solicitação não pode mais ser aprovada: rejeite ou retire.

## Contagens antigas que precisam de revisão

Uma contagem iniciada antes do método de contagem atual, ou cujos registros estão inconsistentes, não pode ser salva. O muveya a recusa com o código `inventory.count_recovery_required` (com o título "A contagem precisa de revisão"), e a contagem rápida mostra **Não foi salvo** com **O registro mudou ou já existe. Confira antes de tentar novamente.** Não informe a mesma medição de novo: selecione **Começar a contar** para abrir uma contagem nova (ela substitui a anterior) e meça de novo. Se a recusa se repetir, escreva para [team@muveya.com](mailto:team@muveya.com).

## O que pode dar errado

| Mensagem | Código | O que fazer |
| - | - | - |
| **Mudou enquanto você contava. Conte novamente.** | `inventory.count_stale`, `inventory.adjustment_request_stale`, `inventory.cycle_count_not_open` | Selecione **Começar a contar** e meça de novo. |
| **Outra correção desta caixa aguarda aprovação. Aprove, rejeite ou retire em Correções de estoque e conte novamente.** | `inventory.adjustment_already_pending` | Resolva a correção pendente em [Correções de estoque](/docs/pt/inventory/corrections) e conte novamente. |
| **Não foi salvo** com **O registro mudou ou já existe. Confira antes de tentar novamente.** | `inventory.count_submission_conflict` | Outro resultado já foi salvo, ou está aguardando, para esta contagem. Se houver um aguardando, primeiro aprove, rejeite ou retire esse resultado em **Correções de estoque**; se não, comece a contar de novo para fazer uma medição nova. |
| **Não foi salvo** com a mesma mensagem | `inventory.count_recovery_required` | Veja a seção **Contagens antigas que precisam de revisão**, mais acima. |
| **Já há uma contagem deste depósito em andamento.** | `inventory.count_campaign_already_open` | Abra a campanha existente e continue. |
| **O registro mudou ou já existe. Confira antes de tentar novamente.** depois de **Começar a contar** | `inventory.box_not_in_campaign`, `inventory.count_campaign_not_open` | A caixa não está no plano da campanha, ou a campanha está encerrada. Conte pela tela **Reposição** ou pela página da caixa. |
| **Não há caixas ativas deste insumo neste depósito.** | Nenhum | Não há nada para contar aqui. |
| **Somente um membro que pode corrigir o estoque pode contá-lo.** | Nenhum | Peça a um administrador **Ajustar e contar estoque**. |
| **Escolha um insumo e um depósito na reposição para contá-los.** | Nenhum | Abra a contagem pela tela **Reposição**, pela página de uma caixa ou por uma campanha. |
| **Sua conta não tem permissão para esta ação.** | `common.forbidden` | Falta `inventory.read` ou `inventory.adjust`. |
| **Este registro não está disponível na conta de clínica odontológica ativa.** | `inventory.cycle_count_not_found`, `inventory.count_campaign_not_found`, `inventory.box_not_found` | A contagem, a campanha ou a caixa não está nos seus depósitos. |
| **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). |

<Note>
  Salvar uma contagem é uma ação marcada como sensível. Na versão atual o segundo fator é opcional e não a bloqueia (veja [Segurança da conta](/docs/pt/account/security)).
</Note>

## Páginas relacionadas

<CardGroup cols={2}>
  <Card title="Correções de estoque" icon="scale-balanced" href="/docs/pt/inventory/corrections">
    Motivos, limites e aprovação de diferenças.
  </Card>

  <Card title="Reposição e alertas de estoque" icon="bell" href="/docs/pt/inventory/replenishment-and-alerts">
    Onde a maioria das contagens rápidas começa.
  </Card>

  <Card title="Visão geral do estoque" icon="boxes-stacked" href="/docs/pt/inventory/overview">
    Saldos, status e o registro de movimentos.
  </Card>

  <Card title="Caixas e etiquetas" icon="box" href="/docs/pt/inventory/boxes">
    Encontre uma caixa e leia os movimentos.
  </Card>

  <Card title="Funções e permissões" icon="user-shield" href="/docs/pt/account/roles-and-permissions">
    Quem pode contar e quem só pode consultar.
  </Card>

  <Card title="Salas e áreas" icon="door-open" href="/docs/pt/locations/destinations">
    Salas que contam o próprio estoque e salas que não contam.
  </Card>
</CardGroup>


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