Skip to main content

QuotaPath Integrations Overview

Learn about QuotaPath's data model and how to format your data

QuotaPath calculates commissions from the data you already keep in your CRM, billing system, spreadsheets, and warehouse. This article explains how that data needs to be shaped to work.

The one rule that makes everything work: get the data into one object! This is the most important thing to understand about QuotaPath integrations.

Data Model

A compensation plan reads from a single object in a single system. Think of an "object" as one type of record: a HubSpot Deal, a Salesforce Opportunity, a QuickBooks Invoice, a row in a Google Sheet.

Every field a compensation plan needs for the commission logic (the deal owner, the amount, the close date, the won/lost status, anything you filter or pay on) has to live on that one object. If the data you need is spread across two systems, say the deal lives in HubSpot but the payment lives in QuickBooks, it can still work, but only if we can join those records together first and bring the needed fields onto one of them.

For that join to happen, you need a connecting ID: a shared value that exists on both records. For example, a custom field on each QuickBooks Invoice that stores the related HubSpot Deal ID. Without a connecting ID, the two objects can't be matched, and the data can't be combined.

The takeaway: before you can calculate commissions on data from multiple systems, that data has to be consolidated onto one object using a connecting ID.

Data Types

Deal Create (required)

The source QuotaPath uses to create commission records ("Deals"). One row in, one commission record out. It drives every compensation stage:

  • Closed Won: the commission has been earned and counts toward quota attainment

  • Pipeline: the commission could be earned

  • Closed Lost: the commission was not earned

Payouts Eligibility (optional)

Controls when an earned commission is actually paid out. You can release payouts based on:

  • Date fields: release set percentages as specific dates are reached (for example, 50% at invoice, 50% at payment)

  • Amount fields: release proportionally as payment amounts come in against the original deal value

Payouts Eligibility can live on the same object as Deal Create, or on a different object that we join in using a connecting ID.

Data Mapping

When you set up a plan, each data type is mapped to one object in one system. Any fields you need for dates, names, filtering, won/lost status, or payout eligibility are brought onto that object by the QuotaPath Solutions team.

If your data spans two objects, we pick the object to map to, confirm the connecting ID, and pull the other object's fields across.

Example: HubSpot and QuickBooks

Payouts become eligible once an invoice is generated in QuickBooks, and you've added a custom field to every QuickBooks Invoice holding the related HubSpot Deal ID (your connecting ID).

Map to QuickBooks Invoice

Bring over from HubSpot Deal

Invoice amount

Deal Owner

Use Payouts Eligibility by Amount

Deal Type

Everything the plan needs now sits on the QuickBooks Invoice object.

Custom Fields

Sometimes the field you need for a compensation plan doesn't exist on your object yet. There are two ways fields get created, depending on where the source data lives.

Computed Fields

Computed fields are used when the data you need isn't already available on your object. The Solutions Engineering team creates these fields by pulling data from another object or system, joining records together, and transforming the results into a new field on your object.

Examples:

  • Looking up a Customer's ARR from another system

  • Combining multiple fields across objects into a single plan-ready value

Use a computed field when the information you need does not currently exist on the object.

Calculated Fields

Calculated fields are used when all of the required data is already on the object and you simply need to transform it. You can create formulas directly in QuotaPath to perform calculations, apply conditional logic, or derive new values from existing fields.

Examples:

  • Amount × Commission Rate

  • Applying different values based on Deal Type

  • Adding one month to a contract start date

Use a calculated field when all required inputs already exist on the object.

Rule of thumb: If you need to bring data onto the object from somewhere else, you'll need a computed field built by the QuotaPath Solutions Engineering team. If the data is already on the object and you just need to apply formulas or logic, use a calculated field in QuotaPath.

Did this answer your question?