3. Warning… warning!!!
Disclaimer!!!
I AM NOT AN ACCOUNTANT! Nor
am I a lawyer. Nor a financial advisor.
Nor do I work in any field which would
make me qualified to advise you. I can
only warn you as a fellow developer -
these things are not simple.
10. What makes this SCARY!
❖ Google this subject, e.g. “billing terminology” - all you
find is “medical billing terminology.”
11. What makes this SCARY!
❖ … and if you get this wrong it is really easy to estrange
the most important people in your (business’s) life:
Your paying customers!!
17. Welcome to your Company: CPaaWS
❖ You had a brilliant idea - Cat Pics as a Wonderful
Service!!
❖ You charge $0.30 per cat pic and expose a RESTful,
Resourceful, Highly Available API. Life is good … and
Simple!
19. Choose your Payment Processor Wisely…
❖ Who takes your customer’s money and gives it to you?
❖ Stripe? Braintree? Authorize.net? PayPal? Someone
else?
❖ You have options.
20. Per-Transaction collections!
❖ A “simple” model on paper - for every cat picture you
sell you take money. 💸
❖ Does your Payment Processor charge you a per-
transaction fee?
❖ If so… can you batch transactions to “month end”?
(Complexity)
21. Periodic Rates!
❖ Ruh-roh! Your excellent marketing team does market
research and realizes that a monthly (unlimited) rate
makes sense.
❖ $5.00(USD) per month for UNLIMITED Cat Pictures!!!
24. Engage.
❖ OK. $5.00 / month seems “simple.”
❖ But what about that poor user who joins September 29?
❖ Do you charge them a month? Or just ignore it and
make it a (good) press thing?
25. Metered Services! How do you measure?
❖ $1/mo = $?? / hour - this should be easy but…
❖ Months have different numbers of days: February has
672 hours (except on a leap year!) and October has 744.
❖ Fluctuating bills are a bummer… do you always round
down? Or move bills around on users?
26. But… when do you charge them?
❖ Do you collect on their monthly anniversary? e.g. your
user joins on the 31st you charge them on the 31st.
❖ Cool story … what about in February? The solution
isn’t hard but it is an edge case.
❖ Do you just charge them on the 1st of the month? How
many API calls to your payment processor is that? Can
your infrastructure handle them?
36. (Hypothetical) Taxation - EU Edition
❖ If you are charging VAT in the European Union (after
consulting your taxation consultant)…
❖ Did you know there are VAT Exempt Zones? (e.g. The
Faroe Islands. The Channel Islands. The Canary
Islands. The Waters of Lugano. Vatican City.) And that
you need to handle them?
❖ How do you determine the taxation location of your
customers?
37. (Hypothetical) Taxation - EU Edition
❖ If you are charging VAT in the European Union (after
consulting your taxation consultant)…
❖ Did you know that if a customer has a VAT ID you don’t
charge them VAT? It is their responsibility to remit at
the end of the year?
❖ How do you validate their VAT ID which gets them out
of paying VAT to you? VIES!
38. (Hypothetical) Taxation - Canada Edition
❖ Are you charging VAT in Canada (e.g. GST, HST, PST, or
otherwise)?
❖ How do you determine which taxes to charge? - Taxation
Consultant
❖ How do you determine the province in which a
customer lives?
❖ What about First Nations? They are tax exempt!
39. Coupons! Discounts! Promotions!
❖ Oh yeah.
❖ So… Marketing, and you, out of the kindness of your
heart, want to give your service away or at least make it
cheap to early adopters…
❖ Don’t forget - Net vs. Gross is a thing. If you have to
charge taxes - you probably only charge on Net.
❖ Consult your Consultant. It’s literally their only job!
40. Extra Credit: What about other Currencies?
❖ Some countries require you, if you do business there, to
take money in the local currency.
❖ Does your payment processor allow customers to pay in
those currencies and facilitate some nature of
conversion?
41. Extra Credit: What about Localization?
❖ Some countries require that if you have a business entity
there that your website be translated to the local
language.
❖ Even if you’re not required, it may help you gain
traction and take money!
❖ Are you prepared for that?