Skip to main content

Where it lives

Billing & Subscriptions sits under Settings, at Integrations.
The Billing integrations, with Chargebee and Stripe, the sources a commission plan can read revenue from.

Before you start

How it works

Stripe and Chargebee appear as tiles on the Billing tab. You connect your billing system, then define which billing objects, customers, subscriptions, invoices, products, and prices, to import and how their properties map. You link billing records to partners so revenue is attributed correctly, and a background import keeps the data current; you can also trigger a sync manually. Once imported, billing data becomes a data source you can select when building a commission plan, so commissions calculate on real revenue. This is import-only into Introw; your billing system continues to charge customers. Stripe and Chargebee are the two billing systems with a native integration. There is no connector for NetSuite, QuickBooks, Bill.com or any other billing or ERP system, and it is worth saying so plainly because it is a common question. If yours is not one of the two, you have two routes that reach the same outcome:
  • Commission on CRM data instead. A commission plan can run on the deal or any mapped CRM object, so if your closed-won amount is already correct in HubSpot or Salesforce you do not need billing data at all. This is what most programs do.
  • Push the numbers in yourself. Where recognised revenue genuinely differs from the deal amount, write it onto a CRM property from your billing system or over the API and commission on that property. See Create and manage API keys.

Settings & configuration

Stripe is managed at Integrations.

Connect a billing system

Use the Stripe tile to connect via OAuth (choosing live or test mode), or the Chargebee tile to connect your Chargebee site.

Billing object mappings

Object Linking on the provider’s configuration page is where you declare what gets imported, and it starts empty on every new connection. Nothing syncs until a row exists here. Per row you choose the object, the provider property that identifies the partner, and a display label; saving triggers a full sync of that object. The object catalog is provider-specific: Stripe offers Customer, Subscription, Invoice, Product, and Price. Chargebee offers Subscription, Customer, and Invoice, plus Plan on product catalog v1 or Item and Item Price on v2, resolved from the connected site’s catalog version. Deleting a row removes the mapping and all partner-related objects of that type from partner portals. It is re-addable, but treat it as a partner-visible change, not a config tweak. The selected row’s panel pairs a read-only Attribution property with a per-partner match table. Two rules to know before a rollout:
  • A partner needs a CRM record to hold a billing link. Partners without one render an amber “Partner not linked to a CRM object” row and cannot be given a value until that is fixed.
  • A billing value maps to exactly one partner. A duplicate is rejected inline rather than splitting revenue silently.
Auto-detect scans imported records and bulk-proposes links. It resolves the object your property points at (a customer reference on an invoice means it compares Stripe customers), scores candidates on identifier, then domain, then name, and only surfaces suggestions above 80% confidence with the reason and score shown. It fills gaps only: partners that already have a value, values already claimed by another partner, and partners with no CRM record are all skipped, so existing manual links are never overwritten.

Sync

Imports run on a schedule; Sync now in the header refreshes on demand and the header reads Syncing while one is in flight.

Use in commissions

In the commission plan wizard’s Connect your data step, Stripe and Chargebee sit beside the CRM. The critical coupling: Select object where the commission data is stored lists only the objects mapped in Object Linking, so an unmapped provider yields an empty dropdown and an inline pointer back to billing settings. Introw preselects Invoice when mapped and defaults Commission date field to the object’s created date. The Conditions step then filters on real provider fields. On a Stripe invoice those include Status (draft, open, paid, uncollectible, void), Paid, Amount Paid, Total, Subtotal, Tax, Currency, Billing Reason, Collection Method, and the date fields (Created, Due Date, Period Start, Period End). Gating on Status is paid is what makes a plan pay on collected revenue rather than on every invoice raised.

How-to guides

Troubleshooting

Billing integrations require the module to be enabled on your plan. The integration imports billing data into Introw; it does not charge customers or execute payouts. Test mode is useful for setup, but commissions should run on live data. Records only contribute to commissions once linked to a partner.
The billing integrations module is not enabled.
Object Linking is empty. Authorizing a provider imports nothing on its own; add an object first.
The same cause. The wizard only offers objects that have a partner mapping, so map one in billing settings and reopen the wizard.
Billing records are not linked to a partner.
Either too little data has synced, or the mapped property does not point at customers. Both are what the empty state tells you to check; re-running unchanged will not help.
They have no CRM record behind them; fix the partner record and the field becomes editable.
Trigger a manual sync, or check the scheduled import status.