Capítulo 05

Inventário e Estoque

Consulta por IMEI, entrada avulsa, bloqueados, correções, custódia e reservas.

O Inventário é o coração do iMportex: é onde cada iPhone individual — identificado pelo IMEI (o número de série de 15 dígitos que identifica um aparelho de celular no mundo inteiro) — existe como um registro rastreável, do momento em que chega no Paraguai (PY) até o momento em que é vendido em São Paulo (SP) ou no próprio Paraguai.

Todo aparelho que passa pelo sistema tem, ao mesmo tempo: um status (uma "fase" — ex: CHEGADO_PY, EM_TRIAGEM, DISPONIVEL_SP, VENDIDO), uma localização física (onde ele está fisicamente agora — ex: ESTOQUE_PY, RECEPCAO_SP), uma grade (a nota de qualidade do aparelho — A, AB, B ou C — que define o preço) e um histórico de movimentações (cada mudança de status/localização vira uma linha imutável, tipo um extrato bancário).

Este capítulo cobre as telas que mostram, corrigem e organizam esse estoque: a lista geral, a ficha de cada aparelho, os pontos de entrada avulsa, as ferramentas de correção/bloqueio, o painel de custódia (a passagem de mão em mão entre estações) e as reservas de venda. As telas de Triagem (onde o aparelho é avaliado fisicamente), Assistência (conserto) e Expedição e Logística (o transporte PY→SP) têm capítulos próprios — aqui o foco é o aparelho como registro de estoque, não o processo que o move.

Fluxo do módulo em 1 olhada

  1. O aparelho entra no sistema — o caminho mais comum é em lote (ver Recebimento no Paraguai), mas quando é 1 aparelho avulso (comprado na rua, sem planilha de fornecedor), a entrada é pela tela Aparelho avulso (/inventario/avulso).
  2. A partir daí ele aparece na lista Inventário (/inventario) — a visão de tudo, com filtro por status/localização/grade/modelo/IMEI.
  3. Cada aparelho tem uma ficha própria (/inventario/[imei]) com a linha do tempo completa de tudo que já aconteceu com ele, o custo acumulado, o preço de venda e os botões de ação (liberar pro estoque, travar, corrigir grade, corrigir custo).
  4. O painel Estoques (/estoques) dá a visão "operacional" resumida do lado PY: quantos aparelhos estão recebidos, em conserto ou prontos pra despachar pra SP.
  5. Pendências cadastrais viram telas próprias de "faxina": Cor pendente (/inventario/sem-cor) resolve aparelhos sem cor cadastrada.
  6. Situações excepcionais passam pela ferramenta de correção: Aparelhos bloqueados (/inventario/bloqueados) trava/destrava um aparelho fora do fluxo normal (com PIN do dono), e Histórico de correções (/inventario/correcoes) é a auditoria dessas ações.
  7. A passagem física do aparelho de uma estação pra outra (ex: Recebimento → Triagem, Assistência → Reteste) é registrada e conferida em Custódia (/custodia).
  8. Quando um vendedor quer "segurar" um aparelho disponível pra um cliente decidir, ele usa Reservas (/reservas) — uma trava de 48h.
  9. Acessórios & SKU (/produtos) é a tela de estoque por quantidade (capinha, cabo, película) — hoje desativada por decisão do dono (22/08).

Aparelho avulso

Aparelho avulso

Pra que serve: cadastrar 1 aparelho por vez, sem precisar montar um lote de compra inteiro — o caso do funcionário que comprou um iPhone avulso na rua ou recebeu 1 unidade fora do fluxo normal de importação. É a tela desenhada pra ser usada "de pé, do lado da caixa", com uma fila física de aparelhos esperando: bipa o IMEI, o modelo já vem sozinho, confirma grade/bateria/destino e manda pro próximo.

Quem usa: exige a permissão de negócio registrar_entrada_avulsa (não é sobre cargo, é uma capacidade específica — ver Acesso, Perfis e Portais Públicos) → perfis ADMIN, GERENTE, OPERADOR_SP, OPERADOR_PY, TESTADOR. Dentro da tela, só quem tem a permissão declarar_custo_entrada (ADMIN, GERENTE, OPERADOR_SP) teria o custo de compra gravado — mas a tela atual nem oferece campo de custo: todo aparelho avulso entra "aguardando custo", e quem precifica é o dono depois, em lote.

Ações principais:

  • Bipar/digitar o IMEI (15 dígitos) — dispara a busca automática por TAC (os 8 primeiros dígitos do IMEI, que identificam o modelo do aparelho no padrão internacional): se a empresa já cadastrou aparelhos com o mesmo TAC, o modelo vem preenchido sozinho e capacidade/cor viram listas curtas do que já existiu.
  • Escolher grade (A/AB/B/C — lista fechada, não é mais texto livre), bateria (%), situação inicial (destino) e, opcionalmente, descrever um defeito já conhecido.
  • Travar campos (ícone de cadeado): qualquer campo pode ficar "grudado" pro próximo bipe — útil quando uma fila inteira de aparelhos é do mesmo modelo/grade/destino.
  • Cadastrar — se o destino é "pra venda" (disponível SP/PY), a etiqueta sai automaticamente na impressora QL-800.

Fluxo correto:

  1. Escolher o destino (Disponível SP, Disponível PY, Triagem, ou Recepção PY — "acabou de chegar").
  2. Bipar o IMEI. O sistema avisa na hora se o IMEI já existe no sistema (duplicado) e mostra onde ele está.
  3. Conferir/ajustar modelo, capacidade, cor.
  4. Se o destino é "pra venda": grade e bateria são obrigatórias (elas vão pra etiqueta e pro certificado que o comprador lê). Se o destino é triagem/recepção, nenhuma das duas é obrigatória — a bancada mede depois.
  5. Descrever defeito, se houver.
  6. Clicar em Cadastrar. A etiqueta imprime sozinha (se aplicável) e o campo de IMEI volta a ficar vazio, pronto pro próximo aparelho da fila.

Se pular ou errar:

  • IMEI que não passa no dígito verificador (checagem matemática chamada Luhn, a mesma usada em cartão de crédito) é recusado — não dá pra cadastrar IMEI "inventado".
  • Cadastrar como "disponível pra venda" sem escolher grade ou bateria é bloqueado — o formulário recusa antes de enviar.

⚠️ Atenção: até 23/08, escolher "vai ser inspecionado" jogava o aparelho direto pro status EM_TRIAGEM — mas a Estação de Triagem só lista aparelhos em CHEGADO_PY. Resultado: 79 aparelhos (R$159 mil) ficaram invisíveis na bancada, cadastrados no sistema mas ninguém via na fila de trabalho. Hoje "vai ser inspecionado" entra como CHEGADO_PY (fila "Avulsos" da Estação) — o estado EM_TRIAGEM fica reservado pra quem já está sendo processado.

Detalhes e estados:

  • Todo aparelho avulso nasce vinculado a um fornecedor e lote sintéticos chamados "Avulso (Individual)" (criados automaticamente na primeira vez, reaproveitados depois) — é só um artifício de organização interna, não aparece pro usuário como algo estranho.
  • O bloqueio de acesso acontece antes mesmo de abrir a tela: quem não tem a permissão é redirecionado sem nem ver o formulário (não é "abrir a tela e falhar só na hora de salvar").

Inventário (lista geral)

Inventário (lista geral)

Pra que serve: a visão de todo o estoque — todos os aparelhos cadastrados na empresa, com filtro, busca, paginação e ações em lote. É o ponto de partida pra achar um aparelho específico ou pra ter uma noção geral de quanto/onde está o estoque.

Quem usa: qualquer usuário autenticado da empresa consegue abrir (só precisa estar logado). O que muda por perfil é o que aparece: o card "Valor em estoque (custo)" e a coluna de custo no CSV exportado só aparecem pra quem tem permissão de ver dinheiro (ADMIN, GERENTE, FINANCEIRO) — outros perfis veem a contagem de aparelhos, mas não o valor em R$.

Ações principais:

  • Filtrar por status, localização, grade, modelo (texto livre) ou IMEI (com scanner de câmera pra bipar direto).
  • Selecionar vários aparelhos e mover em lote pra um destino comum (ex: "Disponível PY", "Em trânsito") — cada aparelho é validado individualmente; um que falhar (foto obrigatória faltando, aprovação pendente etc.) não trava o lote inteiro.
  • Exportar CSV do conjunto filtrado inteiro (não só a página atual).
  • Abrir a ficha de um aparelho pelo botão "Ver".
  • Cadastrar um aparelho avulso (atalho pra tela acima).

Fluxo correto:

  1. Aplicar os filtros necessários (ou nenhum, pra ver tudo).
  2. Ler o resumo: quantidade de aparelhos + valor em estoque (se tiver permissão).
  3. Pra mover vários aparelhos de uma vez: marcar as caixinhas, escolher o destino na lista suspensa e confirmar — o sistema avisa quantos foram movidos e quantos falharam (com o motivo).
  4. Pra ver o histórico de 1 aparelho específico: clicar em "Ver".

Se pular ou errar:

  • O KPI "Valor em estoque (custo)" só soma pra quem tem permissão de ver dinheiro — se aparecer "—" no lugar do valor, é porque o cálculo falhou (erro não-bloqueante: a tela continua funcionando, só o número some).
  • Mover em lote pra um status/localização que a regra de negócio não permite (ex: aparelho já VENDIDO) falha só naquele item, reportado na mensagem — não precisa refazer o lote inteiro.

Detalhes e estados:

  • DEVOLVIDO some da lista por padrão (decisão do dono, 15/08): aparelho devolvido ao fornecedor não conta como "estoque real" — sem essa regra, a lista mostraria centenas de aparelhos a mais do que o estoque de verdade. Mas ele continua achável: filtrar por status = Devolvido, ou buscar pelo IMEI exato, mostra ele de novo. Não é apagado, só sai da visão do dia a dia.
  • O status SUCATA (aparelho descartado — write-off) também não entra na soma do "Valor em estoque".
  • A coluna "Dias" mostra há quanto tempo o aparelho está parado na mesma etapa — vira alerta visual (laranja depois de 15 dias, vermelho depois de 30) exceto pra status terminais (VENDIDO, CANCELADO, DEVOLVIDO, SUCATA), que já saíram de operação.
  • A lista é paginada por trás dos panos — o sistema busca só a página que você está vendo, não tudo de uma vez. Isso importa porque uma consulta comum trunca em 1000 linhas por padrão do banco de dados; aqui isso foi tratado direito, então mesmo com milhares de aparelhos a lista aparece completa (só que dividida em páginas).

Detalhe do aparelho

Detalhe do aparelho

Pra que serve: a ficha completa de 1 aparelho — tudo que já aconteceu com ele desde que entrou no sistema, custo, preço, fotos e as ações que podem ser feitas nele agora. É pra onde qualquer busca por IMEI acaba levando.

Quem usa: aberta pra qualquer usuário autenticado da empresa. O que muda por perfil:

  • Card de custo acumulado e coluna de custo na linha do tempo: só quem tem permissão de ver dinheiro (ADMIN, GERENTE, FINANCEIRO).
  • Editar preço de venda, corrigir custo de compra, corrigir grade, travar/destravar aparelho: só ADMIN/GERENTE.
  • Liberar pro estoque PY: perfis ADMIN, GERENTE, TECNICO_PROPRIO, OPERADOR_PY, TESTADOR, SUPERVISOR_ASSISTENCIA (só aparece se o aparelho estiver no estado certo — ver abaixo).
  • Corrigir bateria (09/09): o botão aparece pra qualquer perfil que abra a ficha, mas a ação só é aceita de ADMIN, GERENTE, TESTADOR, OPERADOR_PY ou OPERADOR_SP — VENDEDOR fica de fora de propósito, porque a bateria muda a faixa de preço, e quem negocia não deve poder reescrever o número que sustenta o próprio preço.

Ações principais:

  • Ver a linha do tempo cronológica de movimentações: cada mudança de status/localização, custo adicionado, aprovação pendente/concedida, observação — desde 08/09, essa mesma linha também funde as mudanças de grade (de/para, quem alterou, e o motivo escrito quando a grade desceu), tudo em ordem cronológica junto com as movimentações.
  • Ver/editar a grade (o lápis fica colado no rótulo da grade) — pede motivo do catálogo + PIN de 6 dígitos do dono.
  • Ver/corrigir o custo de compra (o lápis no card de custo) — pede motivo (mín. 10 caracteres), sem PIN.
  • Definir/remover um preço de venda individual (que vence a tabela de preços geral) em R$ e/ou US$.
  • Liberar para estoque PY — só aparece quando o aparelho está em RETESTE ou EM_TRIAGEM.
  • Travar/destravar o aparelho (trava administrativa de despacho, sem mudar status/localização).
  • Corrigir bateria (09/09) — grava um novo valor (0 a 100) com motivo obrigatório (mín. 10 caracteres, ex.: "bateria trocada na OS 1234, medida 92%"); atualiza ao mesmo tempo o cadastro do aparelho e a pré-grade que a etiqueta lê, pra a próxima etiqueta já sair com o valor novo. Antes desta correção existir, a bateria só era gravada uma vez na Triagem e nunca mais mudava — mesmo depois de um reparo trocar a bateria de verdade.
  • Fazer upload de foto do momento atual (recepção, triagem, pré-reparo, pós-reparo etc.) e ver se a foto é obrigatória pra aquele momento.

Fluxo correto (caso típico — liberar um aparelho reparado):

  1. Buscar o aparelho pelo IMEI (pela lista de Inventário ou digitando a URL).
  2. Conferir o cabeçalho: grade, status atual, se a triagem e o estoque estão "concordando" (ver detalhe abaixo).
  3. Se precisar, corrigir a grade (lápis + motivo + PIN do dono).
  4. Se o aparelho está em RETESTE/EM_TRIAGEM: clicar em "Liberar para estoque PY".
  5. Conferir se a foto obrigatória do momento (ex: pós-reparo) está presente — se não estiver, o sistema recusa a liberação e explica o quê falta.
  6. Definir o preço de venda, se ainda não tiver.

Se pular ou errar:

⚠️ Atenção: tentar liberar um aparelho sem grade nem pré-grade é recusado com a mensagem explícita "sem ela o aparelho fica invisível no despacho PY→SP" — essa é a mesma causa-raiz de um incidente em que 131 e depois 192 aparelhos (R$375 mil) ficaram presos sem aparecer na expedição.

  • Aparelho EM_TRIAGEM cuja decisão da triagem não foi "aprovar estoque" é recusado, com a instrução de resolver na tela de Separação primeiro.
  • Foto obrigatória faltando pro momento-alvo bloqueia a mudança de status inteira, com o nome exato do momento que falta.
  • Aparelho VENDIDO é imutável — só aceita mudança via garantia acionada ou cancelamento, nunca edição livre.
  • Corrigir bateria sem escrever pelo menos 10 caracteres de motivo, ou tentando salvar o mesmo valor que já está lá, é bloqueado no formulário antes de enviar. Se a etiqueta não puder ser atualizada por qualquer erro depois de já ter gravado no cadastro, a tela avisa explicitamente pra não imprimir antes de resolver — nunca deixa a etiqueta sair silenciosamente com o valor velho.

Detalhes e estados:

  • Grade pode DESCER no reteste, com motivo obrigatório e rastro visível (08/09): quando a testadora rebaixa a grade no reteste (ex.: aprovou como B e no reteste virou C), a ficha mostra uma faixa de alerta âmbar no topo da página, antes de qualquer outra coisa — "⚠️ Grade rebaixada de X para Y ... por fulano", com o motivo escrito por quem retestou logo abaixo. É pensada pro vendedor conferir o preço antes de negociar, não depois. Essa faixa é específica do rebaixamento feito pelo reteste: uma correção de grade feita aqui na própria ficha (a que pede PIN, acima) entra na mesma linha do tempo como "Grade alterada", mas não dispara a faixa de alerta.
  • A ficha detecta contradição: se a última triagem mandou o aparelho pra "Assistência" ou "Travado", mas ele está fisicamente DISPONIVEL_PY/DISPONIVEL_SP/RESERVADO, a tela mostra um aviso vermelho explícito ("A triagem e o estoque estão dizendo coisas diferentes") — esse foi o achado de 31/07 em que 275 aparelhos já consertados continuavam imprimindo etiqueta "EM CONSERTO".
  • O custo acumulado é sempre recalculado ao vivo (nunca lido de um valor guardado que pode estar desatualizado): custo de entrada + soma de todos os custos adicionados nas movimentações. Aparelho sem custo de entrada lançado (achado de 12/08: 984 aparelhos sem custo — 891 vindos de um mesmo lote de compra e 93 cadastrados avulsos) mostra aviso vermelho de que a margem está subestimada.
  • Corrigir custo usa uma máscara de centavos (digita "154000", vira R$ 1.540,00) — decisão pra evitar o erro de "1.540" virar R$ 1,54 por causa da diferença entre separador decimal brasileiro e americano.
  • Corrigir grade permite também mandar o aparelho pra um novo destino/status na mesma ação (ex: aproveitar a correção pra já mandar pra triagem de novo) — e pergunta, no fim, se quer reimprimir a etiqueta.

Estoques (painel dos 3 baldes)

Estoques (painel dos 3 baldes)

Pra que serve: dar uma foto rápida de onde está o estoque do lado Paraguai — não uma lista completa, mas 3 "baldes" com contagem exata + amostra: Recebidos (chegou, ainda não triado), Em conserto (a triagem mandou consertar ou ainda não decidiu) e Pronto p/ SP (pode despachar agora).

Quem usa: qualquer usuário autenticado da empresa — não há uma permissão específica nesta tela, só login válido.

Ações principais:

  • Ver a contagem exata de cada balde + uma amostra de até 40 aparelhos.
  • Ver o balde "Em conserto" dividido em sub-filas (aguardando separação, aguardando técnico, travado, sem decisão) — cada uma com um "dono" diferente no processo.
  • Ver o aviso de quantos aparelhos estão "aguardando custo" (entraram pela entrada rápida sem preço definido).
  • Clicar em qualquer aparelho da amostra pra ir direto pra ficha dele.

Fluxo correto:

  1. Abrir a tela pra ter uma visão geral do dia.
  2. Olhar o balde "Em conserto" — as sub-filas mostram onde está o gargalo (ex: muitos "aguardando separação" = a Separação está atrasada; muitos "travado" = tem bloqueio administrativo acumulando).
  3. Se aparecer o aviso de "aguardando custo", isso é um lembrete de que a margem desses aparelhos não vai aparecer certa em nenhum relatório até alguém precificar.

Se pular ou errar: esta tela é só leitura — não existe "erro de uso" aqui, mas confiar em um número desatualizado (ex: não recarregar a página depois de uma sessão de triagem) pode levar a decisões com dado velho.

Detalhes e estados:

⚠️ Atenção: até 25/07, este balde se chamava "RMA" e classificava por eliminação — quem não estava claramente em outro lugar caía em "pronto pra despachar" por padrão. Isso escondeu 455 aparelhos (R$897.744,50) no balde errado: eles precisavam de assistência mas apareciam como prontos pra embarcar. Hoje a regra é o oposto (lista positiva): só entra em "Pronto p/ SP" quem tem a decisão de triagem gravada como aprovado pro estoque — estado desconhecido/sem decisão vai sempre pra "Em conserto", nunca pro balde de despachar.

  • "Pronto p/ SP" espelha exatamente o filtro que a Expedição e Logística usa pra aceitar um aparelho na remessa (aparelho bloqueado, sem grade completa, ou fora do estoque PY é recusado lá) — pra este painel nunca prometer o que a expedição depois recusa.
  • A contagem é exata (uma consulta separada conta os aparelhos de verdade), não deriva do tamanho da amostra — antes um balde com 935 aparelhos mostrava "500" porque a lista estava limitada.

Cor pendente

Cor pendente

Pra que serve: resolver o passivo de aparelhos que entraram no sistema sem a cor cadastrada — situação criada quando um fornecedor novo parou de mandar a cor na nota fiscal. A Estação de Triagem já coleta a cor de quem entra a partir de agora; esta tela existe pra corrigir quem já estava no estoque antes disso.

Quem usa: exige a permissão registrar_entrada_legado → ADMIN, GERENTE, OPERADOR_SP, OPERADOR_PY, TESTADOR.

Ações principais:

  • Ver a lista de aparelhos sem cor, agrupados por modelo (ex: "iPhone 13 · 128GB").
  • Selecionar vários aparelhos do mesmo grupo e aplicar uma cor pra todos de uma vez.

Fluxo correto:

  1. Abrir a tela — os aparelhos já vêm agrupados por modelo+capacidade.
  2. Dentro de um grupo, marcar os aparelhos que são da mesma cor (ex: todos "meia-noite").
  3. Escolher a cor na paleta e clicar em Aplicar.
  4. Repetir pros outros subgrupos de cor dentro do mesmo modelo, se houver.

Se pular ou errar: aparelho sem cor tem a etiqueta impressa só com a capacidade (sem a cor) — informação incompleta pro cliente que recebe o produto.

Detalhes e estados:

  • Não existe uma coluna separada de "cor pendente" — a própria ausência de cor é a definição de pendência. Assim que a cor é preenchida, o aparelho some da lista automaticamente.
  • O preenchimento em lote nunca sobrescreve uma cor que já existe (mesmo que um aparelho entre na seleção por engano) — a nota do fornecedor sempre vence.

Aparelhos bloqueados

Aparelhos bloqueados

Pra que serve: listar e gerenciar aparelhos com a trava manual de bloqueio — um jeito de "segurar" um aparelho fora do fluxo normal (ex: suspeita de venda por fora, aparelho sumido aguardando decisão) sem mudar o status/localização dele. É parte da "Ferramenta de Correção", em que ações sensíveis exigem o PIN de 6 dígitos do dono.

Quem usa: exige a permissão acionar_correcao_pin → ADMIN, GERENTE, OPERADOR_PY, SUPERVISOR_ASSISTENCIA. Quem aciona (abre o pedido) pode não ser quem autoriza: o PIN é do dono, então mesmo um perfil autorizado a abrir a tela precisa que o dono digite o próprio PIN pra confirmar bloqueio ou desbloqueio.

Ações principais:

  • Ver a lista de aparelhos bloqueados, com o motivo de cada bloqueio.
  • Bloquear um aparelho (por IMEI) informando motivo + PIN.
  • Desbloquear um aparelho da lista, informando o PIN.
  • Filtrar por IMEI, modelo, cor ou motivo.

Fluxo correto:

  1. Pra bloquear: clicar em "Bloquear aparelho", digitar o IMEI, descrever o motivo, o dono digita o PIN, confirmar.
  2. Pra desbloquear: encontrar o aparelho na lista, clicar em "Desbloquear", o dono digita o PIN, confirmar.

Se pular ou errar:

  • PIN errado é rejeitado com limite de tentativas: passar do limite bloqueia novas tentativas por um tempo — proteção contra chute repetido do PIN.
  • Aparelho travado fica fora da elegibilidade de despacho até ser destravado — ele continua existindo e visível no inventário, só não pode ser incluído numa remessa pra SP.

Detalhes e estados:

  • A trava é administrativa, não é um status do aparelho — o aparelho pode estar DISPONIVEL_PY e bloqueado ao mesmo tempo (o bloqueio é uma camada por cima).
  • Toda ação passa por uma trava protegida no banco de dados — o próprio banco recusa qualquer alteração direta nesse campo por fora desse caminho, então não existe atalho que pule o PIN.

Histórico de correções

Histórico de correções

Pra que serve: a janela de auditoria de toda ação feita pela Ferramenta de Correção (as que exigem PIN do dono) — bloquear, desbloquear e devolver-pra-triagem. Mostra quem acionou, quem autorizou, quando e por quê.

Quem usa: exige a mesma permissão acionar_correcao_pin → ADMIN, GERENTE, OPERADOR_PY, SUPERVISOR_ASSISTENCIA. É uma tela só de leitura.

Ações principais:

  • Filtrar por tipo de ação (Todas / Bloqueios / Desbloqueios / Devoluções).
  • Buscar por IMEI, pessoa (quem acionou ou quem autorizou) ou motivo.
  • Ver os últimos 300 registros, ordenados do mais recente pro mais antigo.

Fluxo correto: abrir a tela quando precisar investigar "quem mexeu nesse aparelho e por quê" — ex: um aparelho apareceu bloqueado sem explicação óbvia, ou uma auditoria pede o histórico de correções do mês.

Se pular ou errar: não há ação de escrita aqui — o risco é confiar só nesta tela pra tudo: ela cobre as 3 ações protegidas por PIN, não todas as mudanças de estado do aparelho (essas ficam na linha do tempo da ficha do aparelho, seção acima).

Detalhes e estados:

  • A ação "Devolveu pra triagem" aparece nesta lista, mas o botão que a dispara vive na tela de Triagem, fora do escopo deste capítulo.
  • Os nomes de "quem acionou"/"quem autorizou" são resolvidos separadamente, pra evitar que o mesmo aparelho apareça 2x por engano na lista.

Custódia

Custódia

Pra que serve: registrar formalmente a passagem de aparelhos de uma estação pra outra dentro do processo (ex: Recebimento → Triagem, Assistência → Reteste, Estoque PY → Expedição SP) — "assina o canhoto": quem entrega declara quantos aparelhos está passando, quem recebe confere, e o sistema calcula a diferença automaticamente. Não trava a operação — só registra e alerta quando os números não batem.

Quem usa: qualquer usuário autenticado da empresa pode registrar entrega e conferir recebimento — não há permissão específica além do login. Resolver uma divergência, porém, é restrito a ADMIN/GERENTE.

Ações principais:

  • Registrar entrega: escolher a estação (lista fechada de 10 estações possíveis), opcionalmente vincular a uma caixa de recebimento já bipada (nesse caso a quantidade vem automaticamente da contagem real, não é digitada), e informar observação.
  • Conferir recebimento: informar quantos aparelhos foram de fato recebidos — se bater com o declarado, fecha como "Conferido"; se não bater, vira "Divergente" (fica pendente até alguém resolver).
  • Resolver divergência (só ADMIN/GERENTE): registrar a justificativa e fechar a pendência.

Fluxo correto:

  1. Quem está entregando um lote de aparelhos pra outra estação registra a entrega (a quantidade, de preferência, vindo de uma caixa já bipada).
  2. Quem recebe confere a quantidade real — se bipou/contou 10 e o declarado era 10, confirma e pronto.
  3. Se a contagem não bater, o sistema exige uma observação explicando antes de deixar confirmar.
  4. Se houver divergência, ela fica visível na seção "Divergências pendentes" até um ADMIN/GERENTE resolver com justificativa.

Se pular ou errar:

  • Conferir a própria entrega (a mesma pessoa que entregou e recebeu) é permitido, mas exige uma confirmação explícita extra na tela ("Sou eu mesmo, confirmo") e fica marcado como "auto-conferido" no histórico — pra não virar um ponto cego de auditoria.
  • Duplo clique ou duas sessões conferindo a mesma entrega ao mesmo tempo: o sistema só grava a primeira — a segunda tentativa recebe o aviso "já foi conferida por outra sessão, recarregue a página" em vez de sobrescrever silenciosamente.

Detalhes e estados:

  • Existem repasses "endereçados" — quando a entrega já tem um destinatário nomeado (ex: uma leva pra um técnico específico da assistência) — esses não aparecem nesta tela de custódia genérica: eles têm fluxo próprio de aceite/recusa em outra tela, e confirmá-los aqui por engano deixaria a Ordem de Serviço correspondente presa pra sempre.
  • A lista de estações é fechada por design (não é mais texto livre) — inclui pares como "Estoque de Assistência → Retirada" e "Assistência → Distribuição Interna", que fazem parte do fluxo do capítulo de Assistência.

Reservas

Reservas

Pra que serve: "segurar" um aparelho disponível pra um cliente específico por 48 horas, enquanto ele decide se compra — sem tirar o aparelho do estoque nem mudar o status dele. É uma trava suave: o aparelho continua aparecendo como disponível em outras telas, mas o sistema recusa a venda dele pra outro cliente enquanto a reserva estiver ativa.

Quem usa: qualquer usuário autenticado da empresa — não há permissão específica nesta tela, só login válido.

Ações principais:

  • Reservar um aparelho disponível (DISPONIVEL_PY ou DISPONIVEL_SP) pra um cliente cadastrado.
  • Ver a lista de reservas ativas, com o prazo de expiração.
  • Cancelar uma reserva antes do prazo.
  • Liberar manualmente as reservas já vencidas (botão "Liberar vencidas").

Fluxo correto:

  1. Escolher o aparelho (só aparecem os que estão disponíveis e sem reserva ativa) e o cliente.
  2. Clicar em "Reservar 48h".
  3. A reserva aparece na lista com o horário exato em que expira.
  4. Se o cliente decidir comprar, a venda segue o fluxo normal (capítulo de Vendas); se desistir, cancela a reserva manualmente ou deixa expirar.

Se pular ou errar:

  • Tentar reservar um aparelho que já está reservado por outra pessoa é recusado — inclusive numa corrida de 2 cliques simultâneos, o banco tem uma trava própria que garante que só existe 1 reserva ativa por aparelho.
  • Tentar reservar um aparelho fora de DISPONIVEL_PY/DISPONIVEL_SP (ex: já vendido) é recusado.

Detalhes e estados:

  • Achado de 31/07 ("reserva zumbi"): o prazo de 48h só era aplicado de fato quando alguém clicava manualmente em "Liberar vencidas" nesta tela — como quase ninguém abria a tela, reservas mortas há dias continuavam bloqueando a venda do aparelho pra outro cliente, sem erro visível em lugar nenhum. Duas correções fecharam isso: (1) a trava de venda passou a checar o prazo de verdade na hora de vender, então mesmo sem ninguém clicar a venda não fica travada por uma reserva já vencida; (2) uma rotina automática — roda sozinha, sem depender de clique — confere e marca "Expirada" de verdade, na casa dos :40 de cada hora.
  • Esta reserva de 48h (que segura um aparelho específico) é diferente da reserva vinculada a uma venda já em andamento (prazo de validade de 90 dias, ver capítulo de Vendas) — são conceitos parecidos no nome, mas tratados por rotinas de expiração separadas.

Acessórios & SKU (Produtos)

Acessórios & SKU (Produtos)

Pra que serve: era o cadastro de estoque por quantidade (não por IMEI individual) — capinha, cabo, fone, peça de revenda — com saldo calculado pela soma de movimentos de entrada/saída/ajuste. Desde 22/08, o módulo está desativado por decisão do dono ("não é o intuito do sistema").

Quem usa: hoje, ninguém consegue criar ou movimentar nada — a tela mostra só um aviso. Antes da desativação, a leitura do custo médio nas telas dependia da permissão de ver dinheiro (ADMIN, GERENTE, FINANCEIRO).

Ações principais (histórico, hoje desligadas): cadastrar SKU, entrada/saída/ajuste de estoque com recálculo de custo médio ponderado.

Fluxo correto: não há fluxo de uso hoje — a tela existe só pra quem tinha o link salvo não cair num erro, mostrando a mensagem "Venda de acessórios/SKU desativada (decisão 22/08). Vendas antigas com acessório permanecem válidas."

Se pular ou errar: tentar chamar as ações de criar/movimentar (via link direto) é recusado antes de qualquer outra checagem, com a mesma mensagem de desativação.

Detalhes e estados:

  • Esta é a etapa 1 de uma desativação em 2 etapas: por enquanto só esconde/recusa criação nova. Dados e histórico (venda antiga com item SKU, PDF, relatório, estorno) continuam intactos e acessíveis por fora desta tela. A etapa 2 (apagar de fato) está adiada, e exige backup + relatório de contagem + quarentena de pelo menos 7 dias antes de acontecer.
  • Um achado paralelo à desativação: as ações de criar/movimentar SKU nunca tiveram uma trava de permissão de negócio (só checavam login) — só a desativação total fechou essa lacuna, de brinde.

Erros comuns e como evitar

  1. Cadastrar aparelho avulso "pra venda" sem bateria/grade → o formulário recusa, mas se isso confundir o operador: lembrar que só é obrigatório quando o destino é "disponível" (SP ou PY); em Triagem/Recepção nenhum dos dois é exigido, porque a bancada mede depois.
  2. Confiar no número do balde "Estoques" sem saber que ele espelha o filtro da Expedição → um aparelho só aparece como "Pronto p/ SP" se tiver grade completa, não estiver bloqueado e estiver no estoque PY. Se sumiu do balde de repente, provavelmente foi bloqueado ou perdeu algum dado obrigatório.
  3. Procurar um aparelho DEVOLVIDO na lista de Inventário e não achar → ele saiu da visão padrão de propósito (decisão de 15/08). Filtrar por status = Devolvido ou buscar pelo IMEI exato traz ele de volta — não foi apagado.
  4. Tentar corrigir grade ou custo sem saber o PIN do dono → corrigir grade exige o PIN de 6 dígitos (é uma ação que muda o preço, então tem trava extra); corrigir custo de compra não pede PIN, mas exige um motivo de pelo menos 10 caracteres — os dois ficam no registro de auditoria.
  5. Achar que "bloquear" um aparelho muda o status dele → não muda. Bloqueio é uma trava por cima, separada do status/localização — um aparelho pode estar DISPONIVEL_PY e bloqueado ao mesmo tempo. O que o bloqueio faz é tirar ele da elegibilidade de despacho.
  6. Conferir uma entrega de Custódia endereçada (com destinatário nomeado) pela tela genérica → ela não vai aparecer lá de propósito; precisa ser aceita no fluxo próprio (assistência/triagem), senão a Ordem de Serviço correspondente nunca abre.
  7. Deixar reservas vencidas acumulando achando que elas "somem sozinhas na hora" → a venda já é liberada automaticamente quando a reserva vence (não trava mesmo sem ninguém clicar em nada), mas o registro só vira "Expirada" de fato via rotina automática ou clique manual em "Liberar vencidas" — até lá, a reserva aparece na lista marcada como vencida.
  8. Esperar cadastrar acessório/SKU pela tela de Produtos → o módulo está desativado desde 22/08; qualquer tentativa de criar ou movimentar é recusada, mesmo que o link seja acessado direto.