A structured reference for implementing Retail Execution in CGCloud — from the standard Base Model to the full Enhanced Model with offline mobile, territory management, and advanced orders.
SnackCo is a mid-size consumer goods company that distributes snacks and beverages across hundreds of retail stores (supermarkets, convenience stores, gas stations). They have a field sales team whose core job is to visit stores regularly to audit shelf presence, take replenishment orders, verify promotions, and ensure brand standards are met.
The question is: how do you implement this with CGCloud Retail Execution? This module walks through the same use case solved first with the Base Model — then shows how the Enhanced Model addresses the limitations.
This is the core workflow REX enables for a field rep in both models. The execution channel differs (online app vs offline mobile app) but the logical flow is the same.
The Base Model uses the standard CG Cloud data model built on native Salesforce objects. No managed package required beyond the CGCloud license. Field reps use the standard Salesforce mobile app or browser — an active internet connection is required at all times.
Each task type enables a different in-store activity. An assessment task definition holds name, description, category, and task type.
Core objects grouped by process: store master data, product catalog, visit execution, and KPI framework.
The Enhanced Model adds the Consumer Goods Cloud managed package on top of the base configuration. It introduces a new data model layer (harmonized objects + side-by-side objects), unlocking offline mobile, territory management, advanced orders, advanced promotions, and AI capabilities.
The CG Cloud Offline Mobile App is the cornerstone capability of the Enhanced Model. Field reps download their data at the start of day (sync), work completely offline in store, then sync again at end of day.
All Base Model objects plus the following (green = Enhanced-only):
Shows Enhanced-only objects (territory, advanced orders, advanced promotions, offline visits) and how they extend the base model relationships.
Side-by-side overview of both data models organized by functional domain. Green = Enhanced-only objects (requires managed package).
Same use case, different capabilities. The "When it matters" column explains the real-world implication for SnackCo's field force.
| Feature | Base | Enhanced | When it matters for SnackCo |
|---|---|---|---|
| Store visits (manual creation) | ✓ | ✓ | Available in both. Supervisor creates visits per store manually. |
| Action Plan Templates (task checklists) | ✓ | ✓ | Both models support reusable visit checklists with ordered tasks. |
| KPI tracking (Facing, OOS, Share of Shelf) | ✓ | ✓ | Available in both. KPIs defined at store group level, captured per visit. |
| Promotion management (basic) | ✓ | ✓ | Both support promotions linked to stores/products. Enhanced adds lifecycle. |
| Digital signature capture | ✓ | ✓ | Store manager signs off on orders in both models. |
| Planogram checks with photos | ✓ | ✓ | Field reps upload store photos and compare to reference planogram image. |
| Einstein Visit Recommendations | Basic | Advanced | Base model requires manual configuration. Enhanced has richer data inputs and AI-driven prioritization. |
| Offline mobile app | ✗ | ✓ | Critical if SnackCo reps visit convenience stores or rural locations without reliable connectivity. |
| GPS tracking on visits | ✗ | ✓ | Enhanced only (template-based advanced visits). Supervisors can verify reps visited the actual store. |
| Barcode scanning for orders | ✗ | ✓ | Reps scan product barcodes to add items to order — faster and less error-prone in noisy store environments. |
| Territory management | ✗ | ✓ | Essential if SnackCo has 50+ reps across multiple regions. Eliminates manual store-to-rep assignment. |
| Substitute rep assignment | ✗ | ✓ | When a rep is sick, a substitute inherits their customer accounts and visits for the day. No manual reassignment. |
| Trip lists (optimized routes) | ✗ | ✓ | Supervisor creates an optimized account/customer sequence for the day. Reduces drive time between accounts. |
| Penny Perfect Pricing | ✗ | ✓ | If SnackCo has different contract prices per retail chain (e.g., Walmart vs. 7-Eleven), exact pricing at order time is critical. |
| Authorization lists (listing modules) | ✗ | ✓ | Controls which SKUs each customer can order. Prevents reps from selling products not listed for a specific account. |
| Advanced Promotions / TPM (lifecycle) | ✗ | ✓ | If SnackCo's KAMs need to plan and approve promotions with defined phases and tactic tracking. |
| Master data editable from mobile | ✗ | ✓ | Reps can update store contact info or ordering details in the field — syncs back to Salesforce at end of day. |
| CRM Analytics dashboards | ✗ | ✓ | Managers need compliance KPIs (OOS %, Facing %, Promotion compliance) across all stores without manual report building. |
| Agentforce AI (visit insights, suggestions) | ✗ | ✓ | AI-generated pre-visit briefings (what to focus on at this store) and product/promotion suggestions during the visit. |
| Asset management (coolers, displays) | ✗ | ✓ | If SnackCo places refrigerators or branded displays in stores, tracking their condition and audit history requires Enhanced. |
| Multi-market / Sales Org segmentation | ✗ | ✓ | If SnackCo operates in multiple countries or brands under one Salesforce org, Sales Org segregation is required. |
| Mobile app UI customization (VS Code Modeler) | ✗ | ✓ | Customize the mobile app UI, processes, and data sources using Design Contracts in VS Code. Enhanced Model only. |
Starting Spring '22, CG Cloud introduced a side-by-side architecture. The Base Model uses the existing UI flow. The Enhanced Model introduces the new UI flow. Both share the same Visit object and core data model, but have different business logic and UI layers.
Three tiers: standard Salesforce objects (no CG license needed), objects that come with the CG Cloud license (Base), and objects only available with the Enhanced managed package.
| Object | Model | What it stores / what it's for |
|---|---|---|
| Account | SF | Retail business partner — the chain or customer account that owns one or more stores. |
| Product2 | SF | One record per SKU / sellable unit. Tied to a Price Book for list price. |
| Pricebook2 / PricebookEntry | SF | Price list and per-product price. One PricebookEntry per product per price book. |
| Order / OrderItem | SF | Replenishment orders taken by the field rep at the store during a visit. |
| ActionPlanTemplate | SF | Reusable visit checklist framework. Contains ordered tasks for a given visit type. |
| Shipment | SF | Represents transport of inventory between locations (e.g., warehouse to store). |
| ProductItem | SF | Inventory assigned to a specific location. For a van, the van is a moving location. |
| ProductTransfer | SF | Represents a transfer of inventory between two locations (e.g., van to store shelf). |
| RetailStore | Base | The physical store — billing info, timezone, operating hours, preferred visit windows. |
| RetailLocationGroup | Base | Groups stores by size, region, or product type. KPI targets are set at this level, not per individual store. |
| InStoreLocation | Base | Specific location inside a store: aisle, endcap, checkout counter, refrigerator section. |
| StoreProduct | Base | Associates a product to a retail store or to a specific in-store location. |
| Assortment | Base | List of products eligible for sale at a store, store group, or account. |
| AssortmentProduct | Base | Junction: product ↔ assortment association. |
| StoreAssortment | Base | Associates an assortment to a store, store group, or account. |
| Promotion | Base | A campaign or targeted promotion. Has category, level (product/category), and method (discount, display, sampling). |
| PromotionChannel | Base | Associates a promotion to a store/group/account with validity dates and optional in-store location. |
| PromotionProduct | Base | Ties a promotion to a specific product SKU. |
| PromotionProductCategory | Base | Ties a promotion to a product category instead of a specific SKU. |
| AssessmentIndicatorDefinition | Base | Defines a KPI metric to capture (Facing, Share of Shelf, Out of Stock, Inventory, Price, Revenue). Data type: Number, Boolean, Decimal, Text, DateTime. |
| RetailStoreKpi | Base | Target value for an AID at a store group. Links store group + AID + product/promotion/planogram + expected value. |
| RetailVisitKpi | Base | Actual value captured during a visit. Auto-created when a rep submits a task. Stores actual vs target. |
| AssessmentTaskDefinition | Base | Template for a field task: name, description, category, type (Inventory Check, Planogram Check, Promotion Check, Order Creation, Survey, Custom). |
| AssessmentTask | Base | Instance of a task executed by a rep at a store during a visit. |
| AssessmentTaskIndDefinition | Base | Junction: associates an AssessmentTaskDefinition to an AssessmentIndicatorDefinition. |
| AssessmentTaskOrder | Base | Order activity linked to an assessment task — the actual order the rep creates during the visit. |
| AssessmentTaskContentDocument | Base | Junction object that associates content documents (photos, files) to visits, tasks, promotions, or planograms. |
| StoreActionPlanTemplate | Base | Associates an action plan template to a specific retail store. |
| Visit | Base | Core object — tracks each field rep visit to a retail store: scheduled time, actual time, status, assigned rep, associated tasks. |
| DeliveryTask | Base | Delivery task added to an action plan template — defines what products must be delivered during a visit. |
| OrgUnit | Enhanced | Organizational unit in the sales hierarchy (Country → Region → District → Team). Used for territory management and data segregation. |
| JobTemplate | Enhanced | Defines a type of advanced visit (e.g., "Standard Audit", "New Product Launch"). The advanced-model equivalent of ActionPlanTemplate. |
| JobDefinitionTemplate | Enhanced | Specifies the tasks and activities associated to a job template. Assigned to activity templates for modular composition. |
| ActivityTemplate | Enhanced | Script for an individual activity within a job. Contains the step-by-step instructions for a specific in-store task. |
| CustomerTask | Enhanced | Ad-hoc simple task created by a rep during a visit (e.g., "check refrigerator temperature", "meet store manager"). |
| CustomerTaskTemplate | Enhanced | Reusable template for creating customer tasks. Defined by the supervisor, used by reps in the field. |
| TripList | Enhanced | An optimized daily route. Supervisor defines the ordered sequence of customer accounts; rep follows it on the mobile app. |
| AuthorizationList | Enhanced | Defines which products a specific customer is authorized to order. Prevents reps from selling unlisted SKUs to an account. |
| ListingModule | Enhanced | Module that groups authorization lists. Used with advanced orders to control exactly what each customer can purchase. |
| AdvancedPromotion | Enhanced | Promotion with a full lifecycle: Planning → ForApproval → Committed. Supports lock status, copy, slogan, anchor customer, in-store date. |
| PromotionTactic | Enhanced | Individual tactic within an advanced promotion (e.g., "end-cap display", "price reduction", "sampling session") with its own products and targets. |