What was the challenge?
The client’s primary goal was to develop a standardized process to track and forecast employee commissions in HubSpot. This customer highlighted a need to offer transparency and accessibility to their employees' compensation data and a streamlined client payment process.
This user-focused solution included enhanced reporting to ensure clarity and the ability to accurately and consistently forecast one’s compensation. Additionally, the customer outlined the need to offer a more flexible and efficient payment experience for external clients, leading to the development of a process-focused solution in tandem with the compensation solution.
The main challenge facing the client in this project was the structure of their sales pipelines. Because they utilize multiple pipelines dependent on the type of client, the commission varies based on what pipeline they are in, adding a layer of complexity to their request. The client’s compensation structure varies depending on the type of client and engagement, another complexity to consider in optimizing the payment process for external clients and the commission procedure for internal employees.
Requirements for building out a successful solution
The requirements for this solution included:
- Develop a standard procedure to track commissions for each type of compensation structure.
- Look up the compensation structure by team member, as team members have different plans.
- Create a process that allows team members to see the deals they are due to be paid on.
- Highlight the link between the commission due with the actual payment being completed.
- Create team dashboards allowing each member to review their current and forecasted compensation.
- Enable the client to monitor and track payment by company.
Our proposed solution
The user-focused development of custom objects, innovative associations, and advanced reporting enabled enhanced visibility into the commission structure and fostered effective communication between all stakeholders. This solution worked in tandem with the process-focused solution to ensure internal (Consultants) and external (client) teams work more efficiently on the payment & compensation process by automating the collecting and processing of quotes.
The system ensures the monitoring of customer payments, status updates on the commission records, and the creation of these records considering the roles involved in a deal - from the initial sale to the eventual delivery.
Consultant records must be created for all individuals involved in the deal - from initiation to completion. Each object should contain the essential details of the Consultant, including:
- Name
- Email Address
- Commission rates for different types of involvement (Sale, Delivery, or both)
Each Consultant's record should be meticulously maintained and updated to reflect any changes in the Consultant's role or commission rates. These objects play a crucial role in the commission process, ensuring everyone involved in the deal is compensated accurately.
The commission records are determined based on the product type and deal value, ensuring fair and accurate payouts. They are updated with every related detail to maintain a clear, auditable trail of all commission payouts.
The following steps provide an overview of how the commission process flows:
- Create a Deal in HubSpot: The process begins with creating a Deal within the HubSpot CRM. Depending on the nature of the deal, the process for its creation may differ. Each type requires different information and associations to be correctly set up. It's crucial that all relevant details, such as the deal's value, the product type, the Consultants involved, and their respective roles, are accurately recorded during the creation of the Deal.
- Close the Deal: Once the negotiations with the client are successful and the payment is received or agreed upon, the deal stage moves to 'Closed Won' in the CRM system, signifying the successful completion of the sales process and the initiation of the commission calculation process.
- Initiate the Commission Process: The system automatically triggers the commission process when a deal is marked as closed. The system analyzes the deal information, calculates the commissions based on predefined rules and percentages, and generates Commission records for each Consultant. These records provide detailed insights into who gets paid, how much they receive, and when they earn it.
- Track Payments: The system keeps track of customer payments after generating the commission records. Each payment is matched with the corresponding Commission record based on their 'earned dates' order. As payments are received, they are linked with the relevant Commission records, and their status is updated to reflect the payment status. The system ensures that the commission payouts align with the actual payments received.
- Commission Payout: Once the commission status updates to 'Customer Payment Received,' the final stage of the process begins. Client reviews the commission records and disburses the commissions accordingly.
- Commission Record Update: After the payout is made, the client manually updates the status of the Commission record to 'Commission Paid'. This step marks the completion of the commission process for that particular commission record. It confirms that the respective Consultant has received their commission.
Additional opportunities and conclusion
- After reflecting on potential improvements, our team determined that the solution was built to fit the client’s existing sales process, which includes multiple pipelines and differing payment procedures, rather than encouraging the client to evaluate their sales process and look for opportunities to standardize.
- As the Quotes & Payments API functionality improves, we will evaluate the current structure and aim to consolidate functions. PPC designed the solution to account for current limitations in the API.
- Another limitation to review as HubSpot continues to provide feature updates is the inability to associate the Payment object and the Commission custom object.
Elements from the customer's ask that were not addressed in the solution (and why)
There were a few system limitations that we needed to address and create minor workarounds with the customer. When we hit a system limitation, we go through a two-question checklist:
- How often does this instance occur (what is the magnitude)?
- Does it have a material impact on the original requirement?
Once we answer those questions, we review with the customer to determine if they want us to work on a potential solution to continue moving forward. We apply this methodology when identifying any item we cannot address from the customer’s original request.
In this instance, there were two HubSpot limitations we encountered. The customer decided to update their process to make the system work instead of crafting a unique solution within HubSpot. The customer values an agile methodology and would rather have a solution that meets 95% of their needs than having a solution once the criteria can be 100% achieved.
For this request, there were two system limitations we had to work around
- Recurring Payments in HubSpot
- At the time of building, a recurring subscription line item required payment at the time of signature (no option for a delayed start date).
- The issue was if the customer wanted to sign with a delayed start date, the payments and commission objects wouldn’t match the timing of the engagement. Commission objects need to correspond to the date structure of the payments.
- For this scenario, the customer agreed to create two deals to create the desired commission records—one for the down payment or initial payment and a second for the ongoing engagement.
- We have solved this issue, and creating two deals is no longer needed.
- Payments API
- If multiple line items have the same start date and amount on the quote/deal, the system cannot automatically match the payment record to the commission record to show the commission was paid. Due to HubSpot limitations, we manually searched payments associated with the deal and matched a payment to the commission record by matching the payment date and amount. If there were multiple payments with the same date and amount, we couldn’t differentiate between them.
- We reviewed the magnitude of the issue with the customer to determine how often this happens within their deals and quotes and discovered it was less than 5% of the total. We proposed that they could update the line item amounts so they did not match to solve the limitation.
- The customer valued the matching automation and did not want to develop a more complex solution since it happened less than 5% of the time and could be revisited later.