Skip to main content

#Salesforce Revenue Cloud34 discussing

In salesforce revenue cloud. I am facing an issue in Cardinality. 

GrandParent Product(Bundle) -> Parent Product (Bundle) -> Child Product. 

I want the cardinality of all the 3 products via CML. 

Is there any possibility? 

 

 

#Salesforce Revenue Cloud  #Salesforce Developer  #Trailhead Challenges  #Trailhead  #TrailblazerCommunity

0/9000

Hi Everyone 

I am trying to create a product configuration rule that auto adds another product based on product selection in Bundle. 

i created successfully, but it is not triggering. 

My analysis:

 

PS assigned :-

 

Product configuration Rule Designer 

Product Configurator 

Rule Library:- 

Rule library is active and assigned custom context defination which is used in Pricing Procedure. 

Revenue Settings:-

 

Enabled

Set Up Configuration Rules with Business Rules Engine

 

Has anyone encountered this issue while following this Trailhead module? Could you please let me know what configuration I'm missing or what needs to be fixed?

Thanks in advance for your help! 

#Salesforce Revenue Cloud #Trailhead Challenges #Revenue Cloud

2 answers
  1. Yesterday, 6:04 AM

     Hi @Vishal Verma

    Thanks for your response. 

    I checked everything you mentioned, and all settings are in place. 

    I identified the issue: I had enabled “Transaction processing for quotes and orders” but had not selected a transaction type. 

    I resolved it by: 

    1. Creating a transaction type and selecting it under Revenue Settings.
    2. Creating a new quote, since only new quotes can be updated with a transaction type.
    3. Testing the rule, which worked as expected.
0/9000

If a user has already been uploaded and added to Spiff, can an admin permanently remove them from the system? 

I’d like to know if there is a way to fully delete a user rather than just deactivate or disable their access. 

 

#Salesforce Admin  #Salesforce Revenue Cloud  #Salesforcecommunity  #Salesforceadministrator  #Salesforce Developer

1 answer
  1. Sep 16, 12:25 PM

    Hi @Swati Malkar

     

     Yes, Salesforce Spiff provides an Archive User option, but it is different from permanently deleting a user.

    If a user has already been uploaded and added to Spiff, you can archive them by following these steps:

    1. Go to Admin → Users in Salesforce Spiff.
    2. Open the user’s profile.
    3. Click Edit.
    4. Deselect Make this user visible.
    5. Confirm Archive User and save.

    After archiving:

    • The user will no longer appear as an active user in the regular Users page.
    • Data syncing is automatically disabled.
    • Existing statements and historical records are retained.
    • The user cannot be assigned to new teams or plans.

    If the user is synced from Salesforce or another external source, you should also review the source system and syncing settings.

    Important: Archiving hides the user from active management, but it does not permanently delete their historical data. For complete permanent deletion, check your organization's Spiff data-retention policies and available Salesforce support options.

    Reference: Archive and Unarchive User Accounts

     

     

    Hope this helps! 😊  

     

    If you find this response helpful, please mark it as the Accepted Answer, as it may also help other Trailblazers facing a similar issue. 😊  

0/9000

When a Renewal Quote is created from a Ramp Contract, the expected Ramp Segments are not being created on the Renewal Quote. 

Is this the standard Salesforce behavior

for Ramp Renewals? If not, what configuration or process is required to automatically create the Ramp Segments on the Renewal Quote based on the original Ramp Contract?  

 

#Revenue Cloud  #Salesforce Revenue Cloud  #Salesforce Developer

1 answer
  1. Sep 16, 7:40 PM

    Hi Kamakshi,

    Ramp segments can be auto-generated on amendment and renewal quotes when the ramped assets and ramp configuration meet the supported Revenue Management behavior. Salesforce documentation specifically lists auto-generated ramp schedules for renewal quotes.

    I would first verify that:

    • The original contract/assets were created with a supported ramp structure.
    • The renewal is being initiated through the standard Renew Assets process.
    • The required Ramp Deals settings are enabled.
    • The asset state periods and dates are correctly maintained.

    If the renewal quote is still being created without the expected ramp segments after these checks, could you share the renewal process/action being used and a little more detail about the contract/asset setup? That would help determine whether this is a configuration issue or an unsupported scenario.

    Salesforce also documents that ramped assets have specific renewal limitations and considerations.

0/9000

Hi everyone,

I'm currently working through the Trailhead module Implement Attribute-Based Pricing.

As part of the exercise, I updated the Default Pricing Procedure under Revenue Settings. After that, when I try to configure the product, I'm getting the following error:

"Something went wrong while running configuration rules. You can’t open the Product Configurator because the ConstraintEngineNodeStatus field either hasn’t been added to transaction line item objects or hasn’t been mapped to the active context definition. Your Salesforce admin can help with that."

Has anyone encountered this issue while following this Trailhead module? Could you please let me know what configuration I'm missing or what needs to be fixed?

Thanks in advance for your help!

 

unable to configure the product in product configuration in revenue cloud 

 

 

image.png

 

 

 

#Trailhead Challenges  #Revenue Cloud  #Salesforce Revenue Cloud

3 answers
0/9000

Hello, 

 

I am trying to complete this

module,

and I am getting the following error: 

We can’t find the quote Office Supplies. Make sure you create the quote for the EdgeMX account. 

 

However, the quote has been created for the correct account and includes the products; I followed the content and challenge steps correctly. 

 

I am also using a special Developer Edition org with Agentforce Revenue Management. 

 

Can anyone help? 

Thanks in advance. 

 

 

#Trailhead Challenges  #Trailhead  #Revenue Cloud  #Salesforce Revenue Cloud  #Revenue Management System

3 answers
  1. Sep 15, 1:12 AM

    Please check whether the quote is synced with the opportunity.

0/9000

The payout happened in the March commission run (that's when it was calculated and paid).

The deal's close date now shows February (because it was edited/backdated after the fact).

So there's a disconnect between when the money was actually paid (March) and what period the deal currently says it belongs to (February). 

 

#Sales Cloud  #Revenue Management System  #Revenue Cloud  #Salesforce Revenue Cloud

2 answers
  1. Sep 4, 1:30 PM

    Hi @Swati Malkar

     

    This is a known pain point in Spiff/ICM the tool is calculating off a live field (

    Close Date) instead of a locked, point-in-time snapshot. The fix isn't really "how do I stop deals from being backdated" it's "stop letting a mutable CRM field drive an immutable financial record." 

    Root cause: Spiff's plan logic is likely referencing Opportunity.CloseDate (or a similarly live-synced field) to bucket the deal into a payout period. When that field changes after calculation/payout, any report or re-run that re-evaluates the deal picks up the new value, creating a mismatch between "period paid" and "period the deal now says it belongs to." 

    How to actually fix it a few layered options, roughly in order of how I'd sequence them: 

    1. Snapshot the period at calculation time, don't derive it live. Add a dedicated field something like Commission_Period__c on the commission/statement record (or in Spiff's own statement object) that's set once when the statement runs and never recalculated from CloseDate again. Spiff does support adding effective dates on plans/logic and locking historical statements, so this should be a config change in Spiff's plan design rather than custom Apex — check that "lock historical statements" setting is actually turned on for closed periods.
    2. Separate "Close Date" (sales-facing, editable) from "Commission Effective Date" (finance-facing, locked once a statement is generated). Reps and deal desk need to edit Close Date for pipeline/forecast reasons that's normal. The commission engine should never read that same field for historical periods once paid.
    3. Treat post-payout edits as a reconciliation event, not a silent recalculation. If a close date changes after a statement already paid against it, that should trigger a clawback/adjustment workflow (a new adjustment line in the next period), not a retroactive rewrite of March's numbers. This is standard ASC 606-adjacent practice Spiff's audit-ready expense reporting is built around exactly this kind of compliant, locked-period model.
    4. On the Salesforce side, if Opportunity edits are what's causing this, consider a validation rule or Flow that blocks/flags Close Date changes on Opportunities that already have a Commission_Statement__c (or equivalent) linked and Closed/Locked at minimum, notify Finance/RevOps rather than letting it happen silently.

    I hope you find the above information helpful. If it does, please mark it as Best Answer to help others too.

0/9000
1 answer
0/9000

What I'm building

A custom Lightning Web Component that embeds inside a cloned Product Configurator Screen Flow (the standard "Save As" third-party-configurator extension pattern — lightning__FlowScreen). The component calls the Product Configurator Business APIs directly via Apex HTTP callout (Named Credential auth, OAuth 2.0 Client Credentials Flow via an External Client App — not UserInfo.getSessionId(), which is rejected for interactive-UI sessions anyway).

Environment

  • Developer Edition org with Revenue Cloud / Agentforce Revenue Management enabled (enableProductConfigurator = true)
  • API version v64.0
  • Not a scratch org, no source tracking — deployed directly
  • Native in-app configurator UI works correctly for the running user; this is only about the headless REST layer

What works

POST /services/data/v64.0/connect/cpq/configurator/actions/configure — works reliably. Returns transactionContext.SalesTransaction[].SalesTransactionItem[], prices lines correctly, runs configuration rules, surfaces rule violations in messages. This endpoint alone is not gated.

What fails

Every other documented action in the same family returns a 403:

 

POST /services/data/v64.0/connect/cpq/configurator/actions/load-instancePOST /services/data/v64.0/connect/cpq/configurator/actions/get-instancePOST /services/data/v64.0/connect/cpq/configurator/actions/add-nodesPOST /services/data/v64.0/connect/cpq/configurator/actions/save-instance

Response body:

 

{  "errorCode": "FUNCTIONALITY_NOT_ENABLED",  "message": "[IHeadlessConfiguratorFamily]"}

(403 status, same error regardless of payload shape or whether the call carries a transactionContextId.) 

 

#Revenue Cloud  #Salesforce Revenue Cloud  #Lightning Product Setup Configurator  #CPQ  #Revenue Management System @* Salesforce Revenue Cloud *

3 answers
  1. Sep 2, 3:56 AM

    Hi @Christopher Strecker

    , That's the missing piece. By assigning "Product Configurator API User" permission to my user, I was able to connect without any error. 

    Hi , That's the missing piece. By assigning

     

     

0/9000

I am facing an issue in Qualification rules.  

For my products. I am having qualification rules. 

Under context definition mapping is done, lookup table is created. 

In qualification procedure qualification rule is added. 

But, don't know why qualification rules aren't working. 

 

#Revenue Cloud  #Salesforce Revenue Cloud  #Trailhead Challenges

1 answer
  1. Sep 1, 11:17 AM

    Hi @Uttej Cheedalla, 

     

    A few things I would suggest checking: 

     

    • Verify that the Context Definition Mapping is correctly mapped to the fields/attributes used in the qualification rule.
    • Check whether the Lookup Table input values exactly match the values being passed at runtime.
    • Make sure the correct Lookup Table is referenced in the Qualification Procedure and the procedure is active.
    • If you're using a custom/extended context, verify that the mapping is configured as the default context mapping.
    • Try running the Qualification Procedure using Simulation with a known product/input combination. This can help determine whether the issue is with the rule configuration or the runtime context.

    Thank You.

0/9000