Salesforce Flow for Sage Intacct Integration with CPQ

One of the benefits of moving to Sage Intacct is its ability to easily integrate with Salesforce. Thus allowing your operations teams (sales, support, marketing, development) to enjoy minimal disruption to their processes while leveraging the efficiencies Sage Intacct brings to the finance team.

Both a not-for-profit and for-profit version of the Salesforce integration with Intacct exist. Today, we’ll focus on our for-profit businesses, specifically how a business using Salesforce CPQ (Configure, Price, Quote) and Intacct can leverage automation tools in Salesforce to eliminate duplicate data entry.

At a high level, we’ll walk through how to create a flow that defaults fields on the Contract object and then automatically syncs to Intacct. Why? The Sage Intacct Advanced CRM Connector adds the ability to default particular required fields on a contract from a related opportunity. However, this defaulting functionality only works with the click of the “Create Contract” button on the opportunity. So, the only way to duplicate this functionality when using CPQ? A flow.

Salesforce Automation Background

What is a flow? From Salesforce’s help, “A flow is the part of Salesforce Flow that collects data and performs actions in your Salesforce org or an external system. Salesforce Flow provides two types of flows: screen flows and autolaunched flows.” We’ll save screen flows for another time, but for now to satiate your curiosity, know that screen flows are a way to create custom screens to easily collect data all at once from a user. In our example, we’ll use an autolaunched flow where we collect data from the opportunity to update the contract record.

Why flow? Salesforce has a few automation functions currently available: process builder, workflow rules, approval processes, and flows. At Dreamforce ’21, Salesforce announced the eventual retirement of Workflow Rules and Process Builder. So for the purpose of this blog, and to prevent you from having to eventually migrate to flow, we’ll just use flow from the get-go. 

Integration Overview

In case you’re new to the Salesforce/Intacct integration for contracts, below is an overview of the integration workflow directly from Sage Intacct’s Advanced CRM help center.

CPQ in a Nutshell

For the purposes of the Sage Intacct integration, below is a visual depicting how the quote and quote line objects are included in the workflow.

Essentially, when you create a quote from an opportunity and designate it as the “primary”, the quote lines create opportunity products (which become eventual contract lines in Intacct). They are also updated when revisions are made to the quote. Then, upon checking the “contracted” checkbox on the opportunity and closing the opportunity as won, the contract is created in Salesforce. (This replaces the “Create Contract” button on the opportunity).

Flow to Populate Intacct Fields on Contract from Opportunity

Intacct’s integration provides the ability to record the following fields on an opportunity:

  • Bill To
  • Ship To
  • Terms (Due on Receipt, Net 30, etc)
  • Contract Name
  • Intacct Entity

These fields are then also present, and required to be populated, on the contract.

Populating these fields manually from the opportunity to the contract opens us up to the possibility of data entry errors. So, let’s copy these fields to the contract with a flow. And, while we’re at it, why not also sync the contract over to Intacct?

Setting up the Flow

1. Go to: Setup > Process Automation > Flows. Then click New Flow.

2. Select the Record-Triggered Flow option and Create

3. Set the following fields on “Configure Start”:

  • Select the object that should trigger the flow (Opportunity)
  • Configure the trigger to run when the opportunity is created or updated. (Note: sometimes there is a bit of a lag in contract being created via CPQ so it may be beneficial to add a small time delay to the flow of 1 minute to allow for the contract to be created in advance of the fields being updated below).
  • Set the conditions that should trigger this flow. In the example provided, I want to trigger the flow when the Contracted checkbox is checked.
  • Select the radio button to run every time a record is updated and it meets the requirements (if a field on the opportunity changes, for example, terms, and contract was already created we want to update the contract as well).
  • Select to optimize the flow for Actions and Related Records. We only want the contract to be updated after the opportunity is saved.

4. Next, choose to add an element: Update Records

5. Configure the Update Records action as follows:

  • Provide a name for the action. Ex: Update Intacct Fields on Contract from Opportunity
  • Choose the radio button to “Specify conditions to identify records, and set fields individually”
  • Choose the object to update: Contract
  • Set the condition so that we only update the contract for this particular opportunity (not all contracts in the system).
  • Then align the Contract fields to be updated (left) with Opportunity Fields to pull from or hard-coded value (right)
  • Note that setting the “Sync to Intacct” field on the contract as “True” is what triggers the contract to sync to Intacct.

6. Save and Activate!

Once the flow is active, you’ll be able to test in your sandbox. When a new contract is created from the opportunity using the “contracted” checkbox, now all Intacct fields will be copied over.

What’s Next?

You could teach your dog to check the “contracted” check box for you so you really can sit back and relax. And while he or she is checking boxes, have them subscribe to our blog! 

Interested in learning more about Intacct Contracts? Check out this blog where we’ll also put your dog to sleep with some ASC606 discussions. Looking for some help with automating processes in Salesforce using flow? Or did the words “eventual retirement of process builder” give you a mild panic attack? Please reach out to your CLA Intacct team.

  • 571-227-9512

Kathy Jastrzebski is a manager with CLA’s Intacct team. CLA is an Intacct Premier Partner with a partnership that spans over 20 years and more than 1,000 successful implementations. Kathy brings five years of accounting experience along with seven years of Sage Intacct implementation experience. Along with her accounting experience, she has a passion for leveraging technology to lead finance teams worldwide through system implementations with a mission of increasing department efficiency through business process improvements.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

*