Magento 2 B2B: Tabelas de Preços por CNPJ

Tabelas de preços por CNPJ no Magento 2 B2B são o mecanismo que permite exibir valores diferentes para cada cliente corporativo, com base no cadastro fiscal, no perfil de compra ou nas condições negociadas com o comercial. Para operações que atendem distribuidoras, redes varejistas ou clientes com contratos personalizados, essa funcionalidade não é um diferencial, é um pré-requisito.

O problema é que, na prática, poucas implementações entregam isso de forma realmente operacional. O mais comum é um sistema de preços que nasceu B2C e recebeu gambiarras para fingir comportamento B2B: grupos de clientes genéricos, descontos manuais por pedido ou planilhas que o time comercial atualiza fora da plataforma. Funciona até um certo volume. Depois vira caos.

Este artigo explica como o Magento 2 estrutura a precificação B2B por CNPJ, quais os recursos nativos disponíveis, onde cada abordagem tem limites e como operações mais maduras resolvem isso com configurações personalizadas.

Tabelas de preços por CNPJ

Principais pontos do artigo

  • O Magento 2 B2B oferece estrutura nativa de grupos de clientes e preços por cliente para segmentar a precificação por CNPJ
  • A vinculação entre CNPJ e catálogo de preços pode ser feita via shared catalogs, tier prices ou módulos customizados
  • Operações com muitos clientes e regras complexas precisam de automação via API ou integração com ERP
  • A gestão de tabelas de preços mal estruturada gera erros operacionais, conflitos de regras e perda de margem
  • Implementações bem feitas permitem que o time comercial opere sem depender de desenvolvimento para cada ajuste de preço

Como o Magento 2 estrutura preços B2B

O Magento 2, na sua versão Commerce (anteriormente Enterprise), tem um módulo nativo chamado B2B que inclui, entre outros recursos, o conceito de Shared Catalogs (catálogos compartilhados). É por aí que a precificação por cliente começa a fazer sentido estrutural.

Na arquitetura padrão, o fluxo funciona assim: cada empresa cadastrada no sistema é associada a uma conta de empresa (Company Account). Essa conta pode ser vinculada a um Shared Catalog específico, que tem seus próprios preços por SKU. Quando um usuário dessa empresa faz login, o Magento aplica automaticamente a tabela de preços do catálogo associado ao seu CNPJ.

Portanto, a lógica de “preço por CNPJ” não é um campo isolado. É a combinação de três elementos:

1. Company Account: o cadastro da empresa com CNPJ, razão social, contatos e configurações de crédito.

2. Shared Catalog: o catálogo com preços e produtos visíveis para aquela empresa. É possível ter catálogos diferentes para distribuidoras, representantes e atacadistas.

3. Customer Group: o grupo de clientes ao qual o Shared Catalog está associado. Essa camada também afeta regras de desconto, impostos e permissões de checkout.

Quando esses três elementos estão configurados corretamente, o cliente corporativo vê apenas os produtos e preços que o comercial negociou. Sem gambiarras.

Shared Catalogs: o coração da precificação B2B

O Shared Catalog é o recurso que mais diretamente responde à necessidade de tabelas de preços por CNPJ. Cada catálogo pode ter:

  • Preços customizados por produto (diferentes do preço público)
  • Seleção de quais produtos ficam visíveis para aquele grupo
  • Descontos percentuais aplicados sobre o preço base de categorias inteiras

Na prática, um distribuidor regional pode ter um catálogo com preços 18% abaixo do público em toda a linha de eletrônicos, com exceções negociadas SKU a SKU para itens de margem controlada. Um cliente de grande porte pode ter preços negociados individualmente para os 50 produtos que compra com frequência, mantendo preço público nos demais.

A gestão desses catálogos, se feita manualmente pelo painel do Magento, funciona bem até certo ponto. Com dezenas de empresas e centenas de SKUs por catálogo, o processo fica inviável sem automação.

Tier Prices e Customer-Specific Prices

Além dos Shared Catalogs, o Magento 2 tem dois outros mecanismos de precificação que são relevantes para operações B2B:

Tier Prices são preços por volume: o produto custa R$ 100 para compras até 9 unidades, R$ 90 de 10 a 49, R$ 80 acima de 50. Esse modelo é nativo e funciona bem para negócios onde o desconto é progressivo e igual para todos os clientes qualificados.

Customer-Specific Prices são preços definidos diretamente para um cliente ou grupo. No contexto B2B, isso permite que o comercial acesse o painel, localize o CNPJ do cliente e ajuste preços específicos sem alterar o catálogo compartilhado geral.

A combinação entre Tier Prices e Shared Catalogs permite cobrir a maioria dos modelos de precificação B2B sem customização. O Magento aplica a regra mais favorável ao cliente, então há uma hierarquia de prioridade que precisa estar mapeada antes de configurar qualquer coisa.

A integração com ERP muda tudo

Para operações com tabelas de preços gerenciadas fora do Magento, a integração com ERP é o ponto crítico. A maioria das empresas B2B de médio e grande porte tem preços armazenados em sistemas como SAP, TOTVS, Oracle ou ERPs setoriais. A pergunta é: quem é a fonte da verdade?

Quando o ERP é a fonte, o Magento recebe as tabelas via API ou importação automatizada. O fluxo mais comum é:

  1. O comercial negocia e registra o preço no ERP.
  2. Uma rotina de sincronização exporta as tabelas de preço para o Magento, mapeadas por CNPJ.
  3. O Magento atualiza o Shared Catalog do cliente correspondente.
  4. O cliente acessa o portal B2B e já vê os preços corretos.

Esse fluxo parece simples, mas cada passo tem armadilhas. O mapeamento entre o código de cliente no ERP e o Company Account no Magento precisa estar correto. A frequência de sincronização precisa ser compatível com a velocidade das negociações comerciais. E os erros de importação precisam ser capturados antes de chegar ao front-end do cliente.

Implementações mal feitas resultam em clientes vendo preços errados, pedidos gerados com valor incorreto e a equipe de operações corrigindo manualmente o que deveria ser automático.

Módulos customizados: quando o nativo não basta

O nativo do Magento 2 B2B resolve bem os casos estruturados. Quando a lógica de precificação é mais complexa, a customização é inevitável. Alguns exemplos reais que exigem desenvolvimento:

Preços por região e CNPJ: empresas que vendem para clientes em estados diferentes, com incidência tributária diferente, precisam de tabelas que combinem o CNPJ com a UF do endereço de entrega. O Magento nativo não faz isso sozinho.

Tabelas de preços por CNPJ

Preços com vigência: contratos B2B frequentemente têm validade. Um preço negociado vale até o fim do trimestre, depois volta ao preço de tabela. Isso exige lógica de data de expiração nos preços customizados.

Aprovação em múltiplos níveis: algumas operações B2B têm pedidos que precisam de aprovação do gerente de contas antes de serem processados. O Magento tem um módulo de aprovação de pedidos, mas integrá-lo com regras de preço exige desenvolvimento adicional.

Histórico de preços auditável: para clientes regulados ou com controles internos rigorosos, é necessário registrar qual tabela de preços estava vigente no momento de cada pedido, não apenas o preço final.

Erros comuns em implementações B2B

A Trezo acompanha implementações Magento B2B em setores com dinâmicas comerciais bastante diferentes. Alguns padrões de erro aparecem repetidamente:

Grupos de clientes usados como substituto de Shared Catalogs: é tentador usar os Customer Groups para simular tabelas de preços, porque é mais simples de configurar. O resultado é uma estrutura que funciona no início e fica incontrolável quando o número de grupos cresce.

Importação de preços sem validação: arquivos CSV importados diretamente para o catálogo sem rotina de validação geram preços zerados ou negativos em produção. Acontece com mais frequência do que deveria.

Shared Catalogs sem critério de segmentação: criar um catálogo por cliente, sem uma lógica clara de segmentação, resulta em dezenas ou centenas de catálogos com uma sobreposição de regras que ninguém consegue auditar depois.

Falta de ambiente de staging para testar preços: alterações de tabela de preços testadas diretamente em produção. Clientes veem preços incorretos durante a janela de publicação.

Como estruturar a precificação B2B de forma sustentável

A recomendação é partir de uma taxonomia de clientes antes de configurar qualquer coisa no Magento. As perguntas certas são:

  • Quantos perfis de precificação existem de fato no negócio?
  • Esses perfis são estáveis ou mudam com frequência?
  • Quem tem permissão para alterar preços de um cliente específico?
  • Com que frequência os preços são renegociados?
  • O ERP é a fonte ou o Magento é a fonte?

Com essas respostas, é possível definir a arquitetura de Shared Catalogs e Customer Groups com critério. A regra geral é: menos catálogos com regras claras são melhores do que muitos catálogos com exceções empilhadas.

Para operações que precisam de flexibilidade alta, o padrão mais robusto é um catálogo base por segmento (distribuidoras, representantes, grandes contas) com uma camada de Customer-Specific Prices para as exceções negociadas. Isso mantém o volume de catálogos gerenciável e ainda permite personalização individual onde necessário.

O papel do time comercial na gestão de preços

Uma implementação bem-feita permite que o time comercial gerencie preços sem abrir um ticket para desenvolvimento. Isso muda a dinâmica operacional de forma significativa.

No Magento 2 B2B, o painel de administração pode ser configurado com papéis de acesso restritos: o gerente de contas vê apenas os clientes da sua carteira, tem permissão para editar preços dentro de uma faixa predefinida e não acessa configurações de sistema. Isso reduz o risco de erro e elimina o gargalo de TI para ajustes de preço rotineiros.

Essa autonomia comercial é um dos critérios que empresas B2B mais valorizam em portais de compra. O cliente fecha uma negociação com o representante e espera ver o preço atualizado no portal no dia seguinte. Quando isso funciona, o portal B2B deixa de ser um sistema e passa a ser parte do relacionamento comercial.

Operações B2B com precificação complexa precisam de uma plataforma que sustente essa complexidade sem exigir que o time de TI esteja envolvido em cada ajuste. A Trezo tem experiência em implementações Magento B2B em setores com dinâmicas comerciais distintas: distribuidoras, indústrias com rede de representantes e empresas com contratos de preço negociados individualmente. Se você está estruturando ou revisando a gestão de preços no seu portal B2B, fale com nossos especialistas.

FAQ – Perguntas Frequentes

O Magento 2 Open Source tem suporte a tabelas de preços por CNPJ?

O Magento 2 Open Source tem recursos básicos de Customer Groups e Tier Prices, mas não inclui o módulo B2B nativo com Shared Catalogs e Company Accounts. Para operações B2B com precificação por CNPJ, é preciso customizar o Open Source com módulos de terceiros ou desenvolvimento próprio.

Qual é a melhor forma de sincronizar tabelas de preços entre o ERP e o Magento?

A integração via API REST do Magento é a abordagem mais flexível e confiável para sincronização de preços. O ERP envia as tabelas via chamadas à API, e o Magento atualiza os Shared Catalogs ou Customer-Specific Prices correspondentes. Integrações por importação de CSV são possíveis, mas exigem validação rigorosa para evitar erros em produção.

É possível ter preços diferentes para o mesmo CNPJ dependendo da filial ou do endereço de entrega?

O Magento 2 nativo não oferece precificação por endereço de entrega dentro do mesmo Company Account. Essa lógica exige desenvolvimento customizado, que mapeia o endereço de entrega selecionado no checkout e aplica a tabela de preços correspondente antes de calcular o pedido.