Create invoices with Connect
You can create invoices for connected accounts, which support several approaches for collecting payments. You can use direct charges to create them directly on the connected account. Alternatively, you can create invoices on the platform with transfers to the connected account by using destination charges. You can also take an application fee on these invoices.
Invoice transactions are based on Invoicing pricing.
Create an invoice using direct charges
To create an invoice that directly charges on a connected account, create an invoice while authenticated as the connected account. For this to work, the customer must be defined on the connected account.
As with creating a direct charge on a connected account, you can create a customer on a connected account by using either the platform’s publishable key or the connected account’s publishable key. You can also create a token by using shared customers. When you use direct charges, the connected account is responsible for the cost of the Stripe fees, refunds, and chargebacks.
Create an invoice using destination charges
To create an invoice that charges on the platform and creates automatic transfers to a connected account, create an invoice while providing the connected account ID as the transfer_data[destination]
value.
For this to work, the customer must be defined on the platform account, and you must create the connected account token by using the platform’s publishable key. If charging a customer, the customer must exist within the platform account. When using automatic transfers, the platform is the business of record.
Collect application fees
On the invoice, you can optionally withhold an application fee. The following example shows an application_fee_amount for an invoice with a direct charge on the connected account:
This example shows an application_fee_amount
for an invoice with a destination charge:
Make the connected account the settlement merchant
To make the connected account the settlement merchant, charge the customer using the on_behalf_of
parameter when you create or update the invoice. You must set on_behalf_of
in the API before finalizing an invoice—the Dashboard doesn’t have an interface for invoices you send on behalf of connected accounts.
Setting the on_behalf_of
parameter applies the branding and contact information of the connected account to the invoice email, invoice PDF, Hosted invoice page, and invoice receipt. When you use on_behalf_of
, emails aren’t sent in test mode—just like standard invoices that you send with the API. However, you can verify that Stripe created the invoice by checking the Invoices page of the Dashboard.
To collect payments on behalf of the connected account, the connected account also needs to have account capabilities enabled for the relevant payment methods. You can automatically transfer payments for invoices created on behalf of the connected account by using destination charges. For more information about the on_behalf_of
parameter, refer to the relevant Connect documentation:
- For automatic transfers to the connected account, refer to the
on_behalf_of
parameter details in the Create a charge guide. - For information on how to transfer payments manually, refer to Transfer availability.
- For a list of account capabilities that are required to collect payments on behalf of the connected account, refer to Payment method capabilities.
The following example shows how to use the on_behalf_of
parameter for a new invoice by using separate charges and transfers:
As with standard destination charges, you can set an application_fee_amount
on invoices. This example shows how to use on_behalf_of
with a destination charge and application fee.
Invoices created on behalf of a connected account don’t support:
- Account tax IDs.
- Bank transfers payment methods, such as ACH Credit Transfer and paper checks.