ERP, PDV, estoque e margem já tratados
Tabelas semânticas, views por loja e context document
Resposta com SQL executado e regra oficial
MCP no chat e WhatsApp da diretoria e das lojas
O que resolve
- A IA responde venda líquida, estoque disponível e margem com a mesma regra do dashboard.
- Cada gerente vê só a sua loja; dados sensíveis ficam com a diretoria.
- A IA executa a consulta antes de responder e diz quando o dado não existe ou está atrasado.
Perguntas de negócio que responde
Faça estas perguntas ao seu agente quando o caso estiver pronto.
O que você precisa
- ERP, PDV ou hub conectados na Nekt, com as tabelas de venda, estoque e margem já tratadas
- A lista de lojas e de quem pode ver cada uma
- As definições oficiais de venda líquida, margem e estoque disponível
O que você recebe
- Tabelas semânticas por finalidade, com grão e medidas descritos para a IA
- Uma view por loja com permissão própria, e views completas só para a diretoria
- Context document com as regras que a IA deve seguir
- Monitor de frescor que avisa quando a carga não rodou
Onde ativar
Diretoria e analistas perguntam no chat com acesso à rede inteira e às tabelas sensíveis.
Cada gerente pergunta pelo WhatsApp e recebe só os números da sua loja.
Todo dia cedo: venda de ontem, desvios de meta, rupturas da curva A e cargas atrasadas.
O trabalho está nas descrições, nas views por loja e nas permissões. Exige que vendas e estoque já estejam modelados. O detalhado traz as regras de negócio, as armadilhas e o teste de aceitação. Ou mande tudo direto para o seu agente com o MCP da Nekt.
Diretoria e gerentes querem perguntar em linguagem natural e receber o número oficial. Sem descrição semântica, a IA escolhe a coluna errada (bruta no lugar de líquida), aplica fuso em campo que já é data comercial e soma filiais que dividem o mesmo estoque. Sem permissão por tabela, o gerente de uma loja consulta a outra, e o assistente expõe cancelamentos que identificam o operador.
Como costuma ser feito, e a regra
Cada linha é um erro que já aconteceu na prática.
Crie tabelas de consumo por pergunta: venda diária por loja, item fiscal, estoque por produto e filial, margem por item. Cada uma tem o grão declarado na descrição em uma frase ("Uma linha por loja, por dia"). Não exponha uma tabela genérica que mistura grãos, e não use campo financeiro de uma tabela operacional como faturamento.
Comece a descrição da coluna com a marcação: @pk para chave do grão, @fk para chave estrangeira, @measure additive para somável em qualquer dimensão, @measure non_additive para ticket médio e percentuais, @grain=daily ou monthly. Depois, em texto: origem, regra de cálculo e armadilha. Documente a tabela, não só a transformação.
"Quanto vendeu" é respondido com a venda líquida (bruta menos descontos menos cancelamentos). A resposta sempre nomeia a métrica, o período e a loja. Bruta só quando pedida.
Campos de data do ERP gravados como meia-noite UTC já são o dia comercial. A IA calcula hoje e ontem em America/Sao_Paulo e compara direto, sem converter o campo. A regra fica escrita na descrição da coluna e no context document.
Na Nekt, a permissão vale por camada inteira ou por tabela e view, com papéis de leitura e edição. Pastas no catálogo são só organização visual e não protegem nada. Crie uma view por loja (venda diária filtrada para aquela loja) e conceda a cada gerente só a sua. Use token com escopo por tabela para o assistente de cada público.
Cancelamentos e tentativas de cancelamento identificam o operador de caixa e servem para avaliação e investigação. Eles não entram nas views de loja, nem filtrados para a própria loja. Ficam em views da diretoria, auditoria e RH.
O assistente nunca responde número sem executar a consulta. Também não recusa por falta de dado antes de ler a estrutura da tabela semântica do domínio. Métricas marcadas como "a validar" não são inferidas. Quando o campo não existe, a resposta é "dado não localizado nesta fonte".
Disponível = quantidade total menos reservada, nunca negativo. Filiais que espelham o mesmo estoque físico são agregadas pelo grupo de estoque, nunca somadas. Produtos com estoque ilimitado ficam fora. Produto inexistente e produto sem estoque têm respostas diferentes. Códigos de produto são padronizados (por exemplo, zeros à esquerda até 18 posições no SAP) antes de cruzar com venda.
As views do assistente rodam por evento logo depois da tabela de origem, nunca com gatilho manual. Um monitor com agendamento próprio detecta ausência de execução (por exemplo, mais de 120 minutos sem carga). A resposta informa a data e hora da última atualização.
Empresas do mesmo grupo podem aparecer como contas ou lojas distintas. Transferências entre elas não são receita nem despesa operacional e são eliminadas no consolidado. A margem vem da tabela oficial de margem, nunca recalculada pela IA com outra regra.
Qual tabela responde cada pergunta
Roteamento para o context document do assistente.
Definições
Armadilhas que já aconteceram
A IA respondeu a venda bruta como líquida e errou em seis dígitos o resultado de uma única loja num único dia.
Venda líquida como padrão, com @measure e regra escritas na descrição.
A IA converteu para BRT um campo de data que já era o dia comercial e respondeu zero venda num dia de venda alta.
Descrição da coluna dizendo que não há conversão de fuso.
As views por loja foram criadas com gatilho manual e ficaram mais de uma semana sem atualizar, com a fonte em dia.
Gatilho por evento após a tabela de origem e monitor de ausência de execução.
As views de loja estavam em pastas separadas e a equipe supôs que o gerente só via a sua. Pasta é organização visual.
Permissão concedida view a view, testada com o usuário de cada loja.
Duas filiais espelho somadas dobraram o saldo. Em outra base, extrair o código do produto do campo de URL em vez do código de referência perdeu cerca de 80% do estoque.
Agregar por grupo de estoque e extrair o código do campo de referência.
Teste de aceitação
O caso está pronto quando todos os itens passam.
- Para um conjunto de 10 perguntas de referência (venda líquida de uma loja ontem, estoque de um produto num CD, margem de um canal no mês), o assistente devolve exatamente o número do dashboard em todas.
- Com o usuário de uma loja, consultar outra loja ou a tabela de cancelamentos retorna sem permissão.
- O estoque de um grupo de filiais espelho é igual ao saldo de uma filial do grupo, não à soma.
- Toda resposta numérica traz a data da última atualização, e o monitor alerta quando a carga passa do limite sem rodar.
Pacote para o agente
Cole no Claude, ChatGPT ou outro cliente com o MCP da Nekt conectado.
Assistente de vendas, estoque e margem - Não responda número sem executar SQL. Não recuse por falta de dado antes de ler o DDL da tabela semântica do domínio. - Roteamento: venda e ticket por loja na venda diária por loja; produto e imposto no item fiscal; estoque no estoque por produto e filial; ruptura no snapshot de estoque; margem na tabela de margem de contribuição; meta na tabela de metas. - "Quanto vendeu" = venda líquida (bruta menos descontos menos cancelamentos). Diga sempre a métrica, o período e a loja. - Datas de venda do ERP são o dia comercial gravado como meia-noite UTC. Não converta fuso. Hoje e ontem em America/Sao_Paulo. - Ticket médio e percentuais não são somáveis: recalcule a partir das somas. - Estoque disponível = total menos reservado, mínimo zero. Agregue filiais espelho pelo grupo de estoque. Diga se o produto não existe ou se só está sem estoque. - Métricas marcadas como "a validar" não são inferidas. Campo inexistente: "dado não localizado nesta fonte". - Transferências entre empresas do grupo não são receita. - Informe a data da última atualização em toda resposta numérica. Exceções por cliente: - <cliente>: filiais <A> e <B> são espelho do mesmo estoque (grupo <grupo>). - <cliente>: lojas sem venda direta <lista>. - <cliente>: empresas do grupo <lista>; vendas entre elas são intercompany.
Construa no meu workspace Nekt o caso "Assistente de IA para diretoria e lojas" seguindo as regras em https://academy.nekt.com/industrias/varejo/assistente-ia-diretoria-lojas.md. 1) Encontre as tabelas de origem e confirme as colunas usadas pelas regras. 2) Crie uma transformação no grão indicado aplicando todas as regras. 3) Rode o teste de aceitação e me mostre o resultado de cada item. 4) Crie o context document do caso no workspace, com as exceções dos meus clientes em aberto para eu preencher.
Variações
Dicionário de abreviações do cadastro (qj para queijo) e índice invertido para achar o produto como o vendedor escreve.
Guardar perguntas e respostas do WhatsApp numa tabela para revisar acertos e erros.
Mesma camada para OS, peças e mão de obra, separando faturamento do resultado e volume de passagens.