{"id":20834,"date":"2026-09-02T05:32:50","date_gmt":"2026-09-02T05:32:50","guid":{"rendered":"https:\/\/dianapps.com\/blog\/?p=20834"},"modified":"2026-09-02T07:30:16","modified_gmt":"2026-09-02T07:30:16","slug":"salesforce-for-retail-ecommerce","status":"publish","type":"post","link":"https:\/\/dianapps.com\/blog\/salesforce-for-retail-ecommerce\/","title":{"rendered":"Salesforce for Retail &#038; Ecommerce: What to Build in 2026"},"content":{"rendered":"<p><b>Key Takeaways<\/b><span style=\"font-weight: 400;\">:\u00a0<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Salesforce Order Management already handles orders, returns, refunds, fulfilment and change orders, so rebuilding the core order model is usually unnecessary.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">B2C Commerce is separate from the Salesforce core, while B2B and D2C Commerce are native, making B2C integration a distinct development workstream.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Custom development is most valuable for clienteling apps, returns portals, complex promotions, POS and inventory integrations, marketplace workflows, and regional tax logic.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Salesforce Loyalty Management already provides standard loyalty objects, so building a custom points engine is generally unnecessary.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Retailers using Shopify or Magento can still use Salesforce Order Management behind the existing storefront instead of replacing it.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">POS and inventory integration can become the hardest technical challenge, particularly when the source system cannot provide truly real-time availability.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Keeping cardholder data outside Salesforce and using payment-gateway tokenization helps limit PCI DSS scope.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Retail projects need to account for peak trading freezes, which can compress delivery timelines significantly.<\/span><\/li>\n<\/ul>\n<blockquote><p><b>Quick Answer<\/b><span style=\"font-weight: 400;\">: Retailers should use Salesforce&#8217;s standard Order Management, Commerce and Loyalty capabilities as the foundation, then custom-build only where their workflows genuinely differ. The strongest development opportunities are clienteling, returns portals, complex pricing and promotions, POS and inventory integration, marketplace workflows and regional compliance. The key architectural decisions are understanding the B2C Commerce platform boundary, respecting the immutable Order model and designing inventory experiences around the latency the source system can actually support.<\/span><\/p><\/blockquote>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">Two things determine whether a retail Salesforce project goes well, and both get decided before anyone writes code<\/span><\/p>\n<p><b>The first:<\/b><span style=\"font-weight: 400;\"> Salesforce Order Management already ships one of the most complete data models on the platform &#8211; Order, Change Order, Order Summary, Fulfilment Order, returns, refunds and reshipments, all wired together. Rebuilding it is the expensive mistake in this sector.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The second and less well-known: B2C Commerce doesn\u2019t run on the Salesforce platform. It sits outside the core and connects through a Heroku application. B2B and D2C Commerce are native. That single fact changes every integration decision you\u2019ll make.<\/span><\/p>\n<h2><b>Where Standard Salesforce Stops for Retail<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">Sales Cloud assumes a salesperson working a pipeline. Retail assumes something structurally different: high-volume transactions with no salesperson involved, orders that change repeatedly after they\u2019re placed, inventory that exists somewhere else, and a customer whose identity is fragmented across web, store, app, and marketplace.<\/span><\/p>\n<p><b>Order Management and Commerce Cloud close most of that gap<\/b><span style=\"font-weight: 400;\"> &#8211; a complete order lifecycle, fulfilment routing, returns handling, and storefronts for B2B, D2C, and B2C.<\/span><\/p>\n<p><b>What they don\u2019t close<\/b><span style=\"font-weight: 400;\"> is your store operations, your promotion rules, your POS estate and whatever inventory system actually knows what\u2019s on the shelf. That\u2019s where development starts.<\/span><\/p>\n<h2><b>Don\u2019t Rebuild What Order Management Gives You<\/b><\/h2>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-20846\" src=\"https:\/\/dianapps.com\/blog\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-1-2026-11_11_28-PM.png\" alt=\"Three-column comparison showing what is already standard in Salesforce Order Management, what should be extended and what genuinely needs custom building\" width=\"1671\" height=\"941\" srcset=\"https:\/\/dianapps.com\/blog\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-1-2026-11_11_28-PM.png 1671w, https:\/\/dianapps.com\/blog\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-1-2026-11_11_28-PM-1024x577.png 1024w, https:\/\/dianapps.com\/blog\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-1-2026-11_11_28-PM-768x432.png 768w, https:\/\/dianapps.com\/blog\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-1-2026-11_11_28-PM-1536x865.png 1536w\" sizes=\"auto, (max-width: 1671px) 100vw, 1671px\" \/><\/p>\n<p><i><span style=\"font-weight: 400;\">Three-column comparison showing what is already standard in Salesforce Order Management, what should be extended and what genuinely needs custom building<\/span><\/i><\/p>\n<p><b>Loyalty Management is standard too<\/b><span style=\"font-weight: 400;\"> &#8211; Loyalty Program, Member, Tier, Ledger, Promotion. Building a custom points engine is a recurring and expensive error in this sector.<\/span><\/p>\n<p><b>Product, Price Book, Promotion, and Store data all have standard homes.<\/b><span style=\"font-weight: 400;\"> Almost everything a retailer lists as \u201cwe\u2019ll need a custom object for\u2026\u201d exists somewhere.<\/span><\/p>\n<p><b>The honest exception:<\/b><span style=\"font-weight: 400;\"> genuinely unusual commercial models &#8211; marketplace and dropship with complex settlement, subscription-plus-physical hybrids or franchise structures with separate legal entities. Those are architect conversations.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Those unusual commercial models are ultimately an architecture decision. Understanding the difference between a <\/span><a href=\"https:\/\/dianapps.com\/blog\/salesforce-admin-vs-developer-vs-architect\/\"><span style=\"font-weight: 400;\">Salesforce admin, developer, and architect<\/span><\/a><span style=\"font-weight: 400;\"> helps determine whether the requirement can be configured or needs custom engineering and architectural design.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Related: <\/span><span style=\"font-weight: 400;\">the Salesforce data model explained<\/span><span style=\"font-weight: 400;\"> \u00b7 <\/span><span style=\"font-weight: 400;\">configuration vs customization<\/span><\/p>\n<h2><b>The Order Lifecycle: Never Modify the Order<\/b><\/h2>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-20848\" src=\"https:\/\/dianapps.com\/blog\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-1-2026-11_13_03-PM.png\" alt=\"Diagram showing Order flowing to Order Summary, Fulfilment Order and Change Order, with the rule that Orders are immutable after activation\" width=\"1691\" height=\"930\" srcset=\"https:\/\/dianapps.com\/blog\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-1-2026-11_13_03-PM.png 1691w, https:\/\/dianapps.com\/blog\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-1-2026-11_13_03-PM-1024x563.png 1024w, https:\/\/dianapps.com\/blog\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-1-2026-11_13_03-PM-768x422.png 768w, https:\/\/dianapps.com\/blog\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-1-2026-11_13_03-PM-1536x845.png 1536w, https:\/\/dianapps.com\/blog\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-1-2026-11_13_03-PM-640x352.png 640w, https:\/\/dianapps.com\/blog\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-1-2026-11_13_03-PM-400x220.png 400w\" sizes=\"auto, (max-width: 1691px) 100vw, 1691px\" \/><\/p>\n<p><i><span style=\"font-weight: 400;\">Diagram showing Order flowing to Order Summary, Fulfilment Order and Change Order, with the rule that Orders are immutable after activation<\/span><\/i><\/p>\n<p><b>This is the design pattern that trips up developers arriving from other commerce platforms.<\/b><\/p>\n<p><span style=\"font-weight: 400;\">In most systems, an order record gets updated as things change. In Salesforce Order Management, it doesn\u2019t. The <\/span><b>Order<\/b><span style=\"font-weight: 400;\"> captures customer intent and becomes immutable once activated. Every subsequent change &#8211; cancellation, return, refund, reshipment, discount adjustment &#8211; creates a <\/span><b>Change Order<\/b><span style=\"font-weight: 400;\">. The <\/span><b>Order Summary<\/b><span style=\"font-weight: 400;\"> is the hub that aggregates everything into a single current-state view.<\/span><\/p>\n<p><b>Why it\u2019s designed that way:<\/b><span style=\"font-weight: 400;\"> you get an immutable audit trail of what was ordered and everything that happened afterwards, which matters for finance reconciliation and dispute handling.<\/span><\/p>\n<p><b>Why it causes problems:<\/b><span style=\"font-weight: 400;\"> a developer who writes directly to the Order object breaks the model, and the symptoms appear later as reconciliation failures rather than immediate errors.<\/span><\/p>\n<p><b>Two flows do the heavy lifting<\/b><span style=\"font-weight: 400;\"> &#8211; Create Order Summary generates summaries from the original order and Create Fulfilment Order kicks off the shipping process and pushes to your WMS. Understand both before customising anything in the order lifecycle.<\/span><\/p>\n<h2><b>B2C Commerce Isn\u2019t On the Salesforce Platform<\/b><\/h2>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-20850\" src=\"https:\/\/dianapps.com\/blog\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-1-2026-11_14_29-PM.png\" alt=\"Comparison showing B2C Commerce as a separate platform connected via Heroku versus B2B and D2C Commerce running natively on the Salesforce core\" width=\"1536\" height=\"1024\" srcset=\"https:\/\/dianapps.com\/blog\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-1-2026-11_14_29-PM.png 1536w, https:\/\/dianapps.com\/blog\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-1-2026-11_14_29-PM-1024x683.png 1024w, https:\/\/dianapps.com\/blog\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-1-2026-11_14_29-PM-768x512.png 768w, https:\/\/dianapps.com\/blog\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-1-2026-11_14_29-PM-640x427.png 640w, https:\/\/dianapps.com\/blog\/wp-content\/uploads\/2026\/09\/ChatGPT-Image-Sep-1-2026-11_14_29-PM-400x267.png 400w\" sizes=\"auto, (max-width: 1536px) 100vw, 1536px\" \/><\/p>\n<p><i><span style=\"font-weight: 400;\">Comparison showing B2C Commerce as a separate platform connected via Heroku versus B2B and D2C Commerce running natively on the Salesforce core<\/span><\/i><\/p>\n<p><b>B2C Commerce lives outside the Salesforce core.<\/b><span style=\"font-weight: 400;\"> It\u2019s connected by an out-of-the-box Heroku application that brings orders into Salesforce. It has its own data model, its own admin, and its own development model.<\/span><\/p>\n<p><b>B2B and D2C Commerce are native.<\/b><span style=\"font-weight: 400;\"> They share the management app, components, commerce services and data model with the rest of the platform. Orders are created directly in Salesforce.<\/span><\/p>\n<p><b>What this means practically:<\/b><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>B2C integration is a genuine workstream,<\/b><span style=\"font-weight: 400;\"> not configuration. Anyone quoting it as a connector switch-on hasn\u2019t built one.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Customer identity resolution<\/b><span style=\"font-weight: 400;\"> across B2C and CRM is a real design problem &#8211; see <\/span><span style=\"font-weight: 400;\">Data 360<\/span><span style=\"font-weight: 400;\">.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>The skill sets differ.<\/b><span style=\"font-weight: 400;\"> B2C Commerce development (SFRA, PWA Kit, now Storefront Next) is a different discipline from Apex and LWC. A generalist Salesforce developer is not automatically a B2C Commerce developer.<\/span><\/li>\n<\/ul>\n<p><b>Also worth knowing:<\/b> <b>Storefront Next<\/b><span style=\"font-weight: 400;\"> is now the recommended storefront for Commerce Cloud, replacing the older SFRA and PWA Kit approaches for new builds. If a partner is scoping SFRA for a greenfield storefront, ask why.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Related: <\/span><span style=\"font-weight: 400;\">Salesforce integration guide<\/span><\/p>\n<h2><b>Commerce Cloud or Build on Core?<\/b><\/h2>\n\n<table id=\"tablepress-296\" class=\"tablepress tablepress-id-296\">\n<thead>\n<tr class=\"row-1\">\n\t<td class=\"column-1\"><\/td><td class=\"column-2\"><\/td><td class=\"column-3\"><\/td>\n<\/tr>\n<\/thead>\n<tbody class=\"row-striping row-hover\">\n<tr class=\"row-2\">\n\t<td class=\"column-1\"><\/td><td class=\"column-2\">Commerce Cloud + OMS<\/td><td class=\"column-3\">Sales\/Service Cloud + custom<\/td>\n<\/tr>\n<tr class=\"row-3\">\n\t<td class=\"column-1\">Order lifecycle<\/td><td class=\"column-2\">Complete and standard<\/td><td class=\"column-3\">Large custom build you maintain<\/td>\n<\/tr>\n<tr class=\"row-4\">\n\t<td class=\"column-1\">Fulfilment routing<\/td><td class=\"column-2\">Standard, with agentic routing<\/td><td class=\"column-3\">Custom logic<\/td>\n<\/tr>\n<tr class=\"row-5\">\n\t<td class=\"column-1\">Returns and refunds<\/td><td class=\"column-2\">Standard<\/td><td class=\"column-3\">Custom objects and workflow<\/td>\n<\/tr>\n<tr class=\"row-6\">\n\t<td class=\"column-1\">Storefront<\/td><td class=\"column-2\">Provided<\/td><td class=\"column-3\">Not applicable - you\u2019d use another platform<\/td>\n<\/tr>\n<tr class=\"row-7\">\n\t<td class=\"column-1\">Loyalty<\/td><td class=\"column-2\">Loyalty Management, standard<\/td><td class=\"column-3\">Custom points engine<\/td>\n<\/tr>\n<tr class=\"row-8\">\n\t<td class=\"column-1\">Licence cost<\/td><td class=\"column-2\">Higher, often revenue-based<\/td><td class=\"column-3\">Lower per seat<\/td>\n<\/tr>\n<tr class=\"row-9\">\n\t<td class=\"column-1\">Build cost<\/td><td class=\"column-2\">Lower - configuration over construction<\/td><td class=\"column-3\">Substantially higher<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<!-- #tablepress-296 from cache -->\n<p><b>Where core Salesforce alone is genuinely fine:<\/b><span style=\"font-weight: 400;\"> a retailer whose ecommerce runs on Shopify or Magento and who wants Salesforce for service and marketing only. That\u2019s a common and sensible architecture &#8211; <\/span><b>Order Management can sit behind a non-Salesforce storefront<\/b><span style=\"font-weight: 400;\">, which is a point most Salesforce-partner content avoids making.<\/span><\/p>\n<p><b>Where it isn\u2019t:<\/b><span style=\"font-weight: 400;\"> anything needing a unified view across channels or complex post-purchase handling. Custom-building an order lifecycle is a multi-year commitment most retailers underestimate.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">For standard retail workflows, a configuration-first approach is usually more economical. <\/span><a href=\"https:\/\/dianapps.com\/blog\/salesforce-low-code-development-guide\/\"><span style=\"font-weight: 400;\">Salesforce low-code development<\/span><\/a><span style=\"font-weight: 400;\"> can handle much of this work while custom engineering is reserved for requirements that genuinely fall outside the platform&#8217;s standard capabilities.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Related: <\/span><span style=\"font-weight: 400;\">Salesforce customization cost<\/span><\/p>\n<div style=\"background: #EEF2FE; border: 1px solid #DBE2FB; border-radius: 14px; padding: 28px 32px; margin: 38px 0;\">\n<h4 style=\"color: #1b3fae; font-size: 22px; line-height: 1.3; font-weight: bold; margin: 0 0 10px;\"><span style=\"font-weight: 400;\"><b>Need to Build Salesforce for Retail?<\/b><\/span><\/h4>\n<p style=\"color: #4b5563; font-size: 16px; line-height: 1.6; margin: 0 0 22px;\"><span style=\"font-weight: 400;\">Map your Commerce Cloud order Management, POS, inventory, and storefront requirements before deciding what to configure, extend, or custom-build.<\/span><\/p>\n<p><a style=\"display: inline-block; background: #2563EB; color: #ffffff; text-decoration: none; font-size: 15px; font-weight: 600; padding: 13px 26px; border-radius: 8px;\" href=\"https:\/\/dianapps.com\/salesforce-development-services\">Salesforce Development Services<\/a><\/p>\n<\/div>\n<p>&nbsp;<\/p>\n<h2><b>What Retailers Actually Build<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">This is where Salesforce Development Services become valuable, extending Salesforce with the store experiences, promotion logic, returns workflows, POS and inventory integrations, and regional requirements that are specific to each retailer.<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Store Associate and Clienteling Apps:<\/b><span style=\"font-weight: 400;\"> Mobile tools for shop-floor staff &#8211; customer lookup, product availability, endless aisle ordering, appointment booking. Almost always custom, because store operations differ enormously.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Returns and exchange portals<\/b><span style=\"font-weight: 400;\">: Standard returns handling exists; the customer-facing experience around it usually doesn\u2019t match what a brand wants. More complex, multi-stage processes can use <\/span><a href=\"https:\/\/dianapps.com\/blog\/salesforce-flow-orchestration\/\"><span style=\"font-weight: 400;\">Salesforce Flow Orchestration<\/span><\/a><span style=\"font-weight: 400;\"> to coordinate steps across teams and systems.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Promotion And Pricing Logic:<\/b><span style=\"font-weight: 400;\"> Standard promotions cover common cases. Complex stacking rules, personalised offers and market-specific pricing usually need custom logic.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>POS And Inventory Middleware:<\/b><span style=\"font-weight: 400;\"> The integration that makes \u201cis it in stock in the Manchester store?\u201d answerable. Consistently the hardest technical problem in retail Salesforce.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Marketplace And Dropship Handling:<\/b><span style=\"font-weight: 400;\"> Multi-vendor fulfilment, settlement and returns across parties that aren\u2019t you.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Regional Tax And Compliance Logic:<\/b><span style=\"font-weight: 400;\"> Particularly for retailers selling across jurisdictions with different VAT, GST and consumer-rights regimes.<\/span><\/li>\n<\/ul>\n<div style=\"background: #EEF2FE; border: 1px solid #DBE2FB; border-radius: 14px; padding: 28px 32px; margin: 38px 0;\">\n<h4 style=\"color: #1b3fae; font-size: 22px; line-height: 1.3; font-weight: bold; margin: 0 0 10px;\"><span style=\"font-weight: 400;\"><b>Need Salesforce Developers for Retail?<\/b><\/span><\/h4>\n<p style=\"color: #4b5563; font-size: 16px; line-height: 1.6; margin: 0 0 22px;\"><span style=\"font-weight: 400;\">Add Salesforce development expertise for clienteling apps, returns portals, promotion logic, POS and inventory integrations, and custom commerce workflows.<\/span><\/p>\n<p><a style=\"display: inline-block; background: #2563EB; color: #ffffff; text-decoration: none; font-size: 15px; font-weight: 600; padding: 13px 26px; border-radius: 8px;\" href=\"https:\/\/dianapps.com\/hire-salesforce-developers\">Hire Salesforce Developers<\/a><\/p>\n<\/div>\n<p>&nbsp;<\/p>\n<h2><b>The Integration Surface<\/b><\/h2>\n\n<table id=\"tablepress-297\" class=\"tablepress tablepress-id-297\">\n<thead>\n<tr class=\"row-1\">\n\t<th class=\"column-1\">System<\/th><th class=\"column-2\">What flows<\/th><th class=\"column-3\">Watch for<\/th>\n<\/tr>\n<\/thead>\n<tbody class=\"row-striping row-hover\">\n<tr class=\"row-2\">\n\t<td class=\"column-1\">POS<\/td><td class=\"column-2\">Transactions, store inventory, customer identity<\/td><td class=\"column-3\">Store connectivity and offline behaviour<\/td>\n<\/tr>\n<tr class=\"row-3\">\n\t<td class=\"column-1\">Inventory \/ OMS<\/td><td class=\"column-2\">Availability, allocation, reservations<\/td><td class=\"column-3\">Real-time availability is the hard part<\/td>\n<\/tr>\n<tr class=\"row-4\">\n\t<td class=\"column-1\">Storefront (Shopify, Magento, B2C Commerce)<\/td><td class=\"column-2\">Orders, customers, products<\/td><td class=\"column-3\">B2C Commerce crosses a platform boundary<\/td>\n<\/tr>\n<tr class=\"row-5\">\n\t<td class=\"column-1\">ERP<\/td><td class=\"column-2\">Financials, product master, settlement<\/td><td class=\"column-3\">Product master alignment is a project<\/td>\n<\/tr>\n<tr class=\"row-6\">\n\t<td class=\"column-1\">Payment gateways<\/td><td class=\"column-2\">Authorisation, capture, refund<\/td><td class=\"column-3\">PCI DSS scope - keep card data out of Salesforce<\/td>\n<\/tr>\n<tr class=\"row-7\">\n\t<td class=\"column-1\">Marketing platforms<\/td><td class=\"column-2\">Consent, segments, engagement<\/td><td class=\"column-3\">Consent state must flow both ways<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<!-- #tablepress-297 from cache -->\n<p><b>Two Things Worth Calling Out:<\/b><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>PCI DSS Scope:<\/b><span style=\"font-weight: 400;\"> The cheapest way to stay compliant is to keep cardholder data out of Salesforce entirely &#8211; tokenise at the gateway and store only the token. Teams that store card data \u201ctemporarily\u201d for a business reason expand their audit scope substantially.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Real-Time Inventory.<\/b><span style=\"font-weight: 400;\"> Almost every retail Salesforce project promises accurate cross-channel availability, and almost every one discovers the inventory system can\u2019t provide it at the required latency. Establish what\u2019s actually possible before designing the customer experience around it.<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">Related: <\/span><span style=\"font-weight: 400;\">Salesforce API integration<\/span><span style=\"font-weight: 400;\"> \u00b7 <\/span><span style=\"font-weight: 400;\">Salesforce compliance and data security<\/span><\/p>\n<h2><b>What It Costs<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">Indicative bands, excluding licences:<\/span><\/p>\n\n<table id=\"tablepress-298\" class=\"tablepress tablepress-id-298\">\n<thead>\n<tr class=\"row-1\">\n\t<th class=\"column-1\">Build<\/th><th class=\"column-2\">Typical range<\/th>\n<\/tr>\n<\/thead>\n<tbody class=\"row-striping row-hover\">\n<tr class=\"row-2\">\n\t<td class=\"column-1\">Custom fields, layouts and record types<\/td><td class=\"column-2\">$5,000 \u2013 $18,000<\/td>\n<\/tr>\n<tr class=\"row-3\">\n\t<td class=\"column-1\">Fulfilment routing rules beyond standard<\/td><td class=\"column-2\">$15,000 \u2013 $45,000<\/td>\n<\/tr>\n<tr class=\"row-4\">\n\t<td class=\"column-1\">Returns or exchange portal<\/td><td class=\"column-2\">$30,000 \u2013 $85,000<\/td>\n<\/tr>\n<tr class=\"row-5\">\n\t<td class=\"column-1\">Store associate\/clienteling app<\/td><td class=\"column-2\">$45,000 \u2013 $130,000<\/td>\n<\/tr>\n<tr class=\"row-6\">\n\t<td class=\"column-1\">POS and inventory integration<\/td><td class=\"column-2\">$50,000 \u2013 $180,000<\/td>\n<\/tr>\n<tr class=\"row-7\">\n\t<td class=\"column-1\">B2C Commerce to CRM integration<\/td><td class=\"column-2\">$60,000 \u2013 $200,000+<\/td>\n<\/tr>\n<tr class=\"row-8\">\n\t<td class=\"column-1\">Complex promotion and pricing engine<\/td><td class=\"column-2\">$35,000 \u2013 $100,000<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<!-- #tablepress-298 from cache -->\n<p><b>Peak Trading Changes The Shape Of A Retail Project:<\/b><span style=\"font-weight: 400;\"> Most retailers have a code freeze from roughly October to January, which compresses the delivery year and makes September deadlines immovable in a way other industries don\u2019t experience. Plan the roadmap around it rather than discovering it in month three.<\/span><\/p>\n<h2><b>The Mistakes That Cost Most<\/b><\/h2>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Rebuilding the order data model.<\/b><span style=\"font-weight: 400;\"> The expensive one.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Writing directly to the Order object.<\/b><span style=\"font-weight: 400;\"> Breaks the Change Order model and surfaces later as reconciliation failures.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Treating B2C Commerce integration as configuration.<\/b><span style=\"font-weight: 400;\"> It crosses a platform boundary.<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li aria-level=\"1\"><b>Promising real-time inventory the source system can\u2019t deliver.<\/b><\/li>\n<\/ul>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Storing card data in Salesforce.<\/b><span style=\"font-weight: 400;\"> Expands PCI scope for no good reason.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Building a custom loyalty points engine.<\/b><span style=\"font-weight: 400;\"> Loyalty Management exists.<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li aria-level=\"1\"><b>Ignoring peak trading freeze in the delivery plan.<\/b><\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<h2><b>Where to Go Next<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">For the integration surface, <\/span><span style=\"font-weight: 400;\">Salesforce integration<\/span><span style=\"font-weight: 400;\"> and <\/span><span style=\"font-weight: 400;\">Salesforce API integration<\/span><span style=\"font-weight: 400;\">.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">For unifying customer identity across channels, <\/span><span style=\"font-weight: 400;\">Data 360<\/span><span style=\"font-weight: 400;\">.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">For the build decision, <\/span><span style=\"font-weight: 400;\">configuration vs customization<\/span><span style=\"font-weight: 400;\"> and <\/span><a href=\"https:\/\/dianapps.com\/blog\/custom-salesforce-development-benefits\/\"><span style=\"font-weight: 400;\">custom Salesforce development<\/span><\/a><span style=\"font-weight: 400;\">.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">For budgeting, <\/span><span style=\"font-weight: 400;\">Salesforce customization cost<\/span><span style=\"font-weight: 400;\">.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">For PCI and privacy obligations, <\/span><span style=\"font-weight: 400;\">Salesforce compliance and data security<\/span><span style=\"font-weight: 400;\">.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The <\/span><a href=\"https:\/\/dianapps.com\/blog\/salesforce-development-guide\/\"><span style=\"font-weight: 400;\">complete Salesforce development guide<\/span><\/a><span style=\"font-weight: 400;\"> is the hub.<\/span><\/p>\n<h2><b>Before You Scope a Retail Build<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">Three questions change the shape of most retail Salesforce projects.<\/span><\/p>\n<p><b>What\u2019s already standard in Order Management<\/b><\/p>\n<p><span style=\"font-weight: 400;\">Usually more than the scope assumes.<\/span><\/p>\n<p><b>Is your storefront on the Salesforce platform or not?<\/b><\/p>\n<p><span style=\"font-weight: 400;\">B2C Commerce crosses a boundary; B2B and D2C don\u2019t.<\/span><\/p>\n<p><b>What latency can your inventory system actually deliver?<\/b><\/p>\n<p><span style=\"font-weight: 400;\">It determines what the customer experience can honestly promise.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Getting the third one wrong produces the characteristic retail failure: a beautifully built experience showing stock levels nobody trusts.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">We\u2019re a certified Salesforce Consulting Partner with developers, architects, and consultants across the US, UK, Australia, Canada, UAE, and India.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">With POS, inventory, storefront, and ERP dependencies affecting delivery, an <\/span><a href=\"https:\/\/dianapps.com\/blog\/agile-methodology-in-salesforce\/\"><span style=\"font-weight: 400;\">Agile methodology in Salesforce<\/span><\/a><span style=\"font-weight: 400;\"> can help break the implementation into controlled releases while working backward from peak-trading freeze dates.<\/span><\/p>\n<div style=\"background: #EEF2FE; border: 1px solid #DBE2FB; border-radius: 14px; padding: 28px 32px; margin: 38px 0;\">\n<h4 style=\"color: #1b3fae; font-size: 22px; line-height: 1.3; font-weight: bold; margin: 0 0 10px;\"><span style=\"font-weight: 400;\"><b>Ready to Scope Your Retail Salesforce Build?<\/b><\/span><\/h4>\n<p style=\"color: #4b5563; font-size: 16px; line-height: 1.6; margin: 0 0 22px;\"><span style=\"font-weight: 400;\">Tell us what Order Management already covers, where your storefront sits, and what your inventory and integration architecture needs to support.<\/span><\/p>\n<p><a style=\"display: inline-block; background: #2563EB; color: #ffffff; text-decoration: none; font-size: 15px; font-weight: 600; padding: 13px 26px; border-radius: 8px;\" href=\"https:\/\/dianapps.com\/contact\">Talk to Our Salesforce Team<\/a><\/p>\n<\/div>\n<style>.elementor-20835 .elementor-element.elementor-element-2932a52{text-align:left;}.elementor-20835 .elementor-element.elementor-element-2932a52 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-20835 .elementor-element.elementor-element-0b767d1 .elementor-tab-title{border-width:1px;border-color:#00000014;}.elementor-20835 .elementor-element.elementor-element-0b767d1 .elementor-tab-content{border-width:1px;border-bottom-color:#00000014;}.elementor-20835 .elementor-element.elementor-element-0b767d1 > .elementor-widget-container{margin:0px 0px 0px 0px;}<\/style><div class=\"porto-block elementor elementor-20835\">\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-27707ca elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"27707ca\" data-element_type=\"section\">\r\n\t\t\t\r\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\r\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-0163611\" data-id=\"0163611\" data-element_type=\"column\">\r\n\r\n\t\t\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\r\n\t\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-03a2969 elementor-widget elementor-widget-text-editor\" data-id=\"03a2969\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<style>\/*! elementor - v3.14.0 - 26-06-2023 *\/\n.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:#69727d;color:#fff}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap{color:#69727d;border:3px solid;background-color:transparent}.elementor-widget-text-editor:not(.elementor-drop-cap-view-default) .elementor-drop-cap{margin-top:8px}.elementor-widget-text-editor:not(.elementor-drop-cap-view-default) .elementor-drop-cap-letter{width:1em;height:1em}.elementor-widget-text-editor .elementor-drop-cap{float:left;text-align:center;line-height:1;font-size:50px}.elementor-widget-text-editor .elementor-drop-cap-letter{display:inline-block}<\/style>\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2932a52 elementor-widget elementor-widget-heading\" data-id=\"2932a52\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<style>\/*! elementor - v3.14.0 - 26-06-2023 *\/\n.elementor-heading-title{padding:0;margin:0;line-height:1}.elementor-widget-heading .elementor-heading-title[class*=elementor-size-]>a{color:inherit;font-size:inherit;line-height:inherit}.elementor-widget-heading .elementor-heading-title.elementor-size-small{font-size:15px}.elementor-widget-heading .elementor-heading-title.elementor-size-medium{font-size:19px}.elementor-widget-heading .elementor-heading-title.elementor-size-large{font-size:29px}.elementor-widget-heading .elementor-heading-title.elementor-size-xl{font-size:39px}.elementor-widget-heading .elementor-heading-title.elementor-size-xxl{font-size:59px}<\/style><h2 class=\"elementor-heading-title elementor-size-large\">FAQs <\/h2>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0b767d1 elementor-widget elementor-widget-toggle\" data-id=\"0b767d1\" data-element_type=\"widget\" data-widget_type=\"toggle.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<style>\/*! elementor - v3.14.0 - 26-06-2023 *\/\n.elementor-toggle{text-align:left}.elementor-toggle .elementor-tab-title{font-weight:700;line-height:1;margin:0;padding:15px;border-bottom:1px solid #d5d8dc;cursor:pointer;outline:none}.elementor-toggle .elementor-tab-title .elementor-toggle-icon{display:inline-block;width:1em}.elementor-toggle .elementor-tab-title .elementor-toggle-icon svg{-webkit-margin-start:-5px;margin-inline-start:-5px;width:1em;height:1em}.elementor-toggle .elementor-tab-title .elementor-toggle-icon.elementor-toggle-icon-right{float:right;text-align:right}.elementor-toggle .elementor-tab-title .elementor-toggle-icon.elementor-toggle-icon-left{float:left;text-align:left}.elementor-toggle .elementor-tab-title .elementor-toggle-icon .elementor-toggle-icon-closed{display:block}.elementor-toggle .elementor-tab-title .elementor-toggle-icon .elementor-toggle-icon-opened{display:none}.elementor-toggle .elementor-tab-title.elementor-active{border-bottom:none}.elementor-toggle .elementor-tab-title.elementor-active .elementor-toggle-icon-closed{display:none}.elementor-toggle .elementor-tab-title.elementor-active .elementor-toggle-icon-opened{display:block}.elementor-toggle .elementor-tab-content{padding:15px;border-bottom:1px solid #d5d8dc;display:none}@media (max-width:767px){.elementor-toggle .elementor-tab-title{padding:12px}.elementor-toggle .elementor-tab-content{padding:12px 10px}}.e-con-inner>.elementor-widget-toggle,.e-con>.elementor-widget-toggle{width:var(--container-widget-width);--flex-grow:var(--container-widget-flex-grow)}<\/style>\t\t<div class=\"elementor-toggle\">\n\t\t\t\t\t\t\t<div class=\"elementor-toggle-item\">\n\t\t\t\t\t<h3 id=\"elementor-tab-title-1201\" class=\"elementor-tab-title\" data-tab=\"1\" role=\"button\" aria-controls=\"elementor-tab-content-1201\" aria-expanded=\"false\">\n\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon elementor-toggle-icon-left\" aria-hidden=\"true\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon-closed\"><i class=\"fas fa-caret-right\"><\/i><\/span>\n\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon-opened\"><i class=\"elementor-toggle-icon-opened fas fa-caret-up\"><\/i><\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-toggle-title\" tabindex=\"0\">Should I build custom objects for orders and returns?<\/a>\n\t\t\t\t\t<\/h3>\n\n\t\t\t\t\t<div id=\"elementor-tab-content-1201\" class=\"elementor-tab-content elementor-clearfix\" data-tab=\"1\" role=\"region\" aria-labelledby=\"elementor-tab-title-1201\"><p><span style=\"font-weight: 400;\">No, Salesforce Order Management provides Order, Change Order, Order Summary, Order Product Summary, Fulfilment Order and returns handling as standard objects, already wired together with the flows that create them. It\u2019s one of the most complete data models Salesforce ships.<\/span><\/p><\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<div class=\"elementor-toggle-item\">\n\t\t\t\t\t<h3 id=\"elementor-tab-title-1202\" class=\"elementor-tab-title\" data-tab=\"2\" role=\"button\" aria-controls=\"elementor-tab-content-1202\" aria-expanded=\"false\">\n\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon elementor-toggle-icon-left\" aria-hidden=\"true\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon-closed\"><i class=\"fas fa-caret-right\"><\/i><\/span>\n\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon-opened\"><i class=\"elementor-toggle-icon-opened fas fa-caret-up\"><\/i><\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-toggle-title\" tabindex=\"0\">Why can\u2019t I just update the Order record?<\/a>\n\t\t\t\t\t<\/h3>\n\n\t\t\t\t\t<div id=\"elementor-tab-content-1202\" class=\"elementor-tab-content elementor-clearfix\" data-tab=\"2\" role=\"region\" aria-labelledby=\"elementor-tab-title-1202\"><p><span style=\"font-weight: 400;\">Because Orders are immutable once activated. Every downstream change &#8211; cancellation, return, refund, reshipment &#8211; creates a Change Order, and the Order Summary aggregates the current state. Writing directly to the Order breaks the model, and the symptoms appear later as reconciliation failures.<\/span><\/p><\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<div class=\"elementor-toggle-item\">\n\t\t\t\t\t<h3 id=\"elementor-tab-title-1203\" class=\"elementor-tab-title\" data-tab=\"3\" role=\"button\" aria-controls=\"elementor-tab-content-1203\" aria-expanded=\"false\">\n\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon elementor-toggle-icon-left\" aria-hidden=\"true\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon-closed\"><i class=\"fas fa-caret-right\"><\/i><\/span>\n\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon-opened\"><i class=\"elementor-toggle-icon-opened fas fa-caret-up\"><\/i><\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-toggle-title\" tabindex=\"0\">Is B2C Commerce part of the Salesforce platform?<\/a>\n\t\t\t\t\t<\/h3>\n\n\t\t\t\t\t<div id=\"elementor-tab-content-1203\" class=\"elementor-tab-content elementor-clearfix\" data-tab=\"3\" role=\"region\" aria-labelledby=\"elementor-tab-title-1203\"><p><span style=\"font-weight: 400;\">No, and this catches people out. B2C Commerce runs outside the Salesforce core and connects through an out-of-the-box Heroku application. B2B and D2C Commerce are native, sharing the data model and services with the rest of the platform.<\/span><\/p><\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<div class=\"elementor-toggle-item\">\n\t\t\t\t\t<h3 id=\"elementor-tab-title-1204\" class=\"elementor-tab-title\" data-tab=\"4\" role=\"button\" aria-controls=\"elementor-tab-content-1204\" aria-expanded=\"false\">\n\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon elementor-toggle-icon-left\" aria-hidden=\"true\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon-closed\"><i class=\"fas fa-caret-right\"><\/i><\/span>\n\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon-opened\"><i class=\"elementor-toggle-icon-opened fas fa-caret-up\"><\/i><\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-toggle-title\" tabindex=\"0\">Can I use Salesforce Order Management with Shopify or Magento?<\/a>\n\t\t\t\t\t<\/h3>\n\n\t\t\t\t\t<div id=\"elementor-tab-content-1204\" class=\"elementor-tab-content elementor-clearfix\" data-tab=\"4\" role=\"region\" aria-labelledby=\"elementor-tab-title-1204\"><p><span style=\"font-weight: 400;\">Yes, Order Management can sit behind a non-Salesforce storefront, which is a common and sensible architecture for retailers who want Salesforce for service, loyalty and post-purchase without replacing an ecommerce platform that works.<\/span><\/p><\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<div class=\"elementor-toggle-item\">\n\t\t\t\t\t<h3 id=\"elementor-tab-title-1205\" class=\"elementor-tab-title\" data-tab=\"5\" role=\"button\" aria-controls=\"elementor-tab-content-1205\" aria-expanded=\"false\">\n\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon elementor-toggle-icon-left\" aria-hidden=\"true\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon-closed\"><i class=\"fas fa-caret-right\"><\/i><\/span>\n\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon-opened\"><i class=\"elementor-toggle-icon-opened fas fa-caret-up\"><\/i><\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-toggle-title\" tabindex=\"0\">Do I need to build a loyalty points engine?<\/a>\n\t\t\t\t\t<\/h3>\n\n\t\t\t\t\t<div id=\"elementor-tab-content-1205\" class=\"elementor-tab-content elementor-clearfix\" data-tab=\"5\" role=\"region\" aria-labelledby=\"elementor-tab-title-1205\"><p><span style=\"font-weight: 400;\">No, Loyalty Management provides Loyalty Program, Member, Tier, Ledger and Promotion objects as standard. Custom development is usually the accrual and redemption rules on top, not the underlying model.<\/span><\/p><\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<div class=\"elementor-toggle-item\">\n\t\t\t\t\t<h3 id=\"elementor-tab-title-1206\" class=\"elementor-tab-title\" data-tab=\"6\" role=\"button\" aria-controls=\"elementor-tab-content-1206\" aria-expanded=\"false\">\n\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon elementor-toggle-icon-left\" aria-hidden=\"true\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon-closed\"><i class=\"fas fa-caret-right\"><\/i><\/span>\n\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon-opened\"><i class=\"elementor-toggle-icon-opened fas fa-caret-up\"><\/i><\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-toggle-title\" tabindex=\"0\">How do I handle PCI DSS with Salesforce?<\/a>\n\t\t\t\t\t<\/h3>\n\n\t\t\t\t\t<div id=\"elementor-tab-content-1206\" class=\"elementor-tab-content elementor-clearfix\" data-tab=\"6\" role=\"region\" aria-labelledby=\"elementor-tab-title-1206\"><p><span style=\"font-weight: 400;\">Keep cardholder data out of Salesforce. Tokenise at the payment gateway and store only the token. Storing card data in Salesforce, even temporarily, expands your audit scope substantially for very little benefit.<\/span><\/p><\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<div class=\"elementor-toggle-item\">\n\t\t\t\t\t<h3 id=\"elementor-tab-title-1207\" class=\"elementor-tab-title\" data-tab=\"7\" role=\"button\" aria-controls=\"elementor-tab-content-1207\" aria-expanded=\"false\">\n\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon elementor-toggle-icon-left\" aria-hidden=\"true\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon-closed\"><i class=\"fas fa-caret-right\"><\/i><\/span>\n\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon-opened\"><i class=\"elementor-toggle-icon-opened fas fa-caret-up\"><\/i><\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-toggle-title\" tabindex=\"0\">What is Storefront Next?<\/a>\n\t\t\t\t\t<\/h3>\n\n\t\t\t\t\t<div id=\"elementor-tab-content-1207\" class=\"elementor-tab-content elementor-clearfix\" data-tab=\"7\" role=\"region\" aria-labelledby=\"elementor-tab-title-1207\"><p><span style=\"font-weight: 400;\">Salesforce\u2019s current recommended storefront for Commerce Cloud, replacing the older SFRA and PWA Kit approaches for new builds. If a partner is scoping SFRA for a greenfield storefront, ask why.<\/span><\/p><\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<div class=\"elementor-toggle-item\">\n\t\t\t\t\t<h3 id=\"elementor-tab-title-1208\" class=\"elementor-tab-title\" data-tab=\"8\" role=\"button\" aria-controls=\"elementor-tab-content-1208\" aria-expanded=\"false\">\n\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon elementor-toggle-icon-left\" aria-hidden=\"true\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon-closed\"><i class=\"fas fa-caret-right\"><\/i><\/span>\n\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon-opened\"><i class=\"elementor-toggle-icon-opened fas fa-caret-up\"><\/i><\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-toggle-title\" tabindex=\"0\">How much does Salesforce development for retail cost?<\/a>\n\t\t\t\t\t<\/h3>\n\n\t\t\t\t\t<div id=\"elementor-tab-content-1208\" class=\"elementor-tab-content elementor-clearfix\" data-tab=\"8\" role=\"region\" aria-labelledby=\"elementor-tab-title-1208\"><p><span style=\"font-weight: 400;\">Individual builds range from around $5,000 for configuration to $200,000 or more for B2C Commerce integration. Store associate apps typically run $45,000\u2013$130,000 and POS integration $50,000\u2013$180,000. Peak trading freezes compress the delivery year, which affects sequencing more than cost.<\/span><\/p><\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t<script type=\"application\/ld+json\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@type\":\"FAQPage\",\"mainEntity\":[{\"@type\":\"Question\",\"name\":\"Should I build custom objects for orders and returns?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"<p><span style=\\\"font-weight: 400;\\\">No, Salesforce Order Management provides Order, Change Order, Order Summary, Order Product Summary, Fulfilment Order and returns handling as standard objects, already wired together with the flows that create them. It\\u2019s one of the most complete data models Salesforce ships.<\\\/span><\\\/p>\"}},{\"@type\":\"Question\",\"name\":\"Why can\\u2019t I just update the Order record?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"<p><span style=\\\"font-weight: 400;\\\">Because Orders are immutable once activated. Every downstream change &#8211; cancellation, return, refund, reshipment &#8211; creates a Change Order, and the Order Summary aggregates the current state. Writing directly to the Order breaks the model, and the symptoms appear later as reconciliation failures.<\\\/span><\\\/p>\"}},{\"@type\":\"Question\",\"name\":\"Is B2C Commerce part of the Salesforce platform?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"<p><span style=\\\"font-weight: 400;\\\">No, and this catches people out. B2C Commerce runs outside the Salesforce core and connects through an out-of-the-box Heroku application. B2B and D2C Commerce are native, sharing the data model and services with the rest of the platform.<\\\/span><\\\/p>\"}},{\"@type\":\"Question\",\"name\":\"Can I use Salesforce Order Management with Shopify or Magento?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"<p><span style=\\\"font-weight: 400;\\\">Yes, Order Management can sit behind a non-Salesforce storefront, which is a common and sensible architecture for retailers who want Salesforce for service, loyalty and post-purchase without replacing an ecommerce platform that works.<\\\/span><\\\/p>\"}},{\"@type\":\"Question\",\"name\":\"Do I need to build a loyalty points engine?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"<p><span style=\\\"font-weight: 400;\\\">No, Loyalty Management provides Loyalty Program, Member, Tier, Ledger and Promotion objects as standard. Custom development is usually the accrual and redemption rules on top, not the underlying model.<\\\/span><\\\/p>\"}},{\"@type\":\"Question\",\"name\":\"How do I handle PCI DSS with Salesforce?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"<p><span style=\\\"font-weight: 400;\\\">Keep cardholder data out of Salesforce. Tokenise at the payment gateway and store only the token. Storing card data in Salesforce, even temporarily, expands your audit scope substantially for very little benefit.<\\\/span><\\\/p>\"}},{\"@type\":\"Question\",\"name\":\"What is Storefront Next?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"<p><span style=\\\"font-weight: 400;\\\">Salesforce\\u2019s current recommended storefront for Commerce Cloud, replacing the older SFRA and PWA Kit approaches for new builds. If a partner is scoping SFRA for a greenfield storefront, ask why.<\\\/span><\\\/p>\"}},{\"@type\":\"Question\",\"name\":\"How much does Salesforce development for retail cost?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"<p><span style=\\\"font-weight: 400;\\\">Individual builds range from around $5,000 for configuration to $200,000 or more for B2C Commerce integration. Store associate apps typically run $45,000\\u2013$130,000 and POS integration $50,000\\u2013$180,000. Peak trading freezes compress the delivery year, which affects sequencing more than cost.<\\\/span><\\\/p>\"}}]}<\/script>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/section>\r\n\t\t<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Key Takeaways:\u00a0 Salesforce Order Management already handles orders, returns, refunds, fulfilment and change orders, so rebuilding the core order model is usually unnecessary. B2C Commerce is separate from the Salesforce core, while B2B and D2C Commerce are native, making B2C integration a distinct development workstream. Custom development is most valuable for clienteling apps, returns portals, [&hellip;]<\/p>\n","protected":false},"author":15,"featured_media":20852,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_yoast_wpseo_meta-robots-noindex":"","_yoast_wpseo_meta-robots-nofollow":"","_yoast_wpseo_canonical":"","_yoast_wpseo_opengraph-title":"Salesforce for Retail & Ecommerce: What to Build in 2026","_yoast_wpseo_opengraph-description":"Know what retailers should build, extend, or avoid in Salesforce, covering Order Management, B2C Commerce, POS, inventory, loyalty, PCI DSS, and costs.","_yoast_wpseo_opengraph-image":"https:\/\/dianapps.com\/blog\/wp-content\/uploads\/2026\/09\/Untitled-design-2026-09-01T231055.426-1024x576.png","_yoast_wpseo_twitter-title":"","_yoast_wpseo_twitter-description":"","_yoast_wpseo_twitter-image":"","_wp_applaud_exclude":false,"footnotes":""},"categories":[85],"tags":[2678,2679],"class_list":["post-20834","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-salesforce","tag-salesforce-for-retail","tag-salesforce-for-retail-ecommerce"],"featured_image_src":{"landsacpe":["https:\/\/dianapps.com\/blog\/wp-content\/uploads\/2026\/09\/Untitled-design-2026-09-01T231055.426-1140x445.png",1140,445,true],"list":["https:\/\/dianapps.com\/blog\/wp-content\/uploads\/2026\/09\/Untitled-design-2026-09-01T231055.426-463x348.png",463,348,true],"medium":["https:\/\/dianapps.com\/blog\/wp-content\/uploads\/2026\/09\/Untitled-design-2026-09-01T231055.426-300x169.png",300,169,true],"full":["https:\/\/dianapps.com\/blog\/wp-content\/uploads\/2026\/09\/Untitled-design-2026-09-01T231055.426.png",1536,864,false]},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Salesforce for Retail &amp; Ecommerce: What to Build in 2026<\/title>\n<meta name=\"description\" content=\"Know what retailers should build, extend, or avoid in Salesforce, covering Order Management, B2C Commerce, POS, inventory, loyalty, PCI DSS, and costs.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/dianapps.com\/blog\/salesforce-for-retail-ecommerce\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Salesforce for Retail &amp; Ecommerce: What to Build in 2026\" \/>\n<meta property=\"og:description\" content=\"Know what retailers should build, extend, or avoid in Salesforce, covering Order Management, B2C Commerce, POS, inventory, loyalty, PCI DSS, and costs.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/dianapps.com\/blog\/salesforce-for-retail-ecommerce\/\" \/>\n<meta property=\"og:site_name\" content=\"Learn About Digital Transformation &amp; Development | DianApps Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-09-02T05:32:50+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-02T07:30:16+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/dianapps.com\/blog\/wp-content\/uploads\/2026\/09\/Untitled-design-2026-09-01T231055.426.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1536\" \/>\n\t<meta property=\"og:image:height\" content=\"864\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Vaibhav Sharma\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Vaibhav Sharma\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Salesforce for Retail & Ecommerce: What to Build in 2026","description":"Know what retailers should build, extend, or avoid in Salesforce, covering Order Management, B2C Commerce, POS, inventory, loyalty, PCI DSS, and costs.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/dianapps.com\/blog\/salesforce-for-retail-ecommerce\/","og_locale":"en_US","og_type":"article","og_title":"Salesforce for Retail & Ecommerce: What to Build in 2026","og_description":"Know what retailers should build, extend, or avoid in Salesforce, covering Order Management, B2C Commerce, POS, inventory, loyalty, PCI DSS, and costs.","og_url":"https:\/\/dianapps.com\/blog\/salesforce-for-retail-ecommerce\/","og_site_name":"Learn About Digital Transformation &amp; Development | DianApps Blog","article_published_time":"2026-09-02T05:32:50+00:00","article_modified_time":"2026-09-02T07:30:16+00:00","og_image":[{"width":1536,"height":864,"url":"https:\/\/dianapps.com\/blog\/wp-content\/uploads\/2026\/09\/Untitled-design-2026-09-01T231055.426.png","type":"image\/png"}],"author":"Vaibhav Sharma","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Vaibhav Sharma","Est. reading time":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/dianapps.com\/blog\/salesforce-for-retail-ecommerce\/#article","isPartOf":{"@id":"https:\/\/dianapps.com\/blog\/salesforce-for-retail-ecommerce\/"},"author":{"name":"Vaibhav Sharma","@id":"https:\/\/dianapps.com\/blog\/#\/schema\/person\/e0ee1e2a6cfb8681a3cc69154f8d8bcf"},"headline":"Salesforce for Retail &#038; Ecommerce: What to Build in 2026","datePublished":"2026-09-02T05:32:50+00:00","dateModified":"2026-09-02T07:30:16+00:00","mainEntityOfPage":{"@id":"https:\/\/dianapps.com\/blog\/salesforce-for-retail-ecommerce\/"},"wordCount":1844,"commentCount":0,"image":{"@id":"https:\/\/dianapps.com\/blog\/salesforce-for-retail-ecommerce\/#primaryimage"},"thumbnailUrl":"https:\/\/dianapps.com\/blog\/wp-content\/uploads\/2026\/09\/Untitled-design-2026-09-01T231055.426.png","keywords":["Salesforce for Retail","Salesforce for Retail &amp; Ecommerce"],"articleSection":["Salesforce"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/dianapps.com\/blog\/salesforce-for-retail-ecommerce\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/dianapps.com\/blog\/salesforce-for-retail-ecommerce\/","url":"https:\/\/dianapps.com\/blog\/salesforce-for-retail-ecommerce\/","name":"Salesforce for Retail & Ecommerce: What to Build in 2026","isPartOf":{"@id":"https:\/\/dianapps.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/dianapps.com\/blog\/salesforce-for-retail-ecommerce\/#primaryimage"},"image":{"@id":"https:\/\/dianapps.com\/blog\/salesforce-for-retail-ecommerce\/#primaryimage"},"thumbnailUrl":"https:\/\/dianapps.com\/blog\/wp-content\/uploads\/2026\/09\/Untitled-design-2026-09-01T231055.426.png","datePublished":"2026-09-02T05:32:50+00:00","dateModified":"2026-09-02T07:30:16+00:00","author":{"@id":"https:\/\/dianapps.com\/blog\/#\/schema\/person\/e0ee1e2a6cfb8681a3cc69154f8d8bcf"},"description":"Know what retailers should build, extend, or avoid in Salesforce, covering Order Management, B2C Commerce, POS, inventory, loyalty, PCI DSS, and costs.","breadcrumb":{"@id":"https:\/\/dianapps.com\/blog\/salesforce-for-retail-ecommerce\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/dianapps.com\/blog\/salesforce-for-retail-ecommerce\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/dianapps.com\/blog\/salesforce-for-retail-ecommerce\/#primaryimage","url":"https:\/\/dianapps.com\/blog\/wp-content\/uploads\/2026\/09\/Untitled-design-2026-09-01T231055.426.png","contentUrl":"https:\/\/dianapps.com\/blog\/wp-content\/uploads\/2026\/09\/Untitled-design-2026-09-01T231055.426.png","width":1536,"height":864,"caption":"Salesforce for Retail and Ecommerce"},{"@type":"BreadcrumbList","@id":"https:\/\/dianapps.com\/blog\/salesforce-for-retail-ecommerce\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/dianapps.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Salesforce for Retail &#038; Ecommerce: What to Build in 2026"}]},{"@type":"WebSite","@id":"https:\/\/dianapps.com\/blog\/#website","url":"https:\/\/dianapps.com\/blog\/","name":"Learn About Digital Transformation &amp; Development | DianApps Blog","description":"Dianapps","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/dianapps.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/dianapps.com\/blog\/#\/schema\/person\/e0ee1e2a6cfb8681a3cc69154f8d8bcf","name":"Vaibhav Sharma","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/dianapps.com\/blog\/wp-content\/uploads\/2026\/07\/cropped-Vaibhav-Sharma-Salesforce-Specialist-96x96.jpg","url":"https:\/\/dianapps.com\/blog\/wp-content\/uploads\/2026\/07\/cropped-Vaibhav-Sharma-Salesforce-Specialist-96x96.jpg","contentUrl":"https:\/\/dianapps.com\/blog\/wp-content\/uploads\/2026\/07\/cropped-Vaibhav-Sharma-Salesforce-Specialist-96x96.jpg","caption":"Vaibhav Sharma"},"description":"A Salesforce specialist with over 15 years in the field, Vaibhav Sharma has built his career at the intersection of CRM strategy and enterprise transformation. As the driving force behind Salesforce innovation at DianApps, he architects solutions across Sales Cloud, Service Cloud, and Experience Cloud that turn fragmented customer data into unified growth engines. His work spans a 360-degree perspective in BFSI, healthcare, and retail, where he's known for engineering platforms that don't just go live, they move revenue and retention numbers. Vaibhav's edge lies in reading where Salesforce is headed next, from AI-powered automation, AgentExchange to Agentforce, and translating that foresight into roadmaps enterprise leaders can act on today.","url":"https:\/\/dianapps.com\/blog\/author\/vaibhav-sharma\/"}]}},"_links":{"self":[{"href":"https:\/\/dianapps.com\/blog\/wp-json\/wp\/v2\/posts\/20834","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dianapps.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dianapps.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dianapps.com\/blog\/wp-json\/wp\/v2\/users\/15"}],"replies":[{"embeddable":true,"href":"https:\/\/dianapps.com\/blog\/wp-json\/wp\/v2\/comments?post=20834"}],"version-history":[{"count":5,"href":"https:\/\/dianapps.com\/blog\/wp-json\/wp\/v2\/posts\/20834\/revisions"}],"predecessor-version":[{"id":20854,"href":"https:\/\/dianapps.com\/blog\/wp-json\/wp\/v2\/posts\/20834\/revisions\/20854"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dianapps.com\/blog\/wp-json\/wp\/v2\/media\/20852"}],"wp:attachment":[{"href":"https:\/\/dianapps.com\/blog\/wp-json\/wp\/v2\/media?parent=20834"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dianapps.com\/blog\/wp-json\/wp\/v2\/categories?post=20834"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dianapps.com\/blog\/wp-json\/wp\/v2\/tags?post=20834"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}