# Funds flow

URL: /systems/finance/funds-flow · Id: `page:systems/finance/funds-flow`

> How a dollar moves from a buyer's card to a Company's bank account, who holds it on the way, and what the ledger records at each step.

Every dollar a [Startup](/business/nouns/startup) earns moves on Stripe, through the Startup's own connected account. The platform instructs the rail and records each move as [Entries](/business/nouns/entry); it never holds, lends or stores customer money.

## The path of one sale
Take a [Licensed-human marketplace](/products/templates/licensed-marketplace) that books certified tax preparers for freelancers at $180 a return. The [Customer](/business/nouns/customer) pays once at checkout. The charge is made on behalf of the preparer, the [Supplier](/business/nouns/supplier) who holds the [Credential](/business/nouns/credential) and sells the filing.

The preparer's $144 lands on their own connected account at once. The Startup's $36 take reaches its account the same day and counts as revenue when the Customer accepts the return.

| Step | Rail | Startup's ledger |
| --- | --- | --- |
| Customer pays $180 | One charge, made on behalf of the preparer | $36 take, deferred until accepted |
| Preparer's share | $144 transfers to the preparer's account at once | None: it is the preparer's money |
| Platform fee | One fee withheld from the take | Payment processing cost and platform fee, as two Entries |
| Return accepted | None | $36 revenue |
| Take arrives | Same-day transfer to the Startup's account | Cash on the rail |
| Balance paid out | Payout to the [Company](/business/nouns/company)'s bank account | Cash moves from rail to bank |

Each row on the rail arrives as a [Transaction](/business/nouns/transaction). It counts only once it reconciles to the Entries already posted.

## Who sells and who collects tax
Every [Order](/business/nouns/order) names its seller of record in `Order.merchantOfRecord`: the [Party](/business/nouns/party) that charges, books the revenue and owes the tax. The [Product Template](/business/nouns/product-template) decides who that is.

| Product Template | Charge | Seller of record | Tax collected by |
| --- | --- | --- | --- |
| [SaaS](/products/templates/saas), [Headless SaaS](/products/templates/headless-saas), [Dataset API](/products/templates/dataset-api), [Agent as a Service](/products/templates/agent-as-a-service), [Directory](/products/templates/directory), [Services-as-Software](/products/templates/services-as-software), [E2E managed service](/products/templates/managed-service) | Direct, on the Startup's connected account | The Startup | The Startup |
| [Marketplace](/products/templates/marketplace) | Destination charge, on behalf of the Supplier | The Supplier | The Startup as marketplace facilitator where the law names one; the Supplier elsewhere |
| Licensed-human marketplace | Destination charge, on behalf of the Credential holder | The Credential holder | As a Marketplace |
| Any, sold where a venue collects payment | The venue charges the buyer | The Startup | The venue, where it collects |

A destination charge sets Stripe's own `on_behalf_of` parameter to the Supplier's account. The API, the SDK and the registry use camelCase throughout; Stripe's parameter names appear only where a page explains Stripe's rail.

Each seller computes tax at checkout through [Tax calculation](/systems/finance/tax-calculation). No merchant of record stands between a Startup and its buyer, because each Startup is a business in its own right.

## One payment account per Startup
A Startup's connected account opens at its first paid [Offer](/business/nouns/offer), its first [Card](/business/nouns/card), or its graduation. Until then, a Startup the [Studio](/business/nouns/studio) holds sells inside the Studio-held entity as its own sub-ledger, so it can graduate with its balance whole.

The platform verifies the owners and covers the account's losses, so it also runs the risk checks. No Startup gets Stripe's own dashboard: every balance, payout, Card and [Dispute](/business/nouns/dispute) is a record in the founder's app and the API. [Merchant account](/systems/finance/merchant-account) holds the full contract.

Onboarding verifies the natural person behind the selling Company: the founder, or an officer of the Studio-held entity. That check is the legal floor row [Identity checks](/systems/legal-and-corporate/floor/identity), and no agent completes it. Later requests from Stripe become dated [Tasks](/business/nouns/task) for the owner of record.

## Where cash sits
Cash sits in four places, and the [Ledger](/systems/ledger) computes each balance from Entries on read.

| Place | Holds | Leaves by |
| --- | --- | --- |
| Payments balance | Charges, pending until they settle, then available | A payout to the bank, or a sweep to the card balance |
| Card balance | Money set aside for Cards | Card spend under a [Mandate](/business/nouns/mandate) |
| Financial accounts | Operating and reserve cash | A sweep, a [Bill](/business/nouns/bill) payment, or a payout |
| Bank | Payouts received | Outside the platform |

Revenue in the payments balance buys nothing until it moves. The [Treasurer](/agents/finance/treasurer) sweeps on rules, such as two weeks of card spend in the card balance and the rest in reserve. [Financial accounts](/systems/finance/financial-accounts) and [Treasury](/systems/treasury) show the places side by side.

Payouts run daily by default, once each charge settles; [move money](/systems/finance/move-money) sends one now. Each payout lists every Order, refund, fee and Dispute it carries, so charges less refunds, fees and Disputes equal the cash that reached the bank.

## Fees, refunds and losses
Each charge pays one platform fee, withheld before the money reaches the Startup's balance. It covers card processing and the platform's share, and the platform pays Stripe from it. The Ledger books the two parts as separate Entries, and other outside costs pass through at cost, as [how fees work](/systems/finance/fees) lists.

A refund posts reversing Entries against the original sale. A chargeback opens a Dispute: the rail withdraws the amount and its fee, and the Startup answers with its records before the deadline. A won Dispute reverses the withdrawal; a lost one is a loss on the Startup that made the sale.

The rail can hold a reserve on a new or high-risk account, and the ledger books it as restricted cash. When refunds and Disputes exceed a balance, the shortfall is a receivable from that Startup, recovered from its next sales. One Startup's loss never draws down a sibling's balance.

## Revenue a venue collects
Some venues bill the buyer themselves and pay the seller later, such as code hosts, cloud marketplaces and app stores. A Startup sells there freely. The venue charges, collects tax where it collects, keeps its share and pays the Company directly, so no money crosses the platform.

Each venue payout statement imports as Entries: the gross sale as revenue, the venue's share as a cost, and the net as cash received. That revenue counts as outside revenue, the same as a sale through the Startup's own checkout.

## Between siblings
Startups that buy from each other inside one Company move only Entries. No money crosses the rail, because one legal entity cannot pay itself. Each Entry names its Startup and the sibling on the other side, and the pairs eliminate in the Company's statements.

Between Companies, each pair settles once a month with one net transfer through Stripe. When one Company owes another $4,200 and is owed $1,100 back, a single $3,100 transfer settles both. Each ledger keeps the gross amounts, so every Startup's revenue and [Cost](/business/nouns/cost) stay intact.

Money moves only on Stripe, under each seller's own connected account. The platform performs no money transmission, stored value, lending, insurance pooling or escheat, and admission refuses a Startup that needs one without a licensed upstream. Unclaimed balances follow [Unclaimed property](/systems/legal-and-corporate/floor/unclaimed), and payee tax forms follow [Information returns](/systems/legal-and-corporate/floor/information-returns).

## Next
- [Getting paid](/systems/finance/getting-paid): from Offer to collected cash.
- [Revenue recognition](/systems/finance/revenue-counting): which of these dollars count, and how.
- [Real-time books](/systems/finance/real-time-books): how each move becomes Entries as it happens.