💳
Stripe Connect - Marketplace
  • Introduction
    • 👋Welcome
    • Key use cases
    • Key features
  • Getting Started
    • Activating Stripe Connect
    • Adding your icon and branding
    • Installing the plugin
    • Configuring API keys
  • Implementing Key Features
    • Onboarding merchants
    • Checkout Sessions & Payment Forms
    • Splitting one-off payments
      • Autofill customer details
    • Saving down details of a transaction
      • Expiring Checkout Sessions
    • Processing Refunds
      • Insufficient Merchant Account Balance
    • Give merchants access to Stripe Express dashboard
      • Set custom descriptions for charges
      • Allow merchants to set their own payout schedule
    • Splitting subscription payments
      • Allow customers to cancel subscriptions via the Stripe Billing Portal
      • Updating Subscriptions
      • Viewing and downloading invoices for subscription payments
    • Embedding Payment Forms in your app
    • Invoices
      • Creating invoices
      • 'On behalf of' parameter
    • Promotion Codes (Discounts)
    • Integrating Stripe Tax
      • Tax for marketplaces
      • Using a Stripe Webhook to transfer tax to the platform account
  • Common Payment Flows
    • Overview
    • Delayed Payments (escrow-like)
      • Retrieving information on a transfer
      • Canceling an Authorized Payment
    • Shopping Cart Payments with Multiple Sellers
    • Charge a customer using saved payment details
  • Deploying to live
    • Checklist
  • Useful Tips
    • Debugging errors
    • Support
Powered by GitBook
On this page
  1. Implementing Key Features
  2. Integrating Stripe Tax

Tax for marketplaces

PreviousIntegrating Stripe TaxNextUsing a Stripe Webhook to transfer tax to the platform account

Last updated 3 months ago

The following instructions on how to integrate Stripe Tax into your marketplace app (where your marketplace is responsible for collecting and remitting tax) are based on . However, the instructions below are slightly different, as the Stripe Connect - Marketplace plugin automatically takes care of some of the details involved.

Instructions

  1. Activate Stripe Tax

Navigate to the 'Tax' section of your Stripe dashboard and click on 'Get started'. In most cases the first two steps will be completed by default, but if not then provide the necessary info to Stripe

  1. Add a tax registration

As part of the onboarding process, you'll have the option to add a tax registration.

Choose a tax jurisdiction (EG US, UK etc.) and click Next. You can then choose whether you want to start collecting tax immediately or wait until a later date.

You can add as many registrations as you want (you should add one for every jurisdiction where you have a tax obligation).

  1. Provide a preset tax code for the platform account

Stripe gives you the option to either:

  • Map specific tax codes to each product or

  • Use a preset tax code for the platform account which will be applied to all products sold

The Stripe Connect - Marketplace plugin currently only supports using a preset tax code for the platform account. You can set this preset tax code by navigating to:

You can also specify whether you want prices on the Checkout page to be inclusive or exclusive of the tax calculated

  1. Enable Stripe Tax when creating a Checkout Session

When creating a Stripe Checkout Session with the 'Stripe Connect - Create Checkout Session' action, set the Enable Stripe Tax option to 'yes':

Under the hood, the Stripe Connect - Marketplace plugin is including the following parameters when the Enable Stripe Tax field is set to 'yes':

"automatic_tax[enabled]"=true
"automatic_tax[liability][type]"=self
  1. Create a transfer reversal to move the collected tax to your marketplace account (Destination charges only)

If you're creating a Destination Charge, the tax will be transferred to the merchant's Stripe account. For example if:

  • The product costs $100

  • Platform fee is $20

  • Sales tax of $23 is applied

The the total value of the payment will be $123, split as follows:

  • $20 transferred to the platform account (less any Stripe fees)

  • $103 transferred to the seller's connected account ($80 for the product and $23 for the sales tax)

You will therefore need to transfer the $23 representing the sales tax back to your platform account. You can use the Stripe Connect - Reverse a Transfer action to do this.

Note on Separate Charges and Transfers

You do NOT need to create a transfer reversal if you're using Separate Charge and Transfer as the charge type. Instead, you should simply transfer the appropriate amount to the seller (EG if their cut is 80%, transfer them 80% of the total price excluding the tax).

Whatever is left in your platform account will include the tax collected as part of the transaction.

This means that if you're using the 'Stripe Connect - Create Checkout Session (Multiple Items)' action to create a Checkout Session, you do NOT need reverse a transfer (as this action always uses the Separate Charge and Transfer approach)

-> and choosing an option from the Preset product tax code dropdown

It is recommended you use a to trigger a backend workflow when a Checkout Session is completed to trigger the Stripe Connect - Reverse a Transfer action. You can use the checkout.session.completed event to trigger the backend workflow.

See the of the plugin documentation for full details on how to do this.

Settings
Tax
Stripe Webhook
next page
this Stripe doc