Skip to main content

#B2C Commerce20 discussing

Hi, I would like to AB test predictive sort versus our current sorting rule. What is the best way to set this up? Would love to receive some tips! Also, are we able to test this in the toolkit? For now I don't see any changes on staging after testing the predictive sorting rule.    

1 answer
0/9000

We’re a B2B company running Sales Cloud and Commerce Cloud only, no CPQ, Finance, or other ecosystem products.

  We design and manufacture goods plus work with vendors, and I’m trying to leverage Order Management objects directly in the sales process for our direct sales team.

  Here’s the workflow we’re building:

  • Opportunity closes,
  • Order gets created and validated with any additional line items like shipping or packaging.
  • Then we create Order Delivery Groups and assign products to them based on where they’re shipping from and to.
  • Once that’s locked in, we activate the Order, which triggers the Order Summary creation.
  • From there, we create either Fulfillment Orders or -Work Orders to handle picking or manufacturing.
  • When those complete, the Order Summary is complete and ready to ship, then we create Shipment record and shipment items.

My main questions: Is this a normal approach or am I going outside the intended use case? Will using Order Management this way conflict with our web store checkout process? Does this workflow actually make sense, or am I missing something fundamental?

  Everything’s working so far, but I want to validate this before we build too much on it. Cheers for any insights   

 

@* Sales Cloud - Best Practices *  @* Sales Cloud - Getting Started *  @* B2C Commerce * 

3 answers
  1. May 18, 3:46 PM

    Your workflow is logically sound and people do run OMS this way, but you're using it slightly against the grain of how it was originally designed. A few things worth pressure-testing before you build further:

    OMS's data model assumes Order Summaries originate from a Commerce storefront. Direct-sales Orders work, but Order Summary reprocessing (cancellations, partial returns, post-activation line edits) gets awkward because the flows assume a B2C return path. Map out your change-management scenarios early.

    Work Orders aren't natively integrated with the Fulfillment Order lifecycle the way picking/packing is. You can bridge it with flows, but the handoff between "manufacturing complete" and "fulfillment ready to ship" is custom territory — make sure someone owns that state machine.

    On the Commerce conflict question: yes, this is a real risk if both your direct orders and storefront orders feed the same fulfillment configuration. Order routing rules, inventory reservation, and shipment grouping can collide. The cleanest pattern I've seen is separate Order Delivery Group routing logic per channel, with a shared inventory layer underneath.

    Net: not outside the intended use case, but you're at the edge of it. Worth doing a proper architecture review before the customizations compound.

0/9000

Hello everyone, I just got my first Salesforce certificate (B2C Commerce Developer), and now I wanted to start studying for the B2C Commerce Architect exam (https://trailhead.salesforce.com/en/credentials/b2ccommercearchitect). On the exam guide they are suggesting me to study on the SFCC documentation (apart from the Trialhead academy courses), and I wanted to ask which are the areas of the documentation I should focus on?

 

Example: for the developer exam it was easy since I just needed to focus on the Developer and Merchandising part mostly.

 

#Developers #B2C Commerce #B2C Solution Architects #B2C Commerce Developer #B2C Developer Certification

6 answers
  1. Apr 27, 8:52 AM

    PassCertHub exam course guided my Salesforce B2C-Commerce-Architect preparation, and their support and materials played a key role in my success. 

0/9000

Hi Team, 

 

We have a requirement to extend the Customer Details view within the B2C Commerce Business Manager. Specifically, we need to add a custom tab (alongside "General," "Addresses," etc.) that will display records from a Custom Object filtered by the specific customer's CustomerNo. 

 

Our Questions: 

 

1. Is it possible to inject a custom tab into the Customer Profile interface using a Business Manager extension cartridge? 

 

2. Could you provide the official documentation link or a sample bm_extensions.xml structure that complies with current server schema requirements? 

 

3. Are there any known limitations regarding the use of JavaScript Controllers or ISML templates to render content within these custom tabs? 

 

Thank you for your guidance on the best practices for this implementation. 

 

Screenshot for your reference. 

Adding Custom Tabs to the Customer Profile Page in Business Manager for Commerce Cloud.

 

Regards, 

Harsh Chandra 

 

@* B2C Commerce *

 

 

#B2C Commerce

2 answers
  1. Apr 20, 1:24 PM

    Hi @Utkarsh Srivastava

     

    We have already created a Menu Action under a Menu Item within Merchant Tools. 

     

    However, the requirement is to display a new custom tab within the Customer detail page (alongside tabs like General, Addresses, etc.) when accessed from Merchant Tools. (As Shown in Image) 

     

    We reviewed the shared documentation but did not find a specific approach to achieve this. 

     

    Based on our understanding, adding a custom tab directly within the standard Customer detail page in Business Manager is not supported through standard extension mechanisms. Business Manager extensions allow adding menu items, actions, and modules, but not modifying the core layout of existing system pages such as adding new tabs.  

     

    Could you please confirm if the understanding is correct? If there is any alternative approach to achieve similar functionality (for example, through a custom module or separate page), we would appreciate your guidance. 

     

    Thanks 

    Harsh

0/9000

📢 【Trailhead Academyより新コースのご連絡】 

「B2C Commerce コンポーザブルストアフロントの開発」

 

Trailhead Academyより新しいコース開始のお知らせです。 

開発者向けに設計されたこの3日間のコースでは、コンポーザブルストアフロントを作成、設定、拡張し、顧客に高パフォーマンスのショッピング体験を提供する方法を学びます。

本コースの核となるのは、柔軟なUXを実現する「ヘッドレスコマース」の概念です。ReactやNode.js、JavaScriptといった汎用的なWeb開発スキルをそのまま活かせるため、Salesforce特有の知識がなくても、開発環境の構築や再利用可能なコンポーネントの実装に取り組みやすいことが特徴です。 

みなさまのご参加、お待ちしています。

 

コース名:

  • B2C Commerce コンポーザブルストアフロントの開発 (B2C201)

受講対象者:

  • B2C Commerce Cloud に精通し、レスポンシブなコンポーザブルストアフロントを実装したい開発者

次回開催日程:

  • 2026年5月20日-22日

詳細&お申し込みはこちら

 

@* カスタマーサクセス日本 *

 

#B2C Commerce

0/9000

Hi Community,  Looking for best practices / patterns.    Use case  We have partial cancellations/refunds. Some orders have order-level promotions where eligibility depends on product attribute-based qualifying rules.    Example configuration (BM):  - Order promotion: 20% off order  - Eligibility: order includes >=1 qualifying product  - Qualifying products: “Products with attribute tvType = '0020'”, qty >= 1  - Scenario: Customer buys A, B, C. Only C has tvType='0020', so promo applies. Later C is canceled. Then promo should be invalidated and discount removed (recalculate the remaining order total before determining refund delta).    Constraints confirmed by Support  - No supported Script API/OCAPI to retrieve the internal Promotion Rule logic (qualifying groups/attribute conditions) as a structured object.  - PromotionMgr.applyDiscounts() uses current system time only; no “as-of order date” parameter. So shadow basket recalculation at refund time may diverge from order-time rules if the promotion expired/changed.    What we considered  - getProratedPrice() works for refunding “what customer paid per line item”, but it doesn’t tell us whether an order-level promo “should still be valid” after cancellation (since we can’t re-evaluate as-of order time, nor retrieve rule logic).    Questions / Ask  1. If the business policy requires refunds based on order-time promotion rules (not refund-time active promos), what’s the recommended approach?  2. Do teams usually implement custom “snapshot” tracking at order placement?   e.g., store:  - applied promotion IDs/coupon codes  - qualifying basis (rule key / qualifying line item UUIDs / qualifying counts)  - allocation/adjustment amounts  3. Alternative approach: at order placement, simulate removal of each line item (or only those that can break eligibility) and store delta totals for accurate future partial refunds. Has anyone done this at scale?  4. Any recommended hooks/events for capturing this (SFRA/OCAPI flows), and storage pattern (Order custom attrs vs Custom Objects)?  5. Any gotchas with bonus products, multiple stackable promotions, shipping discounts, taxes, etc.?    Thanks in advance—happy to share findings back to the community.

@* B2C Commerce * 

1 answer
0/9000

I’m looking for suggestions for a customizable count down timer that we can display on our website. It would live on a page built using Page Designer.

 

Doing some online searching I’ve found some embeddable options, but when I use the HTML view of the text block component, any script in the embed code gets deleted so then it doesn’t work.

 

Thanks in advance for any help I can get!

7 answers
  1. Oct 8, 2025, 1:23 PM

    You won’t be able to run raw script tags inside Page Designer, since it strips them out. A simple workaround is to use a countdown timer that comes as an iframe embed (no script needed) or use a GIF/HTML block widget if your platform supports it. Some third-party tools like POWR, Elfsight, or TickCounter give you iframe code that works fine in Page Designer.

0/9000

Hi all, we have migrated out of salesforce commerce cloud and currently using another e-commerce platform. Currently, we are trying to configure the cloudflare CDN, which requires us to register our domain. However, our domain name has already "ZONE LOCKED" by our previous implementation with salesforce commerce cloud and in order for us to move forward, we have to request for the domain name to be "ZONE RELEASED" by the owner of previous cloudflare CDN. Apparently, we weren't the owner of the SFCC cloudflarae CDN, how do we proceed from here?   

1 answer
  1. Khyati Mehta (InfinySkills) Forum Ambassador
    Mar 13, 11:26 AM

    Hi Ilmi, 

     

    This usually happens when the previous SFCC implementation managed Cloudflare on your behalf, so the Cloudflare zone for your domain is still owned by that account. Because of that, when you try to add the domain in your own Cloudflare account it shows “Zone Locked”.

    In this situation, the domain owner needs to release or remove the zone from their Cloudflare account first. I’d recommend reaching out to your previous implementation partner or the Salesforce Commerce Cloud support team and requesting them to delete or release the Cloudflare zone for your domain. Once the zone is removed from their account, you should be able to add the domain to your own Cloudflare account and configure the CDN normally.

    If you’re unable to reach the previous owner, you can also contact Cloudflare support and provide proof of domain ownership, and they may assist with releasing the zone so you can proceed with the setup. Hope this helps!

0/9000

Currently, is the Salesforce database prepared to receive an alphanumeric CNPJ (Brazilian company tax ID)? Does it require any changes, or is it simply a "text" field?   

 

@* Salesforce Commerce for B2B & D2C * 

1 answer
0/9000

Hi Everyone,

I am currently exploring the Salesforce B2C Commerce Developer Sandbox REST APIs through Swagger UI.

Swagger URL: 

https://admin.dx.commercecloud.salesforce.com/#/

Most of the other APIs require authorization and display a lock icon. When clicking the Authorize button in Swagger, I see two OAuth options:

  1. AccountManager (OAuth2 implicit)    

    Requires: client_id

  2. ClientCredentials (OAuth2 application)    

    Requires: client_id and client_secret

The Swagger documentation also provides the following URLs:

Authorization URL: 

https://account.demandware.com/dwsso/oauth2/authorize

Token URL: 

https://account.demandware.com/dwsso/oauth2/access_token

Additionally, some APIs require parameters like:

  • realm (example: GET /realms/{realm}/system)
  • sandboxId
  • sandboxAlias

For example, sandbox-related APIs require values such as:

  • GET /sandboxes/{sandboxId}
  • GET /sandboxes/{sandboxAlias}

My Questions:

  1. From where do we obtain the client_id and client_secret required for authorization?
  2. How can we find the correct realm ID, sandboxId, and sandboxAlias for testing these APIs?
  3. Is there any recommended process to first retrieve these environment-specific values before testing sandbox-related APIs?

Any guidance on the correct authentication process and how to retrieve these values would be greatly appreciated.

Thanks in advance. 

 

@* Salesforce Commerce for B2B & D2C *

 

 

#B2C Commerce

1 answer
0/9000