A Dental Imaging Technology company needed an automated Quote-to-Cash solution. The previous system was very labor intensive and forced them to keep sensitive credit card information in their Salesforce org to be manually charged by their Accounts Payable department. Product and Warranty orders/transactions needed to be processed separately, the former as a one-time charge and the latter as an annually recurring charge. Also, this was an international enterprise, so multiple payment gateways had to be used to process transactions based on Opportunity/Account data.


We began by streamlining Quote generation with our proprietary document-generation application RS Documents to dynamically generate Quotes using Opportunity fields and the Opportunity Product related list. We then coupled RS Docs with our proprietary eSignature solution RS Signature enabling sales people to send the automatically generated Quotes for eSignature to a Primary Contact on the Opportunity.




To accept payments from customers after they signed a Quote we used Form Assembly, a powerful third-party form-building application that integrates with Salesforce and Chargent. A simple workflow rule sent a confirmation email letting the customer know their signed Quote had been received in addition to providing them a link to a form through which they could pay for their product(s).


To segment Warranty and Product orders we implemented filtered Rollup Summary fields on the Opportunity object to calculate the total cost of non-warranty and warranty products respectively. When the customer submitted their credit card information the amount in these Rollup Summary fields were charged via two separate transactions; the product order was charged one-time and the warranty order was charged one-time with an annual recurrence configured to charge the same amount every year after the initial charge.

Because payments could’ve been processed in either Canada or the U.S. there was also a requirement to dynamically choose the appropriate payment gateway based on data in specific Opportunity fields. We simply implemented this Payment Gateway selection logic in a formula field in Salesforce, then queried the field result with Form Assembly using what’s known as a Pre-Fill connector. This allowed us to choose which payment gateway would be used to process any particular transaction based on custom logic.


When a customer submits their card information the charge is automatically processed and documented via a Chargent Order and Transaction record under the Opportunity in question. The (unencrypted) card information needn’t ever enter Salesforce, removing security risk in addition to the monotonous labor involved in charging credit cards manually.

To conclude this process, a simple workflow sets the Opportunity Stage to “Closed Won” once the Transaction record is successfully posted and related to the Opportunity.