My firm is undergoing an architectural overhaul of the way our SFDC instance is organized, as part of a move from selling perpetual software licenses to selling subscriptions.

I've been trying to research how Salesforce themselves handle subscriptions, based on the extensive talk given by their Renewals team at Dreamforce 2013

Pertinent slide:


1 hour talk on their architecture: http://www.youtube.com/watch?v=NV9024qkZMQ

My question is around the long-term storage of their customers' subscriptions. We want to mimic the sOject design that they have, with similar behavior. We want to have the next year's opp auto-create after the current year's opp closes. We want to have a single contract underneath the renewal opp with the terms and expiry date.

This is all in line with Salesforce's architecture.

My questions is this:

Does anybody have any idea about either best practices or how Salesforce is handling their customers' set of products (subscriptions).

Are they handled entirely by the opp in the line items, or is the opp filled by some table/object with a list of subscribed products per account?

My understanding is that Salesforce has set up the opp itself to master this data, and the next year's opp is populated by cloning of the current year's opp. This is the only line item view of products owned by the associated account.

Does this seem right? Can anybody verify that they've seen it done this way? Can anybody speculate on the nature of the 'Renewal' object in the slide above. Could that be a capture of the transaction (payment event), or is it more likely product line items.

Thanks for any insight on this. Obviously its a big decision, and we haven't gotten a definitive answer yet from Salesforce themselves, though we're trying.

  • 8
    I'd strongly urge you to engage a third-party Salesforce consulting firm to do a needs analysis and give you advice. They will be more objective than Salesforce, and there are many considerations. Any advice you get here will not necessarily take all your requirements into account. Engaging consultants isn't cheap but in this case could save you TONS of money and grief in the long term.
    – jkraybill
    Feb 5 '14 at 6:34
  • Have you looked at the implementation of this feature in the Non-Profit Starter Pack? I have only a small amount of experience working with the NPSP, but am aware that feature exists.
    – crmprogdev
    Mar 29 '14 at 16:22

Thanks both of you for your answers.

We ended up getting a presentation from the SFDC architecture team that demonstrated their internal Renewals implementation.

For those curious: they leveraged the Order object being released in Spring 2014, powered by the opportunity (with a layer of versioned quotes on top).

So the Opp is created a year in advance. Quotes are used to adjust the value of the opportunity and get approval both from customers and internally. At time of invoice, the Contract is created along with an Order (and associated Order line-items).

It appears that the Order is then sent to the Financial module by a billing and credit memo engine.

It was noted that the previously referenced Dreamforce presentation was simplified to abstract away the actual object choices, so take it with a grain of salt.

We have now replicated SFDC's internal stack for our Renewal process, and everything appears to be intelligently arranged.


I liked the idea shared.In the meanwhile you guys can also have at Chargebee which is very easy to use and highly configurable app for invoice/subscription/transaction management. It is available on Appexchange ChargeBee is an easy to use recurring billing and invoicing solution for online businesses. It lets you automate your recurring billing, manage subscriptions at scale and access metrics that matter.

Here are the features that it supports:-

  1. Powerful Subscription Management
  2. Quick Launch & Setup
  3. Agile Billing Management
  4. Powerful Insights & Analytics
  5. Simple Integrations and Plugins and Much More...

Please check the following link for more information:-


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.