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

# Operações no app Android

> Escaneie uma caixa ou um código de fornecedor, registre um uso, transfira uma caixa e receba uma entrega pelo app Android do muveya, com cada rótulo, regra e mensagem.

Esta página descreve cada tarefa do app Android do muveya, passo a passo, com os rótulos exatamente como o app os mostra em português. Para instalar o app, entrar e escolher sua clínica odontológica, veja [App Android](/docs/pt/android/overview).

O app age com a mesma sessão, as mesmas permissões e o mesmo acesso a depósitos do console, e o muveya verifica cada ação de novo no servidor. As movimentações que ele registra são as mesmas que o console registra e aparecem no histórico da caixa no console. No app, o depósito aparece como **Almoxarifado**.

## Permissões em resumo

| Tarefa | Permissão | Rótulo no console |
| - | - | - |
| Escanear a etiqueta de uma caixa e ver a caixa | `inventory.read` | **Ver estoque** |
| Registrar um uso | `inventory.consume` ou `inventory.adjust`, mais `inventory.read` | **Registrar consumo** ou **Ajustar e contar estoque**, mais **Ver estoque** |
| Transferir uma caixa | `inventory.transfer` ou `inventory.adjust`, mais `inventory.read` | **Transferir caixas entre depósitos** ou **Ajustar e contar estoque**, mais **Ver estoque** |
| Receber uma entrega por GS1 DataMatrix ou pelo nome | `inventory.receive` ou `inventory.adjust` | **Receber entregas** ou **Ajustar e contar estoque** |
| Receber escaneando qualquer outro código de barras do fornecedor | `inventory.receive` ou `inventory.adjust`, mais `inventory.read` | O mesmo, mais **Ver estoque** |

Cada tarefa também exige acesso aos depósitos envolvidos. Uma caixa de um depósito fora do seu acesso é tratada como se não existisse. Veja [Funções e permissões](/docs/pt/account/roles-and-permissions).

## Como as telas funcionam

* **Voltar**, no canto superior esquerdo, ou o gesto de voltar do celular retornam um passo: de **Registrar uso** ou **Transferir caixa** para a caixa, e de qualquer outra tela para **Início**. **Menu** e depois **Início** levam direto a **Início**.
* Enquanto o app espera o muveya, ele mostra **Processando…** e ignora um segundo toque no mesmo botão.
* Um problema aparece em um quadro no alto da tela, com **Fechar**. Quando o muveya recusa uma ação, o app mostra a explicação do muveya no idioma do app (veja **Mensagens do muveya** no fim desta página).
* Toda ação precisa de conexão. Sem conexão, o app mostra **Sem conexão. Verifique a rede e tente novamente.**

## Escanear ou digitar um código

**Quem pode fazer:** qualquer pessoa com pelo menos uma permissão de estoque (`inventory.read`, `inventory.receive`, `inventory.consume`, `inventory.transfer` ou `inventory.adjust`). Sem nenhuma delas, **Início** mostra **Seu acesso nesta organização não inclui estoque. Peça a um administrador.**

**Onde:** **Início**.

<Steps>
  <Step title="Escaneie">
    Toque em **Escanear código** (**A etiqueta de uma caixa ou o código de barras do fornecedor.**). O leitor de códigos do Google abre em tela cheia. Aponte para a etiqueta de uma caixa, um código de barras de produto ou um GS1 DataMatrix; ele aproxima a imagem sozinho. Fechar o leitor sem ler nada não muda nada.
  </Step>

  <Step title="Ou digite">
    Digite o código em **Ou digite o código** (até 64 caracteres) e toque em **Buscar** ou na tecla de busca do teclado.
  </Step>

  <Step title="Veja para onde o código leva">
    O app abre a caixa, o formulário de recebimento, uma escolha entre insumos ou **Código não reconhecido**, como explicado abaixo.
  </Step>
</Steps>

O mesmo leitor abre em **Escanear outro código**, na tela da caixa e em **Código não reconhecido**, e em **Receber outro**, depois de um recebimento.

### O que o app faz com um código

```mermaid theme={null}
flowchart TD
  A[Código escaneado ou digitado] --> B{É GS1 DataMatrix?}
  B -- Não --> C{Uma caixa dos seus depósitos tem este código?}
  C -- Sim --> D[Tela da caixa]
  C -- Não --> E{Você pode receber?}
  B -- Sim --> E
  E -- Não --> U[Código não reconhecido]
  E -- Sim --> F{Código de fornecedor cadastrado no catálogo?}
  F -- Uma apresentação ativa --> R[Tela Receber]
  F -- Várias apresentações --> H[Qual insumo é?]
  H --> R
  F -- Nenhuma ou retirada --> U
```

1. O app remove os espaços no início e no fim do código. Um código vazio, com mais de 64 caracteres ou com caracteres de controle mostra **Esse código não pode ser lido. Escaneie de novo ou digite.**
2. Se o código não é um GS1 DataMatrix, o app procura uma caixa com exatamente esse código nos depósitos que você acessa. O código de uma caixa precisa ser idêntico ao da etiqueta. Se encontrar, abre a tela da caixa.
3. Caso contrário, se você pode receber, o app procura o código entre os códigos de fornecedor cadastrados nas apresentações do catálogo. Essa busca ignora espaços, hífens e maiúsculas ou minúsculas, e só conta códigos ativos.
4. Uma apresentação ativa abre o formulário de recebimento com essa apresentação escolhida. Várias apresentações abrem **Qual insumo é?**: **O código 7501234567893 corresponde a mais de uma apresentação.**, com uma linha por apresentação ativa (nome do insumo e depois nome da apresentação). Toque na que chegou.
5. Qualquer outro caso, ou um código cuja apresentação foi retirada, abre **Código não reconhecido**.

<Warning>
  Procurar uma caixa exige `inventory.read`. Sem essa permissão, escanear a etiqueta de uma caixa ou um código de barras do fornecedor que não é GS1 DataMatrix mostra **A operação não é permitida.** Peça **Ver estoque**, ou receba o insumo pelo nome.
</Warning>

### Código não reconhecido

A tela diz **Nenhuma caixa ou insumo ao seu alcance tem o código** seguido do código. Se você pode receber, ela acrescenta **Peça a um administrador que registre este código no aplicativo web, ou receba o insumo pelo nome.** e o botão **Receber um insumo sem código**. **Escanear outro código** abre o leitor de novo.

Um código não é reconhecido quando nenhuma caixa dos seus depósitos o tem e, para quem pode receber, nenhuma apresentação ativa o carrega. Para que um código de fornecedor possa ser escaneado, quem gerencia o catálogo o cadastra na apresentação pelo console; veja [Apresentações e códigos](/docs/pt/catalog/presentations-and-codes).

### Códigos GS1 DataMatrix

Muitos insumos odontológicos trazem um GS1 DataMatrix, um pequeno código quadrado que contém o GTIN do produto e, muitas vezes, o lote e a validade. O app o reconhece quando o código começa com `01` seguido de 14 dígitos e tem mais dados depois deles.

| Parte do código | O que o app faz |
| - | - |
| `01` e 14 dígitos (GTIN) | Procura o insumo por esses 14 dígitos. Não procura uma caixa. |
| `17` e uma data AAMMDD (validade) | Preenche **Data de validade (AAAA-MM-DD)**. Um dia `00` significa o último dia daquele mês. |
| `10` e até 20 caracteres (lote) | Preenche **Lote**. |
| `11`, `13`, `15`, `16` (outras datas) e `21` (número de série) | São ignorados. O número de série não é preenchido. |
| Qualquer outra coisa | O app para de ler nesse ponto. |

Quando o lote ou a validade foram lidos, o formulário de recebimento diz **O lote e a validade foram lidos da etiqueta. Confira antes de receber.** São sugestões: compare com a embalagem antes de tocar em **Receber**.

<Warning>
  O GTIN é procurado com os 14 dígitos que o DataMatrix traz, incluindo o zero inicial (por exemplo `07501234567893`). Se o GTIN da apresentação estiver cadastrado no catálogo na forma de 13 dígitos (`7501234567893`), o DataMatrix não é reconhecido: cadastre também a forma de 14 dígitos na mesma apresentação.
</Warning>

## Ver uma caixa

**Quem pode fazer:** `inventory.read`, com acesso ao depósito da caixa.

A tela da caixa se chama **Caixa** seguido do código, por exemplo **Caixa BX-000123**, com o nome do insumo embaixo.

| Campo | Conteúdo |
| - | - |
| **Disponível** | O que ainda pode ser usado: o estoque em mãos menos as unidades reservadas para pedidos, com a unidade, por exemplo `40 Unidade`. |
| **Local** | O nome do depósito da caixa. |
| **Status** | **Ativa**, **Em quarentena**, **Vencida**, **Esgotada**, **Descartada** ou **Em trânsito**. |
| **Lote** | Só aparece se a caixa tem lote. |
| **Vence** | A data de validade como AAAA-MM-DD, se a caixa tiver uma. Quando a data já passou no calendário do celular, a tela mostra **Venceu em 2026-08-31** no lugar. |

As unidades aparecem como **Unidade**, **Caixa**, **Pacote**, **Frasco**, **Ampola**, **Mililitro**, **Litro**, **Grama**, **Quilograma**, **Par** ou **Kit**. Quando um nome não pode ser lido, a tela mostra **Nome indisponível**. Se a unidade da caixa aguarda revisão, a tela diz **A unidade desta caixa precisa ser revisada no aplicativo web antes do uso.**

As ações abaixo dos dados dependem da caixa e das suas permissões:

| Botão | Aparece quando |
| - | - |
| **Registrar uso** | Você pode consumir, a caixa está **Ativa**, a unidade não precisa de revisão e **Disponível** é maior que zero. |
| **Transferir para outro almoxarifado** | Você pode transferir caixas e a caixa está **Ativa**. |
| **Escanear outro código** | Sempre. |

O app não mostra as movimentações da caixa, os recipientes separados nem a etiqueta. Para isso, abra a caixa no console; veja [Caixas e etiquetas](/docs/pt/inventory/boxes).

## Registrar um uso

**Quem pode fazer:** `inventory.consume` (**Registrar consumo**) ou `inventory.adjust`, mais `inventory.read`, com acesso ao depósito da caixa.

**Onde:** a tela da caixa, **Registrar uso**.

<Steps>
  <Step title="Abra a caixa">
    Escaneie a etiqueta ou digite o código em **Início**.
  </Step>

  <Step title="Toque em Registrar uso">
    A tela **Registrar uso** mostra o insumo e **Caixa** com o código.
  </Step>

  <Step title="Quantidade">
    Digite quantas unidades saíram em **Quantidade**. Começa em 1 e só aceita dígitos. A ajuda mostra o limite, por exemplo **Até 40 disponíveis**.
  </Step>

  <Step title="Sala ou área">
    Escolha uma em **Sala ou área**. Quando a unidade tem uma só sala ou área ativa, ela já aparece escolhida.
  </Step>

  <Step title="O que aconteceu">
    Para uma sala sem contagem, escolha **Entrega à sala ou área** (escolhida por padrão) ou **Uso direto** em **O que aconteceu**.
  </Step>

  <Step title="Finalidade">
    Escolha a **Finalidade**: **Não especificado** (padrão), **Procedimento**, **Limpeza**, **Administrativo** ou **Outro**.
  </Step>

  <Step title="Responsável">
    Em **Responsável**, **Você** já vem escolhido. Você pode escolher pelo nome outra pessoa ativa da equipe.
  </Step>

  <Step title="Registrar uso">
    Toque em **Registrar uso**. O app volta para a caixa e confirma, por exemplo, **5 registrados. Restam 35 nesta caixa.**
  </Step>
</Steps>

O botão **Registrar uso** fica desativado até a quantidade estar entre 1 e o disponível e, quando a unidade tem salas ou áreas, uma estar escolhida.

### Quando a sala conta o próprio estoque

Uma sala ou área com estoque contado só aceita usos diretos, e só a partir de uma caixa que já está no ponto de estoque dela. Se você escolhe uma sala assim e a caixa está em outro lugar, a tela diz, por exemplo, **Sala 2 conta o próprio estoque. Primeiro leve a caixa inteira para lá.** e **Registrar uso** fica desativado.

* Se você pode transferir caixas, toque em **Levar esta caixa para Sala 2**. A caixa inteira é transferida para o ponto de estoque da sala e você continua em **Registrar uso**, agora podendo registrar o uso.
* Se não pode, a tela diz **Peça a alguém que possa transferir caixas que leve esta caixa para Sala 2.**

Quando a caixa já está no ponto de estoque da sala, a tela diz **Usado a partir do estoque contado desta sala.** e o uso é registrado como uso direto. Veja [Salas e áreas](/docs/pt/locations/destinations).

### Quando nenhuma sala ou área é oferecida

A tela diz **Esta unidade ainda não tem salas nem áreas, então este uso não dirá para onde foi.** **O que aconteceu**, **Finalidade** e **Responsável** não aparecem, e o uso é registrado sem sala, sem finalidade e sem responsável. Esses usos não aparecem em **Uso por sala ou área** no console.

Você também vê essa mensagem com uma caixa de um depósito **Central**: o app só oferece salas para caixas de um depósito express, as da unidade desse depósito. Para registrar para onde foi um uso a partir de um depósito central, use o console, que oferece as salas de todas as unidades. Veja [Registrar consumo e transferir caixas](/docs/pt/inventory/use-and-moves).

### Regras

| Regra | Detalhe |
| - | - |
| Quantidade | Número inteiro de 1 até o **Disponível** da caixa (no máximo 1.000.000). O app não deixa usar unidades reservadas para um pedido. |
| Caixa | **Ativa**, dentro da validade e com a unidade confirmada. |
| Sala ou área | Ativa e da unidade da caixa. Uma sala com estoque contado só aceita uso direto a partir do ponto de estoque dela. |
| Responsável | Um membro ativo da clínica odontológica. |
| Referência de atendimento | Não está disponível no app. Para registrá-la, use o console. |

### O que o sistema registra

Uma movimentação `consume` que subtrai a quantidade da caixa, com você como quem registrou e, quando você escolheu uma sala, a sala ou área, o que aconteceu (`issue` ou `use`), a finalidade e o responsável. Quando o estoque em mãos chega a zero, a caixa passa a **Esgotada**. A movimentação aparece no histórico da caixa e no [relatório de consumo](/docs/pt/reports/consumption).

### O que pode dar errado

| Mensagem | Causa | O que fazer |
| - | - | - |
| **Esse uso já estava registrado; nada mudou. Restam 35 nesta caixa.** | O mesmo uso já tinha sido enviado, por exemplo depois de uma resposta perdida. | Nada. Ele foi registrado uma única vez. |
| **Esta sala mantém estoque próprio contado. Leve primeiro a caixa ao ponto de estoque da sala e registre o uso lá.** | A sala conta o próprio estoque e a caixa não está no ponto de estoque dela. | Leve a caixa para a sala primeiro. |
| **Esta caixa pertence a uma unidade diferente da sala ou área escolhida, ou foi movida enquanto você registrava. Verifique onde está a caixa e tente novamente.** | A caixa foi transferida enquanto o formulário estava aberto. | Volte, abra a caixa de novo e repita. |
| **A sala ou área escolhida não existe neste espaço de trabalho ou não está mais ativa.** | A sala foi desativada. | Volte e escolha outra sala. |
| **A pessoa responsável deve ser um membro ativo deste espaço de trabalho.** | O responsável saiu da equipe. | Escolha outra pessoa. |
| **A caixa não tem quantidade em mãos suficiente para esta operação.** | Alguém usou unidades da caixa nesse meio tempo. | Abra a caixa de novo e confira **Disponível**. |
| **Esta caixa está vencida. Escolha outra caixa para continuar.** | A caixa passou da validade. | Use outra caixa. Para tirá-la de uso, veja [Caixas e etiquetas](/docs/pt/inventory/boxes). |
| **A caixa está em um estado que não permite este movimento.** | A caixa não está mais **Ativa**. | Abra a caixa de novo para ver o status. |
| **Este estoque não tem uma identidade de unidade verificada. Revise-a antes de registrar outro movimento.** | A unidade da caixa precisa de revisão. | Peça a quem gerencia o catálogo que a revise no console. |

## Transferir uma caixa

**Quem pode fazer:** `inventory.transfer` (**Transferir caixas entre depósitos**) ou `inventory.adjust`, mais `inventory.read`, com acesso aos dois depósitos.

**Onde:** a tela da caixa, **Transferir para outro almoxarifado**.

<Steps>
  <Step title="Abra a caixa">
    Escaneie a etiqueta ou digite o código e toque em **Transferir para outro almoxarifado**.
  </Step>

  <Step title="Escolha o destino">
    A tela **Transferir caixa** mostra o insumo e o código da caixa. Em **Para onde**, escolha um dos depósitos ativos que você acessa. O depósito atual da caixa não aparece. Quando só há um possível, ele já vem escolhido.
  </Step>

  <Step title="Transfira">
    Toque em **Transferir caixa**. Não há passo de confirmação. O app volta para a caixa e diz, por exemplo, **A caixa agora está em Express Norte.**
  </Step>
</Steps>

Quando não há outro depósito disponível, a tela diz **Não há outro almoxarifado para onde você possa transferir esta caixa.**

**Regras:** uma transferência leva a caixa inteira, com código, lote, validade e quantidades; as unidades reservadas para um pedido continuam reservadas. A caixa precisa estar **Ativa** e dentro da validade, e o destino precisa estar ativo. Para transferir só uma parte, separe-a antes no console. Transferir uma caixa é marcado como ação sensível; na versão atual, o segundo fator é opcional e não a bloqueia (veja [Segurança da conta](/docs/pt/account/security)).

**O que o sistema registra:** duas movimentações com variação `0` e uma identidade de transferência compartilhada, `transfer_out` a partir da origem e `transfer_in` para o destino, e o novo depósito da caixa. O mesmo acontece quando você toca em **Levar esta caixa para** uma sala em **Registrar uso**.

| Mensagem | Causa | O que fazer |
| - | - | - |
| **Este armazém está desativado: não é mais possível receber nem mover estoque para ele.** | O destino foi desativado. | Escolha outro depósito. |
| **Uma transferência deve ter como destino um depósito diferente do atual da caixa.** | A caixa já está lá, por exemplo depois de outra transferência. | Abra a caixa de novo. |
| **A caixa está em um estado que não permite este movimento.** | A caixa não está mais **Ativa**. | Abra a caixa de novo para ver o status. |
| **Esta caixa está vencida. Escolha outra caixa para continuar.** | A caixa passou da validade. | Tire-a de uso no console. |

## Receber uma entrega

**Quem pode fazer:** `inventory.receive` (**Receber entregas**) ou `inventory.adjust`, com acesso ao depósito onde você recebe. Escanear um código de barras do fornecedor que não é GS1 DataMatrix também exige `inventory.read` (veja **O que o app faz com um código** acima).

Cada recebimento cria **uma caixa nova** em um depósito. Se uma entrega traz várias embalagens que você quer acompanhar separadamente, receba cada uma como uma caixa própria.

**Antes de começar:** o insumo precisa estar ativo no catálogo e, para receber escaneando, o código do fornecedor precisa estar cadastrado em uma das apresentações dele. Veja [Apresentações e códigos](/docs/pt/catalog/presentations-and-codes).

### Abra o formulário de recebimento

<Tabs>
  <Tab title="Escaneie o código do fornecedor">
    Em **Início**, toque em **Escanear código** e escaneie o código de barras ou o GS1 DataMatrix da embalagem, ou digite o código em **Ou digite o código**. Uma correspondência abre o formulário **Receber** com essa apresentação escolhida. Se o código corresponde a várias apresentações, escolha uma em **Qual insumo é?**.
  </Tab>

  <Tab title="Escolha o insumo pelo nome">
    Em **Início**, toque em **Receber um insumo sem código** (ele também aparece em **Código não reconhecido**). A tela **Receber um insumo** lista os insumos ativos em ordem alfabética, cada um com sua unidade. Digite em **Nome do insumo** para filtrar a lista: a busca olha só os nomes, ignora maiúsculas e acentos e mostra no máximo 50 resultados. Sem correspondência, ela diz **Nenhum insumo ativo corresponde.** Toque em um insumo para abrir o formulário **Receber**.
  </Tab>
</Tabs>

### Preencha o formulário

<Steps>
  <Step title="Recebido como">
    Em **Recebido como**, escolha uma das apresentações ativas do insumo, mostradas com nome e conteúdo, por exemplo `Caixa com 100 (100 Unidade)`, ou **Unidades avulsas** seguido da unidade, por exemplo **Unidades avulsas (Unidade)**. Uma apresentação escaneada já vem escolhida. Quando você escolhe o insumo pelo nome, a única apresentação vem escolhida se houver só uma; caso contrário, vem escolhida **Unidades avulsas**, então confira isso primeiro.
  </Step>

  <Step title="Quantos">
    Digite a quantidade em **Quantos**. Começa em 1. A ajuda mostra o resultado em unidades base, por exemplo **Total: 300 Unidade** para três caixas de 100. Esse total é o que entra no registro.
  </Step>

  <Step title="Almoxarifado">
    Em **Almoxarifado**, escolha para onde vai a caixa entre os depósitos ativos que você acessa. Se houver só um, a tela diz **Recebido em** seguido do nome dele. Se não houver nenhum, diz **Você não pode receber em nenhum almoxarifado. Peça a um administrador.**
  </Step>

  <Step title="Dados de rastreio">
    Preencha **Lote**, **Data de validade (AAAA-MM-DD)** e **Números de série, um por linha** quando aparecerem. Eles só aparecem para insumos que os controlam. Veja as regras abaixo.
  </Step>

  <Step title="Etiqueta da caixa (opcional)">
    Digite o código escrito na embalagem em **Etiqueta da caixa (opcional)**, ou toque em **Escanear etiqueta** para lê-lo. Se deixar vazio, o muveya cria um código: **Deixe vazio e o Muveya cria uma que você pode imprimir no aplicativo web.**
  </Step>

  <Step title="Receber">
    Toque em **Receber**. O botão fica desativado até a quantidade ser maior que zero e haver um depósito escolhido.
  </Step>

  <Step title="Confira o resultado">
    A tela **Recebido** diz, por exemplo, **Luvas de nitrilo M está na caixa BX-7K3QM9.** Toque em **Ver caixa** para abri-la, em **Receber outro** para escanear o próximo código, ou em **Início**.
  </Step>
</Steps>

Identifique a caixa nova: imprima a etiqueta pela tela da caixa no console, ou escreva o código na embalagem. Veja [Caixas e etiquetas](/docs/pt/inventory/boxes).

### Dados de rastreio e etiqueta da caixa

| Campo | Aparece quando | Regras |
| - | - | - |
| **Lote** | O insumo controla lotes. | Obrigatório, não vazio, até 120 caracteres. |
| **Data de validade (AAAA-MM-DD)** | O insumo controla validade. | Obrigatória, uma data real escrita como AAAA-MM-DD, hoje ou depois (UTC). |
| **Números de série, um por linha** | O insumo controla números de série. | Um por unidade base recebida; a ajuda diz quantos são necessários, por exemplo **São necessários 3**. Separe-os com quebras de linha ou vírgulas. Sem vazios, sem repetidos, até 120 caracteres cada, e nunca um número de série já recebido para este insumo. |
| **Etiqueta da caixa (opcional)** | Sempre. | Até 64 caracteres, sem espaços no início nem no fim, única na sua clínica odontológica. |

O app confere alguns desses dados antes de enviar e mostra:

| Mensagem | Significado |
| - | - |
| **Informe uma quantidade inteira maior que zero.** | A quantidade não está entre 1 e 1.000.000. |
| **Escolha como foi recebido.** | A apresentação escolhida não está mais disponível. |
| **Escolha um almoxarifado.** | Nenhum depósito válido foi escolhido. |
| **Informe o lote.** | O insumo controla lotes e **Lote** está vazio. |
| **Informe a validade como AAAA-MM-DD.** | O insumo controla validade e a data está faltando ou não é uma data real. |
| **Informe um número de série por unidade recebida.** | A quantidade de números de série não é a quantidade multiplicada pelo conteúdo da apresentação. |

### O que o sistema registra

Uma caixa nova **Ativa** com código, insumo, depósito, quantidade em unidades base, horário de recebimento e unidade e, quando se aplicam, a apresentação (com a versão e a quantidade), o lote, os números de série e a validade. Uma movimentação `receive` soma a quantidade ao estoque em mãos, com você como quem registrou. É o mesmo recebimento que o console registra; veja [Receber estoque](/docs/pt/inventory/receive).

### O que pode dar errado

| Mensagem | Causa | O que fazer |
| - | - | - |
| **Este recebimento já estava registrado; nada mudou.** | O mesmo recebimento já tinha sido enviado, por exemplo depois de uma resposta perdida. A tela **Recebido** mostra a caixa que já existe. | Nada. Só uma caixa foi criada. |
| **Informe uma data de validade válida igual ou posterior a hoje em UTC.** | A data já passou, por exemplo uma lida de uma etiqueta antiga. | Confira a embalagem e corrija a data. |
| **Informe um número de lote que não esteja vazio nem contenha apenas espaços.** | O lote tem só espaços. | Digite o lote. |
| **Estes números de série já foram recebidos para este insumo: SN-0042. Um número de série identifica uma única unidade: confira a embalagem ou corrija a caixa original com um ajuste.** | Um número de série pertence a uma caixa existente do insumo. Nada foi recebido. | Confira os números de série. Se a caixa anterior estiver errada, veja [Correções de estoque](/docs/pt/inventory/corrections). |
| **Use uma quantidade inteira e um número de série diferente e não vazio por unidade.** | Há números de série repetidos ou vazios. | Corrija a lista. |
| **Outra caixa de estoque deste espaço de trabalho já usa este código.** | A etiqueta da caixa já está em uso. | Digite outra etiqueta ou deixe vazio. |
| **Esta apresentação foi corrigida depois que você a revisou. Nada foi recebido: revise o conteúdo atual e confirme de novo.** | O conteúdo da apresentação mudou enquanto o formulário estava aberto. | Volte, abra o formulário de novo e confira a quantidade. |
| **Esta apresentação não aceita mais novas entradas. Seus movimentos anteriores não mudam.** | A apresentação foi retirada. | Escolha outra apresentação ou **Unidades avulsas**. |
| **A unidade mudou ou já foi fixada para uso. Recarregue o insumo e revise a unidade antes de continuar.** | A unidade do insumo mudou enquanto o formulário estava aberto. | Volte e abra o formulário de novo. |
| **Este insumo não tem uma configuração de unidade verificada. Revise sua configuração no catálogo antes de continuar.** | A unidade do insumo não está confirmada no catálogo. | Peça a quem gerencia o catálogo que a confirme no console. |
| **Este armazém está desativado: não é mais possível receber nem mover estoque para ele.** | O depósito foi desativado. | Escolha outro depósito. |

## Envios repetidos e conexões perdidas

Cada uso, transferência e recebimento leva uma chave interna de operação, então o muveya nunca o registra duas vezes.

* Se a conexão cair ou o muveya não responder a tempo, o app mostra **Sem conexão. Verifique a rede e tente novamente.** e guarda a chave. Toque no mesmo botão de novo **sem mudar nada**. Ou a ação é registrada agora, ou o app avisa que ela já estava registrada.
* Se você mudar os dados antes de tocar de novo e a primeira tentativa tiver sido registrada, o app mostra **Esta ação mudou enquanto era enviada. Confira e envie de novo.** Confira a caixa antes: abra-a de novo ou veja-a no console. Depois dessa mensagem, o próximo toque conta como uma ação nova.
* Depois de uma ação bem-sucedida, o próximo toque é uma ação nova. Duas entregas iguais recebidas uma depois da outra são duas caixas, como deve ser.

## Mensagens do muveya

Quando o muveya recusa uma ação, o app mostra a explicação enviada pelo muveya, no idioma do app. As mais comuns, além das listadas em cada tarefa:

| Mensagem | Significado | O que fazer |
| - | - | - |
| **A operação não é permitida.** | Falta a permissão para esta ação, por exemplo `inventory.read` para procurar uma caixa. | Peça a um administrador em **Equipe** e depois atualize seu acesso (**Menu**, **Trocar organização**, **Atualizar acesso**). |
| **A caixa de estoque solicitada não existe neste espaço de trabalho.** | A caixa não existe mais ou está fora dos seus depósitos. | Confira o código, ou peça acesso ao depósito dela. |
| **O armazém onde receber não existe neste espaço de trabalho.** | O depósito está fora do seu acesso ou não existe mais. | Escolha outro depósito. |
| **A solicitação não pode ser processada.** | Um valor está fora do intervalo. | Confira o que você informou. |
| **Muitas solicitações. Tente novamente mais tarde.** | Muitas solicitações em pouco tempo. | Aguarde um momento e tente de novo. |
| **O serviço está temporariamente indisponível.** | O muveya está indisponível por um momento. | Tente de novo em alguns minutos. |
| **Não foi possível concluir. Tente novamente.** | O muveya não deu explicação. | Tente de novo. Se continuar, escreva para [team@muveya.com](mailto:team@muveya.com). |
| **Seu acesso não permite isso. Peça a um administrador.** | Uma recusa por permissão sem explicação. | Peça a um administrador. |
| **O leitor não está disponível neste telefone. Digite o código.** | O leitor de códigos do Google não conseguiu iniciar, por exemplo sem o Google Play Services. | Digite o código em **Ou digite o código**. |
| **Não foi possível abrir um navegador. Verifique se há um disponível e tente novamente.** | Uma linha de **Pendências** não conseguiu abrir o console. | Instale ou ative um navegador. |

Se o muveya informar que a sua sessão terminou, o app volta para a tela de login; veja **Sessões e saída** em [App Android](/docs/pt/android/overview). Para outros casos, veja [Solução de problemas](/docs/pt/help/troubleshooting).

## Páginas relacionadas

<CardGroup cols={2}>
  <Card title="App Android" icon="android" href="/docs/pt/android/overview">
    Disponibilidade, requisitos, login, idioma e privacidade.
  </Card>

  <Card title="Receber estoque" icon="truck-ramp-box" href="/docs/pt/inventory/receive">
    O recebimento no console, com todas as opções.
  </Card>

  <Card title="Registrar consumo e transferir caixas" icon="arrow-right-arrow-left" href="/docs/pt/inventory/use-and-moves">
    Salas, referências de atendimento, uso por sala ou área e atribuição posterior.
  </Card>

  <Card title="Caixas e etiquetas" icon="box-open" href="/docs/pt/inventory/boxes">
    Histórico da caixa, etiquetas e como tirar uma caixa de uso.
  </Card>
</CardGroup>


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