We've moved discussions to Discord

Charging and Collecting Sales Tax with Stripe for SaaS App

Jason Ackerman
Has anyone implemented sales tax collection with Stripe subscriptions? If so, can you provide any guidance for how you did this? Thanks!
Chris Oliver
I'd love to hear details on this as well. I know Stripe doesn't support taxes on Charges, but they do for Subscriptions: https://stripe.com/docs/billing/subscriptions/taxes
Jason Ackerman
Chris Oliver Any chance of this getting added into the Pay gem given how many states are now starting to charge sales tax on SaaS (https://blog.taxjar.com/saas-sales-tax/)?

I'm going to check out using the TaxJar API (they have a gem: https://github.com/taxjar/taxjar-ruby) to look up the sales tax that should be charged on an order (https://developers.taxjar.com/api/reference/?ruby#post-calculate-sales-tax-for-an-order). I'll plan to collect the user's State and Zip code, send it to TaxJar, and get back the Sales Tax amount to charge. Then have Stripe charge the user (if they are in NY, in my case) for the amount of the subscription + the amount of the sales tax. Does that seem reasonable to you? As a CPA I'm hesitant to push out my app to the world if the sales tax isn't working correctly :/

Edit: This would probably be even easier, all you need is the customer's zip code and TaxJar will give you back the combined sales tax rate - https://developers.taxjar.com/api/reference/?ruby#get-show-tax-rates-for-a-location. This works as long as you know what states you need to collect sales tax in and you can figure out for yourself how to calculate the sales tax to collect.

Any guidance on how to actually execute this? Where in the rails app would you put the code that queries the TaxJar API?

Thanks!
John Chambers
Pretty much 100% of my customers are in Ireland so I just set the Irish VAT rate on new subscriptions and remove later if it's not necessary.

This is how I was doing it before...

current_account.subscribe(plan: processor_id, trial_period_days: @plan.trial_period_days, tax_percent: 21.0)

tax_percent has been dropped by Stripe in the latest API update so I have created a Tax rate and I'm passing the Tax Rate code below now

https://stripe.com/docs/billing/migration/taxes

current_account.subscribe(plan: processor_id, trial_period_days: @plan.trial_period_days, default_tax_rates: ['txr_abcdefg234567'])


Jason Ackerman
So I basically gave up on this for now. If anyone implements this successfully I'd love to hear about what you did!
Chris Thorne
I am not yet proficient enough to add a new payment provider to the pay gem, but I did find providers like https://developer.paddle.com/ that seem to solve the local sales tax compliance problem - anyone integrated jumpstart with paddle yet?
Notifications
You’re not receiving notifications from this thread.