As três margens
No Winthor, “margem” são três números diferentes — e os três estão certos. A da etiqueta (o plano), a do caixa (a venda que aconteceu) e a do fim do mês (o que sobrou de verdade). Esta página mostra o que cada uma responde, em que unidade ela vem e qual usar para cada pergunta.
1. A margem da etiqueta — cadastro (rotina 8133)
É a margem planejada no cadastro de preços: preço de tabela, menos o ICMS de tabela, menos o custo da próxima compra, dividido pelo preço de tabela. Pense nela como a margem da etiqueta antes de abrir a loja: o que a planilha de precificação promete, não o que a venda entregou.
Ela é uma foto do estado atual do catálogo — não tem período. Você não pergunta “a margem de cadastro de maio”; pergunta “como está a etiqueta hoje”.
Uma margem de cadastro negativa significa que o preço de tabela está abaixo do custo — um defeito de cadastro para corrigir antes de vender. Prejuízo de venda é outra história (a da rotina 8128, mais abaixo).
Dois detalhes que importam ao usar a ferramenta:
sem_tributacao: o produto está vendável sem figura tributária para a UF. A margem exibida assume ICMS zero — ou seja, vem superestimada de propósito. Esse é exatamente o defeito que a rotina existe para achar.regioneufsão obrigatórios: a base tem várias regiões de preço, e um padrão escondido esconderia produtos e misturaria tabelas.
Ferramenta: get_catalog_margin_quality.
2. A margem do caixa — margem bruta
É a margem da venda que aconteceu: receita menos custo real. O que sobra entre o preço da prateleira e o que você pagou ao fornecedor — antes de qualquer imposto, verba ou devolução.
margin_pct = 0,23 já significa 23%. Não multiplique por 100 duas vezes. Outras famílias usam a escala 0–100 — veja a tabela de unidades.
Ferramentas:
get_gross_margin_by_branch— a margem bruta por filial no período.find_below_cost_sales— notas vendidas abaixo do custo. A lista inclui bonificações, que são intencionalmente abaixo do custo: olhe a colunais_bonusantes de acusar prejuízo.
3. A margem do fim do mês — realizada líquida (rotina 8128)
É a margem oficial do Winthor: a venda líquida (faturamento menos devoluções e menos impostos retidos, como ST/FECP) menos o custo líquido. É a que responde “quanto sobrou de verdade” — depois das devoluções, dos impostos retidos e, no nível do fornecedor, do cheque de verba que a indústria manda de volta.
Aqui a unidade muda: os percentuais da 8128 vêm na escala 0–100. margem_liq_pct = 12,50 significa 12,5%.
A margem 8128 depende de objetos da rotina no seu banco Winthor. Se a sua instalação não os tem, essas ferramentas podem não estar disponíveis — fale com o suporte.
Ferramentas:
get_realized_net_margin_by_supplier— por fornecedor, com e sem verba.get_realized_net_margin_by_product— por produto, sempre sem verba (o motivo está na seção seguinte).find_negative_realized_margin— o “caça-prejuízo”: por padrão, só os produtos com margem realizada líquida negativa. Também sem verba — confira a compensação no agregado do fornecedor.
A verba
Verba é o dinheiro que o fornecedor devolve por acordo comercial — o desconto que vem por fora, no boleto do acordo, não na nota. Ela melhora a margem realizada, mas só existe no nível do fornecedor: não dá para ratear por produto.
Por isso a 8128 por fornecedor traz duas variantes — margem_sv_pct (sem verba) e margem_cv_pct (com verba), ambas na escala 0–100 — e as visões por produto são sempre sem verba. Um produto “no vermelho” pode virar um negócio lucrativo no agregado do fornecedor, quando a verba entra na conta.
Sob uma credencial recortada (a um vendedor, cliente ou supervisor), a verba vem em branco (NULL) — omissão explícita, nunca zero. Não é que a verba não exista; é que a sua chave não pode vê-la. Veja o que sua chave enxerga.
O mesmo produto, três respostas
Um exemplo inteiramente fictício: o CHOCOLATE MODELO 650G, do Fornecedor Exemplo S.A., na Distribuidora Modelo Ltda, em junho. Nenhum dos quatro números está “errado” — são perguntas diferentes.
| Margem | Número (fictício) | Base declarada |
|---|---|---|
| Etiqueta (cadastro 8133) | 23% | Estado do catálogo hoje; sem período; o plano, não a venda. |
| Caixa (bruta, junho) | margin_pct 0,18 = 18% | Fração 0–1; antes de devoluções, impostos retidos e verba. |
| Fim do mês (8128, junho, sem verba) | margem_sv_pct 9,10 = 9,1% | Escala 0–100; após devoluções e ST/FECP; sem verba. |
| Fim do mês (8128, junho, com verba) | margem_cv_pct 12,40 = 12,4% | Escala 0–100; agregado do fornecedor — a verba não desce ao produto. |
Qual margem usar?
| Sua pergunta | Margem | Ferramenta |
|---|---|---|
| “Tem produto cadastrado com preço errado?” | Cadastro (8133) | get_catalog_margin_quality |
| “Vendi algo abaixo do custo neste período?” | Bruta | find_below_cost_sales |
| “Qual filial opera com a melhor margem?” | Bruta | get_gross_margin_by_branch |
| “O fornecedor rende de verdade, depois de tudo?” | Realizada líquida (8128), com e sem verba | get_realized_net_margin_by_supplier |
| “Qual a margem final de cada produto?” | Realizada líquida (8128), sem verba | get_realized_net_margin_by_product |
| “Onde estou perdendo dinheiro?” | Realizada líquida (8128), sem verba | find_negative_realized_margin |
O roteiro completo — da margem negativa na 8128 até a etiqueta na 8133 — está no tutorial Caça-prejuízo.
Esta página ajudou? Conte para a gente — lemos tudo.