Create an invoice with Connect
Create invoices for connected accounts and optionally take fees in the process.
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.
Note
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_
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.
Display Connected Account Tax IDs and Business Details on your Invoices
Certain regions have regulatory requirements for merchants to show their tax IDs and other business details on customer-facing documents.
In some cases, you can fulfill these requirements by displaying information about a connected account instead of information about your platform. The following steps show how to render a connected account’s tax ID and business details on invoice emails, invoice PDFs, Hosted Invoice Pages, and invoice receipts:
- Create tax IDs for your connected account.
- Set default tax IDs for your connected account.
- Specify the connected account either using the
on_
parameter or as thebehalf_ of issuer
on existing or new invoices, subscriptions, and subscription schedules.
Create tax IDs for your connected account
The following example creates a single tax ID for the connected account. Stripe stores the tax ID on the connected account. To create additional tax IDs, call the endpoint again.
Set default tax IDs for your connected account
Stripe automatically pulls default tax IDs from the invoice issuer
’s account during finalization unless account_
is already set on the invoices.
You can set the tax IDs stored on the connected account as the default tax IDs for that account. The following example sets existing tax IDs as default tax IDs:
Set issuer on existing or new invoices, subscriptions, and subscription schedules as the connected account
The following example sets issuer
on an existing subscription. During invoice finalization, subscription invoices pull in the issuer’s default tax IDs:
The following example sets issuer
during invoice creation:
Alternatively, the on_
parameter also prints a connected account’s details on the invoice email, invoice PDF, Hosted Invoice Page, and invoice receipt.
Set account tax IDs on existing or new invoices, subscriptions, and subscription schedules
You can specify account_
for invoices, subscriptions, and subscription schedules to override the default tax IDs. The following example sets account_
on an existing subscription:
The following example sets account_
during invoice creation:
Create tax IDs stored on the platform for your connected account
The tax ID you create is stored on the platform account instead of the connected account. The following example creates a single tax ID for the connected account without using the Stripe-Account
header:
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_
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_
parameter when you create or update the invoice. You must set on_
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_
parameter applies the branding, contact information, and account tax ID of the connected account to the invoice email, invoice PDF, Hosted Invoice Page, and invoice receipt. However, when you use on_
in test mode, emails aren’t sent—just like standard invoices sent via API. In test mode, you can verify that Stripe created an 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_
parameter, refer to the relevant Connect documentation:
- For automatic transfers to the connected account, refer to the
on_
parameter details in the Create a charge guide.behalf_ of - 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_
parameter for a new invoice by using separate charges and transfers:
As with standard destination charges, you can set an application_
on invoices. This example shows how to use on_
with a destination charge and application fee.
Invoices created on behalf of a connected account don’t support bank transfers payment methods, such as ACH Credit Transfer and paper checks.
Integrate tax calculation and collection
You need to first determine which entity is liable for tax. The entity that’s liable for tax might be your connected account or the platform, depending on your business model. To learn more, see Stripe Tax with Connect.