Por que a conectividade não pode mais ser desculpa para perder vendas
Imagine um representante comercial percorrendo uma rota de quarenta pontos de venda em uma única manhã. Ele chega a um supermercado de bairro em uma região onde o sinal 4G oscila entre inexistente e frustrante. Precisa registrar um pedido de reabastecimento, aplicar uma promoção regional vigente e fechar a visita antes de partir para o próximo cliente. Sem conexão, o pedido simplesmente não aconteceria — ou pior, seria anotado em um caderno de papel para ser digitado horas depois, com os erros que esse tipo de retrabalho sempre carrega.
É exatamente esse cenário que o Consumer Goods Cloud Offline Mobile App resolve. A Salesforce atualizou o aplicativo em 24 de junho de 2026 no Google Play, trazendo correções de bugs e melhorias de estabilidade para uma ferramenta que já é peça central na estratégia de execução de varejo para empresas de bens de consumo. Mas o app em si é apenas a ponta do iceberg. Por trás dele existe um framework completo de modelagem no VS Code, um motor de precificação centena-perfeita (penny perfect pricing), e a capacidade de capturar pedidos de clientes diretos e indiretos — tudo isso funcionando sem depender de uma única barra de sinal.
Neste artigo, vamos dissecar como o Order Capture offline funciona na prática, como o Penny Perfect Pricing calcula preços com precisão de centavos mesmo sem conexão, e como desenvolvedores podem estender o framework usando Apex e Lightning Web Components.
O Consumer Goods Cloud Offline Mobile App por dentro
O aplicativo offline do Consumer Goods Cloud não é simplesmente um wrapper mobile da interface do Salesforce. Ele é uma plataforma de software completa, construída sobre um framework proprietário que a Salesforce mantém e atualiza a cada release principal do produto. O que isso significa na prática é que o app tem seu próprio ciclo de vida, suas próprias camadas de sincronização, e um modelo de customização que passa obrigatoriamente pelo VS Code Based Modeler for Consumer Goods Cloud.
O Modeler é onde a mágica acontece do ponto de vista técnico. Em vez de customizar a interface do app diretamente no Salesforce Setup, os desenvolvedores trabalham dentro do VS Code, usando um conjunto de arquivos de configuração e metadados que definem desde a aparência dos componentes até a lógica de negócio que roda offline. Esse modelo garante que as customizações sejam versionáveis, testáveis e portáveis entre orgs — algo que qualquer equipe de DevOps vai reconhecer como fundamental.
A sincronização entre o dispositivo e o Salesforce org segue um padrão de sync bidirecional. Quando o representante está offline, todos os dados coletados — visitas, pedidos, observações, fotos de execução de display — ficam armazenados localmente no dispositivo em uma camada de banco offline. No momento em que a conectividade é restabelecida, o app dispara um processo de sync que envia os dados para o org e recebe de volta quaisquer atualizações que tenham ocorrido enquanto o dispositivo estava desconectado.
Order Capture offline: pedidos sem depender da nuvem
A funcionalidade de Order Capture no modo offline é talvez o recurso de maior impacto comercial do Consumer Goods Cloud. Com a atualização mais recente, clientes diretos e indiretos podem registrar pedidos completamente offline, com precificação orientada por promoções e regras de preço configuradas centralmente no Salesforce.
O fluxo funciona assim: o representante inicia uma visita a um ponto de venda, e o app carrega automaticamente os dados relevantes daquele cliente — histórico de compras, produtos disponíveis, promoções ativas, preços contratados. Tudo isso já foi sincronizado previamente e está disponível localmente. O representante então adiciona produtos ao pedido, seleciona quantidades, e o motor de precificação offline entra em ação.
O que torna o Penny Perfect Pricing tão especial
O termo penny perfect pricing não é marketing. Ele descreve a capacidade do sistema de calcular o preço exato de um pedido — incluindo descontos promocionais, regras de tier, preços por canal, taxas embutidas e arredondamentos — com precisão até o último centavo, exatamente como o cálculo seria feito se estivesse online conectado ao Salesforce.
Isso é extraordinariamente complexo de implementar offline. A engine de precificação precisa replicar localmente toda a lógica de pricing rules que normalmente roda nos servidores da Salesforce, incluindo regras condicionais, heranças de promoção e cálculos em camadas. O resultado é que o representante vê na tela do dispositivo o preço final que o cliente vai pagar, com a mesma precisão que o sistema de back-office vai confirmar depois do sync.
Para empresas que operam com margens apertadas e volume alto de pedidos em campo, essa precisão não é um luxo — é a diferença entre fechar uma venda com confiança e descobrir depois que o preço estava errado.
VS Code Based Modeler: customizando o app offline
O framework do Consumer Goods Cloud Offline Mobile App é projetado para ser extensível. A Salesforce envia atualizações do framework em todos os releases principais do produto e também através de releases independentes do Consumer Goods Cloud Mobile App Framework. Isso significa que os desenvolvedores precisam estar atentos a mudanças que podem afetar suas customizações.
O Modeler no VS Code permite configurar e customizar praticamente todos os aspectos da interface e dos processos do app. Isso inclui a criação de picklist mappings para tradução de valores entre o modelo offline e o modelo de dados do Salesforce, configuração de idiomas para tradução, ativação de fins de semana na agenda de visitas, e a criação de plugins inteligentes que estendem o comportamento padrão.
A estrutura de um projeto no Modeler segue um padrão familiar para quem já trabalha com Salesforce DX. Você tem arquivos de configuração em XML e JSON que definem metadados do app, e pode usar ferramentas de linha de comando para fazer deploy das customizações entre ambientes de sandbox e produção.
Exemplo prático em Apex: processando ordens após sync
Quando um pedido é capturado offline e sincronizado com o Salesforce, ele chega como um registro que precisa ser processado. Vamos olhar um exemplo de uma classe Apex que processa ordens recém-sincronizadas, valida regras de negócio e dispara integrações downstream:
public class OrderCaptureProcessor {
@InvocableMethod(label='Process Offline Orders' description='Processes orders synced from CGC offline app')
public static void processOrders(List<Id> orderIds) {
List<Order> orders = [
SELECT Id, cgcloud__Order_Account__c, cgcloud__Phase__c, cgcloud__Gross_Total_Value__c,
(SELECT Id, cgcloud__Product__c, cgcloud__Quantity__c,
cgcloud__Price__c FROM cgcloud__Order_Item__c)
FROM cgcloud__Order__c
WHERE Id IN :orderIds
AND cgcloud__Document_Type__c = 'OrderEntry'
AND cgcloud__Release_Platform__c = 'Mobility'
];
List<Order> ordersToUpdate = new List<Order>();
for (Order ord : orders) {
// Valida se o pedido tem itens
if (ord.OrderItems.isEmpty()) {
ord.Status = 'Cancelled';
ord.Description = 'Pedido cancelado: sem itens.';
continue;
}
// Recalcula o total para validar o penny perfect pricing
Decimal recalculatedTotal = 0;
for (OrderItem item : ord.OrderItems) {
recalculatedTotal += item.Quantity * item.UnitPrice;
}
// Tolerância de 1 centavo para arredondamentos
if (Math.abs(recalculatedTotal - ord.TotalAmount) > 0.01) {
// Loga discrepância para revisão manual
insert new CGC_Pricing_Discrepancy_Log__c(
Order__c = ord.Id,
Expected_Total__c = recalculatedTotal,
Received_Total__c = ord.TotalAmount,
Source__c = 'Offline Sync'
);
continue;
}
ord.Status = 'Activated';
ordersToUpdate.add(ord);
}
if (!ordersToUpdate.isEmpty()) {
update ordersToUpdate;
// Dispara notificação para o time de logística
OrderNotificationService.notifyFulfillment(ordersToUpdate);
}
}
}Esse exemplo mostra um padrão que recomendo fortemente: sempre recalcular o total do pedido no servidor após o sync, mesmo que o Penny Perfect Pricing tenha feito o cálculo offline. A tolerância de um centavo para arredondamentos é uma salvaguarda prática que evita falsos positivos em discrepâncias insignificantes.
Exemplo em LWC: painel de status de sincronização
Um componente LWC que mostra o status de sincronização dos pedidos offline pode ser útil no console do gerente de vendas. Aqui está um exemplo:
// syncStatusPanel.js
import { LightningElement, wire, track } from 'lwc';
import { refreshApex } from '@salesforce/apex';
import getOfflineSyncStatus from '@salesforce/apex/OfflineSyncController.getSyncStatus';
export default class SyncStatusPanel extends LightningElement {
@track syncData;
@track isLoading = true;
wiredResult;
@wire(getOfflineSyncStatus)
wiredSync(response) {
this.wiredResult = response;
if (response.data) {
this.syncData = response.data;
this.isLoading = false;
} else if (response.error) {
console.error('Erro ao carregar status de sync:', response.error);
this.isLoading = false;
}
}
get pendingOrders() {
if (!this.syncData) return 0;
return this.syncData.pendingCount || 0;
}
get lastSyncLabel() {
if (!this.syncData || !this.syncData.lastSyncTime) {
return 'Nunca sincronizado';
}
return 'Última sync: ' + this.syncData.lastSyncTime;
}
handleRefresh() {
this.isLoading = true;
refreshApex(this.wiredResult);
}
}<!-- syncStatusPanel.html -->
<template>
<lightning-card title="Status de Sincronização Offline" icon-name="standard:offline">
<div class="slds-m-around_medium">
<template if:true={isLoading}>
<lightning-spinner alternative-text="Carregando..."></lightning-spinner>
</template>
<template if:false={isLoading}>
<div class="slds-grid slds-gutters">
<div class="slds-col">
<p class="slds-text-heading_medium">{pendingOrders}</p>
<p class="slds-text-body_small">Pedidos pendentes</p>
</div>
<div class="slds-col">
<p class="slds-text-body_regular">{lastSyncLabel}</p>
</div>
</div>
<lightning-button
label="Atualizar"
onclick={handleRefresh}
class="slds-m-top_small">
</lightning-button>
</template>
</div>
</lightning-card>
</template>Integração com Agentforce: o futuro do campo conectado
Com o Agentforce Mobile SDK anunciado no Summer ’26, surge uma possibilidade fascinante: embedder agentes de IA diretamente no fluxo de trabalho do representante de campo. Imagine um agente que, durante a visita offline, analisa o histórico de compras do ponto de venda e sugere produtos complementares baseados em padrões de compra de clientes similares.
A integração entre o Consumer Goods Cloud e o Agentforce ainda é um território em exploração, mas os blocos de construção já existem. O módulo lightning/accApi do LWC, que vai GA no Summer ’26, permite que componentes LWC abram e controlem o painel do Agentforce diretamente. Em uma versão futura do app offline, um botão “Sugerir Pedido” poderia disparar um agente que analisa o contexto da visita e propõe uma lista de produtos otimizada.
Impacto para empresas e desenvolvedores
Para empresas de bens de consumo, o Consumer Goods Cloud Offline representa uma mudança fundamental na forma como as equipes de campo operam. A capacidade de capturar pedidos com precificação precisa, sem depender de conectividade, remove o maior gargalo operacional do trade marketing. Representantes gastam menos tempo com retrabalho administrativo e mais tempo construindo relacionamento com os pontos de venda.
Para desenvolvedores, o framework oferece um terreno rico para customização. O VS Code Based Modeler é uma ferramenta poderosa que demanda aprendizado, mas que recompensa o investimento com a capacidade de moldar a experiência do app de forma profunda. A documentação oficial do Salesforce Help cobre desde a configuração inicial até cenários avançados como plugins customizados e extensões de lógica de negócio.
O requisito principal para ter sucesso com o app offline é entender que ele não é uma solução plug-and-play. Implementações bem-sucedidas exigem modelagem cuidadosa dos processos de negócio, configuração precisa das regras de pricing, e testes rigorosos dos fluxos de sincronização. Mas quando implementado corretamente, o retorno sobre investimento é mensurável em dias, não em meses.
Conclusão e próximos passos
O Consumer Goods Cloud Offline Mobile App continua evoluindo como uma das ferramentas mais importantes do portfólio de soluções verticais da Salesforce. A atualização de junho de 2026 pode trazer correções de bugs em vez de grandes novidades funcionais, mas isso não diminui a relevância do tema — pelo contrário, mostra que a Salesforce está refinando ativamente uma plataforma que já é madura.
Se você trabalha com Consumer Goods Cloud ou está avaliando a solução para sua empresa, recomendo três passos imediatos. Primeiro, baixe o app na Google Play Store e explore a interface para entender o que seus representantes vão usar no campo. Segundo, configure um ambiente de sandbox e instale o VS Code Based Modeler para experimentar as customizações. Terceiro, mapeie seus processos de pricing e promocionais antes de começar a implementar — a qualidade da sua configuração de Penny Perfect Pricing é o que vai determinar se seus pedidos offline chegam prontos para faturamento ou chegam com discrepâncias que exigem retrabalho.
E se você quiser se aprofundar nos aspectos técnicos do desenvolvimento no ecossistema Salesforce, confira nossos artigos sobre as novidades do Summer ’26 Release, incluindo as mudanças no Apex user-mode e os novos State Managers do LWC. O futuro do desenvolvimento Salesforce está cada vez mais agêntico, e as soluções verticais como o Consumer Goods Cloud são onde essa transformação encontra o mundo real do varejo.

