17
votes

I'm using Stripe Checkout to create a subscription in Stripe Billing. Checkout also auto creates the Stripe customer object.

How can I add right right VAT rate based on where the customer is based? The customer should be able to see the price both including and excluding VAT/GST both in the checkout session itself and on the invoice.

The "create subscription" API call allows you to set the field "default_tax_rates" which sounds like what I need, but the problem is that with Stripe Checkout the subscription (and the customer object) are created automatically by Stripe Checkout so I cannot explicitly pass parameters to these creation calls.

I know how to calculate the VAT rate and I don't want to integrate with another third party vendor just for tax, so I'm not looking for something like Quaderno or Taxamo.

How do people solve this problem? I'm starting to think that maybe I should have integrated with Chargebee instead of Stripe :-(

3
Same issue here :(DarkSide

3 Answers

7
votes

I'm having that same issue.

Stripe support informed me that Checkout does not support the legacy tax percentage or the new Tax Rates object. Checkout charges only the exact amount.

On recommendation from stripe I will calculate the tax and charge that as a separate line item. That way the correct amount is charged and the VAT is clearly visible to the customer.

I'm also creating subscriptions and there I will show the amount incl. VAT. and post fix the plan name with 'incl. VAT' to make it clear to the customer.

After the checkout flow completes I will try to add the Tax Rate to the invoice and subscription as 'Inclusive' using the API. I'm not sure that will work as I think, but we will see.

0
votes

Check this out https://stripe.com/docs/payments/checkout/taxes

Seems like you're right about the Stripe checkout. Can't be added there.

Adding VAT as Inclusive won't help you, because Inclusive means it's already calculated into the price. Although this can be used to add the VAT to the price (in most cases it's 20%) and set the VAT as Inclusive. But this hack won't work for everybody, though.

0
votes

I found this to be helpful and it works with Checkout. https://dominik.sumer.dev/blog/stripe-checkout-eu-vat

You collect the Country and VAT number before creating the customer and checkout, and you add dynamic tax rates prepared via the API in advance.