Radar
Arquitetura
Relevância
85
alta

Cotações de 15 mil linhas: o número é real, a meta de design não é

O teto de grandes transações sobe, mas capacidade máxima anunciada não é alvo de arquitetura.

Por Guilherme Dornelas01 de setembro de 20262 min de leitura
// Compartilhar
Guia · Parte 3 de 3
Revenue Cloud na Winter '27: movimento por movimento
Ver guia
Cotações de 15 mil linhas: o número é real, a meta de design não é

Pricing, regras de configuração, transformação de contexto e geração de documentos passam a suportar até 15 mil linhas. O número aproxima Revenue Management de telecom, high tech e manufatura. O ganho real depende de desenho de regras e estratégia assíncrona, não do endpoint.

Conteúdo de pré-release: as funcionalidades ainda podem mudar antes da disponibilidade geral, e licenças, permissões e etapas de ativação variam por edição. Separo sempre o que a Salesforce anunciou do que eu consegui observar direto na org.

Quando uma release anuncia “até 15 mil linhas”, existe um risco previsível: alguém transforma o teto em requisito. Deixo o aviso logo no começo: 15 mil linhas é capacidade máxima anunciada, não meta de design de toda cotação.

O que mudou

A release amplia a operação de grandes transações em quatro frentes que antes tinham tetos diferentes: pricing, regras de configuração, transformação de contexto e geração de documentos. Além do volume:

  • A sincronização de cotações grandes com oportunidades pode ocorrer sem bloquear o usuário.
  • recuperação de erros em vez de falha total do lote.
  • A reutilização automática de contexto reduz processamento redundante.

Esse terceiro ponto é o mais subestimado. Em cotações grandes, boa parte do custo não está no cálculo, está em remontar contexto a cada iteração.

Editor de linhas de cotação do Transaction Management
O editor de linhas do Transaction Management na página da quote, com as ações de Reprice All, Add Group e Create Ramp Schedule. Captura própria, Winter '27, API 68.0.
O editor de linhas do Transaction Management na página da quote, com as ações de Reprice All, Add Group e Create Ramp Schedule. Captura própria, Winter '27, API 68.0.

Por que importa

O teto aproxima Revenue Management de cenários em que bundles, sites, rampas e itens de consumo multiplicam o volume: telecom, high tech, manufatura e serviços complexos. São exatamente os setores em que o CPQ clássico quebrava e o cliente terminava com uma planilha paralela.

Como eu testaria antes de prometer

  • Teste em conjunto, não em partes. Pricing, configuração, documento e sync precisam ser medidos juntos. Um elo rápido não compensa outro saturado.
  • Cenários progressivos. 5 mil, 10 mil e 15 mil linhas, a curva importa mais que o pico.
  • Meça a experiência, não só o throughput. Tempo total, retries, volume de contexto e o que o vendedor sente na tela.

O que eu não consegui verificar

Sendo direto: as release notes classificam as capacidades de grandes transações como dependentes de setup do administrador. Na minha org de teste, vazia, sem massa transacional, consegui confirmar objetos e permissões, mas não executar um benchmark real de 15 mil linhas. Qualquer número de performance que você ler por aí sem teste funcional atrás é especulação.

Como preparar a org para cotações grandes, passo a passo

Pré-requisitos: org de pré-release Winter '27 com Agentforce Revenue Management habilitado, acesso ao Setup com Salesforce Go e perfil de administrador. Na minha org, os apps Product Catalog Management e Price Management já vinham provisionados; em org nova, confirme antes de avançar.

  1. Confira as release notes em preview. Abra a seção Large Transactions and Quote Processing nas release notes oficiais antes de configurar qualquer coisa, porque a Salesforce deixa explícito que os recursos podem mudar até a disponibilidade geral.
  2. Use o Salesforce Go no Setup. No Quick Find do Setup, procure Salesforce Go e localize os cards Agentforce for Revenue e Revenue Cloud, porque é ali que a release concentra descoberta e ativação guiada dessas capacidades.
  3. Habilite a sincronização assíncrona em Revenue Settings. No Quick Find do Setup, procure Revenue Settings e ative a opção de sincronizar cotações grandes com oportunidades, porque o texto oficial é claro: essa capacidade precisa ser habilitada tanto para cotações padrão quanto para as grandes.
  4. Valide as pricing procedures separadas. No app Price Management, abra Pricing Procedures e confirme se existe (ou crie) uma procedure dedicada a transações grandes, porque a release recomenda separar a lógica de precificação quando o volume de linhas exige comportamento diferente do padrão.
  5. Não configure o context reuse manualmente. Verifique no Object Manager os objetos ligados a Context Service, mas não procure um toggle para reutilização de contexto, porque a documentação afirma que esse recurso é habilitado automaticamente para transações grandes, sem etapa de setup.
  6. Prepare a geração de documentos para hierarquias grandes. Confirme no CLM Document Generation se os templates suportam bundles aninhados, porque o teto anunciado de 15 mil linhas vem junto com limites específicos de 1.000 bundles e 5 níveis de agrupamento.
  7. Trate erros de cálculo como parte do fluxo, não como exceção. Identifique o endpoint REST indicado nas release notes para alterar manualmente estados de cálculo travados para Failed, porque isso é o mecanismo oficial de recuperação em lotes grandes, e não um ajuste de UI.
  8. Teste em conjunto, nunca em partes isoladas. Monte um cenário progressivo com 5 mil, 10 mil e 15 mil linhas cobrindo pricing, configuração, documento e sync na mesma execução, porque um elo rápido isolado não revela gargalo em outro ponto da cadeia.

Como saber que funcionou: a sincronização da cotação grande com a oportunidade deve rodar em background sem travar a tela do vendedor, o Reprice All no editor de Transaction Management deve concluir sem timeout mesmo com milhares de linhas, e uma falha pontual de cálculo deve aparecer como estado recuperável via API, não como falha total do lote. Sendo direto, na minha org de pré-release, vazia e sem massa transacional, só consegui confirmar objetos e permissões, não um benchmark real nas 15 mil linhas.

O que ligar antes e o que pode quebrar

Antes de testar qualquer cenário de 15 mil linhas, confira dois toggles em Revenue Settings. O primeiro é Asynchronous Opportunity Sync, que precisa estar ativo tanto para cotações padrão quanto para grandes cotações antes de qualquer sync entre quote e oportunidade. O segundo é Large Transaction Processing, exigido para os algoritmos de lote melhorados e para o suporte a itens de linha aninhados. Sem os dois ligados, o comportamento de grandes transações simplesmente não aparece na org, e o teste vira ruído.

Ligado o toggle, falta a permissão. O texto oficial é explícito: usar essa capacidade exige a permissão Large Transaction atribuída ao usuário, não basta o toggle de org estar ativo.

Duas peças de automação mudam de comportamento sem aviso visual na UI.

  • A nova invocable action syncQuoteOpportunity sincroniza quote line items para opportunity line items em uma via só. Mudança em quote line item atualiza o opportunity line item correspondente, mas o inverso não acontece. Se algum flow espera propagação nos dois sentidos, ele quebra silenciosamente.
  • Para usar essa invocable action em um Flow Approval Process ou qualquer outra automação, o Asynchronous Opportunity Sync precisa estar ligado em Revenue Settings. Sem isso, a action fica disponível no flow mas não executa o sync esperado.

Se um cálculo travar em transação grande, a Connect REST API agora permite mover o estado preso para Failed manualmente, via recurso /connect/revenue/transaction-management/sales-transactions/actions/read com os novos parâmetros shouldReturnMetadataOnly e batchIndices. É a via de retry rápido quando o batch não recupera sozinho.

Pricing procedure separada para transações grandes não é automática. É preciso configurar explicitamente uma pricing procedure distinta quando a transação grande exige capacidades de pricing diferentes da padrão, o motor não infere isso sozinho.

Todas essas capacidades exigem licença Revenue Cloud Growth ou Revenue Cloud Advanced em edição Enterprise, Unlimited ou Developer. Confirme a licença antes de procurar o toggle, porque ele simplesmente não aparece sem ela.

Fontes oficiais

// Por que isso importa

Um número de capacidade máxima em release notes é fácil de confundir com meta de performance. Não é. Suportar 15 mil linhas em uma cotação significa que o sistema não trava nesse patamar, não que qualquer arquitetura chegue lá com a experiência que o negócio espera.

Para quem desenha soluções de Revenue Cloud em telecom, high tech e manufatura, essa distinção decide o projeto. São segmentos onde bundles complexos e catálogos profundos empurram o volume de linhas para cima com facilidade, e onde a tentação de tratar o teto anunciado como sinal verde para qualquer modelo de dados é real.

  • Processamento assíncrono deixa de ser otimização e vira pré-requisito de design em volumes altos.
  • Seletividade de contexto, ou seja, carregar e recalcular só o que mudou, é o que evita que pricing e regras de configuração se tornem o gargalo.
  • Ignorar essas duas frentes e confiar apenas no limite do release note é o caminho mais curto para um problema de performance em produção, meses depois do go-live.

Arquiteto que trata capacidade máxima como sinônimo de arquitetura pronta está terceirizando uma decisão técnica para uma nota de release. O trabalho continua sendo modelar fluxo de dados, definir onde processar de forma síncrona e onde empurrar para background, e testar sob carga real antes de assumir que o teto se aplica ao seu caso.

// Minha leitura

15 mil linhas por transação é o tipo de número que vira manchete e esconde a pergunta certa. A pergunta não é "quantas linhas o sistema aguenta", é "quantas linhas o seu modelo de dados aguenta sem degradar regras de preço, triggers e automações que você empilhou nos últimos três anos".

Todo aumento de teto na plataforma tem esse efeito colateral: ele é lido como convite. Alguém no negócio vê o número novo e assume que a arquitetura foi validada para operar naquele patamar como rotina. Não foi. Capacidade máxima é o limite que a engenharia da Salesforce testou para não quebrar o sistema. Não é a meta de performance que você deveria projetar para o seu produto.

Isso importa especialmente em Revenue Cloud e CPQ, onde é comum ver bundle nested, regras de configuração encadeadas e price rules disparando em cascata. Cada uma dessas camadas tem custo computacional que cresce de forma não linear com o volume de linhas. Rodar um teste de carga em 15 mil linhas com automação real ligada é uma experiência bem diferente de ler o número no release note.

Minha regra de arquitetura aqui é simples: teto anunciado define o que é tecnicamente possível, não o que é operacionalmente saudável. Se o seu design de solução depende de operar perto do limite máximo para funcionar, o problema não é o limite. É o design.

O que eu costumo fazer é o oposto do que a notícia sugere: uso o anúncio como gatilho para revisitar meus SLAs internos de tamanho de transação, não para relaxá-los. Se hoje minha meta de arquitetura é performance estável até 2 ou 3 mil linhas, o novo teto não muda essa meta. Só me dá mais margem de segurança para os picos que eu não previ.

// Como aplicar na prática

O número de 15 mil linhas é um limite testado pela engenharia da Salesforce em condições controladas. Não é uma promessa de que sua org vai performar bem nesse volume, e tratar isso como meta de arquitetura é o primeiro erro que eu vejo em projetos de Revenue Cloud e CPQ.

Na prática, o trabalho do arquiteto começa antes de qualquer teste de carga:

  1. Mapeie o volume real de uso: puxe dados históricos de cotações do cliente. Se 95% delas têm menos de 500 linhas, otimizar para 15 mil é esforço mal direcionado. Dimensione para o p95 do negócio, não para o teto do produto.
  2. Rode testes progressivos: monte cenários de 1k, 5k, 10k e 15k linhas medindo pricing, geração de documento, configuração de produto e sincronização em conjunto, não isoladamente. É a combinação desses processos rodando junto que derruba performance em produção.
  3. Instrumente observabilidade ponta a ponta: sem visibilidade de tempo de resposta em cada etapa (regras de preço, callouts, triggers, flows), você não vai saber onde está o gargalo quando o volume crescer. Configure isso antes de escalar, não depois do incidente.
  4. Isole a lógica customizada: regras de pricing customizadas, validações e automações são normalmente o gargalo real, não o motor nativo do Revenue Cloud. Audite o que roda por linha de cotação e questione cada peça que não é essencial.
  5. Documente o limite prático da sua org: depois dos testes, registre qual é o volume que sua implementação suporta com performance aceitável. Esse número, e não o do release notes, deve orientar decisões de produto e expectativa do time de vendas.

Arquitetura não se faz mirando na capacidade máxima anunciada. Se faz entendendo o comportamento real da sua solução sob a carga que o negócio de fato gera.

// Pontos de atenção
  • 15 mil linhas é teto de laboratório, não é SLA. Ninguém garante esse número na sua org com suas customizações, seus triggers e seu volume de regras de preço.
  • Capacidade máxima depende de setup do administrador. Se o time não configurar corretamente batch processing, índices e lazy loading, o comportamento em produção não chega nem perto do anunciado.
  • Automação síncrona em objetos de linha de cotação é o jeito mais rápido de destruir qualquer ganho de performance. Trigger mal escrito em Quote Line Item não fica mais rápido só porque a plataforma aguenta mais linhas.
  • Regras de preço complexas, price rules aninhadas e lookups cruzados escalam pior que o volume de linhas em si. O gargalo raramente é a quantidade, é a lógica em cima da quantidade.
  • Times de projeto costumam usar o número da release como justificativa para não revisitar arquitetura de dados existente. Isso é dívida técnica sendo empurrada com a barriga.
  • Teste de carga com dado sintético não reproduz comportamento real. Sem volume de produção, histórico de customização e concorrência de usuários, a validação é decorativa.
  • Aumento de teto não resolve UX. Usuário abrindo cotação de 15 mil linhas em tela ainda é experiência ruim, independente do backend aguentar.
// Radar Salesforce — Newsletter

Releases, Flow, Revenue Cloud e Agentforce — com leitura de arquiteto, direto no seu e-mail.

Curadoria editorial em PT-BR, sem repost de notícia. Você recebe contexto, “por que importa” e como aplicar — assinada por mim.

Sem spam. Cancele quando quiser, em 1 clique.

// Sem spam · cancele quando quiser