Day 17 – Work Diary #7 – Understanding Taxes, SaaS Taxes, US State Taxes, etc

The big thing right now is pushing the Stripe integration over the line. Once I’ve done that I can start taking payments from customers and begin that process.

Because I potentially have a US customer, I took a look at tax requirements. I didn’t realise it was so complex to sell to the US. Each state has differing rules, but in the main it sounds like the threshold is $100,000 over 12 months at which point you have to register with the state for taxes, and start paying them.

Currently my offering is not a SaaS product, but that’s the plan in the future. At the moment I am doing effectively technical services to companies i.e. consultancy and software development – customers retain a set number of consultancy & development hours each month.

US Tax Is Complex!

I didn’t realise US taxes were so complicated. Sales tax is due to each state individually:

In most states, the threshold for economic nexus is $100,000 in sales or 200 transactions over 12 months. There are exceptions, though; for example, in Texas and California the threshold is $500,000.

Although SaaS products count as digital products, they often have unique regulations because they’re not necessarily downloaded. For example, SaaS sales are 100% taxable in Connecticut but non-taxable in California. And in Texas, SaaS products are taxed at 80% of the sale price, while downloaded software is fully taxed. See where SaaS is considered taxable

Stripe Tax will deal with it all, but Spark doesn’t support it

Whilst Stripe Tax seems to be the solution, which is great, I have a decision to make about Laravel Spark … this was the package I was going to use to manage subscriptions and had bought a licence for. However it doesn’t support Stripe Tax, which I think is a big negative.

Spark does not currently support Stripe Tax. You should disable Stripe Tax via your Stripe dashboard when using Spark.

https://spark.laravel.com/docs/spark-stripe/taxes#taxes

This is a big issue, since I would be much happier using Stripe Tax to manage everything. It’s really annoying but my fault for not properly reviewing Spark’s docs.

I’m probably over thinking it at the moment. The options are:

  • Keep Spark, switch of Stripe Tax, and let Spark deal with the taxes. Whilst Spark has probably done a great job, I wouldn’t trust them as much as I would Stripe. I would prefer to get this right now, as I don’t want to have to reverse six months down the line.
  • Get rid of Spark for this particular project and integrate Stripe Checkout instead. I’m not going to lose much time right now, so it’s not a big problem. There’s potentially another UK based project that I could use it for absolutely fine.

The best thing to do at this point would be to remove Spark entirely from the system (I wasn’t liking the interface anyway) and rely on Stripes subscription handler, which would take care of the taxes. I won’t lose much time by making the switch now, and it would allow me to take instant payments this week.

Some Interesting Stripe Guide On Taxation

Also, this image below shows where SaaS products are liable for tax:

Comments

One response to “Day 17 – Work Diary #7 – Understanding Taxes, SaaS Taxes, US State Taxes, etc”

  1. […] Spent time looking into USA taxes … learnt quite a lot and realised that I’m going to drop Laravel Spark in favour of being able to use Stripe Tax […]

Leave a Reply

Your email address will not be published. Required fields are marked *