I’m doing something I’ve never done before, which always makes for a good learning experience, but sometimes can seem quite hard. I’m writing licensing code and also implementing the process around it. I’ve never actually charged for any software before in my life.

And neither have any of the companies I’ve worked for! Well, that’s not entirely true. They certainly charged money, but it was all enforced via contracts, not via a dialog that asked you to enter your username and serial number. Or it was an internal app and they didn’t have to worry about such things at all.

I have gotten help from friends, they’ve been a big help. But still there is so much to do. Let me count the ways… er I mean steps…

  1. Set up a business banking account
  2. Set up with a payment processor
  3. Create a web store
  4. Create a license generator
  5. Send out email receipts
  6. Validate licenses in your app
  7. Enforce some sort of trial or usage limitation
  8. Optional: Remind the user (aka a “Nag screen”) – I’m leaning away from this right now
  9. Optional: Create an in-app store
  10. If your payment processor doesn’t handle sales tax: Get a sales tax license for your state and charge sales tax in your stores for your state

So quite a bit of work which I bet most people haven’t done. But done it must be. (Feeling a little Yoda-esque tonight.) As for me, I’m about halfway done with the non-optional steps and fortunately my payment processor Kagi handles all the sales tax issues.