Estoque de insumos
consultar_estoqueSaldo atual de produtos por local de estoque, lotes com validade e movimentação. Para o documento que originou a entrada (romaneio, contrato), use a consulta de pós-colheita. Para totais e contagens use "agrupar_por": o banco soma e conta. A listagem traz no máximo 30 linhas e serve para ver produtos ou lotes específicos — nunca liste para contar ou somar. Ex.: saldo por classe = visão saldo com agrupar_por ["classe_produto"]; lotes vencidos e vencendo = visão lotes com agrupar_por ["status_validade"]. Pergunta por grupo ("defensivos", "adubos", "sementes") NÃO se resolve com classe_produto: não há classe com esse nome. Agrupe o saldo por classe_produto (e local_estoque, se a fazenda tiver um local para o grupo — veja a visão locais) e escolha as classes que pertencem ao grupo. Produto com CLASSE_PRODUTO "Sem classe no cadastro" faz parte da resposta: mostre-o num grupo com esse nome, nunca o omita e nunca atribua a ele uma classe. Quantidade (SALDO_*, QUANTIDADE) só vem somada quando o grupo tem uma unidade só; com várias unidades ela não vem e QTDE_UNIDADES diz quantas havia — agrupe também por unidade ou produto. Valor em R$ (CUSTO_TOTAL_POSITIVO, VALOR_TOTAL) sempre soma.
Visões disponíveis (parâmetro "visao"):
saldo: Saldo por produto e local, com custo médio e situação do estoque. STATUS_ESTOQUE "ABAIXO DO MÍNIMO" é o critério para produto abaixo do mínimo; sem ESTOQUE_MINIMO na linha, o mínimo não foi cadastrado para aquele produto e local. Com agrupar_por: QTDE_LINHAS são pares produto × local; PRODUTOS e PRODUTOS_COM_SALDO, produtos distintos; ITENS_COM_SALDO, ITENS_ZERADOS e ITENS_NEGATIVOS contam os pares; SALDO_POSITIVO e CUSTO_TOTAL_POSITIVO somam só o que tem saldo; SALDO_NEGATIVO fica à parte — é saída lançada antes da entrada, informe separado. Filtros: produto, classe_produto, local_estoque, status, com_saldo. Agrupa por: classe_produto, local_estoque, status, produto, unidade. Lista no máximo 30 linhas por chamada.
lotes: Saldo quebrado por lote, com validade, só de produto que controla lote. STATUS_VALIDADE diz se o lote está vencido ou vencendo — não compare datas. Com agrupar_por: QTDE_LINHAS é o número de lotes, LOTES_COM_SALDO os que ainda têm saldo, PRODUTOS os produtos distintos e MENOR_VALIDADE a validade mais próxima do grupo. Filtros: produto, classe_produto, local_estoque, lote, status_validade, com_saldo. Agrupa por: status_validade, classe_produto, produto, local_estoque, unidade. Lista no máximo 30 linhas por chamada.
historico: Movimentação do estoque: entradas, saídas e saldo após cada uma. Com agrupar_por: QTDE_LINHAS é o número de movimentos, com QUANTIDADE e VALOR_TOTAL somados — agrupe também por tipo para não somar entrada com saída. Filtros: produto, classe_produto, local_estoque, tipo, aceita período. Agrupa por: tipo, mes, produto, classe_produto, local_estoque, origem, unidade. Lista no máximo 30 linhas por chamada.
locais: Cadastro dos locais de estoque. Filtros: local_estoque, tipo.
Quando "visao" não é informada, usa "saldo". Filtro de texto casa por trecho, sem diferenciar maiúsculas nem acento ("aplicacao" acha "Aplicação") — exceto os marcados "(valor exato)", que exigem o valor inteiro, como código, placa e número. A resposta traz "total_disponivel": quantas linhas o filtro encontra ao todo. Chame uma vez só, já com o limite que a resposta vai usar — nunca repita a consulta mudando só o limite; se só o número interessa e o total pode ser grande, um limite baixo basta. Para totais e contagens use "agrupar_por"; a listagem é limitada e serve para ver itens. Com "agrupar_por", a resposta vem somada pelo banco: uma linha por grupo, com QTDE_LINHAS, as somas e os maiores e menores valores (MAIOR_*, MENOR_*). Use isso em vez de somar linhas por conta própria.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| lote | No | Identificação do lote. Vale nas visões: lotes. | |
| tipo | No | Tipo de movimento. Vale nas visões: historico, locais. | |
| pular | No | Linhas a pular, para ler um resultado grande em partes. Use com limite quando total_disponivel for maior que o que veio. | |
| visao | No | Qual recorte consultar. Padrão: saldo. | |
| limite | No | Máximo de linhas devolvidas. Padrão 100, teto 500. | |
| status | No | Situação do estoque. Vale nas visões: saldo. | |
| fazenda | No | Nome da fazenda. Omita para usar a fazenda corrente do usuário — é o padrão, e é o que o usuário espera quando não cita nenhuma. Informe apenas quando ele nomear outra fazenda. Cada consulta trata de uma fazenda por vez. | |
| produto | No | Nome do produto. Vale nas visões: saldo, lotes, historico. | |
| com_saldo | No | true: só o que tem saldo maior que zero; false: zerado ou negativo. Vale nas visões: saldo, lotes. | |
| data_final | No | Fim do período, inclusive, em dd/mm/aaaa ou aaaa-mm-dd. | |
| agrupar_por | No | Dimensões para somar no banco, em vez de listar linha a linha. Cada visão aceita só as dimensões listadas nela. | |
| data_inicial | No | Início do período, em dd/mm/aaaa ou aaaa-mm-dd. | |
| local_estoque | No | Local de estoque. Vale nas visões: saldo, lotes, historico, locais. | |
| classe_produto | No | Classe do produto como está no cadastro da fazenda (ex.: "Herbicida", "Inseticida", "Fungicida"). Não existe classe "Defensivo" nem "Adubo": são grupos, não classes. Use "sem classe" para achar os produtos sem classe no cadastro. Vale nas visões: saldo, lotes, historico. | |
| status_validade | No | Situação da validade. Vale nas visões: lotes. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| total | Yes | Linhas devolvidas nesta resposta. | |
| visao | Yes | ||
| avisos | No | O que o servidor aplicou sem ser pedido, como um período padrão. | |
| linhas | Yes | ||
| fazenda | Yes | ||
| truncado | Yes | true quando há mais linhas além das devolvidas. | |
| total_disponivel | Yes | Quantas linhas o filtro encontra ao todo, qualquer que seja o limite pedido. | |
| filtros_ignorados | Yes | Filtros que não existem na visão escolhida e por isso não foram aplicados. |