Hi everybody,
I'm building a service (EU-based) with recurring subscriptions (B2B and B2C) using Stripe only, but I can't figure out how to handle tax rates and sending proper invoices, which is something Stripe is lacking of.
What’s the stack/tools you use in order to determine the right tax rate to apply (plus keep record of the pieces of evidence), vat/tax validation for B2B (and keep track of validation in case of tax control etc..), and in order to be compliant with invoices internationally (thus showing subtotal, tax rate also converted into the customer’s currency etc..) ?
Lastly, I would need to set thresholds in sales for countries like Australia, United States, Canada, Norway, South Africa, Switzerland, Japan and New Zealand, so in case to block those countries and not have to register there.
I’ve checked out soooo many SaaS businesses, also the big ones, and the majority doesn’t even ask for the customer’s country during the payment process. I wonder what they’re all doing to be compliant, if they are at all.
I’ve looked into Quaderno to try to cover all the issues, but I’ve encountered no other service using them and I do not like that my customers receive the invoice directly from a Quaderno’s email address, instead of mine.
I’m currently looking into Recurly and Chargebee that, for roughly the same price of Quaderno, offer much more, but haven’t figured out if they’re invoice compliant.
Thanks for the help 🙏
You should use Chargebee. (Or an alternative like Recurly, but I only know Chargebee).
About the invoice compliancy. I’m not a lawyer. You can always get on a sales call or ask their support. As far as I know my invoices contain everything that they should.
It sits on top of Stripe and handles invoices and VAT like it should.
In this comment here on IH, @PatrickC said that they will handle VAT soon. It’s 2 months ago, I don’t know when it will happen.
At stackdraft.io I use Braintree (without PayPal integration) for card processing. Then I use https://invoiceocean.com/ via API to create the invoices. The users can download invoices from a long pseudo-random link in their billing settings, but you could also just e-mail them the attachment.
InvoiceOcean claims to take the burden of generating country-compliant invoices, so I don't have to worry about that, but I do use tax rates (also for VAT MOSS) purposes from the
https://github.com/mpociot/vat-calculator
package. (Laravel + Laravel Cashier + Laravel Spark [meh] with vat-calculator + InvoiceOcean).
For the record, this site
https://fakturownia.pl/
is the same as InvoiceOcean mentioned above, but because the product came from Poland, it's the same thing for lower price (global prices are simply higher).
I've also researched Quaderno, Recurly and Chargebee, but either their provision based fees were too high or eventually didn't fit my needs, so I went with partially custom solution, but still using a 3rd party to create those PDFs for me.
HTH,
Michal
May I ask why specifically not using PayPal?
Sure. I've read terrible, terrible reviews of PayPal support quality as well as PayPal in general. Many people have backed out of accepting PayPal, because there were too many chargebacks (probably many caused by fraudulent cards). PayPal also often blocks funds without notice and holds them god knows how long, while they investigate your case.
In general, even if I'm loosing 15% or so clients (made up percentage), I decided it'll give me peace of mind if I don't have to deal with PayPal directly. And Braintree support has been pretty amazing (although the Risk Review triggered after first purchase was... well, meh. I wrote about it in a different IH thread in detail).
That's very interesting thank you! Admittedly I have been using PayPal on one of my services for years and I never really had any problems. I guess I might have just been lucky(and with a low volume of transactions) because I did hear a lot of similar stories indeed.
I'm glad you haven't experienced issues with PayPal and let it stay that way :). I'm just too afraid to use it. If customers really pound on the doors and beg, I might change my mind. Until then, just staying on the safe side - purely based on opinions I've read online.
Lucky you, Simone :)
Hi Michal,
thank you very much for your answer.
So if I understood correctly, you use https://github.com/mpociot/vat-calculator to retrieve the data/tax rates etc and send them over to the invoice service. correct?
How do you store the pieces of information needed for VAT MOSS?
Do you also sell in countries outside EU where you need to charge and file taxes? if so, how do you handle that?
You're most welcome. Sure, let me follow-up with more details.
Yes, I use that package to determine:
Assuming I pass correct data to the invoicing service, I trust whatever invoice they issue will comply with that country. (That's how I was sold on their service).
I store users billing address, VAT/tax ID, etc, in PostgreSQL database. I also replicate some of that info to Braintree. Actually I may remove that info from my system one day. While I trust my security know-how, it's definitely safe to store data in Braintree's "Vault" as they call it. Anyway... the credit card details are submitted via an iframe to Braintree, so they never touch my servers.
Once a month I generate a "VAT MOSS report" for my accountant by going through all issued invoices using the Fakturownia API. Based on that, they will tell me how much EUR I have to pay, via one transfer, and then that institution splits the taxes between proper EU countries.
Yes, I currently sell worldwide. For instance, I know that in.. I think Norway I would have to earn more than.. (can't remember) say 5000 EUR/mo to have to register for tax filling, so I'm not concerned about that right now. I haven't explored all worldwide countries so I wouldn't be surprised if there's 2 or 3 I may have to register for tax filings, but usually that happens after you reach some treshold.
I do my taxes and I want to do everything by the law, but in all honesty - I've seen large companies not following the law (hey splice.com, why don't you issue me invoices at all?), so while you should make sure you get things right, don't let yourself rip all your hair out on the way. Take it easy, step by step, and you'll get there.
Hope that answered your questions. Happy to discuss those "Other countries" if you have some news I should be aware of :).
https://europa.eu/youreurope/business/vat-customs/moss-scheme/index_en.htm
That's a good idea. I was also thinking of storing those information inside Stripe, maybe attached to any customer's receipt as metadata...so you can easily export them when needed.
Btw, I read online that you need to show in the invoice the vat amount in the customer's currency. Do you have any idea about this and in case how do you handle it?
Here’s my research for countries that need attention (not sure everything is correct nor complete)
For the United States I’ve researched the countries where a SaaS business could be taxed (if you do not have any physical presence there but could just run into economic nexus):
Hope this might be useful to you or anybody in need of such information.
That comment is golden. Upvoted.
You seem to be very serious about taxes worldwide, I sense your product is/will generate high revenue. In my case, looking at these numbers, I'm not afraid I'll break through the thresholds any time soon, so it allows me to focus on the product itself.
I have to admit I'm sad to see India, South Korea and Russia on the "must register" list, but unless I become some huge company, I can't see Indian government chasing me for VAT untaxed B2C invoices for a total of < $100/mo. Actually, this is more than my current global income (and I don't have customers in India yet), so you can tell why I'm not that worried haha :).
Regarding "you need to show in the invoice the vat amount in the customer's currency" - your invoice compliancy question is a great one in general. I don't display in customer's local currency, because this would involve yet another currency conversion and could reflect a different amount that was charged (because I charge in EUR). I think if the customer required invoice in their local currency, I would prefer not to serve that customer, unless it's a wire trasfer of a full year downpayment. I know that's sad, but as a solo-preneur you have your limits. I certainly have mine.
My invoices contain the currency that the card was charged with (currently USD, future EUR will be an option) and my local currency PLN (so it's less work for my accountant).
@csallen Feature request to star amazing comments for future self reference :)
This comment was deleted 7 years ago
I would recommend services such as FastSpring or Paddle:
https://fastspring.com
https://paddle.com
We have been exploring various ways to accept payments for https://reactnativestarter.com. We could not resort to Stripe since our legal entity is based in Lithuania, which is not supported by Stripe. So we went to Braintree (we were already using PayPal), but there was no luck too when they found out that founders are from Belarus, which of course was a bit offending for us.
Finnaly we choose https://www.mollie.com/en/ since they are EU based and also support recurring subscriptions.
So far everything works well - we already sold around ten licenses and received a payout to a bank account.
In need of a discrete black hat professional service contact Gabriella on
www.gabywhitehacks.wixsite.com/monsterpheonix
gabywhitehacks @gmailcom
I'm using Paddle for https://www.checkbot.io/. They take 5% + $0.50 on all transactions but deal with VAT, tax and invoices for you. Gumroad and Fastspring do the same and might be worth looking at.
This comment was deleted 7 years ago
Thank you very much for you extensive answer Thomas. Many good and helpful information here.
I think in the case you do an all-in price you are still required to show the breakdown of net, vat rate, gross price.. https://ec.europa.eu/taxation_customs/business/vat/eu-vat-rules-topic/vat-invoicing-rules_en
Regarding VAT, I did also read online (http://ec.europa.eu/taxation_customs/sites/taxation/files/resources/documents/taxation/vat/traders/invoicing_rules/explanatory_notes_en.pdf) that you need to show in the invoice the vat amount in the customer's currency. Do you perhaps know about this and in case how do you handle it?
In your case, how do you collect and store all the pieces of evidence required for the VAT MOSS? Do you use an external app (e.g. Quaderno) or do you keep them in your database and export when needed as @mkarnicki suggested?
Same for VAT validation (if a customer is B2B or B2C), how do you validate VAT numbers and keep the records of your look up in the VIES database?
This comment was deleted 7 years ago
Many good points, solid comment Thomas. I just wanted to add:
For the record, VAT MOSS is a European wide program. If you're charging VAT and are not registered in VAT MOSS, you MUST register for VAT taxation in ALL of the countries in EU you provide services to. So... best to register in VAT MOSS, and make sure you can tell which invoices matches which incoming bank transfer, or you can say bye bye to your privilege of using VAT MOSS (which is roughly what Thomas said above). It's sufficient for one VAT audit to go wrong and you're kicked from MOSS.
This comment was deleted 7 years ago
Sure, no problem. Here's a link that might be useful to others:
https://europa.eu/youreurope/business/vat-customs/moss-scheme/index_en.htm
This comment was deleted 7 years ago