Glossary
Stripe on_behalf_of
on_behalf_of is the Stripe field that names which connected account a charge or invoice payment is really for, making that account the settlement merchant and business of record even when the platform is the one processing the payment.
Also called: on_behalf_of, settlement merchant, business of record, invoices with Connect
Definition
Three questions sound like one question until you run a Connect integration. Who processed this payment? Whose name is on it? Whose money is it?
Stripe answers those with three different mechanisms, and `on_behalf_of` is the one that answers the third. The API reference defines it on the invoice as "The account (if any) for which the funds of the invoice payment are intended. If set, the invoice will be presented with the branding and support information of the specified account."
Read quickly, that sounds like a branding setting, because the second sentence is about branding and the first is easy to skim. It is not a branding setting. Stripe’s Connect documentation is blunter about what the field is for: "To make the connected account the business of record for the payment, use the `on_behalf_of` parameter." The billing documentation says the same thing in the vocabulary card networks use: it is how you "make the connected account the settlement merchant".
Settlement merchant is a legal and financial designation, not a cosmetic one. It decides which country the charge settles in, which fee schedule applies, which business appears on the customer’s card statement, and which entity the tax question gets asked about. Branding comes along with it because a payment presented as one business and settled as another would be the anomaly.
Key points
- +Stripe defines it as "The account (if any) for which the funds of the invoice payment are intended."
- +It is how you "make the connected account the business of record for the payment", and on invoices how you "make the connected account the settlement merchant".
- +Stripe settles the charge "in the country of the specified account to minimize declines and avoid currency conversions".
- +It "Uses the fee structure for the connected account’s country", and that country determines the country specific fees charged to the platform account.
- +It uses the connected account’s statement descriptor, and its address and phone number on the customer’s statement when the two accounts are in different countries.
- +Payouts follow the connected account’s own `delays_days` setting.
- +On invoices it applies "the branding, contact information, and account tax ID of the connected account" to the invoice email, PDF, Hosted Invoice Page and receipt.
- +It does not move dispute liability on destination charges or separate charges and transfers: the platform balance is debited "with or without `on_behalf_of`".
- +It must be set through the API before the invoice is finalized. The Dashboard has no interface for it.
- +Invoices created on behalf of a connected account "don’t support bank transfers payment methods, such as ACH Credit Transfer and paper checks".
Who processed it, whose name is on it, whose money it is
These three come apart in Connect, and each has its own control.
**Who processed it** is the charge type. With a direct charge, Stripe says "the payment appears in the connected account’s balance, not in your platform’s balance". With a destination charge, "the payment appears in your platform’s balance" and a portion transfers onward. That choice decides whose Stripe balance the money lands in, and it is made when you create the charge, not by `on_behalf_of`.
**Whose name is on it** is presentation: statement descriptor, invoice branding, support details, tax IDs on the PDF.
**Whose money it is** in the sense a regulator or a card network cares about is the settlement merchant, and that is what `on_behalf_of` sets.
The combination people find surprising is a destination charge with `on_behalf_of` set. The funds arrive in the platform’s balance, and the connected account is nonetheless the business of record for the payment. Both statements are true at once because they answer different questions.
What Stripe changes the moment you set it
Stripe publishes an explicit list. When `on_behalf_of` is set to the ID of a connected account, Stripe automatically:
- Settles charges "in the country of the specified account to minimize declines and avoid currency conversions". - "Uses the fee structure for the connected account’s country." - Uses "the connected account’s statement descriptor". - Uses "the connected account’s address and phone number (rather than the platform’s) on the customer’s statement if the connected account is in a different country than the platform". - "Pays out a connected account, depending on the days specified in its `delays_days` setting."
Four of those five are about geography. That is the clearest signal of what the field is really doing: it relocates the payment, for processing purposes, to the connected account’s country.
One consequence sits outside that list and lands directly on the platform’s bill. Stripe: "When the `on_behalf_of` field is set, the country of the connected account is used to determine the country specific fees charged to your platform account." The platform still pays, at the connected account’s country rates. If your connected accounts span several countries, your effective processing cost is a weighted average you did not explicitly choose, and [Stripe Fee](/glossary/stripe-fee) is where that arrives.
There is also a routing benefit worth knowing about. Destination charges and separate charges and transfers support cross-region funds flows only in certain regions, and Stripe notes that otherwise "the platform and connected account must be in the same region unless using `on_behalf_of`". The field is sometimes the thing that makes a cross-border arrangement possible at all.
issuer is the neighbouring field, and it is not the same job
On the invoice object, `issuer` sits a few lines away from `on_behalf_of` and is documented as "The connected account that issues the invoice. The invoice is presented with the branding and support information of the specified account."
The second sentence is identical in spirit to the one on `on_behalf_of`, which is exactly why the two get conflated. The first sentences are what separate them. `issuer` is about who the invoice is from. `on_behalf_of` is about where the funds of the payment are intended.
In practice you can use `issuer` to render a connected account’s tax IDs and business details on a customer-facing document without changing anything about settlement. Stripe’s guide on displaying connected account tax IDs offers both as ways to reach the same presentational outcome: specify the connected account "either using the `on_behalf_of` parameter or as the `issuer`". Stripe also pulls default tax IDs "from the invoice `issuer`’s account during finalization" unless `account_tax_ids` is already set.
So if all you need is the right business name and VAT number on the PDF, `issuer` does that job with a narrower blast radius. Reach for `on_behalf_of` when the answer to "whose payment is this?" genuinely needs to change.
What it does not change
This is the half that saves money, because assuming the field carries more than it does is an expensive mistake.
**Dispute liability does not follow it.** Stripe: for disputes on payments created on your platform using destination charges or separate charges and transfers, "with or without `on_behalf_of`", the platform balance "is automatically debited for the disputed amount and fee". The platform can then try to recover the money by reversing the transfer. Making a connected account the business of record does not make it the party whose balance absorbs a chargeback on an indirect charge. See [Stripe Dispute](/glossary/stripe-dispute) for how that debit shows up.
**It does not choose the charge type for you.** Funds still flow according to whether the charge is direct, destination, or separate charges and transfers.
**It does not grant capabilities.** To collect on behalf of a connected account, that account "needs to have account capabilities enabled for the relevant payment methods".
**It narrows payment methods on invoices.** Stripe: "Invoices created on behalf of a connected account don’t support bank transfers payment methods, such as ACH Credit Transfer and paper checks." If an invoice with the field set suddenly cannot offer the payment method your customers use, this line is why.
**It does not settle the tax question.** Stripe’s guidance for invoices with Connect is that "You need to first determine which entity is liable for tax", and that the answer "might be your connected account or the platform, depending on your business model". The field influences what appears on the document. It does not tell you who owes the tax.
It has to be set before the invoice finalizes
Stripe is specific about the window: "You must set `on_behalf_of` in the API before finalizing an invoice", and adds that "the Dashboard doesn’t have an interface for invoices you send on behalf of connected accounts."
That is a real constraint rather than a note. [Stripe invoice finalization](/glossary/stripe-invoice-status) is the point at which the invoice number, the payment intent and the PDF come into existence, and it is the same point at which Stripe pulls the issuer’s default tax IDs. A payment already collected against a finalized invoice cannot be retroactively reassigned to a different business of record by editing a field.
The practical consequence for anyone auditing a Connect setup: if invoices are being created by an automation and finalizing an hour later on their own, the window to set this field is inside the automation, not in anybody’s workflow. The correction after the fact is a credit note and a new invoice, not an update.
Why it matters once the numbers reach your books
Bookkeeping cares about which legal entity earned the revenue and which one owes the tax. `on_behalf_of` is the field where Stripe records an answer to a closely related question, which makes it easy to treat as an accounting instruction. It is not one.
Keep the two apart deliberately. The Stripe balance a payment lands in is decided by the charge type, and that balance is what a payout later moves to a bank account. See [Stripe Transfer](/glossary/stripe-transfer) for how funds move between a platform and a connected account once the charge exists. The business of record designation sits alongside that, and it is what makes the payment look, to the customer and to the card networks, like the connected account’s sale.
For a platform reconciling into one QuickBooks file, the number that has to tie out is still the platform’s own balance and its own payouts, no matter how many payments were taken on behalf of somebody else. For a connected account reconciling its own books, the numbers that matter are the ones in its own Stripe balance. The field that changed the branding on the invoice did not move either one.
The honest summary: read `on_behalf_of` as a statement about identity and settlement, and read the charge type as the statement about money. Answering the accounting question with the wrong one of the two produces books that describe a business other than the one that was paid.
Frequently asked questions
What does on_behalf_of do in Stripe?
It names the connected account a payment is really for. Stripe documents it as "The account (if any) for which the funds of the invoice payment are intended", and describes setting it as the way to "make the connected account the business of record for the payment". Stripe then settles the charge in that account’s country, applies that country’s fee structure, and uses that account’s statement descriptor and support details.
Is on_behalf_of the same as issuer on an invoice?
No. Stripe defines `issuer` as "The connected account that issues the invoice", which is about who the invoice is from. `on_behalf_of` is about where the funds of the payment are intended. Both cause the connected account’s branding and support information to be shown, which is why they get confused, but only `on_behalf_of` changes the settlement merchant.
Does on_behalf_of change which balance the money lands in?
No. That is decided by the charge type. With a direct charge the payment appears in the connected account’s balance; with a destination charge it appears in the platform’s balance and a portion transfers onward. A destination charge with `on_behalf_of` set puts the funds in the platform balance while making the connected account the business of record.
Who is liable for a chargeback when on_behalf_of is set?
On destination charges and separate charges and transfers, the platform. Stripe states that for disputes on those charge types, "with or without `on_behalf_of`", the platform balance is automatically debited for the disputed amount and fee, and the platform can attempt to recover the funds by reversing the transfer to the connected account.
Can I set on_behalf_of after the invoice is finalized?
No. Stripe requires it to be set in the API "before finalizing an invoice", and notes that the Dashboard has no interface for invoices sent on behalf of connected accounts. Once an invoice is finalized the field cannot be applied retroactively, so the correction is a credit note and a new invoice rather than an edit.
Why can my customer no longer pay by bank transfer?
If the invoice was created on behalf of a connected account, that is expected. Stripe: "Invoices created on behalf of a connected account don’t support bank transfers payment methods, such as ACH Credit Transfer and paper checks." Collecting on behalf of an account also requires that account to have the relevant payment method capabilities enabled.
Does on_behalf_of decide who owes the sales tax or VAT?
It does not. Stripe’s guidance for invoices with Connect is that you "need to first determine which entity is liable for tax", and that the liable entity "might be your connected account or the platform, depending on your business model". Setting the field changes the tax ID and business details printed on the invoice, which is a presentation outcome, not a determination of liability.
What customers say about running Stripe through Acodei

“If you're testing out all the different Stripe/QuickBooks integration apps right now, let me save you some time. This one is the best one by far.”
“Works well and is really helpful for massive transactions. The support is really fast and helpful. 100% recommended.”
Related reading
More glossary terms
- Undeposited Funds
- Stripe Balance Transaction
- Available vs Pending Balance
- Stripe Dispute
- Stripe Fee
- Stripe Balance Adjustment
- QuickBooks Credit Memo
- Stripe Tax
- QuickBooks Tax Code
- Stripe Reserve
- Stripe Tax Rate
- Stripe Fee Credit
- Stripe Credit Note
- QuickBooks Product/Service Item
- Stripe Payout
- QuickBooks Sales Receipt
- QuickBooks Bank Deposit
- QuickBooks Transfer
- Stripe Authorization Hold
- QuickBooks Refund Receipt
- QuickBooks Payment
- QuickBooks Expense
- QuickBooks Journal Entry
- Stripe Financial Account
- Holding Account
- Accounts Receivable
- Bank Feed
- Deferred Revenue
- Stripe PaymentIntent
- Stripe Checkout Session
- Stripe SetupIntent
- Stripe PaymentMethod
- Stripe Charge
- Stripe Refund
- QuickBooks Invoice
- QuickBooks Class Tracking
- QuickBooks Location Tracking
- QuickBooks Project
- QuickBooks Closing Date
- Stripe Invoice Line Item
- Stripe Proration
- Stripe Invoice Status
- Stripe Shipping Rate
- Stripe Transfer
- Stripe Mandate
Ready to try Acodei?
Connect Stripe to QuickBooks Online in minutes and let the fees, refunds, and payouts land where your accountant expects them.