Accounts/Opportunities Last Contact

Hello fellow CRM nerds,

I want to setup a process for managing existing customers. Therefore, at first, I want to create a report that contains all enterprise customers + CLTV, the respective account manager and the last contact.

So far, so good

My problem is, that I have opportunities linked to accounts where the last contact differs from the account last contact, e.g.

Account: Last Contact: 01/2023

Opportunity: Last Contact: 11/2024

Questions:

  • Should the Account Last Contact field be changed automatically, if a linked opp is changed?
  • Should I force the sales team to make a manual update (note; logged call, etc.) on the account, if they actually work on opp level?
  • How can I change my report so it actually shows the last date where we had touchpoint with the customer?

BR and many thanks for taking the time to answer

Alexander

  • Hi  ,

    The last contact fields in your report would have been created via Studio, so Sugar wouldn't know whether those dates should be rolled up from the opportunity to the account. You can achieve this end result in a few different ways:

    • Separate Fields to Track Account-Level Versus Opportunity-Level Touchpoints - If it is useful to still report on the latest touchpoint that has occurred with specific modules related to the account, you would have date fields on the account record for each module where you want to track touchpoints. The account-level field (e.g. account_last_contact_date_c) would be the same as you have today. Then for the field to track opportunity-level touchpoints, you would make it a calculated field (e.g. opportunity_last_contact_date_c) using the maxRelatedDate function like the following:

      Fullscreen
      1
      2
      3
      4
      maxRelatedDate(
      $opportunities,
      "last_contact_date_c"
      )
      XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX


      If you want a single field to report on the latest touchpoint of any of those touchpoints, you could create an additional calculated date field (e.g. overall_last_contact_date_c) on the account to evaluate and populate the most recent date of any of the fields with a formula like the following:

      Fullscreen
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      ifElse(
      and(
      not(
      equal(
      $account_last_contact_date_c,
      ""
      )
      ),
      not(
      equal(
      $opportunity_last_contact_date_c,
      ""
      )
      )
      ),
      ifElse(
      greaterThan(
      daysUntil(
      $opportunity_last_contact_date_c
      ),
      daysUntil(
      XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX


      If you implement this solution, you will need to force recalculation on your account records before it will show accurate data.

    • Single Field for Tracking Touchpoints - If you only need to report and track latest touchpoint regardless of where the touchpoint occurred, then you would not need to create any additional fields from what you have today. I am assuming the last contact dates on the opportunity and account records are being populated by SugarBPM automated processes, and if that's the case, you would add in an additional action to update the account related to the record related to the call. Here is a sample process definition where it sets a last contact date for calls related to leads, opportunities, contacts, or accounts, and then, when appropriate, updates the account related to the record:



      The action to update the account is configured like this:



      If you implement this solution, the last contact date on the account will only be accurate from that point moving forward unless you make some manual database updates to populate the latest date. If your instance is hosted in SugarCloud, you would need to provide Sugar Support the database queries to perform those updates. 

    Once you implement one of the two above solutions, your report should be configured to show the corresponding date field from the account record to give you the desired metric.

    I hope this helps!

    Chris