Este capítulo cobre as telas de apoio do iMportex: coisas que não fazem parte da esteira física do aparelho (PY → triagem → assistência → SP → venda), mas que sustentam quem opera e quem gerencia essa esteira. São ferramentas "de bastidor" — geram etiqueta física, exportam dado pra planilha/PDF, avisam gente, conectam WhatsApp, automatizam regra de negócio, sugerem o que olhar e registram quem fez o quê.
Duas famílias merecem destaque porque tocam papel de verdade: a Central de Etiquetas, que imprime na impressora térmica Brother QL-800 o adesivo que vai colado no aparelho (com QR code, código de barras do IMEI, grade e destino — é o que o comprador em SP lê antes de pagar), e os Relatórios, que exportam CSV e PDF pra fora do sistema. As outras (Copiloto, Auditoria, Automações, Avisos, WhatsApp) são telas de gestão e comunicação: a maioria é ADMIN/GERENTE-only, porque expõe dado financeiro ou controla infraestrutura (número de WhatsApp, regras automáticas, log de auditoria).
Uma coisa comum a quase toda tela deste capítulo, e que vale entender antes de ler as telas uma a uma: no iMportex existe uma segunda trava de segurança, que vive dentro do próprio banco de dados — não só no código da tela. Quando a tela não faz uma verificação explícita de perfil, o banco pode estar filtrando por trás — e quando filtra, ele não avisa "você não tem permissão": ele simplesmente devolve zero linhas, como se não houvesse nada pra mostrar. Isso significa que uma tela "vazia" às vezes não é "sem dado" — é "sem permissão, mas ninguém contou pra você". Esse padrão aparece de novo em várias telas abaixo, e está marcado explicitamente nas telas em que isso já foi observado na prática.
Fluxo do módulo em 1 olhada
- Durante o dia inteiro, quem opera a triagem/expedição usa a Central de Etiquetas (
/etiquetas) pra reimprimir adesivo de aparelho já triado (etiqueta rasgada, aparelho voltou da assistência, etiqueta antiga com QR errado). - Se a impressora QL-800 der problema, a bancada de diagnóstico é o Teste QL-800 (
/teste-ql800) — mas só existe em ambiente de desenvolvimento, nunca em produção. - Avisos automáticos do sistema (parcela vencendo, IMEI bloqueado, meta batida) chegam a cada usuário pela caixa de Avisos (
/notificacoes); quando alguém precisa de ajuda de verdade (bug, melhoria, correção de dado), abre um pedido na Central de Chamados (/chamados), aberta a todo colaborador desde 10/09; e o WhatsApp (/whatsapp) é o canal que leva parte desses avisos pro celular do cliente ou faz o atendimento humano. - Por trás dos avisos e das ações automáticas (marcar aparelho parado, mandar aviso de parcela) roda o motor de Automações (
/automacoes) — regras "quando X, faça Y" queADMIN/GERENTEligam, desligam e monitoram. - Em intervalos maiores (fechamento de período, auditoria interna, reunião de gestão),
ADMIN/GERENTE/FINANCEIROusam Relatórios (/relatorios) pra exportar CSV ou gerar PDF (/relatorios/[slug]/imprimir) dos números da operação. - O Copiloto (
/copiloto) é a camada de sugestão automática por cima desses mesmos dados: o que comprar, quais vendas parecem arriscadas, como classificar um RMA — só pra quem enxerga dinheiro. - E por baixo de tudo isso, a Auditoria (
/auditoria) registra quem mexeu no quê — a trilha queADMIN/GERENTEconsultam quando algo precisa ser investigado.
Central de Etiquetas

- Pra que serve: buscar em todo o histórico de triagens da empresa (por IMEI, modelo, código da caixa ou período) e reimprimir, em lote, a etiqueta física de qualquer aparelho já triado — direto na impressora térmica Brother QL-800. É a tela mais nova deste capítulo (atualizada em 23/08) e nasceu corrigindo um defeito real: a aba antiga só enxergava as 150 triagens mais recentes de um total de ~4.600 no banco — qualquer coisa mais antiga que isso ficava impossível de reimprimir pela tela.
- Quem usa: só abre pra quem está numa lista fixa de perfis —
ADMIN,GERENTE,OPERADOR_PY,OPERADOR_SP,TESTADOR,SUPERVISOR_ASSISTENCIA. Quem não está nessa lista é redirecionado direto pro painel principal, a página nem chega a aparecer.VENDEDOR,FINANCEIROeTECNICO_PROPRIOnão têm este item no menu e são redirecionados se tentarem a URL direto. - Ações principais:
- Formulário de busca: IMEI (mínimo 4 dígitos), modelo (texto livre), código da caixa de recebimento, período (data de/até).
- "Buscar no histórico" — sem filtro nenhum, traz as triagens mais recentes; com filtro, varre o histórico inteiro.
- "Carregar mais" — pagina o resultado em blocos de 60 (o teto de 60 é só por rodada de carregamento, não um limite do histórico).
- Reimprimir tudo que foi carregado de uma vez na QL-800, ou usar o "Diálogo" (Ctrl+P do navegador) como alternativa manual.
- Atalho no topo pra "Etiquetas de caixa", a ferramenta irmã que cuida da etiqueta da caixa inteira de recebimento — fica no capítulo de Recebimento.
- Fluxo correto:
- Preencher pelo menos um filtro (IMEI, modelo, caixa ou período) — ou deixar em branco pra ver as triagens mais recentes.
- Clicar em "Buscar no histórico".
- Conferir na grade se a etiqueta bate com o que se espera (o que aparece na tela é exatamente o que sai no papel — mesmo template, mesma disposição).
- Se a lista continuar incompleta, clicar em "Carregar mais" até achar o aparelho procurado.
- Clicar em "Imprimir na QL-800" — a etiqueta vira uma imagem PNG e é enviada pro agente local QZ Tray (um programinha instalado na máquina que faz a ponte entre o navegador e o driver Windows da impressora); se o QZ Tray estiver offline ou a impressora não for encontrada, o sistema cai automaticamente no diálogo de impressão nativo do navegador.
- Se pular ou errar:
- Buscar por IMEI com menos de 4 dígitos é recusado com aviso ("Digite ao menos 4 dígitos do IMEI") — evita busca ambígua demais.
- Buscar por código de caixa que não existe devolve mensagem explícita ("Nenhuma caixa com código parecido com…") em vez de lista vazia sem explicação.
- Um usuário com perfil
OPERADOR_SPouSUPERVISOR_ASSISTENCIAconsegue abrir a Central de Etiquetas, mas a permissão real que controla a busca é mais restrita que a permissão que libera a página — só vale praADMIN,GERENTE,TESTADOReOPERADOR_PY. Na prática: todo clique em "Buscar no histórico" volta com "Você não tem permissão para esta ação." — a tela carrega, mas a função central dela não funciona pra esses dois perfis. É o mesmo padrão de "o menu promete, o sistema recusa" que já apareceu (e foi corrigido) em outras telas — só que este caso específico ainda está aberto.
- Detalhes e estados:
- A grade de impressão reaproveita o mesmo bloco de tela da versão antiga desta ferramenta — a rota antiga continua viva (favoritos antigos funcionam), mas não tem nenhuma verificação de perfil: qualquer usuário autenticado da empresa (inclusive
VENDEDORouFINANCEIRO, que não veem o item no menu) consegue abri-la digitando a URL direto — a única trava ali é estar logado e pertencer à empresa. - A configuração de qual impressora usar (nome exato da QL-800 no Windows) e se ela deve imprimir sozinha ao concluir uma triagem fica salva no próprio navegador daquele computador — não é uma preferência de conta de usuário. Trocar de computador (ou limpar o navegador) reseta a preferência e volta pra auto-detecção por nome ("QL-800"/"Brother").
- Se o agente QZ Tray não estiver rodando na máquina, ou a QL-800 não for encontrada pelo driver do Windows (ex: impressora em "modo Editor Lite", desligada, ou nome mudou), a impressão cai pro diálogo do navegador — cada etiqueta vira uma página de 58,8×40mm.
- A grade de impressão reaproveita o mesmo bloco de tela da versão antiga desta ferramenta — a rota antiga continua viva (favoritos antigos funcionam), mas não tem nenhuma verificação de perfil: qualquer usuário autenticado da empresa (inclusive
Teste QL-800

- Pra que serve: uma bancada de teste da impressão direta na Brother QL-800, com etiquetas sintéticas de exemplo (uma de cada destino: estoque, assistência, travado) montadas sem tocar o banco de dados — serve pra validar que a rasterização (transformar a etiqueta em imagem) e a conexão com o agente QZ Tray funcionam, sem precisar de um aparelho triado real.
- Quem usa: ninguém em produção. Em ambiente real (getimportex.com) essa tela não existe — tentar acessar devolve erro de página não encontrada pra qualquer perfil, incluindo
ADMIN. Em ambiente de desenvolvimento, não exige login nenhum. - Ações principais:
- Escolher entre os templates de etiqueta disponíveis (o layout muda de acordo com o template escolhido).
- "Preview PNG" — gera a imagem exatamente como vai pro papel, com dimensão em pixels e DPI, pra conferir nitidez sem gastar etiqueta física.
- "Diagnóstico do QZ Tray" — testa a conexão com o agente local e lista as impressoras que o Windows enxerga, incluindo se achou a QL-800 pelo nome.
- "Imprimir na QL-800" — para o lote inteiro de exemplos ou pra uma etiqueta isolada.
- Fluxo correto:
- (Só em ambiente de desenvolvimento, nunca em produção) Abrir
/teste-ql800. - Escolher o template a testar.
- Rodar "Diagnóstico do QZ Tray" primeiro — confirma se o agente está de pé e se a impressora foi encontrada.
- Gerar o preview PNG pra conferir visualmente antes de gastar etiqueta.
- Imprimir de verdade e comparar o papel com o preview.
- (Só em ambiente de desenvolvimento, nunca em produção) Abrir
- Se pular ou errar: tentar acessar em produção (getimportex.com) devolve erro de página não encontrada — não existe "erro de permissão" aqui, a rota simplesmente não existe fora do ambiente de desenvolvimento.
- Detalhes e estados: as etiquetas de exemplo (a última é o caso "liberado pra venda com defeito conhecido", adicionada depois das originais) usam IMEIs e IDs falsos com prefixo "demo-" — nunca apontam pra um aparelho real no banco.
Avisos

- Pra que serve: a caixa de entrada in-app de cada usuário — alertas automáticos gerados pelo sistema (parcela vencendo, IMEI bloqueado, meta de comissão batida, aparelho parado há dias, peça no estoque mínimo, lote chegou em SP, entre outros) mais avisos "de equipe" (broadcast, sem dono específico).
- Quem usa: todo perfil autenticado — é o único item, junto com "Configurações de Notificações" (fora deste capítulo), presente no menu de todos os 7 perfis operacionais (
ADMIN,GERENTE,VENDEDOR,FINANCEIRO,TECNICO_PROPRIO,TESTADOR,OPERADOR_SP,OPERADOR_PY,SUPERVISOR_ASSISTENCIA). Não há distinção de conteúdo por perfil na tela em si — cada um só vê os avisos endereçados a ele mesmo mais os avisos gerais, sem dono específico. - Ações principais:
- Ver a lista de avisos, mais recentes primeiro (até 200 de uma vez).
- Marcar um aviso como lido (clicando nele).
- "Marcar todas como lidas" em um clique.
- Cada tipo de aviso tem um rótulo amigável (ex: "parcela vence hoje" já vem traduzido, não em código técnico).
- Fluxo correto:
- Abrir a caixa e ver o contador de não lidas.
- Clicar em cada aviso relevante (marca como lido automaticamente) ou usar "Marcar todas como lidas" pra zerar de uma vez.
- Avisos com referência a uma entidade (venda, OS, parcela) não têm link de navegação direta na versão atual da tela — servem como notificação, não como atalho clicável.
- Se pular ou errar: nada trava — é uma caixa de leitura, não bloqueia nenhum fluxo operacional. O risco real é operacional-humano: ignorar avisos de parcela vencida ou aparelho parado significa perder o alerta que a Automação (ver adiante) gerou pra evitar exatamente esse esquecimento.
- Detalhes e estados: a ação de marcar um aviso como lido não confere explicitamente de quem é o aviso — essa garantia depende inteiramente de uma trava de segurança dentro do próprio banco de dados, por trás da tela.
Central de Chamados
- Pra que serve: o canal interno pra pedir ajuda ao dono/gestão — bug, melhoria ou correção de dado — sem depender de mensagem avulsa no WhatsApp. Cada chamado nasce com um protocolo curto e falável (
#1000,#1001...), sequencial por empresa, gerado automaticamente pelo banco de dados assim que o chamado é criado — pensado pra alguém conseguir citar "o chamado mil e quarenta e dois" numa conversa, o que um código longo (UUID) não permite. - Quem usa: desde 10/09/2026, todo colaborador autenticado — os 9 perfis — pode abrir um chamado; antes disso só 5 perfis fixos (
ADMIN,GERENTE,TESTADOR,OPERADOR_PYe, desde 06/09,SUPERVISOR_ASSISTENCIA) conseguiam, e a maioria da equipe nunca via a ferramenta. Gerir a fila (assumir, responder, mudar status de qualquer chamado da empresa) continua restrito aADMIN,GERENTEeSUPERVISOR_ASSISTENCIA. - Ações principais:
- Abrir chamado (
/chamados/novo): gravar um áudio (ação principal — até 3 minutos, com player pra ouvir de volta antes de enviar), escrever texto livre, anexar um print e/ou informar o IMEI de um aparelho (inclusive escaneando o código de barras da etiqueta). - Um assistente de IA ajuda a descrever o problema antes do texto virar chamado — mas o chat da IA e o formulário de abertura não ficam visíveis ao mesmo tempo na tela: assim que a pessoa começa a gravar áudio (ou já tem uma gravação em andamento), o assistente sai de cena e dá lugar ao formulário de gravação.
- Se a pessoa menciona um aparelho específico sem informar o IMEI em nenhum lugar da conversa, a própria IA pergunta o IMEI antes de seguir — é o que destrava consultar o status daquele aparelho no banco.
- Ver a fila (
/chamados): filtros "Pendentes" / "Resolvidos" / "Cancelados" / "Todos", com o protocolo, o tipo e o status de cada chamado, e um aviso separado destacando os que estão parados há 3 dias ou mais.
- Abrir chamado (
- O ciclo do chamado (mudou em 10/09/2026):
ABERTO → EM_ATENDIMENTO → AGUARDANDO_VERIFICACAO → RESOLVIDO, comAGUARDANDO_USUARIOsempre que a equipe precisa perguntar algo a quem abriu. Ninguém mais fecha o próprio chamado como resolvido diretamente — a equipe muda pra "aguardando verificação" contando o que fez, e só quem abriu o chamado pode confirmar que virouRESOLVIDO; se testar e não funcionar, devolve pra "em atendimento" (com o histórico junto, sem precisar abrir um chamado novo). Essa mudança nasceu de um caso real: um chamado foi marcado como resolvido antes de a pessoa sequer ter usado a correção — ela testou depois, não funcionou, e o chamado já estava fechado.- Mandar pra "aguardando verificação" ou "aguardando você" exige escrever o que foi feito ou o que está sendo perguntado — confirmar que funcionou não exige nada escrito.
- Se quem abriu nunca vier confirmar, um gestor pode fechar o chamado depois de 5 dias parado em verificação — mas esse fechamento fica marcado internamente como "sem confirmação", pra nunca contar como resolução confirmada nas métricas.
- Cancelar é permitido a qualquer momento por um gestor ou por quem abriu o chamado.
- Responsável e urgência: todo chamado nasce com um responsável sugerido automaticamente por regra fixa (não por IA) — chamado de bug ou correção de dado vai pro
ADMIN; melhoria vai proGERENTE(cai proADMINse a empresa não tiver gerente ativo). Um gestor pode trocar o responsável a qualquer momento. A urgência (BLOQUEIA_OPERACAO,ALTA,NORMALouBAIXA) nasce comoNORMALpor padrão e é sugerida pela IA junto da classificação do tipo. - Notificações: quem abriu o chamado é avisado quando alguém responde e quando o chamado é resolvido.
- Se pular ou errar: empresa sem nenhum
ADMINouGERENTEativo faz o chamado nascer sem responsável (fica pra um gestor apontar manualmente depois); uma vez que um responsável é definido (manual ou automaticamente), a regra automática nunca sobrescreve a escolha.

- Pra que serve: configurar e monitorar os dois números de WhatsApp da loja — um só pra avisos automáticos disparados pelo sistema (canal "SYS", ex: confirmação de parcela paga) e outro pro atendimento humano de vendas (canal "COM") — mais o catálogo de templates de mensagem e o log das últimas 100 mensagens enviadas.
- Quem usa: o item só aparece no menu de
ADMINeGERENTE. Importante: isso é só uma restrição de menu — nenhuma das ações por trás desta tela confere o perfil do usuário, apenas login válido e empresa. Qualquer perfil que soubesse o endereço da tela conseguiria, em tese, conectar/desconectar o número da loja ou reenviar a fila de mensagens pendentes. - Ações principais:
- "Conectar" um canal (SYS ou COM): abre um QR code pra escanear no celular do número — igual conectar o WhatsApp Web.
- "Desconectar" um canal já conectado.
- "Reenviar mensagens na fila" — tenta reenviar tudo que está com status FILA ou ERRO no canal SYS.
- Aba "Templates": lista os modelos de mensagem cadastrados (globais da plataforma ou específicos da empresa).
- Aba "Mensagens": log das últimas 100 mensagens com status.
- Fluxo correto:
- Digitar o número com DDI (ex: 5547999999999) no campo do canal desejado.
- Clicar em "Conectar" — o sistema cria/reaproveita uma sessão no motor WAHA (WhatsApp HTTP API, um serviço externo que faz a ponte real com o WhatsApp) e mostra o QR code.
- Escanear o QR no celular do número da loja (Aparelhos conectados → Conectar um aparelho).
- Aguardar o status virar "conectado" (o sistema faz polling do status).
- Se alguma mensagem ficou presa em fila (por exemplo, porque o número estava desconectado quando ela devia sair), usar "Reenviar mensagens na fila" depois de conectar.
- Se pular ou errar: sem a conexão com o WAHA configurada no ambiente, qualquer ação de conectar/status/enviar devolve um erro controlado ("WhatsApp não configurado") — não trava a tela nem o resto do sistema; foi desenhado pra nunca travar nesse caso.
⚠️ Atenção: já aconteceu (17/07) de uma mensagem da fila sair de fato pelo WhatsApp, mas o registro que deveria marcar ela como "enviada" falhar. Nesse caso a tela para e avisa explicitamente pra não clicar em "Reenviar" de novo — porque reenviar despacharia a mesma mensagem duplicada pro cliente. Antes dessa correção, esse tipo de erro passava batido.
- Detalhes e estados:
- O status de cada mensagem só pode ser atualizado através de uma rotina própria dentro do banco de dados — não é uma edição direta feita pela tela; existe especificamente pra manter esse controle.
- Canal SYS e canal COM são entidades separadas — desconectar um não afeta o outro. A intenção de negócio é nunca misturar "aviso automático" com "atendimento humano" no mesmo número, pra não gerar confusão nem risco de bloqueio do WhatsApp por volume de mensagem automática.
Copiloto

- Pra que serve: um painel de sugestões automáticas geradas por heurística (regra matemática/estatística simples, não um modelo de IA generativa pesado) sobre três frentes: o que comprar a seguir (baseado em giro de estoque), quais vendas recentes parecem arriscadas (score de risco por cliente/valor/desconto/prazo) e como um RMA (devolução/troca) provavelmente deveria ser categorizado, a partir do texto do motivo. É deliberadamente só-leitura: nada é gravado ou enviado sozinho, o painel só aponta o que vale a pena olhar.
- Quem usa: o menu só oferece o item pra
ADMINeGERENTE— mas a permissão real de acesso, por trás da tela, é mais ampla:ADMIN,GERENTEeFINANCEIRO. Ou seja,FINANCEIROconsegue acessar a URL direto mesmo sem o item aparecer no menu dele. O motivo da permissão ser mais larga que o menu é que o Copiloto expõe valor de venda, desconto e score de risco — dado que antes vazava também praOPERADOR_SP,OPERADOR_PYeTESTADORpor essa mesma URL, até uma correção em 17/07 fechar essa brecha. - Ações principais:
- Ver a "Sugestão de compra" (heurística de giro de estoque).
- Ver a lista de "Vendas de risco" dos últimos 30 dias (até 20, ordenadas por score, excluindo as de risco BAIXO).
- Ver os últimos 20 RMAs com a categoria sugerida (motivo de devolução classificado automaticamente a partir do texto).
- Buscar um cliente (combobox) e gerar um "Resumo de cliente" sob demanda — tenta um modelo de linguagem local primeiro; se não disponível, cai num resumo por template fixo.
- Fluxo correto:
- Abrir o Copiloto — o painel já carrega as três seções automaticamente.
- Olhar "Vendas de risco" pra decidir se alguma merece ligação/confirmação antes de despachar.
- Olhar os RMAs classificados pra confirmar se a categoria automática bate com o motivo real.
- Buscar um cliente específico e pedir o resumo, se precisar de contexto rápido antes de negociar.
- Se pular ou errar: não há ação destrutiva nesta tela — é 100% leitura. O risco de "pular" é só deixar de aproveitar o alerta (ex: não notar uma venda de risco alto antes de despachar o pacote).
- Detalhes e estados: o cálculo de risco usa, entre outros fatores, se é a "primeira compra" do cliente, saldo devedor atual, quantidade de parcelas vencidas, desconto solicitado e se a venda é a prazo — tudo isso é uma heurística declarada dentro do próprio sistema, não um modelo de IA treinado.
Relatórios

- Pra que serve: o catálogo central de relatórios operacionais exportáveis — hoje 9 relatórios: aparelhos por status/localização, contas a receber detalhadas, lucro por aparelho, lucro por período, desempenho por vendedor, desempenho por técnico, custo de reparo por modelo, clientes inadimplentes (>90 dias) e aparelhos parados (>30 dias).
- Quem usa: o menu mostra o item pra
ADMIN,GERENTEeFINANCEIRO. Dentro da tela, 5 dos 9 relatórios são bloqueados por perfil — os que expõem custo/lucro/margem (aparelhos por status, lucro por aparelho, lucro por período, desempenho por técnico, custo de reparo por modelo) só aparecem e só exportam pra quem tem permissão de ver dinheiro (ADMIN,GERENTE,FINANCEIRO); os outros 4 (contas a receber, desempenho por vendedor, clientes inadimplentes, aparelhos parados) não são financeiros e não têm essa trava. A página de Relatórios em si não tem trava de perfil pra rota inteira — só confere login e empresa antes de decidir quais dos 9 relatórios mostrar. Isso quer dizer que um perfil sem o item no menu (ex:VENDEDOR,TESTADOR,OPERADOR_SP/OPERADOR_PY) que digitar a URL direto consegue abrir a tela e exportar os 4 relatórios não-financeiros, mesmo sem ver o link em lugar nenhum da navegação. - Ações principais:
- Filtro opcional de período (data início/fim) — só afeta os relatórios marcados como "aceita período" (lucro por período, desempenho por vendedor).
- "Exportar CSV" — baixa o relatório como arquivo .csv com marca de acentuação (o que faz o Excel em português abrir os acentos corretamente), nomeado com o nome do relatório mais a data de hoje.
- "Imprimir (PDF)" — abre em nova aba a versão de impressão do relatório, que é a mesma tabela formatada pra impressão via Ctrl+P → "Salvar como PDF" do navegador (não existe geração de PDF no servidor; é o recurso nativo do navegador).
- Fluxo correto:
- Abrir Relatórios e, se precisar, preencher o período.
- Escolher "Exportar CSV" pra abrir em planilha, ou "Imprimir (PDF)" pra um documento pronto pra imprimir/arquivar.
- Cada card mostra se aceita filtro de período — só vale preencher a data pros que aceitam.
- Se pular ou errar:
- Pedir CSV de um relatório financeiro sem ter permissão de ver dinheiro devolve o erro "Sem permissão para exportar este relatório." em vez de um arquivo — a trava está tanto na exportação de CSV quanto na versão de impressão, então nem abrir direto o link de impressão contorna o bloqueio.
- Um relatório fora da lista fechada dos 9 é rejeitado ("Relatório não reconhecido.") na exportação CSV e devolve erro de página não encontrada na versão de impressão — não é possível inventar um relatório novo só editando a URL.
- Relatório sem nenhuma linha no período/escopo não quebra: o CSV sai só com cabeçalho, e a versão impressão mostra "Nenhum dado para este relatório no período/escopo atual." — nunca finge que tem dado.
- Detalhes e estados:
- A empresa usada pra filtrar os dados nunca vem de um campo da tela — é sempre conferida de novo a partir de quem está logado, então não existe caminho pra um usuário ver dado de outra empresa mexendo na URL ou no formulário.
- Cada relatório usa exatamente a mesma lógica de carregamento tanto pra exportar CSV quanto pra gerar a versão de impressão — os dois formatos nunca divergem entre si.
Impressão de relatório (PDF)

- Pra que serve: é a versão "página inteira, sem menu/barra lateral" de cada um dos 9 relatórios de Relatórios — o caminho pra virar PDF usando o Ctrl+P nativo do navegador, sem depender de nenhuma ferramenta pesada de geração de PDF no servidor.
- Quem usa: exatamente as mesmas regras da tela de Relatórios (login + empresa, e pros 5 relatórios financeiros, a permissão de ver dinheiro) — só que aplicadas de novo, de forma independente, direto nesta rota. Isso é proposital: mesmo que alguém já tenha visto o botão desabilitado ou nem tenha visto o card na lista, abrir direto o link de impressão de um relatório financeiro sem permissão devolve a mensagem de bloqueio, não a tabela.
- Ações principais:
- Renderiza a tabela do relatório (mesmas colunas, mesmos dados do CSV) formatada com estilo de impressão: esconde qualquer elemento de navegação, força página A4 paisagem, margens de 14mm.
- Aceita filtro de período por parâmetro na URL, pros relatórios que suportam.
- Mostra data/hora de geração no topo do documento, junto com o período aplicado (se houver).
- Fluxo correto: normalmente não se digita esta URL na mão — ela é aberta automaticamente pelo botão "Imprimir (PDF)" de Relatórios, em nova aba. Uma vez aberta: Ctrl+P → escolher "Salvar como PDF" (ou a impressora física, se preferir papel) → salvar/imprimir.
- Se pular ou errar:
- Um relatório fora do catálogo de 9 devolve erro de página não encontrada, não uma tela de erro genérica.
- Data em formato errado no parâmetro da URL é simplesmente ignorada (o filtro de período não aplica) em vez de quebrar a página.
- Erro ao carregar os dados do relatório mostra a mensagem de erro na própria página impressa em vez de uma tabela vazia silenciosa.
- Detalhes e estados:
- O aviso "Use Ctrl+P → Salvar como PDF" que aparece no topo da tela é programado pra não aparecer na versão impressa — só serve de instrução visual antes de imprimir.
- Layout fixo em A4 paisagem — relatórios com muitas colunas (ex: contas a receber com valor BRL e USD lado a lado) foram desenhados pra caber nessa orientação; imprimir manualmente em retrato pode cortar colunas.
Automações

- Pra que serve: o painel do motor de regras "quando X acontece, faça Y" — por exemplo, "quando uma parcela vence em 3 dias, manda aviso" ou "quando um aparelho fica parado 7 dias, notifica". A tela mostra as regras cadastradas (ligadas/desligadas), a fila de eventos ainda não processados e o log das últimas 50 execuções, incluindo as que deram erro.
- Quem usa: o menu mostra o item só pra
ADMINeGERENTE. Assim como em WhatsApp, nenhuma das ações por trás desta tela confere o perfil — só login e empresa. Qualquer perfil autenticado que soubesse a URL conseguiria, em tese, ligar/desligar uma regra de automação da própria empresa ou disparar o reprocessamento manual da fila. - Ações principais:
- Ligar/desligar uma regra da própria empresa (regras "globais", da plataforma, não são editáveis — o toggle é ignorado pra elas).
- "Reprocessar" — processa manualmente até 200 eventos pendentes de uma vez (um "worker de emergência" pra quando o processamento automático em segundo plano não rodou).
- Ver quantas execuções deram erro recentemente.
- Fluxo correto:
- Abrir Automações e checar o contador "evento(s) na fila" e "execução(ões) com erro" no topo, se aparecer.
- Se houver fila acumulada, clicar em "Reprocessar" — processa até 200 de uma vez; se ainda sobrar depois disso, o aviso de "processados" indica que é preciso clicar de novo (não reprocessa tudo automaticamente num único clique se passar de 200).
- Ligar/desligar regras individuais conforme necessário — a mudança é imediata (sem confirmação extra).
- Se pular ou errar:
- Regra global (da plataforma como um todo, não desta empresa específica) não pode ser desligada por este botão — clicar nela simplesmente não faz nada.
- Deixar a fila de eventos pendentes crescer sem reprocessar significa que as automações associadas àqueles eventos (avisos, mudanças de status) simplesmente não acontecem até alguém processar — não há alarme visual forte além do contador no topo da própria tela.
- Detalhes e estados:
- O reprocessamento manual existe explicitamente como plano B pra quando o agendador automático de tarefas do banco de dados não está rodando — ou seja, esta tela também é uma ferramenta de recuperação de falha de infraestrutura, não só um painel de configuração.
- Um lote de reprocessamento que vem com exatamente 200 eventos (o teto da consulta) é tratado como sinal de que ainda há mais na fila — mesmo que na prática só houvesse 200 no total; a tela não distingue "acabou de bater o teto" de "ainda tem muito mais atrás", então clicar de novo em "Reprocessar" depois é sempre seguro (e às vezes desnecessário).
Auditoria

- Pra que serve: a trilha de "quem fez o quê" — cada linha é um registro de uma ação relevante (venda, aprovação, pagamento, mudança de estoque) com quem fez, quando, e o diff (a diferença exata) entre o estado "antes" e "depois" daquele registro.
- Quem usa: o menu mostra o item só pra
ADMINeGERENTE. Diferente das telas anteriores, aqui a trava real é assumida inteiramente pelo banco de dados: nem a tela nem a ação por trás dela fazem qualquer verificação de perfil no próprio código — dependem 100% de uma camada de segurança dentro do banco, que nega a leitura pra quem não éADMIN/GERENTE.
⚠️ Atenção: um perfil sem permissão que abrir Auditoria direto pela URL não recebe mensagem de erro nem é redirecionado — a tela carrega normalmente, só que vazia, porque o banco filtrou tudo em silêncio antes mesmo do sistema processar o resultado. É o padrão descrito na introdução deste capítulo, e aqui é o único caso confirmado onde o sistema depende 100% dele, sem nenhuma camada própria por cima.
- Ações principais:
- Filtrar os logs por "entidade" (tipo de registro: venda, parcela, aparelho etc.) via combobox.
- Buscar por texto livre (ação, nome de usuário, ID da entidade).
- Expandir uma linha pra ver o payload "antes" e "depois" em formato JSON bruto.
- Fluxo correto:
- Abrir Auditoria.
- Escolher a entidade de interesse no filtro (ou deixar em "Todas as entidades").
- Usar a busca de texto pra achar um usuário, ação ou ID específico.
- Expandir a linha suspeita e comparar "antes" x "depois".
- Se pular ou errar:
- A consulta traz só as 300 mais recentes de todos os registros da empresa (não há paginação — é um teto fixo). Uma investigação que precise de algo mais antigo que esses 300 últimos registros não é alcançável por esta tela hoje.
- Ver a tela vazia sem mensagem de erro é o sintoma mais provável de estar logado com um perfil que o banco não deixa ler os registros de auditoria — não é evidência de que "nada aconteceu".
- Detalhes e estados: a escrita nos registros de auditoria (quem grava cada linha) acontece através de uma rotina própria do banco de dados, não é uma escrita direta — faz parte de uma etapa inicial de um plano maior de evolução do sistema, e a leitura (esta tela) só passou a fazer sentido depois que a escrita passou a funcionar de verdade.
Erros comuns e como evitar
- Tela vazia ≠ "não tem dado". Em Auditoria, e possivelmente em outras telas deste capítulo, uma lista vazia sem mensagem de erro costuma ser uma trava do próprio banco de dados negando acesso ao perfil logado em silêncio — não a ausência real de registros. Antes de concluir "não tem nada", confirme com um perfil
ADMIN/GERENTE. - Menu não é a trava de verdade. Em WhatsApp e Automações, a única restrição confirmada é o item sumir do menu — as ações por trás não verificam perfil. Isso não deve ser usado como caminho de acesso deliberado, mas explica por que "eu nem vi essa tela no meu menu" não significa "eu não conseguiria mexer nela".
- Na Central de Etiquetas, um perfil pode abrir a tela e mesmo assim não conseguir buscar nada.
OPERADOR_SPeSUPERVISOR_ASSISTENCIAentram na página, mas toda busca falha com "sem permissão" — é um descompasso real entre quem pode abrir e quem pode buscar, não erro de digitação do usuário. - Relatório financeiro bloqueado no CSV também está bloqueado no PDF — as duas rotas conferem a mesma permissão de forma independente, então tentar contornar trocando de "Exportar CSV" pra "Imprimir (PDF)" não funciona.
- A contagem de relatórios na tela de Relatórios pode ficar desatualizada de tempos em tempos — hoje são 9. Não é um bug funcional (todos os 9 funcionam), só um texto de introdução que às vezes fica pra trás quando um relatório novo é adicionado.
- Config de impressora QL-800 é por computador, não por login. Trocar de máquina, ou usar o navegador em modo privado, reseta a preferência de nome de impressora salva localmente — o sistema volta a tentar auto-detectar "QL-800"/"Brother" sozinho.
- A bancada de Teste QL-800 só existe em ambiente de desenvolvimento. Não adianta tentar usar essa ferramenta de diagnóstico em produção (getimportex.com) — a tela devolve erro de página não encontrada de propósito lá; o diagnóstico de impressora em produção precisa ser feito através das telas normais de etiqueta (o próprio comportamento de fallback ao tentar imprimir já avisa quando algo está errado).
- Auditoria mostra só os 300 registros mais recentes da empresa inteira. Se a ação investigada for antiga ou a empresa tiver alto volume de eventos, ela pode já ter "saído" da janela visível — não existe filtro de data nem paginação nesta tela hoje.
- Chamado "aguardando verificação" não é chamado esquecido — é chamado esperando VOCÊ, não a equipe. Só quem abriu confirma que resolveu. Se a equipe já respondeu e o chamado não fecha sozinho, o próximo passo é seu, não deles.
