Jefacil Jefacil

Atacado B2B no Jefacil tem dois níveis de configuração: faixas de preço no produto (do tipo “10+ paga menos”) e tabela de preço atribuída ao cliente (contrato negociado).

Faixas de preço por quantidade

Em Produtos → editar produto, na seção Faixas de preço:

a partir de 10 unidades → R$ 8,00
a partir de 50 unidades → R$ 6,00
a partir de 100 unidades → R$ 5,00

Sem limite de faixas. Aplicado no PDV conforme o modo de atacado da loja (veja abaixo).

Requisito: a loja precisa estar com Atacado habilitado em Configurações → Lojas.

Modo do atacado (como o gatilho dispara)

Em Configurações → Lojas → aba Operação → Como o atacado dispara?, escolha um dos 3 modos:

ModoQuando o tier vira o preço aplicado
Por produto (padrão)A quantidade daquele SKU no carrinho atinge a min_qty da faixa cadastrada. Cada item decide sozinho.
Por carrinhoA soma das quantidades de todos os itens do carrinho atinge a Qtd mínima do carrinho da loja. Daí todo SKU com faixa pula pra menor faixa cadastrada.
ManualSem gatilho automático. No PDV, cada linha do carrinho ganha um botão Atacado que aplica a menor faixa do produto. Vendedora decide caso a caso (negociação balcão).
  • Por produto é o comportamento clássico: “quem leva 10 paga menos por unidade”.
  • Por carrinho resolve “se levar 6 peças no total, mesmo de produtos diferentes, já é atacado”.
  • Manual resolve negociação livre: cliente pediu desconto, vendedora bate o botão e aplica a faixa pré-cadastrada.

Em Manual, o botão Atacado sempre aparece em modo MANUAL — quando o produto não tem faixas, fica desabilitado com tooltip avisando pra cadastrar.

Tabela de preço negociada (por cliente)

Pra clientes B2B fixos (revendedores, contratos), crie uma tabela dedicada em CRM → Tabelas de preço:

  1. Nome da tabela (ex.: “Revendedor Acme”, “Contrato anual 2026”).
  2. Desconto linear (%) opcional — aplicado sobre o preço varejo pra qualquer produto da loja.
  3. Items por produto (opcional) — preço fixo pra SKUs específicos.

Depois atribua a tabela ao cliente: Clientes → editar → Tabela de preço.

Como o resolver escolhe o preço

O PDV (e o faturamento de pedido) rodam este algoritmo pra cada item:

1. O customer tem price_table E a tabela tem item pra este produto?
   SIM → usa o preço do item (OVERRIDE ESTRITO, ignora tudo abaixo)
   NÃO → continua

2. Monta a lista de candidatos:
   - preço varejo
   - promo ativa (se houver)
   - faixa de atacado aplicável pela qty do item (se loja tem atacado)
   - desconto linear da tabela do customer (retail × (1 - pct/100), se houver)

3. Aplica Math.min(candidatos) = preço final

O item override vence tudo porque representa preço contratado. Se você vendeu pra Acme Ltda com contrato a R$75, mesmo que tenha uma promo a R$50 no dia, a Acme paga R$75 (era o combinado).

Já o desconto linear (ex.: “10% off em tudo”) entra na competição junto com promo e tier — então o cliente com tabela “10% off” numa promo de 20% leva o preço da promo.

Quando usar cada tipo

SituaçãoFerramenta
”Quem compra 10+ paga R$8”Faixa de atacado no produto
”Revendedor X tem 15% off em tudo”Tabela com discount_pct: 15, sem items
”Contrato com X lista 20 produtos a preço fixo”Tabela com items por SKU
”Cliente Y tem 10% off em tudo exceto em 3 produtos específicos”Tabela com items nos 3 SKUs + discount_pct: 10 cobrindo o resto

Isolamento

Faixas ficam por loja (atacado habilitado por filial). Tabelas ficam por tenant (todas as lojas compartilham). Edição exige OWNER, ADMIN ou MANAGER.