Skip to content
FractionalPay

Split payments automatically

Every payment, refund and payout divided between everyone who earned it, on your own payment account.

New payment split

Balanced, live preview

$

Who gets paid (4 of 6)

  • $700.00
  • $150.00
  • $100.00
  • $50.00

Unallocated $0.00 goes to Platform

No transaction fees. Runs on your own payment account.

How a split flows

One payment in, every share paid out

Order #10482

Split, balanced

Gross payment

$1,000.00 USD

  • Provider $700.00
  • Platform $150.00
  • Partner $100.00
  • Subcontractor $50.00
Shares add up to the payment $1,000.00

FractionalPay is split payment software that divides each customer payment between all the parties who earned it, records every share in a double-entry ledger and pays them out on schedule through your own payment account. You set the rule once. After that, every payment follows the same five steps without anyone touching a spreadsheet.

Most platforms already collect payments well. The hard part comes after: working out who is owed what, keeping that number right when a customer asks for a refund, and paying everyone on the agreed day. When that lives in a spreadsheet, it works at fifty payments a month and breaks at five thousand. FractionalPay does that work the moment each payment succeeds, so the answer to "how much do we owe whom" is always on screen.

A rule can mix percentages and fixed amounts, give a partner a share only on certain products, or send whatever is left to the platform. When you change a rule, the old version stays on record, and every past split still points to the version that produced it. That is how marketplaces, agencies and creator platforms keep their marketplace payouts correct without a monthly clean up.

  1. 1 Payment

    A customer pays

    order #10482Succeeded

    $1,000.00

    Card, captured to your account

    The money lands in your own operator account, as it does today.

  2. 2 Rule

    The rule divides it

    Provider 70%
    Platform 15%
    Partner 10%
    Subcontractor 5%

    Percent and fixed lines, a remainder party and rule priority.

  3. 3 Ledger

    Every share is recorded

    Operator balance Dr $1,000.00
    Provider Cr $700.00
    Platform Cr $150.00

    Balanced

    Debits equal credits on every transaction, always.

  4. 4 Payout

    Everyone is paid on time

    Weekly, FridayScheduled
    Provider$700.00
    Partner$100.00

    Daily, weekly or monthly, with holds and a minimum payout.

  5. 5 Reconciliation

    The books match

    Operator balance$1,000.00
    Ledger$1,000.00

    Matched today

    Each day the ledger is checked against your operator balance.

Why teams switch

Less month-end work, fewer payout mistakes

Finance stops rebuilding the same spreadsheet. Partners stop asking where their money is. Engineering stops maintaining payout scripts.

Order #10482, after Friday's payout run

Ledger balanced

Provider

Northwind Studio

Paid

$700.00

70% of payment

Paid Friday, weekly schedule

Platform

Your platform

Available

$150.00

15%, remainder

Stays in your account

Partner

Harbor Partners

Paid

$100.00

10% of payment

Paid Friday, weekly schedule

Subcontractor

Lumen Edit

Paid

$50.00

Fixed $50.00

Paid Friday, weekly schedule

Fewer finance hours

Splits, refunds and payouts are calculated the moment a payment succeeds. Your team reviews the results instead of building them by hand each month.

Partners paid on time

Every beneficiary has a payout day and a balance they can trust. Weekly, monthly or as soon as funds are available, with a minimum payout amount.

Refunds that reverse themselves

A refund comes back from every party in proportion to what they received. If someone was already paid, it comes off their next payout.

An auditable ledger

Every cent has a debit and a credit. Entries are never edited, only reversed, so an auditor can follow each payment from capture to payout.

No cut of your volume

One flat subscription with a monthly flow limit. We do not take a percentage of your payments, and your operator fees stay as they are.

A dashboard and an API

Finance works in the rule builder and reports. Developers use the REST API and signed webhooks. Both see the same ledger.

Refunds and holds

Refunds and holds, worked out to the cent

Take the same $1,000 payment split 70, 15, 10 and 5 percent. Here is what happens when part of it is refunded, and what happens when you hold back a reserve.

Refund of $200.00 on order #10482

Reversed proportionally

Party Split Refund Keeps
Provider $700.00 -$140.00 $560.00
Platform $150.00 -$30.00 $120.00
Partner $100.00 -$20.00 $80.00
Subcontractor $50.00 -$10.00 $40.00
Total $1,000.00 -$200.00 $800.00

Hold 10% for 14 days

Reserve until the return window ends

Party Share Paid now After 14 days
Provider $700.00 $630.00 $70.00
Platform $150.00 Kept $0.00
Partner $100.00 $90.00 $10.00
Subcontractor $50.00 $45.00 $5.00

The refund of $200 is 20 percent of the payment, so each party gives back 20 percent of what it received: $140 from the provider, $30 from the platform, $20 from the partner and $10 from the subcontractor. The ledger gets one reversal entry per party. If the provider was already paid, the $140 comes off the next payout.

A hold keeps 10 percent of each beneficiary's share in a reserve until the return window closes. The provider gets $630 on payout day and $70 fourteen days later. If a refund arrives first, it is taken from the reserve before anything else. The platform keeps its own fee, so nothing of it is held.

Ledger and reconciliation

A ledger your auditor can follow

Every payment, share, hold, refund and payout becomes a balanced journal entry. Each morning the ledger is matched line by line against the balance of your operator account, and anything that does not match is flagged with the reason.

This is what finance teams look for in payment reconciliation software: one place to see what you owe whom right now, and proof that the books agree with the bank.

Ledger journal, payment order #10482

2 transactions, balanced

  • txn_1Operator balance (your account) Dr$1,000.00
  • txn_1Payable to Provider Cr$700.00
  • txn_1Platform revenue Cr$150.00
  • txn_1Payable to Partner Cr$100.00
  • txn_1Payable to Subcontractor Cr$50.00
  • txn_2Payable to Provider Dr$700.00
  • txn_2Payable to Partner Dr$100.00
  • txn_2Payable to Subcontractor Dr$50.00
  • txn_2Operator balance (your account) Cr$850.00

Reconciliation, operator balance vs ledger

1 item needs review

  • txn_1Q8...a41 Operator $1,000.00Ledger $1,000.00 Matched
  • po_1Q8...c7d Operator -$850.00Ledger -$850.00 Matched
  • txn_1Q8...f02 Operator $249.00Ledger $249.00 Matched
  • txn_1Q8...9be Operator -$20.30Ledger -$20.00 Fee of $0.30 not in ledger

For developers

A split payment API with real webhooks

The split payment API uses the same engine as the dashboard. Simulate a split, create rules and beneficiaries, read balances and schedule payouts. Amounts are integers in cents, every POST accepts an idempotency key, and every webhook is signed so you can verify it came from us.

Request

POST /api/v1/splits/simulate

curl https://fractionalpay.com/api/v1/splits/simulate \
  -H "Authorization: Bearer fp_test_4eC3..." \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: 7d1c-2f0a" \
  -d '{
  "amount": 100000,
  "currency": "USD",
  "parties": [
    {
      "role": "Provider",
      "kind": "percent",
      "value": 70
    },
    {
      "role": "Platform",
      "kind": "percent",
      "value": 15
    },
    {
      "role": "Partner",
      "kind": "percent",
      "value": 10
    },
    {
      "role": "Subcontractor",
      "kind": "percent",
      "value": 5
    }
  ],
  "schedule": "weekly",
  "refund": 20000
}'

Response

200 OK

{
  "object": "split_simulation",
  "amount": 100000,
  "currency": "USD",
  "refund": 20000,
  "schedule": "weekly",
  "hold": false,
  "balanced": true,
  "allocations": [
    {
      "role": "Provider",
      "kind": "percent",
      "value": 70,
      "platform": false,
      "remainder": false,
      "amount": 70000,
      "share_percent": 70,
      "held": 0,
      "refund_reversal": 14000,
      "net": 56000,
      "available_now": 56000
    },
    {
      "role": "Platform",
      "kind": "percent",
      "value": 15,
      "platform": true,
      "remainder": true,
      "amount": 15000,
      "share_percent": 15,
      "held": 0,
      "refund_reversal": 3000,
      "net": 12000,
      "available_now": 12000
    },
    {
      "role": "Partner",
      "kind": "percent",
      "value": 10,
      "platform": false,
      "remainder": false,
      "amount": 10000,
      "share_percent": 10,
      "held": 0,
      "refund_reversal": 2000,
      "net": 8000,
      "available_now": 8000
    },
    {
      "role": "Subcontractor",
      "kind": "percent",
      "value": 5,
      "platform": false,
      "remainder": false,
      "amount": 5000,
      "share_percent": 5,
      "held": 0,
      "refund_reversal": 1000,
      "net": 4000,
      "available_now": 4000
    }
  ],
  "ledger": [
    {
      "id": "txn_1",
      "date": "2026-10-15",
      "description": "Payment captured and split by rule",
      "lines": [
        {
          "account": "Operator balance (your account)",
          "debit": 100000,
          "credit": 0
        },
        {
          "account": "Payable to Provider",
          "debit": 0,
          "credit": 70000
        },
        {
          "account": "Platform revenue",
          "debit": 0,
          "credit": 15000
        },
        {
          "account": "Payable to Partner",
          "debit": 0,
          "credit": 10000
        },
        {
          "account": "Payable to Subcontractor",
          "debit": 0,
          "credit": 5000
        }
      ],
      "balanced": true
    },
    {
      "id": "txn_2",
      "date": "2026-10-16",
      "description": "Partial refund reversed proportionally",
      "lines": [
        {
          "account": "Payable to Provider",
          "debit": 14000,
          "credit": 0
        },
        {
          "account": "Platform revenue",
          "debit": 3000,
          "credit": 0
        },
        {
          "account": "Payable to Partner",
          "debit": 2000,
          "credit": 0
        },
        {
          "account": "Payable to Subcontractor",
          "debit": 1000,
          "credit": 0
        },
        {
          "account": "Operator balance (your account)",
          "debit": 0,
          "credit": 20000
        }
      ],
      "balanced": true
    },
    {
      "id": "txn_3",
      "date": "2026-10-23",
      "description": "Payout run 1",
      "lines": [
        {
          "account": "Payable to Provider",
          "debit": 56000,
          "credit": 0
        },
        {
          "account": "Payable to Partner",
          "debit": 8000,
          "credit": 0
        },
        {
          "account": "Payable to Subcontractor",
          "debit": 4000,
          "credit": 0
        },
        {
          "account": "Operator balance (your account)",
          "debit": 0,
          "credit": 68000
        }
      ],
      "balanced": true
    }
  ],
  "payouts": [
    {
      "date": "2026-10-23",
      "party": "Provider",
      "amount": 56000,
      "note": "Scheduled payout"
    },
    {
      "date": "2026-10-23",
      "party": "Partner",
      "amount": 8000,
      "note": "Scheduled payout"
    },
    {
      "date": "2026-10-23",
      "party": "Subcontractor",
      "amount": 4000,
      "note": "Scheduled payout"
    }
  ]
}

Webhook

split.created, signed

FractionalPay-Signature: t=1792022400,v1=5257a8...

{
  "id": "evt_8k2m41fq7c0d9x3vbn5tw6hr",
  "type": "split.created",
  "created": 1792022400,
  "livemode": true,
  "data": {
    "split": {
      "id": 48213,
      "object": "split",
      "status": "calculated",
      "rule_id": 3,
      "rule_version": 3,
      "gross": 100000,
      "currency": "USD",
      "queued_reason": null,
      "calculated_at": 1792022400,
      "allocations": [
        {
          "id": 7101,
          "beneficiary_id": 41,
          "role_key": null,
          "amount": 70000,
          "currency": "USD",
          "held_amount": 0,
          "held_until": null,
          "status": "available",
          "payout_id": null
        },
        {
          "id": 7102,
          "beneficiary_id": null,
          "role_key": "platform",
          "amount": 15000,
          "currency": "USD",
          "held_amount": 0,
          "held_until": null,
          "status": "available",
          "payout_id": null
        },
        {
          "id": 7103,
          "beneficiary_id": 43,
          "role_key": null,
          "amount": 10000,
          "currency": "USD",
          "held_amount": 0,
          "held_until": null,
          "status": "available",
          "payout_id": null
        },
        {
          "id": 7104,
          "beneficiary_id": 44,
          "role_key": null,
          "amount": 5000,
          "currency": "USD",
          "held_amount": 0,
          "held_until": null,
          "status": "available",
          "payout_id": null
        }
      ]
    },
    "payment_id": 48213,
    "external_id": "order-48213"
  }
}
Read the API reference

Test keys work in the sandbox. Live keys come with every plan.

Security and money flow

Your money never passes through us

FractionalPay is a rules, ledger and orchestration layer. The money stays in your own account at a licensed payment operator the whole time.

Your customer

Pays by card or bank as usual. Nothing changes at checkout.

Your operator account

Your own connected platform account at a licensed operator. Funds settle here.

Beneficiaries

Sellers, partners and creators receive transfers from your account on schedule.

FractionalPay

Reads payments, applies your rules, writes the ledger and sends payout instructions to your account. Never holds funds.

No money transmission. We do not hold, pool or move funds, and we are not a payment institution. Your operator does what it already does for you.

Scoped access. API keys are split into test and live, account tokens are encrypted at rest, and roles control who can change rules or approve payouts.

A full trail. Ledger entries are append only and every rule keeps its version history. Read more on the security page.

For the decision maker

What manual splitting costs you each year

Put in your own numbers. The plan is picked from your monthly flow, and the price uses yearly billing.

What changes for finance

  • No more month-end exports and percentage formulas.
  • A live balance for every seller, partner and creator.
  • Refunds and chargebacks reversed with matching entries.
  • A daily reconciliation report instead of a quarterly hunt.
  • Earnings statements per beneficiary for your accountant.

What changes for engineering

  • No split logic, rounding code or ledger tables to maintain.
  • One API call to simulate or apply a split.
  • Signed webhooks for splits, payouts, holds and mismatches.
  • Test and live keys, so you can try everything in the sandbox.
  • Finance changes rules in the dashboard without a deploy.

Your numbers

$
h
$
$

We assume about 2 hours a month stay with your team for review. Everything else in the split routine runs by rule.

What you get back each year

Monthly split flow
$300,000
Plan that fits
Growth $2,988 a year
Finance hours saved
456 h
Value of those hours
$27,360

After the plan price

$24,372

Building it yourself costs about $48,000 before the first payout runs, plus upkeep every month after.

Above 10 million a month, Scale adds a higher flow block from the billing portal on the same subscription.

A worked example. A marketplace takes 2,000 payments a month with an average of $150, so $300,000 flows through each month and Growth fits at $2,988 a year. Its controller spends about 40 hours a month exporting payments, applying percentages, fixing refunds and preparing payouts. With the routine running by rule, about 456 hours a year come back, worth $27,360 at $60 an hour. Building the same thing in house would take an engineer around four months before the first payout, and then it needs care every month.

That is the case for revenue sharing software instead of a homegrown script: the work is done the same way every time, and the ledger shows it.

Compare

How FractionalPay compares with the usual options

Payout tools such as Tipalti, Trolley or Dots are built to send money to recipients. Ledger APIs such as Modern Treasury give engineers building blocks. Raw operator features leave the split logic to you. FractionalPay splits each payment by rule and keeps the books for it. Want to stay on your current operator? See how Stripe split payments work with your own account.

  • Splits each incoming payment by rule

    FractionalPay
    Yes
    Payout tools
    Pays out, splitting is up to you
    Raw operator features
    Your engineers build it
    Spreadsheets
    By hand
  • Proportional refund reversal

    FractionalPay
    Yes
    Payout tools
    Varies by tool
    Raw operator features
    Your engineers build it
    Spreadsheets
    By hand
  • Double-entry ledger per beneficiary

    FractionalPay
    Yes
    Payout tools
    Payout records
    Raw operator features
    Your engineers build it
    Spreadsheets
    No
  • Daily reconciliation with your operator balance

    Growth and Scale

    FractionalPay
    Yes
    Payout tools
    Varies by tool
    Raw operator features
    Your engineers build it
    Spreadsheets
    Manual matching
  • Pricing

    FractionalPay
    Flat monthly, no transaction fees
    Payout tools
    Base fee plus per-payout fees
    Raw operator features
    Per account and per payout fees
    Spreadsheets
    Staff hours every month
  • Getting started

    FractionalPay
    Self-serve, no sales call
    Payout tools
    Often a sales demo first
    Raw operator features
    An engineering project
    Spreadsheets
    Ready, until volume grows

Each category covers many products, and features differ between them. See the detailed comparisons.

Pricing

One flat price, no transaction fees

Every plan connects your own payment account. Yearly billing saves 50 percent.

Starter

For early marketplaces and agencies that split payments between a few parties.

$99 / month

$199 / month

Billed yearly, $1,188. Save 50%

Billed monthly. Cancel anytime from billing

$100,000 split per month, no transaction fees

  • 100,000 USD split per month
  • One connected live payment account
  • Up to 50 beneficiaries per billing period
  • 25 saved split rules per billing period, percentage and fixed lines
  • Scheduled payouts with a minimum payout threshold
  • Double-entry ledger and proportional refund reversal
  • REST API (50,000 requests per month) and 5 webhook endpoints
  • 3 team members, CSV exports
  • No transaction fees from us

Best for platforms with partners

Growth

For growing platforms with partners, recurring revenue and monthly reconciliation.

$249 / month

$499 / month

Billed yearly, $2,988. Save 50%

Billed monthly. Cancel anytime from billing

$1,000,000 split per month, no transaction fees

  • Everything in Starter
  • 1,000,000 USD split per month
  • Up to 1,000 beneficiaries per billing period
  • Recurring revenue splits on every renewal
  • Partner and affiliate commissions, tiered and time-limited
  • Holds and reserves until delivery or a return window ends
  • Daily reconciliation with mismatch alerts
  • Tax data per beneficiary and yearly earnings statements
  • 10 team members with roles, unlimited signed webhooks
  • REST API, 500,000 requests per month

Scale

For multi-entity platforms and finance teams that need approvals, SSO and audit trails.

$749 / month

$1,499 / month

Billed yearly, $8,988. Save 50%

Billed monthly. Cancel anytime from billing

$10,000,000 split per month, no transaction fees

  • Everything in Growth
  • 10,000,000 USD split per month
  • Unlimited beneficiaries and split rules
  • Up to 10 connected accounts, multiple currencies, per-entity ledgers
  • Four-eyes approval for payouts above a threshold
  • SAML SSO, audit log export, IP allowlist for API keys
  • Ledger export in journal format and scheduled exports
  • Unlimited team members, priority support by email
  • REST API, 5,000,000 requests per month

No transaction fees. Payments are final. Compare every plan feature

FAQ

Questions finance and engineering ask first

Anything else? Write to [email protected].

Do you hold our funds?
No. Money moves through your own platform account at a licensed payment operator. FractionalPay calculates each split, writes it to the ledger and sends payout instructions to that account. We never hold, pool or transmit funds, and we are not a payment institution.
Which payment operator do you work with?
You connect your own Stripe Connect platform account in a few clicks. Your customers keep paying exactly as they do today. More operators are listed on the integrations pages as they are added.
How do refunds and chargebacks work?
A refund is reversed across every party by the share each one received, with matching ledger entries. If a party was already paid, the negative amount is carried into their next payout, so nobody has to chase money by hand.
How do you handle rounding?
Every split adds up to the exact payment, to the cent. Leftover cents are placed with the largest remainder method, and anything not assigned by a rule goes to the party you mark as the remainder, usually the platform.
Which currencies can we split?
Each payment is split in its own currency. Starter and Growth run on one connected account. Scale adds multiple connected accounts and currencies, with a separate ledger for each entity.
How long does it take to go live?
Connect your payment account, add your beneficiaries and create one split rule. New payments split from that moment. Many teams finish this in an afternoon, with no sales call and no implementation project.
Are there API limits?
The sandbox allows 100 API requests a day. Plans include 50,000, 500,000 or 5,000,000 requests a month, with up to 100 requests a second per key. Usage is shown in your dashboard.
What happens if we go over our monthly flow?
You get a notice at 80 percent of your plan flow. At 100 percent new splits wait in a queue until you upgrade. Payments are never lost and nothing is split twice.
Can we cancel?
Yes, anytime from billing. Your plan stays active until the end of the paid period, and you can export the full ledger as CSV. Payments are final, as described in our refund policy.
How do you keep our data safe?
API keys are scoped to test or live mode, account tokens are encrypted at rest, webhooks are signed, and every ledger entry is append only. Scale adds SAML SSO, an IP allowlist and audit log export. Details are on the security page.

Split your next payment the right way

Try the simulator with your own numbers, then save the rule to your workspace. No transaction fees, and it runs on your own payment account.

Split a payment