Tax settings
Learn how to allow connected accounts to set up Stripe Tax.
The Tax settings component allows your connected accounts to set up Stripe Tax in your platform. Connected accounts can change their head office address and preset tax code with this component. This component is suitable for software platforms, which means that your connected accounts are liable to collect taxes.
To calculate taxes on payments of your connected accounts you have to collect four data points of information:
- The head office address
- The type of product the connected account sells
- The address of the customer
- The registrations of the connected account with the tax authorities
The tax settings component helps you to collect the first two pieces of information of your connected accounts with minimal integration effort.
The embedded tax settings component uses the Tax Settings API to display the head office address and preset tax code to your connected accounts.
Requirements
- Your integration must follow the software platforms guide for Tax on Connect . This means that your connected accounts are liable to collect taxes.
- After integrating the Tax settings component, render the Tax registrations component to collect tax registration information of your connected accounts. This is a requirement for Tax to calculate tax in a specific location.
Integrate the tax settings component
When creating an Account Session, enable tax settings by specifying tax_settings in the components parameter.
Command Line
Select a language
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
After creating the account session and initializing ConnectJS, you can render the tax settings component in the frontend:
taxSettingsPage.jsx
Select a language
React
HTML + JavaScript
No results
// Include this React component
import {
ConnectTaxSettings,
ConnectComponentsProvider,
} from "@stripe/react-connect-js";
return (
<ConnectComponentsProvider connectInstance={stripeConnectInstance}>
<div>
<h2>Tax Settings</h2>
<ConnectTaxSettings
// Optional
// displayHeadOfficeCountries={["US", "CA", "DE"]}
// onTaxSettingsUpdated={({id: settingsId}) => console.log({settingsId})}
// hideProductTaxCodeSelector
/>
</div>
</ConnectComponentsProvider>
);
| Method | Type | Description | Default |
|---|---|---|---|
setDisplayHeadOfficeCountries | string[] | Array of two-letter country codes that the connected account can choose from for their head office. | undefined (all countries permitted) |
setOnTaxSettingsUpdated | ({id: string}) => void | Callback executed with an object containing the newly updated tax settings ID | undefined (not a required method) |
setHideProductTaxCodeSelector | Boolean | Set to true to hide the tab where users select a default Product Tax Code | false (users can by default set a default PTC) |
To give your connected accounts full control over their tax compliance, you need to integrate the tax registrations component as well. Follow the guide for tax compliance for software platforms. The guide also covers how to calculate and collect the taxes and help your connected accounts to report their taxes.
