Disclaimer, posted that a while ago on our blog, thought you — startup community — might be interested here as well:
We are developers without much backgrounds in accounting and bookkeeping. Still we need to bill our clients for our hosting service here. We have learned some lessons the hard way and I still find it surprisingly difficult. We have put huge efforts in optimizing these processes. Time we would rather have spent developing the platform itself.
Maybe the following list helps you to avoid some mistakes upfront:
By any chance: Just run a SaaS with three simple plans to subscribe to. That makes everything simple. We instead have a complicated product structure. It's quite fair for clients, but makes everything fairly complicated for us.
Do your business with end consumers, it's easy. Business to business is more complicated. Don't do both, like we do.
Our service is mostly booked in B2B scenarios. But especially during trial and boarding people just wanna use it. That's personal. Also freelancers and small business are sometimes not that professional.
How do you communicate your prices — with or without VAT? What about legal issues? What about consumer protection? Do you want to reject customers from booking when they don't have their VAT IN handy?
A cloud hosting service is expected to be on demand, pay only for consumed resources. In our case the minimum billing period is one day. So we'll invoice at the end of the month and collect the money a few days after.
This is not only bad for the cash flow it is specially hard to communicate. People expect to be charged right after they clicked the "book now" button. We get lot's of: "Why i am still charged for this App?" support tickets. But hey, it's the only way to do this. Your telephone bill most likely also work like this.
You have not done any of the mistakes above so far? Great you'll hopefully find some online service to help with your recurring billing. Send some data to their API and you are done.
But for us, only enterprise billing solutions seem to fit our requirements. Those are mighty but really hard to handle, old-school and expensive.
We have used Freshbooks in the beginning, but that was even a bigger mistake as the service is mostly meant for personal use, not batch invoicing. Now we generate and send invoices on ourselves.
When we started our business the EUR to USD exchange rate was about: 1 to 1.30. Now we nearly see parity between the two currencies. Our biggest monthly spending is for AWS, which we have to pay in USD. So as you might can imagine, we are paying much more for computing resources now.
In our financial forecast models we have estimated conservatively with an exchange rate of 1.20. This now is just terrible. It pulls us down. We had to cut nearly all marketing spendings.
Our US SaaS business partners are sending us monthly payment receipts like this: "You are awesome. We have just charged you a XXX. Thank you for business!". This, of course, doesn't meet any accounting requirements here in Germany, EU. And it shows me how easy it is to do business in the US.
The EU’s new VAT laws are a mess for B2C businesses who are delivering electronic goods. VAT is not charged on the seller's country anymore, it now will be collected on the customer's location. Sure, that's easier for the end user. Now we need to keep a database of EU countries with according VAT rates and declare VAT for each country individually — on a monthly basis.
MOSS (Mini One Stop Shop) is a system meant to simplify that. Here you can declare all the different taxes at once. The only problem: It's not documented at all and there is no API to send the data over. So we are preparing our data accordingly in extra CSV files and hand it to the tax consultant who then uses some proprietary software to declare the MOSS.
By the way: Did you know that the A2 country for Greece is GR, but the two digit tax code is EL?
For B2B business inside Europe across country borders no VAT is required at all. This of course only applies when you note the clients VAT Identification Number on the invoice.
So your clients need to enter their VAT IN. Then you need to verify if there is really a business associated with the VAT IN entered. There are VIES servers you can ask. Sometimes the VIES servers are just down, that means no business for you.
At the beginning we didn't validated VAT INs entered by our clients. Half a year after we started the business, we got a letter from the »Bundeszentralamt für Steuern« with all the wrong VAT INs. Ouch: We payed the 19% VAT for most of those invoices.
Your credit card payment processing provider (credit card clearing) will lock you in. At the time we have started, Stripe was not available in Europe. So we settled with WireCard. Stripe is here now and we considered to switch. But — being PCI compliant — you don't store your clients credit card credentials yourself. So switching payment gateway means that your clients need to re-enter their credit card credentials. No way.
Besides credit card we also offer SEPA payments. We have a cool semi-automated workflow here where we work directly with the bank — read less payment processing fees. But: you don't get immediate feedback if the payment succeeded. A lot of manual checks!
Tax professional are living in a parallel universe from us. I asked many people and called quite a few tax offices. Most weren't even interested in a young company at all. Others are expecting you to send over all receipts printed on paper.
Finally we started fresh with a young team. Nice: they accepted a bunch of PDFs in a shared cloud folder each month.
But the spirit of optimism turned into horror for both sides. While I imagined some smart software to parse all the documents, they booked receivables one by one. At the beginning that doesn't mattered much. But later with a few hundred outgoing invoices each month this turned into a waste of human resources. We could improve that by providing extra CSV files to include all data.
But how could we possibly find out which invoice was paid when? For SEPA direct debit we can see a bank transaction for each invoice. But the payment provider collects all the payments, subtracts his fees and then transfers one lump sum to our bank account. Impossible to see which invoices have actually been paid. We figured it out, but it wasn't easy. Our tax office surely had a hard time with us. I am glad they stayed with us.
Disclaimer: This post isn't meant as any legal or financial advice. Contact your accountant for specific tax advice.
Most payment providers will do an intra-PCI transfer of customer payment info. They may charge a small fee for it but it's not terribly difficult.
intra-PCI transfer was new to me, will check out if we can switch to Stripe maybe one day.
I really love the post and agree with quite a bit of what you said.
Easy billing options = easy recurring and a headache that is easily avoidable. Set packages and subscriptions is key, but I can imagine a number of models requiring differing features on a time-bound basis.
B2B vs. B2C - I have had a great time with both. The one aspect I love about B2B is that I tend to work with more numbers, analytics and tangible benefits than I ever did B2C, that was more about sales. My experiences with B2B thus far have been based on statistical evidence of benefit, which is nice.
Don't do everything by yourself is the best wisdom you could give here. Between daily operations, customer service, client acquisition, accounting, marketing, and finding time to have brand presence in the correct places, over the ideal mediums, it's impossible. There is too many duties for a growing business, and attempting everything at once is a great way to burn out. Depending upon the situation, utility brought by a passionate partner can really enhance an organization.
Don't try to change payment provider - I have to disagree on this one! You do bring up a good point, swapping consumer data can be brutal... But in the same notion, bad payment processing can take a huge hit on your bottom line. Fees like non PCI compliance fees, EMV compliance fees, product leases, long-term contracts, cancellation fees, monthly minimums, annual minimums, interchange differential pricing; these are all expensive and sometimes can put a merchant in a bind. My advice would be to shop for payment processors while moving databases of clients is still somewhat convenient... But when the move from an interchange differential to cost plus rates offers the potential to save a few thousand a year, it seems worth the effort to me. Payment systems are the foundation of sustaining business, make sure they are healthy!
Are you based in an EU country? Do you know what the VAT laws are regarding North American startups charging EU-based businesses?
Good overview here:
http://export.gov/europeanunion/build/groups/public/@eg_eu/documents/webcontent/eg_eu_089244.pdf
If you're selling an digital/online product (eg, software, saas, license etc) or service from the US you generally don't need to register for VAT.
Unless you happen to sell to non-VAT-registered businesses as stated in there. Or even companies that you can't prove are companies by doing all the required steps, such as collecting and verifying VAT IDs.
switching payment gateway means that your clients need to re-enter their credit card credentials. No way.
Or start onboarding new customers onto the new payment platform and keep billing the existing customers on the old platform.
With the natural churn of customers, you'll naturally lose customers from the old billing platform. You can move the rest of them over to the new platform when their credit card numbers expire (or you cant stand running 2 systems anymore).
Don't rely on a foreign currency
Offering foreign currency is imperative in some industries. In some industries, not offering multiple currencies will flat out lose you customers, sometimes in significant numbers. Sometimes offering multiple currencies is a big competitive advantage.
Of course taking multiple currencies comes with Forex risk, how you manage that risk is what's important.
Avoid to do business in Europe
VAT is incredibly complex, but that point is a little OTT ;) Again, get it right and the overhead is small. Get it wrong and you'll have a huge headache.
Don't offer multiple payment methods
Again, depends on the industry. If you're selling to USA only, you can probably safely only accept Stripe. However there are regions in the world where other processors are more prominent than debit/credit. Also, some types of customers will not be able to pay with debit/credit due to policies of the establishments they are in.
Offering foreign currency is imperative in some industries. In some industries, not offering multiple currencies will flat out lose you customers, sometimes in significant numbers. Sometimes offering multiple currencies is a big competitive advantage.
I think you're generally speaking much better off offering your product in local currencies. We do in all our markets except one and for that one market it's is currently a pain in the ass.
FX moves cut both ways, sometimes you're ahead due to FX changes, other times behind. In the one foreign market we charge $USD we're having to tweak pricing because of the strength of the USD. Our software is 30% more expensive there than it was when we set the pricing.
In other markets, sales people don't have to have FX conversations - the price is the local price, set relative to other goods/services in that region.
I guess it's different if you have no local competitors and your product is in very high demand, then you can do away with the variances in currencies and just require USD. That probably doesn't happen often though.
As someone who has a B2C service I can't stress enough the "Don't do everything by yourself". Integrating with Stripe is super easy, but then come the headaches. Syncing state between your user database and the payment provider is a brittle brittle process. And then when you want to peovide paypal support? You might expext it to be only 2x more code, but it actually it's 4x since you need to cover switching between providers and all the small nuances there.
I think I've spent 1/3 of the development time and support time on billing related issues. The problem is when you only charge 2USD monthly and only have 1500, the billing platforms that help you will take a huge chunk of this (after processor fees and VAT).
Thank god for Braintree being purchased by Paypal, and them releasing and SDK that consolidates the two in a simple package. (I used Braintree and Paypal seperately before). However, now we're hit with the other problem: you can't migrate legacy paypal subs to braintree...
Also, I would like to add another rule: don't do SaaS metrics yourself. You will end up wrong and it is a lot more complex than counting how many active payment profiles you have in the payment providers. Shameless plug (not an employee, just an extremely grateful customer): chartmogul.com is a great such service. Baremetrics looks great but is stripe only atm.
Thanks, some great advice here, especially for us European founders.
The new EU VAT rules really are a cluster fuck, I haven't met anyone who thinks it's a good idea or well executed. It's the reason I'm sticking with Fastspring for payments, as they take care of all the VAT stuff.
However, regarding point 7, I have spoken to Fastspring about potentially changing to Stripe, and they told me they can transfer the card details of my customers to Stripe, so that they won't need to enter their card details again. Might be worth seeing if WireCard can do that?
Also, with point 5, it's actually helped me, as although I'm in England, I bill in US Dollars, as most of my customers are American, so the exchange rates are currently working in my favour :)
This is really useful information. I'm about 1/3 of the way to an MVP and I've started thinking about all the ancillary things I'll need to figure out before I can launch (marketing, accounting and payments, legal, sales).
I think I'll stick to the US and Canada at first.
or more simply, at checkout have the user select his or her country and if an outside country is selected then log it and explain to the user that it's not supported.
This is not so simple. This way every individual could register as US based to avoid being charget VAT.
i am not familiar with VAT, is that the responsibility of the business if the user gives you false info in bad faith and is it reasonable or possible that you as a business will be penalized for such a thing?
Depends, I'm not an expert but in some industries there is concept of reversed VAT and yes you can get penalized for it.
Credit cards require that you enter your billing address. You can't easily fake that, and if you do I think the business did its due diligence and couldn't be held liable.
Turning down customers when they have their credit cards out ready to pay is a good idea why exactly?
Sometimes it's better to make less revenue so that you don't grow too quickly
Nice problem to have, 99.99% of startups don't need to worry about this imo
i was joking :) i think the reason would be tax or regulation compliance specifically around VAT but i wasn't the one who raised the question
I think the only thing I can truly agree with is #1 and #9.
Everything else on the list is things are just things that are hard to do, but when done right will put you in a good place.
295k
Subscribers
456
Online
The place to discuss startup problems and solutions. Startups are companies that are designed to grow and scale rapidly. Join the /r/startups Discord: https://discord.gg/yjMZU8g