Skip to content
Create account
or
Sign in
The Stripe Docs logo
/
Ask AI
Create account
Sign in
Get started
Payments
Revenue
Platforms and marketplaces
Money management
Developer resources
Overview
Billing
OverviewAbout the Billing APIs
Subscriptions
Invoicing
Usage-based billing
Quotes
Customer management
Billing with other products
Revenue recovery
Automations
Test your integration
Tax
Overview
Use Stripe tax
    How Tax works
    Set up collection
    Configure behavior
    Testing
    Find your payment type
    Find your business type
      Connect
        Platforms
        Marketplaces
      Ticket sales
      Physical goods
      Custom integration
    Supported countries
Manage compliance
Reporting
Overview
Select a report
Configure reports
Reports API
Reports for multiple accounts
Revenue recognition
Data
OverviewSchema
Custom reports
Data Pipeline
Data management
HomeRevenueUse Stripe taxFind your business typeConnect

Tax for marketplaces

Learn about tax requirements for platforms and marketplaces, and how to enable Stripe Tax to collect tax on transactions when the Connect platform is liable.

Tax requirements for platforms and marketplaces

Many countries and US states require marketplace operators to collect sales tax and VAT on their facilitated sales. The US refers to these businesses as marketplace facilitators, while other regions, such as Europe, might refer to them as deemed sellers.

As a marketplace operator, your tax collection requirements differ depending on the country or state. However, if your electronic interface enables transactions between buyers and sellers and you directly or indirectly collect customer payments, you might need to fulfill tax collection responsibilities.

If your businesses operates a marketplace or platform, you must first determine whether they qualify as a marketplace facilitator or a deemed seller, then make sure that they maintain tax compliance. If you’re unsure about your business’s tax requirements, consult a tax advisor.

If your business operates a marketplace and wants to collect tax on sales facilitated through this marketplace, refer to details below to enable Stripe Tax for marketplaces.

Enable Stripe Tax for marketplaces

Stripe Tax enables businesses to calculate, collect, and file indirect taxes in over 100 countries, across hundreds of product categories.

Use this guide if your platform is responsible for collecting, filing, and reporting taxes.

Note

We use the platform’s head office location, preset tax code, and tax registrations to calculate taxes. However, we don’t use the connected account information for tax purposes.

  1. Configure your platform account for tax collection
  2. (Optional) Assign tax codes to product catalog
  3. Integrate tax calculation and collection
  4. Withhold the collected tax amount
  5. Access Stripe Tax reports

Configure your platform account for tax collection

To collect taxes, you need the platform account’s tax settings and registrations.

Use the Stripe Dashboard

Use the Stripe Dashboard to specify your head office location, preset tax code, and tax registrations.

Use the Stripe API

Use the Tax Settings API to set your head office location and other default values and the Tax Registrations API to add tax registrations for the locations where you have tax obligations.

Assign tax codes to your product catalog

To calculate taxes, Stripe Tax requires that you classify products into tax codes. You can do so by supplying a preset tax code for the platform account, which might be sufficient if you typically sell a single category of items or services.

Additionally, you can map tax codes to each product to give you more control over tax categorization. You might have to map each product that a seller sets up on your marketplace. You can find a list of supported tax codes from available tax codes or retrieve it from the Stripe Tax Code API.

Integrate tax calculation and collection

You need to integrate with Stripe Tax to estimate taxes as part of your checkout flow.

Payment Links

Payment Links for one-time payments

Pick one of the currently supported charge types that allow your platform account to be liable for tax with Stripe Payment Links:

This charge type isn’t supported for use cases involving a connected account where the platform is liable for tax.

Payment Links for subscriptions

Pick one of the currently supported charge types that allow your platform account to be liable for tax with Stripe Payment Links:

This charge type isn’t supported for use cases involving a connected account where the platform is liable for tax.

Checkout

Checkout Sessions for one-time payments

Pick one of the currently supported charge types that allow your platform account to be liable for tax with Stripe Checkout:

This charge type isn’t supported for use cases involving a connected account where the platform is liable for tax.

Checkout Sessions for subscriptions

Pick one of the currently supported charge types that allow your platform account to be liable for tax with Stripe Checkout:

This charge type isn’t supported for use cases involving a connected account where the platform is liable for tax.

Billing

Subscriptions

Pick one of the currently supported charge types that allow your platform account to be liable for tax with Stripe Subscriptions:

This charge type isn’t supported for use cases involving a connected account where the platform is liable for tax.

Invoicing

Pick one of the currently supported charge types that allow your platform account to be liable for tax with Stripe Invoicing:

This charge type isn’t supported for use cases involving a connected account where the platform is liable for tax.

Custom flows using the Stripe Tax API

Payment Intents

Pick one of the currently supported charge types that allow your platform account to be liable for tax with Stripe Tax API:

We don’t recommend this charge type because the connected account controls refunds. The connected account needs to be aware of the tax withholding strategy to refund the correct amount to you and their users.

Off-Stripe payments

Check how to integrate using Stripe Tax API and to allow your platform account to be liable for tax. In the Tax Calculation API calls:

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/tax/calculations \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d currency=usd \ -d "line_items[0][amount]"=1000 \ -d "line_items[0][reference]"=L1 \ -d customer=
{{CUSTOMER_ID}}

You must also create tax transactions to record the tax you collect from customers and account for refunds.

After you implement it, Stripe automatically starts collecting tax in jurisdictions where you have an active registration.

Caution

Independent of the payment APIs, we credit the transaction amount to the connected account. You need to withhold the collected tax amount on the platform because the platform is liable for tax.

Withhold collected tax amount

You must make sure that the tax collected is transferred to your marketplace account, so that you can then remit the tax to relevant jurisdictions.

Checkout and Payment Links

This charge type isn’t supported for use cases involving a connected account where the platform is liable for tax.

Invoicing

This charge type isn’t supported for use cases involving a connected account where the platform is liable for tax.

Subscriptions

This charge type isn’t supported for use cases involving a connected account where the platform is liable for tax.

Payment Intents with Stripe Tax API

We don’t recommend this charge type because the connected account controls refunds. The connected account needs to be aware of the tax withholding strategy to refund the correct amount to you and their users.

Access Stripe Tax Reports

Use the Stripe Dashboard

You can use Stripe Tax reports to help you correctly file and remit tax. The platform account can access the Stripe Tax reports using the Tax Reporting functionality in the Stripe Dashboard.

Use the Stripe API

Platforms can also download the itemized tax transactions that they’re liable for using the Report API with the tax.transactions.itemized.2 report type.

When a platform runs the following command, they download all 2022 transactions that they have sales tax liability for:

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/reporting/report_runs \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d report_type="tax.transactions.itemized.2" \ -d "parameters[interval_start]"=1641013200 \ -d "parameters[interval_end]"=1672549200

See also

  • Calculate tax in your custom checkout flow
Was this page helpful?
YesNo
  • Need help? Contact Support.
  • Join our early access program.
  • Check out our changelog.
  • Questions? Contact Sales.
  • LLM? Read llms.txt.
  • Powered by Markdoc