name: cotando-frete description: >- Cotacao de frete Nacom: tabelas, calculos, lead time e frete real gasto. Frases: "quanto sai 5000kg para Manaus?", "qual transportadora mais barata para RJ?", "lead time para AM", "frete real do pedido VCD123", "divergencia CTe vs cotacao", "fretes pendentes Odoo". Anti: entrega pos-NF -> monitorando-entregas; criar separacao -> gerindo-expedicao. allowed-tools: Read, Bash, Glob, Grep
Cotando Frete
Skill para consultar precos de frete, calcular cotacoes detalhadas e explicar a logica de calculo.
ANTES de raciocinar sobre custo real, margem ou frete real vs teorico: LER
.claude/references/negocio/FRETE_REAL_VS_TEORICO.md(4 valores, divergencias, conta corrente) e.claude/references/negocio/MARGEM_CUSTEIO.md(formula da margem, tabelas de custo) — a logica de calculo mora la, nao adivinhe formula.
Quando NAO Usar Esta Skill
| Situacao | Skill Correta | Por que? |
|---|---|---|
| Criar embarque/separacao | gerindo-expedicao | Esta skill apenas CONSULTA precos — nao cria documentos logisticos |
| Status de entrega pos-faturamento | monitorando-entregas | Frete cotado ≠ status de entrega. Apos NF emitida, usar entregas |
| Consultas analiticas SQL complexas | consultando-sql | Rankings, agregacoes, tendencias — nao envolvem calculo de frete |
| Rastrear NF/PO/pagamento no Odoo | rastreando-odoo | Fluxo documental Odoo e diferente de cotacao de frete |
| Analise completa da carteira (P1-P7) | analista-carteira | Priorizacao de embarque exige analise de toda a carteira, nao apenas frete |
DECISION TREE - Qual Script Usar?
Mapeamento Rapido
| Se a pergunta menciona... | Use este script | Com estes parametros |
|---|---|---|
| Tabelas/precos para cidade | buscar_tabelas_cidade.py |
--cidade "Manaus" --uf AM |
| Tabelas por tipo de carga | buscar_tabelas_cidade.py |
--cidade "SP" --uf SP --tipo-carga FRACIONADA |
| Cotacao com peso/valor | calcular_cotacao.py |
--peso 5000 --valor 50000 --cidade "Manaus" --uf AM |
| Cotacao detalhada (breakdown) | calcular_cotacao.py |
+ --detalhado |
| Menor prazo | calcular_cotacao.py |
+ --ordenar menor_prazo |
| Carga direta especifica | calcular_cotacao.py |
+ --tipo-carga DIRETA |
| Frete de pedido existente | consultar_pedido_frete.py |
--pedido VCD2565291 |
| Frete de separacao | consultar_pedido_frete.py |
--separacao SEP-2025-001 |
| Frete de NF | consultar_pedido_frete.py |
--nf 144533 |
| Recalcular frete | consultar_pedido_frete.py |
--pedido VCD123 --recalcular |
| Quanto GASTEI de frete | consultando_frete_real.py |
--cliente "Atacadao" --de 2026-01-01 |
| Frete REAL de pedido | consultando_frete_real.py |
--pedido VCD123 |
| Divergencia CTe vs cotacao | consultando_frete_real.py |
--divergencias |
| Fretes pendentes Odoo | consultando_frete_real.py |
--pendentes-odoo |
| Frete por transportadora | consultando_frete_real.py |
--transportadora "Braspress" |
| Custo real com despesas | consultando_frete_real.py |
--pedido VCD123 --com-despesas |
Regras de Decisao
- TABELAS/PRECOS de cidade (sem peso/valor): →
buscar_tabelas_cidade.py - COTACAO com peso e valor: →
calcular_cotacao.py - Frete de PEDIDO/SEPARACAO/NF existente: →
consultar_pedido_frete.py - Frete REAL GASTO (historico, divergencias, pendentes Odoo): →
consultando_frete_real.py - EXPLICACAO do calculo: → Ler
references/calculo_frete.md - TERMOS (GRIS, ADV, etc.): → Ler
references/glossario_frete.md
Cenarios Compostos (Multi-Query)
Algumas perguntas exigem MAIS de uma execucao de script:
| Pergunta do usuario | Execucoes necessarias |
|---|---|
| "frete real + divergencias do Atacadao" | 1. --cliente "Atacadao" --de ... --ate ... 2. --divergencias --de ... --ate ... |
| "cotacao para Manaus e Recife" | 1. calcular_cotacao.py --cidade Manaus 2. calcular_cotacao.py --cidade Recife |
| "tabelas e cotacao para SP" | 1. buscar_tabelas_cidade.py --cidade SP 2. calcular_cotacao.py --cidade SP --peso ... --valor ... |
REGRA: Quando a pergunta menciona "divergencia" junto com frete real, SEMPRE executar --divergencias como chamada separada, mesmo que o primeiro resultado retorne 0 fretes.
Fluxo de Ambiguidade de Cidade
Se o script retornar ambiguidade: true:
- Script retorna
opcoes_uf: ["MG", "SP"] - Agente DEVE perguntar ao usuario qual estado
- Re-executar script com
--ufinformada
Tratamento de Resultados Vazios (Zero Fretes)
Quando um script retorna 0 resultados:
- NAO tratar como erro — e um resultado valido
- Reportar zeros claramente: "0 fretes encontrados", "R$ 0,00 total"
- Ainda executar queries complementares (ex: --divergencias mesmo com 0 fretes)
- NAO especular causa sem dados — dizer "nenhum frete registrado no periodo" (NAO "embarques nao finalizados")
- Sugerir verificacao: "Confirme se existem embarques finalizados para esse cliente no periodo"
Regras de Negocio (Anti-Alucinacao)
REGRA CARDINAL: Fidelidade ao Script Output
SOMENTE apresentar dados que existem no JSON de saida do script.
- Se um campo NAO aparece no script_output.json, NAO incluir na resposta
- Se quiser adicionar contexto de negocio (ex: "DIRETA compensa para volumes acima de X"), rotular explicitamente como
[Nota: estimativa, nao vem do script] - Valores monetarios na resposta DEVEM corresponder EXATAMENTE aos retornados pelo script
O Agente PODE Afirmar:
- Precos e valores retornados pelos scripts (baseados em tabelas REAIS)
- Lead time em dias uteis (campo
lead_timedos vinculos) - Comparacoes entre transportadoras (baseadas nos resultados)
O Agente NAO PODE Inventar:
- Precos de frete sem executar o script
- Lead times sem dados no sistema
- Tabelas de frete que nao existem
- Descontos ou negociacoes especiais
- Dados que NAO existem no JSON de saida do script executado
Formulas CORRETAS
| Calculo | Formula |
|---|---|
| Frete base | (peso x valor_kg) + (valor_mercadoria x percentual_valor%) — e SOMA, nao MAX |
| GRIS | max(valor x percentual_gris%, gris_minimo) |
| ADV | max(valor x percentual_adv%, adv_minimo) |
| RCA | valor x percentual_rca% (sem minimo) |
| Pedagio (fracao) | ceil(peso/100) x pedagio_por_100kg |
| ICMS (nao incluso) | frete_liquido / (1 - icms) |
Frete Minimo - CONFUSAO COMUM
frete_minimo_peso= PESO minimo em kg (NAO e valor em R$)frete_minimo_valor= VALOR minimo em R$ (piso do frete)
Scripts — Referencia Detalhada
Para parametros completos, retornos JSON e exemplos: LER SCRIPTS.md
| # | Script | Proposito | Campos-chave no output |
|---|---|---|---|
| 1 | buscar_tabelas_cidade.py |
Tabelas de frete por cidade | transportadora, tipo_carga, valor_kg, frete_minimo_valor, lead_time, percentual_gris, pedagio_por_100kg, percentual_adv |
| 2 | calcular_cotacao.py |
Cotacao detalhada peso/valor/destino | valor_com_icms, melhor_opcao, lead_time. Com --detalhado: breakdown completo de cada componente |
| 3 | consultar_pedido_frete.py |
Frete de pedido/separacao/NF | frete_cotado, frete_real, transportadora, itens |
| 4 | consultando_frete_real.py |
Frete real: historico, divergencias, pendentes | resumo (total_pago, qtd_fretes), por_transportadora, divergencias |
Referencia Cruzada
| Skill | Quando usar em vez desta |
|---|---|
| gerindo-expedicao | Criar embarque/separacao (antes de faturar) |
| monitorando-entregas | Status de entrega (apos faturar) |
| consultando-sql | Consultas analiticas complexas |
| rastreando-odoo | Rastrear NF/PO/pagamento no Odoo |
| resolvendo-entidades | Resolver cliente/cidade para IDs |
References (sob demanda)
| Gatilho na Pergunta | Reference a Ler |
|---|---|
| "como funciona o calculo?" | references/calculo_frete.md |
| "o que e GRIS?", termos de frete | references/glossario_frete.md |
| "frete minimo peso vs valor" | references/calculo_frete.md Passo 2 e 6 |
| "ICMS no frete" | references/calculo_frete.md Passo 8 e 9 |
| "direta vs fracionada" | references/glossario_frete.md + references/calculo_frete.md |
Tabelas do Dominio
| Tabela | Usada por |
|---|---|
cidades |
Resolucao de cidade |
cidades_atendidas |
buscar_tabelas_cidade.py |
tabelas_frete |
buscar_tabelas_cidade.py, calcular_cotacao.py |
transportadoras |
Calculo de frete |
veiculos |
Carga DIRETA |
carteira_principal |
consultar_pedido_frete.py |
separacao |
consultar_pedido_frete.py |
faturamento_produto |
consultar_pedido_frete.py |
fretes |
consultando_frete_real.py |
embarques |
consultando_frete_real.py |
embarque_itens |
consultando_frete_real.py |
despesas_extras |
consultando_frete_real.py |