April 5, 2019

How do you charge VAT?


I currently use Paddle which takes care of that for me. However, is horribly slow and I want to switch to Stripe.
I see many "express checkouts" online which pretty much just ask you the credit card info and email address. Nothing else.

To charge VAT I need to ask for their country and if they have their valid VAT number. How these express checkouts manage to avoid asking this info?

Even if I would include VAT in the price I would still need to know their billing country no?

  1. 2


    was in a similar pickle. This is how it works (as far as I can see)

    1. Express checkout just uses the country the credit card is registered at. This info is available from some payment providers. For example, Digital Ocean does this. I had a short spat with them about this (business in Germany, card from the Netherlands etc.).

    2. Charging VAT is actually way more easy than many make it out to be, assuming you speak from an EU perspective. Chargebee has a nice write up on it: https://www.chargebee.com/docs/eu-vat.html

    But the logic is nothing more than a handful of if statements
    I use this package to actually take care of this:


    I just add the tax to the Stripe API call. Done.

    I should probably do a write up on this.

    1. 1

      This is a really cool repo, thanks for sharing!

  2. 1

    I use Paddle e.g. here https://www.htmlemailtemplates.net/saas-email-templates/ and I'm happy with it. It takes about 2 - 3 seconds to load a popup.

  3. 1

    We use FastSpring, and they take care of this for us. They are a reseller though, and not a payment processor, and charge correspondingly higher fees, which might or might not be okay for you.

  4. 1

    The go-to way is to use some combination of Stripe/Braintree/Paypal and then a tool like Quaderno. You use one the complete the transaction, and the other to at runtime/client-side calculate the proper taxes by checking VAT numbers, locations, etc. They then update the total amount to be billed and you use their API in combination with i.e. Stripe.

    The added value of Quaderno is also that they create the invoices and VAT reports for you.

    Possible solutions:

    1. 1

      I checked, trialed and almost integrated all of these. Only Chargebee really makes sense. I found quaderno and octobat really crappy. Bad documentation, inflexible and expensive. Lot's of FUD about how difficult EU VAT is, while it is really can be handled in about 200 lines of code.

  5. 1

    I’m planning to use Paddle myself. Are they slow for you or your customers?

  6. 1

    I don’t think the "express checkouts" you mention actually charge VAT. If they did they would have to specifiy it on the receipt. And ask for the country, as you mentioned.

    1. 1

      This comment was deleted a year ago.

  7. 1

    This comment was deleted a year ago.

Recommended Posts