Use case, SaaS
SaaS revenue share on every renewal
SaaS revenue share with FractionalPay means each subscription invoice from a partner's customer is split the moment it is paid: the reseller or integration partner gets its percentage, your company keeps the rest, and the line expires when the agreement says so.
Partner managers stop rebuilding commission reports from invoice exports, finance stops paying lines that ended three months ago, and partners see the same numbers you do.
- Commission on every renewal, not only the first invoice
- Time-limited lines that stop on their own
- Tiers per partner type and per product
Partner program
Reseller program 2026
-
Tier 1
10%
Referral partner
-
Tier 2
15%
Integration partner
-
Tier 3
20%
Reseller
Paid for 12 months per customer
- Annual plan invoices
- $3,600.00
- Monthly plan invoices
- $1,200.00
- Commission due at 20%
- $960.00
How it works
From partner agreement to paid commission
Your subscription billing stays where it is. Invoices are paid into the platform account you connect at your payment operator, and partners are onboarded as connected accounts under it. FractionalPay calculates the split, writes the ledger and sends the payout instruction. We never hold, pool or transmit funds and we are not a payment institution.
-
01
Add the partner
Create a beneficiary of type partner and link it to the partner's connected account id.
-
02
Set the program
Choose the tier, the products it applies to and how many months the commission runs per customer.
-
03
Tag the customer
Attribute customers to the partner with a metadata key on the subscription, and every invoice inherits the rule.
-
04
Renewals split
Each paid invoice is split again, the partner's share goes to its payout and the line ends after the last month.
Worked example
A reseller paid 20 percent for 12 months
A reseller agreement pays 20 percent of every invoice for the first 12 months of each customer it brings. Customer A is on a 100.00 USD monthly plan. Customer B, also from the reseller, is billed 1,200.00 USD for an annual plan inside the same 12-month window. The table shows four invoices as they are split.
-
Customer A, month 1
- Amount
- $100.00
- Reseller
- $20.00
- Your company
- $80.00
-
Customer A, month 12
- Amount
- $100.00
- Reseller
- $20.00
- Your company
- $80.00
-
Customer A, month 13
- Amount
- $100.00
- Reseller
- $0.00
- Your company
- $100.00
-
Customer B, annual plan
- Amount
- $1,200.00
- Reseller
- $240.00
- Your company
- $960.00
-
Total
- Amount
- $1,500.00
- Reseller
- $280.00
- Your company
- $1,220.00
In month 13 the reseller line has expired, so the full 100.00 USD stays with you without anyone remembering to switch it off. That is where spreadsheet programs usually leak: lines that should have ended keep getting paid because nobody checks the start date of each customer.
The annual invoice is split once, when it is paid, and posted to the ledger in the same step. If the customer is refunded later, the reseller's 240.00 USD is reversed in proportion, and a negative balance is carried into its next payout if the money was already sent.
Ledger journal
Balanced
txn_RS7B21 ·Customer B annual invoice, reseller program v1
- Operator balance (your account) Dr$1,200.00
- Payable to Reseller Cr$240.00
- Platform revenue Cr$960.00
TotalDr $1,200.00 · Cr $1,200.00
| Account | Debit | Credit |
|---|---|---|
| Operator balance (your account) | $1,200.00 | |
| Payable to Reseller | $240.00 | |
| Platform revenue | $960.00 | |
| Total | $1,200.00 | $1,200.00 |
Partner types
Resellers, integration partners and referrals in one program
Most SaaS companies end up with three kinds of partners. Resellers sell and sometimes bill, integration partners bring customers through their product, and referral partners send an introduction. Each gets a different rate and often a different duration, and some only earn on certain products.
In FractionalPay each kind is a tier in the commission program, applied per product. An integration partner can earn 15 percent on the core plan and nothing on add-ons, while a reseller earns 20 percent on everything for a year. When an agreement changes, you create a new rule version, and invoices already split keep the version they were split with, so past payouts can always be explained.
For affiliate programs with many small partners paid on clicks and signups, see affiliate payouts. If revenue share is one of several flows you run, the general revenue sharing software page explains the rule engine in more depth.
- Commission per product, per tier and per partner
- Duration in months per customer, counted from the first invoice
- Proportional reversal on refunds and disputes
Partners on this invoice
Reseller
Reseller, 20%
$240.00
20% for 12 months
Month 4 of 12
Your company
Platform revenue
$960.00
Remainder
Annual plan
For engineers
Attribute once, every invoice follows
Live invoices arrive from your connected account automatically, so you do not call the API per invoice. You create the partner once with POST /beneficiaries, and a rule that matches a metadata key such as partner on the subscription does the rest.
Every split fires split.created with the allocations, signed with HMAC SHA-256. Your partner portal can listen to it and show the partner its commission within seconds of the invoice being paid. Payouts fire payout.scheduled and payout.paid.
-
Test keys start with
fp_test_and run against demo data -
Every POST accepts an
Idempotency-Key - Full reference in the API docs
POST /v1/beneficiaries
201 Created
curl -X POST https://fractionalpay.com/api/v1/beneficiaries \
-H "Authorization: Bearer fp_test_4eC39H..." \
-H "Idempotency-Key: d1fa617a-order" \
-H "Content-Type: application/json" \
-d '{
"name": "Reseller North",
"email": "[email protected]",
"type": "partner",
"external_ref": "partner_118",
"country": "US",
"currency": "USD",
"provider_account_id": "acct_1R7xK2"
}'
{
"id": 118,
"object": "beneficiary",
"name": "Reseller North",
"email": "[email protected]",
"type": "partner",
"external_ref": "partner_118",
"country": "US",
"currency": "USD",
"provider_account_id": "acct_1R7xK2",
"tax_status": null,
"status": null,
"created": 1792062760
}
Webhook delivery · split.created
200 delivered
POST https://api.yourplatform.com/hooks/fractionalpay
FractionalPay-Signature: t=1760534400,v1=5257a869e7ec...
{
"id": "evt_7c92f0e38760fc81336796a2",
"type": "split.created",
"created": 1760534400,
"livemode": false,
"data": {
"split": {
"id": 1200,
"object": "split",
"status": "calculated",
"rule_id": 12,
"rule_version": 2,
"gross": 120000,
"currency": "USD",
"queued_reason": null,
"calculated_at": 1792062776,
"allocations": [
{
"id": 5101,
"beneficiary_id": 118,
"role_key": null,
"amount": 24000,
"currency": "USD",
"held_amount": 0,
"held_until": null,
"status": "available",
"payout_id": null
},
{
"id": 5102,
"beneficiary_id": null,
"role_key": "platform",
"amount": 96000,
"currency": "USD",
"held_amount": 0,
"held_until": null,
"status": "available",
"payout_id": null
}
]
},
"payment_id": 1200,
"external_id": "inv_2026_1200"
}
}Reconciliation run
Oct 14, 2026 · 3 matched, 1 open
-
txn_...4KQChargeOperator $1,200.00Ledger $1,200.00Matched
-
txn_...7RMChargeOperator $100.00Ledger $100.00Matched
-
txn_...2PXPayoutOperator $240.00Ledger $240.00Matched
-
txn_...9LDRefundOperator $100.00Ledger noneMissing
| Reference | Type | Operator | Ledger | Status |
|---|---|---|---|---|
| txn_...4KQ | Charge | $1,200.00 | $1,200.00 | Matched |
| txn_...7RM | Charge | $100.00 | $100.00 | Matched |
| txn_...2PX | Payout | $240.00 | $240.00 | Matched |
| txn_...9LD | Refund | $100.00 | none | Missing |
For partner managers
One number partners and finance agree on
A partner manager spends the first week of every month answering one question: why is my commission different from what I expected. With every invoice split as it is paid, the answer is a list of invoices, each with the rule version and the amount, and the partner can read the same list.
Finance gets the other half: a payable balance per partner in the ledger, reconciled daily against the operator's balance transactions on the Growth plan, so the commission line on the books matches what was actually paid out.
Plans
Recurring revenue share lives on Growth
Splitting a one-off payment works on every plan. Splitting renewals again and again, with tiers and an end date, is part of Growth at 499 USD a month, or 249 USD a month billed yearly. No transaction fees from us, on any plan.
Growth includes up to 1,000 beneficiaries and 1,000,000 USD of split flow per month. Compare plans on pricing.
-
Recurring splits
Growth+Every renewal invoice is split again under the rule version that applies to that customer.
-
Partner commissions
Growth+Tiered, time-limited and per product, for resellers, integration partners and referrals.
-
Tax data per partner
Growth+Tax form status and yearly earnings statements for each partner you pay.
-
Roles
Growth+Owner, Finance, Developer and Viewer, so partner managers see programs without touching payouts.
-
Proportional refunds
Starter+A refunded invoice takes back the partner's share automatically.
Questions
Frequently asked questions
Something else on your mind? Write to [email protected] or read the API documentation.
Do you hold the partner commissions?
How does a commission line expire?
What happens when a partner's customer upgrades mid-term?
Can different products have different rates?
Is SaaS revenue share available on Starter?
Can we test the program before going live?
fp_test_ keys lets you replay invoices with demo data.See your reseller split on a real invoice amount
Enter an invoice amount and a partner percentage in the simulator, then compare plans when you are ready to connect your account.
No transaction fees from us. Runs on your own payment account at a licensed operator. FractionalPay never holds your funds.