Skip to main content
Gruppo in evidenza

* Salesforce Revenue Cloud *

Welcome! This group is dedicated to your success with Salesforce Revenue Cloud. Join the conversation here to stay up to date on the product, learn best practices, and everything in between. Use this group to review resources, ask questions, help each other, and share experiences. --------------------------------------- This group is maintained and moderated by Salesforce employees. The content received in this group falls under the official Forward-Looking Statement: http://investor.salesforce.com/about-us/investor/forward-looking-statements/default.aspx

Hi, I have added a product to the categories, but when I try to create a quote, browse the catalog, and check under Accessories, I am unable to select the product 

Can't add Product to a Quote IN Revenue Lifecycle Management (RLM)

 

. 

9 risposte
  1. Oggi, alle 03:20

    @Paras Bhola- did you move forward with this. I am having the same issue and can't seem to find what is wrong. Sync price data and rebuild index, all looks good, just that products never show in  the Quote process. Stuck with this Step and can't proceed.

0/9000

I added product code field to product options component in the custom product configurator flow but while doing the product preview, i dont see the field . can you please help me what is causing this issue 

 

Even i added the flow to the product configuration flow record and mapped that product as well

0/9000

We have some contracts that have 1000s of lines. When we amend a contract it will add all lines to the quote. The user then has to find the individual line or lines to update. Is there a way for the user to choose at the time of amendment the specific subscription lines they want to amend (specific client)? We have a field on subscriptions called Client (as these subscriptions sit on the reseller account and client is the end user). Currently when amending these contracts we either hit governor limits or time outs when trying to sync back to the opportunity products and when approval is being done on the opportunity. If we delete all lines that are not being amended on the quote the error goes away. Also, the user can't site and change the quantity on 1000s of lines to 0 and and then just change the lines they need. It is extremely time consuming.    I am looking for option to best handle this? We have the amend subscriptions list that shows at time of amendment and the "Amend Subscriptions" action within the quote line editor but we are not able to limit to just the lines we want.    Any guidance would be great.  Thank you.    

 

@* Salesforce Revenue Cloud *

 

 

#Salesforce CPQ & Billing

1 risposta
  1. 10 ott, 13:20

    @Rachel Linder amend copies every active subscription onto the quote. There is no native filter on that Client field, and the Amend Subscriptions list will not start you from a subset. That is why the editor, the opportunity sync, and the approval all choke.

    Setting quantity to 0 is a cancellation. Deleting the quote line leaves the subscription as it is. That is why your delete workaround is the right one. Automate it. Right after amend, a flow or Apex deletes every amendment line whose Client is not the one they picked, before the quote is primary and before approval. Do that before the sync, or the opportunity products are already created.

    The lasting fix is one contract per client. A reseller account with every end client on the same contract will always amend the whole set. Split those subscriptions onto contracts by client and the amend only loads that client.

0/9000

When Derived Product Gets added in TLE error message shown as:  Guide me on Implementing Derived Price.

 

Derived Price Record : image.png #Revenue Cloud

1 risposta
  1. 9 ott, 17:40

    @Tushar Konde That message means the line editor couldn't find a usable derived price record for the product you just added. A derived product doesn't price from a normal price book entry. It prices from a derived price that points at a contributing product.

    The usual miss is adding the derived product on its own. The contributing product has to already be on the quote, and the derived price record has to use that product as its source, on the same price book and selling model as the quote. If any of those don't match, the lookup comes back empty and you get Derived Price Record with nothing after it.

    Check the derived price record first, then add the source product, then the derived one. If the record is right and the source is already on the quote, the pricing procedure on that quote isn't running the derived price element, so the line still has nothing to price with.

0/9000

Hello everyone,

We are using Salesforce Revenue Cloud Advanced Product Configurator with Set Up Configuration Rules with Business Rules Engine enabled.

Our requirement is:

If the account associated with a quote already has an Asset for INTERNET HOME 50/5MBPS, the Product Configurator must require the user to add INTERNET HOME ONLINE OFFER.

I created the following Product Configuration Rule:

  • Rule Scope: Transaction
  • Condition field: AssetProduct
  • Operator: Equals
  • Value: INTERNET HOME 50/5MBPS
  • Action: Require
  • Required product: INTERNET HOME ONLINE OFFER

AssetProduct is available for selection in the rule designer. However, when I validate the rule, I receive this error:

“We couldn’t find a Context Tag corresponding to a Line Item. Specify a valid Line Item Context Tag and try again.”

As a diagnostic test, I duplicated the rule and changed only the condition field:

AssetProduct → Product

The rule then validated successfully. Therefore, the validation failure appears to be specifically related to AssetProduct or its context configuration.

Could someone please confirm:

  1. Is AssetProduct officially supported as a condition field in Product Configuration Rules executed by the Business Rules Engine?
  2. Or is asset-based evaluation supported only through Constraint Models and the Constraint Rules Engine?
  3. If AssetProduct is supported with BRE, what exact configuration is required?
    • Must we extend AssetContext__stdctx?
    • Must the extended Asset Context be selected under Revenue Settings → Set Up Asset Context for Product Configurator?
    • Which attribute, context tag and object-field mapping must be configured for AssetProduct?
  4. Does AssetProduct evaluate all relevant Assets belonging to the quote’s Account, or only an Asset explicitly selected or included in the current transaction?

 

I have attached a screenshot of the rule configuration. Any confirmation from someone who has successfully used AssetProduct in a BRE configuration rule would be greatly appreciated.

Thank you. 

1 risposta
  1. 8 ott, 01:01

    Hi Serhii,

    The validation message is the useful part. A Product Configuration Rule on the Business Rules Engine is looking for a line-item context tag. Product validates because it's on the transaction line. AssetProduct showing up in the condition dropdown doesn't mean that tag is mapped as a line item, which is why you get "We couldn't find a Context Tag corresponding to a Line Item."

    Rules that need to see assets the account already owns are what the Constraint Rules Engine is for, after asset context is set up for the configurator in Revenue Settings. Standard configurator with the Business Rules Engine stays on the transaction. Advanced configurator is the one that evaluates constraints across that wider context.

    I wouldn't keep forcing AssetProduct through a BRE transaction rule to satisfy the dropdown. The field being selectable isn't the same as the context definition knowing it. I also can't give you a tag mapping that turns AssetProduct into a supported BRE line-item condition, because that isn't documented. If the rule has to require a product because the account already has an asset, build that as a constraint with asset context, not as a second copy of this rule.

0/9000

Hi all,

I’m running into an issue with the Billing Batch Scheduler / Billing Schedule processing.

I have a record-triggered Flow on Billing Schedule for After Insert and After Update. From the flow, I am performing the required DML through an asynchronous/scheduled path approximately 5 minutes after the record transaction

, rather than performing the update immediately in the same transaction. I have automation in Invoice and Invoice Line in a flow in before and after save both.  

 

When the billing batch runs, multiple records are failing and I see the following errors under Revenue Transaction Error Logs

: 

 

Revenue Transaction Error during Billing Batch Scheduler – INVOICE_GENERATION_FAILED / UNKNOWN_EXCEPTION

 

I’m also seeing:

There are multiple Revenue Transaction Error Log records with the same/similar errors.

Has anyone encountered the attempt to save object not in TransactionEntityObjectMap error before?

I’m trying to understand:

  1. What exactly does TransactionEntityObjectMap refer to in Salesforce Billing / Revenue Cloud processing?
  2. Even though my DML runs asynchronously around 5 minutes later, could it still conflict with Billing Batch Scheduler processing?
  3. Could the Billing Schedule or related records still be locked or considered part of an active Revenue transaction when the asynchronous flow runs?
  4. Is there a recommended delay or automation pattern for updating Billing Schedule/related records after billing processing?
  5. Is this likely a Salesforce internal transaction-state issue, or is there something specific I should avoid updating from the flow?
  6. Has anyone found a workaround or resolution for this error?

Any insight into the exact root cause of this error and the recommended resolution would be greatly appreciated.

Thanks!

1 risposta
  1. 8 ott, 00:48

    Hi Ganesh,

    I don't have a public doc that defines TransactionEntityObjectMap. That name is internal to the billing transaction. What you can use is the Error Message and the related record on the Revenue Transaction Error Log, plus the status on the invoice batch run.

    A billing batch run writes those logs when invoice generation fails, and a failed billing schedule can sit there until you use Recover on the invoice batch run. Recover puts the schedule back to Ready for Invoicing so a later run can pick it up.

    Your Invoice and Invoice Line flows are the part I'd look at first. Before-save and after-save automation on those objects runs while the batch is saving the invoice. Salesforce's billing notes say to test flows on invoices and invoice lines during an invoice run for that reason. A flow on Billing Schedule that updates the schedule, even on a 5 minute scheduled path, is not a lock check. The batch often runs longer than 5 minutes, and a later update can still land while that schedule is in the run.

    One documented cause of INVOICE_GENERATION_FAILED is a custom field on Invoice or Invoice Line marked required. The batch API doesn't fill custom fields, so the save fails and the log looks like an unknown exception. Populate those after the invoice exists, and don't make them required.

    In a sandbox, read one log's Error Message in full, then deactivate the Invoice and Invoice Line flows and generate a single invoice from one billing schedule. If that one succeeds, the flow is in the transaction, and a longer delay won't clear it.

0/9000

I'm testing Agentforce Revenue Management (Revenue Cloud) in a Salesforce trial org (Enterprise Edition, API Version 67.0) and have three related questions. 

 

Background

 

For a custom implementation we store a very large volume of non-lifecycle customer records in the standard Asset object. We chose Asset because, in our testing, Asset records themselves do not count toward data storage limits (Setup → Storage Usage shows no data storage use for them), and we want to keep that behavior.

1. AssetActivity availability and storage

 

In this Revenue Cloud org, inserting plain Asset records through the API, with no order and no lifecycle call, creates AssetActivity and AssetActivityFieldChange records, and data storage rises. 

I see no related flows or Apex triggers, nothing in debug logs, and no toggle in Setup → Asset Settings. The AssetActivity object is

not available in the other Revenue Cloud orgs I have access to

, so something org-specific seems to control it. 

 

2. Planned Asset record type

 

We plan to add a record type on Asset. One would behave as the standard Revenue Cloud asset, and the other would hold the non-lifecycle records created through an integration (HasLifecycleManagement = false). We want to understand the impact on

Asset Lifecycle Management

if a new record type is created on Asset. 

 

3. Storage behavior of Asset

 

We want to confirm the assumption our design relies on.

Questions:

  1. Is it correct that Asset records do not count toward data storage? Is that documented and supported, or could it change?
  2. Which feature, license or permission set license makes AssetActivity and AssetActivityFieldChange available in an org? Why do some Revenue Cloud orgs have the object and others don't?
  3. What creates AssetActivity records when an Asset is inserted or updated? Is it platform-native?
  4. Can creation be disabled, or excluded for a record type, user or API path? Can the records be updated or deleted to recover storage?
  5. Does Asset Lifecycle Management (order activation, amend, renew, cancel, and the Asset Action, Asset Action Source and Asset State Period records) depend on a particular Asset record type? Does it take the record type from the running user's default?
  6. If we add a record type on Asset, are non-lifecycle-managed assets ignored by lifecycle processes, APIs, flows and screens? Is keeping both kinds of record on Asset supported?
  7. Is there a recommended pattern for storing very high volumes of non-lifecycle customer records in Revenue Cloud without consuming data storage?

Thanks!

1 risposta
  1. 8 ott, 00:14

    Hi Rajdeep,

    Asset is not on the short list of objects Salesforce leaves out of data storage. Accounts, contacts, opportunities, cases, and a few others are. Asset is not one of them. A trial org storage page showing zero is not something I would build a design on. It lags, and it is not a documented exemption. After a real volume of inserts, check Storage Usage again before you commit to this.

    AssetActivity and AssetActivityFieldChange show up in orgs where the fuller asset lifecycle tracking got turned on. That is why the object exists here and not in your other Revenue Cloud orgs. It is platform behavior, not a flow or a trigger you can find. A plain API insert is enough to write those rows, and those rows are what push storage up. I have not seen a per-record-type switch that stops it.

    Lifecycle does not depend on an Asset record type. Amend, renew, and cancel follow HasLifecycleManagement and the asset action records. Adding a record type changes layouts and the default type on create. It does not hide the other rows from lifecycle screens. A user whose default record type is the integration one can also send new assets to the wrong type. Order activation still builds the lifecycle asset on its own path.

    Keeping both kinds of record on Asset only works if the integration rows are actually HasLifecycleManagement = false, and you accept that anyone who can see Asset can see both. It will not keep those rows out of storage, and it will not stop AssetActivity if that tracking is on.

    For a very large set of non-lifecycle records, I would not put them on Asset. A big object, or something outside the org, is the volume pattern. Asset is for the records lifecycle is supposed to manage.

0/9000
Hanna Homb Reistad ha fatto una domanda in #Revenue Cloud

Hi,  

 

In the Sales Transaction Line Editor, I have enabled "Show Product Quick Add" - however I'm only able to search by Product Name. I would like to be able to search by Product Code in stead, but can't find anything on this online.  

 

This function does not seem to take into account either search layouts or search settings under Index Settings (Product Catalog Management)  

 

Anyone have experience with this?  

Or can tell me that the only option I have is updating Product Name to contain Product Code? 

 

Thanks,  

 

Hanna  

 

#Revenue Cloud @* Salesforce Revenue Cloud *

3 risposte
  1. 4 ott, 09:40

    Thanks for taking the time to answer @Bhavin Patel and @Ben Stokes

    !  

     

    https://help.salesforce.com/s/articleView?id=004576657&type=1

      

    This guide seems related to CPQ and not Agentforce Revenue Management.  

     

    As for,  

    https://help.salesforce.com/s/articleView?id=004576657&type=1

    , I'm using  "Indexed Data for Product Listing and Search", so then Product Field Search won't work.  

     

    "Error

    To enable Product Field Search, you must first disable Indexed Data for Product Listing and Search." 

     

    I ended up updating the Product Name with Product Code to achieve desired result.  

     

    /Hanna 

0/9000

I am trying to proof out an idea around "Twinning" a value from the Catalog object or Category object to the Quote Line Item in Revenue Cloud.  

 

Context:  

Looking at using Catalogs to represent a store branch. On the Catalog we would have a custom field for that branch id. I need to travel/twin this value from the catalog to the quote line item for pricing.  

 

Use Case: 

A user would browse catalog, representing a specific branch where they would select a product and add it to the quote lines. On that quote line I want to be able to move the value of branch id from that catalog the product was selected from to the quote line for pricing.  

A different branch might not carry the product or have different pricing coming from SAP.  

 

I've reviewed concepts around context definition for product2 to quote line item that works without problem. How do we do something similar with this object or the category under the catalog? 

 

Any help here around setting up the context definitions to make this work would be appreciated. 

2 risposte
  1. 5 ott, 17:24

    @Deepak Sachdeva

    Thank you for the advice. 

    Here is where I am and seem to can proceed. 

     

    I have extended the ProductDiscovery Context 

    I have added the Attribute to the Catalog Node 

    • BranchID, Input/output, String
    • I have given it a tag

     

    When I attempt to map the Catalog (left side) to the Product Catalog (right side) I get this error message: " 

      

    You can't update an inherited node mapping that already has an mapping." 

      

     If I try to go from field to field this is the error I get: " 

      

    Ensure that you map attributes to the field of same sObject that’s mapped to its corresponding node." 

      

    Thoughts?

0/9000

 

When I click "Create Order" from a quote, I get this error "Is Order Product Locked: value not of required type". 

Have you seen this error before?  

Error when I want to create an Order from an accepted Quote - Is Order Product Locked: value not of required type

 

 

5 risposte
0/9000