
Ask HN: Experience with offering monthly subscriptions? - DangerousPie
I run a mid-sized online community that has about 2 million pageviews a month, through a limited company in the EU.<p>At the moment it is entirely financed through advertisements. This brings in just about enough money to justify running it, but I don&#x27;t really like this model. Not only are the ads annoying (I even use an Adblocker myself) but I suspect that they are also not very good value for me. In addition, there are of course all the complications introduced by GDPR, which mean I am not even sure anymore if I should continue to use services like AdSense at all.<p>Over the last few months and years I have been thinking more and more about introducing some sort of subscription feature, where members could pay a small monthly fee to become an official &quot;supporter&quot; of the site. This would then hide all ads, give them a little badge on their profile and maybe access to some bonus features in the future.<p>However, I have been shying away from doing this so far, mostly because the tax implications sound very complicated. If I understand the rules correctly, I would have to charge each user VAT based on their home country and then report the VAT I have collected to each home country every month. And to do this, I might even have to register with the tax authorities in every country?! However, it seems like Stripe may have something to help with this [0] although that may be more US-focused.<p>Has anybody here tried doing something like this? How complicated is this in practice? Or can anybody recommend a service that takes care of these issues for you? And what has the reaction from your users been like?<p>I also recently came across Funding Choices from Google, which may do something like this with their Contributor feature [1]. Has anybody implemented this successfully?<p>---<p>[0] https:&#x2F;&#x2F;stripe.com&#x2F;works-with&#x2F;categories&#x2F;tax-calculation<p>[1] https:&#x2F;&#x2F;support.google.com&#x2F;fundingchoices&#x2F;answer&#x2F;7279083?hl=en&amp;ref_topic=7279185
======
xstartup
We use VAT MOSS and we just pay tax to Ireland which sends it to other
members.

The billing logic is pretty easy:

1\. If the subscriber has EU IP or the billing address is of any EU country,
add VAT per their country's rate to their invoice if they do not provide a
valid VAT ID.

2\. We use [https://vatlayer.com/](https://vatlayer.com/) for VAT rates,
geolocation using cloudflare ip gelocation
[https://support.cloudflare.com/hc/en-
us/articles/200168236-W...](https://support.cloudflare.com/hc/en-
us/articles/200168236-What-does-Cloudflare-IP-Geolocation-do-)

3\. Currently, we use WHMCS for subscription management which costs $39.95 per
month. Why? because it supports many payment methods! that's very important to
our business. It also takes care of VAT etc....

~~~
xstartup
Forgot to mention, we are now switching from WHMCS to Killbill.io, checkout
screencasts:

[https://www.youtube.com/channel/UChXICgGipKvJbtzKfM1SNoQ](https://www.youtube.com/channel/UChXICgGipKvJbtzKfM1SNoQ)

It supports many payment plugins:

stripe 4.1.1

braintree_blue 0.3.1

paypal 5.0.9

adyen 0.5.10

avatax 0.4.1

email-notifications 0.3.1

accertify 0.3.0

analytics 4.2.5

and many more....

------
techjuice
Best thing to do is talk with a lawyer and an accountant for a one hour
consultation to find out what your business needs to do to stay in compliance.
As your requirements may be different from other businesses based on sales,
employees, incorporation type, location, etc. As paying VAT may only apply to
customers in Europe.

If you are going to offer subscriptions you should have some serious content
that only subscribers have access too that is regularly updated and is premium
quality to keep people coming back.

You should also continue to have information available for guests and non-
subscribers to keep them, but the good stuff should be available to premium
subscribers only. Many businesses only show 1/4th of the content or a synopsis
of the content, though this is only successful if the premium content is long
(1,000 words or more and heavy in value (detailed subscriber only videos and
content, insure the URLs being served to subscribers are verified from your
sites API to insure the content can only be accessed with an active
subscription).

It is highly recommend to go the premium subscriber or subscriber tiers versus
donations as donations are normally not as inclusive as actual subscribers
wanting new premium content.

~~~
mcjiggerlog
I'm not a lawyer, but based on my experience, there should be no tax payable
on any sales outside of the EU.

Also, you do not need to report your VAT to each individual member state.
You'll need to break down your sales per country to prove you are charging the
correct VAT, but you should only need to report that in the country that you
are tax resident.

Source: self-employed in Spain, selling VAT-chargable digital goods.

------
j45
You could use something like www.paddle.com to take care of your EU tax
obligations automatically for you as your merchant of record. It's an
interesting service.

MOR: [https://paddle.com/taxes-fraud-compliance](https://paddle.com/taxes-
fraud-compliance)

Micropayments are something it sounds like you've already looked into as well.

~~~
seanwilson
There's Fastspring as well.

You can get lower transaction fees doing the VAT yourself but when you're
starting out a few percent more per transaction is probably worth it so you
can focus on your project.

~~~
jakobegger
You really need to make a lot of dough before the 5-7% that Fastspring charge
on top of credit card fees becomes a problem. I guess at that point you could
also negotiate better rates.

I've been using Fastspring for years, and I'm not 100% happy with them, but
they just work, they support lots of payment methods, and their invoices are
compliant with EU regulations (which is a very rare thing).

If you just want to get on with your business, use Fastspring.

~~~
seanwilson
(Oops, before I meant to write a few more percent probably isn't worth it at
the start)

Did you consider Paddle who offer EU VAT processing as well? Paddle offers 5%
+ $0.50 on every transaction. Fastspring you can pick between 1) 5.9% + $0.95
on every transaction or 2) a flat 8.9% with a minimum of $0.75. I agree you're
best getting on with things but when they're comparable in terms of
integration it's worth considering the fees.

~~~
jakobegger
Paddle’s aggressive sales team really pissed me off. They tried to get me to
switch from Fastspring, and just wouldn’t stop emailing me.

The biggest thing they had going for them was that they’re a EU company, but
with Brexit that no longer applies either (if Brexit ever actually
happens...).

Maybe at some point I’ll reconsider, but 1% of revenue is not going to be
enough reason to switch.

~~~
seanwilson
Are you doing subscriptions? How did you find integration? Both of them seem
to rely on webhooks and synchronising to your own database which feels like it
could cause problems if a webhook fails during sign-up. They both have APIs
but seem to be missing calls for things you'd expect like looking up a user by
email address or license key.

~~~
jakobegger
I don’t do subscriptions, I sell pay-once licenses for a desktop app.

Fastsprings API sucks, and the licensing options are very limited, but it
works.

My reporting script uses IMAP to download and parse order confirmation emails
from Fastspring. Not an elegant solution, but it does get the job done.

~~~
seanwilson
> My reporting script uses IMAP to download and parse order confirmation
> emails from Fastspring. Not an elegant solution, but it does get the job
> done.

Yeah, I've had to consider similar frustrating options as well because of
surprising functionality lacking in APIs.

For example, for Paddle subscriptions, the webhook that gets called when a
subscription is created sends you a user specific URL that lets a user cancel
or update their payments and that's the only place you can get programmatic
access to it. You can query the subscription data from their API and it
returns most fields you'd expect except for these URLs. You've either got to
create your own database to store these or deal with it manually when you get
support emails.

