Collecting Fees with Intuit Payment Network

Alternate title for this post: “So the check does not need to be in the mail.”

Today I will share a low-cost tool that helps consulting clients pay more quickly. This can help you get paid faster, which increases cashflow and makes your business less risky.

The Good

I think Eliza introduced me to Intuit Payment Network (IPN).

IPN charges $0.50 (fifty cents) per payment that is sent on their system. The nice thing is that this is done electronically, and payments generally show up in your bank account within a day of being sent.

I find the flat cost to be preferable to other payment solutions which take a percentage of the payment. For example, if you have a $2500 payment that goes through a payment processor that charges 1% per transaction, it would cost $25 to send that payment. I think one percent is on the low end of transaction costs, so it seems desirable to use the fixed cost.

A system like this is nice because it happens mostly automatically on my part. I create an invoice in Harvest (my preferred time tracking software [affiliate link]) and email it, and then follow up with an IPN request for that amount. I can schedule when payments should be made, and send reminders if they are not paid on time.

Some options that are there but that I have not used yet:

  • sending money
  • accepting credit card payments for 3.5%

The Bad

While there are some good reasons to use IPN to collect payments from clients, there are some limitations that I have found.

The most annoying was that it was tough to get receiving rate limit increases. The beginning receiving rates are probably fine for some businesses, but collecting payments for consulting will quickly exceed either your daily or monthly limits, no matter how much you slice it.

On IPN, daily limits are half of what your monthly limits are. When I first started out, I think the monthly payments were limited to $5000, and so my daily limits were $2500. This quickly ends up being unusable, since I fairly quickly receive payments that are greater than the daily limit, and the monthly limit means that I can’t break up the payments into smaller chunks to get around the low daily limit.

I contacted IPN to try to raise my limits. They put me through a fairly opaque limit raising operation. I sent them three months of bank statements and then they just said that the request was denied. I tried again soon after, with the same result. Then I just kind of punted on it for a while and just took paper checks.

When I tried the next time and related my previous experiences and desire to use their system, I was told that it was mostly their fraud department wanting to ensure that I had enough cash in that account to cover any fraudulent payments. After I understood this (and had a little more money in the bank), I was able to increase the rate to $25000 monthly / $12500 daily. This gives enough breathing room to receive large payments, and potentially to have multiple clients use this method. If I get close to the limit again (a fantastic problem to have), I would petition for another increase, set up another (possibly complementary) method, or ask for a one-off check payment or wire transfer.

So, not entirely smooth sailing, but that has been the only issue I’ve had so far. I am guessing that my requirements are different from many other small businesses?

Your thoughts?

Am I missing a simpler solution that does not cost much to implement? What are you currently using for getting invoices paid? What does the process look like on your end?

Vim Plugins: Why You Should Use noremap

Today’s quick post is about why Vim plugin writers should generally use “no remap” versions of keyboard mappings.

Check out this StackOverflow post for a great overview of how mapping works. Basically, using :map a b will map presses of key a to whatever b currently does. However, using :noremap a b will translate presses of key a to whatever b did by default.

There are variants of these commands, such as nnoremap and vnoremap which only change the mappings in normal and visual mode, respectively.

Plugin creators should use noremap versions because they can never assume that users will not remap their keys.

Some handy tricks that might be perilous

One thing that I currently use in my .vimrc and miss when it is not present is:

noremap ; :
noremap : ;

This sets the semicolon to enter command-mode (what colon typically does) and sets the colon operator to search forward on the line for the search character (what semicolon does by default.)

This saves me unknown amounts of shift-pressing, and I think it is very useful. However, when I run into a plugin that does something like:

nmap <leader>cf :let @*=expand("%")<CR>

My editor would not work quite right. This is because without using the no-recursive version of remap, Vim will interpret the colon as the colon to search forward, not the colon to enter command-mode (the default behavior.) If we instead say:

nnoremap <leader>cf :let @*=expand("%")<CR>

Then plugins work just fine even though I have remapped a seemingly critical key.

Randomizing Writing Topics

I came up with a quick hack today that I think is useful, so wanted to share it while it was fresh in my mind.

I have a fairly long list of ideas for blog posts, which I refer to when considering what to write next. My typical workflow has been to run through them and see which one I think is the best or that I feel the most strongly about at the moment, and then start writing about it. However, in practice, I run through the list and at some point either give up or lose enough focus that I stop wanting to write.

So my idea was to create a script to take the list and generate one writing prompt that I could run with. Hopefully any idea on the list is good enough to be advanced at any time or should be discarded. When I have only one idea that I can work with, I can focus on that idea only and not need to worry about other possibilities.

The list was a plain-text file that was separated by lines that had a bunch of equal signs on them. I went and quickly manually cleaned up the list to ensure that:

  • every entry was separated correctly,
  • long entries were split into multiple ideas,
  • and old entries were removed or clarified

From there, I created a no-frills script that goes through the list and prints one of the ideas at random. Here is a sample of the script.

I think this will be a useful technique when I have a bit of downtime and want to do some writing.

Saving $1400 With a Prepaid Phone Plan

This post will show you how I will save roughly $1400 over the next two years by buying a new unlocked phone and getting a prepaid phone plan instead of a standard contract.

Why I Switched

I put my last phone through the washing machine (and dryer), and while it still somehow works, it ain’t pretty. It now can serve as an ugly alarm clock or workout MP3 player.

My jacked up phone

So, I was in the market for a new phone.

New phones under contract are not often expensive to obtain, but the costs add up over time due to high monthly subscription fees. According to one article, the total cost of ownership (TCO) of a brand new iPhone 5s with mobile hotspot is roughly $2200 - $2700. That is $1225 a year on average. This does not count the new accessories Apple will probably make you buy to connect it to your computer or charge it. :)

Realizing this, I set about finding a cheaper option.

The prepaid option

The last I had heard of prepaid phone plans (PPP) was when I was in college and you used it for either a throwaway number, calling abroad, or you didn’t have good enough credit to pay for a “real” plan. Probably a misinformed bias on my part.

When I looked into them again, a few things appealed to me:

  1. PPP are contract-free, which means no cost to stop service or switch carriers (besides any small setup fees, like SIM cards)
  2. PPP can be much cheaper than standard contract plans, maybe as low as $30 a month
  3. I am not much of a phone talker. My average minutes per month for the last year were below 100 minutes a month

These aspects led me to do a little research and get creative with my phone plan. Even if you are a big phone talker, I still think there are plans out there that would be better than a standard contract plan.

My prepaid plan

There are a few options out there that might be appealing based on your usage. Most of the low (30 MB a month!?) or slow data plans out there did not seem useful for a smart phone. I also wanted a carrier that would get reasonable service throughout the US. Side note: some PPP carriers will work across multiple networks, so you can get pretty decent coverage.

I ended up going with one of the following T-Mobile plans:

  • $30/month
  • 100 phone minutes (extra minutes: $0.10 each)
  • unlimited text
  • unlimited data, first 5 GB at up to 4G speeds

Pretty solid. About the only thing I give up compared to my previous plan is some phone time (100 vs 400 minutes) and it is $30 a month instead of close to $80. But I can use Skype or Google Voice pretty easily, and that should take care of most high minute usages.

I needed to order a SIM card from them, which took a little longer than expected to get. I would order this before you order your phone if you are serious about it.

My new phone

Most high-end unlocked phones in the recent past were pretty expensive to buy. You could be looking at maybe $600 or so for a non-carrier-subsidized phone.

When I purchased my new phone back in June, it was $299 unlocked for an 8 GB version. It would have been nice to get the 16 GB version, but it was $349, which was a bit more than I wanted to pay. Recently, the phone prices dropped to $199 and $249, so you could get the 16 GB version now for cheaper than I bought my phone for (if it is still available.)

Not all phones are unlocked. I think you generally have to buy them unlocked in order to use a PPP. I am not an expert, so there may be ways around this.

I’m sure unlocked phones will be getting better and cheaper, and the nice thing is that I can upgrade at any time just by paying the up-front cost. I’d like to keep this one for several years to amortize the up-front cost, but knowing there is an option is nice.

This phone has free Wi-Fi and Bluetooth tethering (why I focused the iPhone price on the plans with tethering.)

Really, I think of my “phone” as just a small tablet computer that I happen to sometimes use as a device to connect to telephones. In that sense, it gets the job done pretty well.

New total cost of ownership

At $300 phone cost, plus $10 for prepaid-compatible SIM card from T-Mobile, plus $30 a month the plan for 24 months, I’m looking at $1030 total cost over the course of two years. Already this is cheaper than a new contract iPhone would be for one year. Total savings: ~$1400.

Any minute overages just cost $0.10 a minute, so I can double my 100 monthly minutes for just $10. If I keep my phone for three years instead of two, the economics look good ($50 savings a month for a year is $600.)

Cancelling my old plan

I still had a Verizon contract on my old phone and it would cost money to break the contract. I wondered: should I keep my old plan? My old phone still had a $80 a month plan, with six months on it. The cost to cancel was about $150. Crap.

Well wait a minute, maybe I should do the math.

Keeping old plan: $80/month * 6 months = $480

Going to new plan: $150 to cancel + 6 months * $30/month = $330

Clearly I should go to the new plan! (Endowment effect almost got me.) The old contract was a sunk cost.

Transferring my number

I was able to transfer my old number to my new phone without too much hassle. This was probably the hardest part about the whole thing. One important thing is to ensure that you do not cancel your current plan before you active your SIM card and port the number to that SIM card. Otherwise you lose the ability to transfer the number. In my case, the last 7 digits of my phone number are a palindrome, so I was loathe to lose it.

Bill automation

When I transferred the number, I needed to make the first month’s payment on the phone to get it activated. When the next month rolled around, I had something on my calendar to remind me to put more money on the card. I figured this was going to be a pain.

But, I didn’t need that reminder! T-Mobile helpfully sent me a text reminder to let me know when there were a few days left to put money on my account to pre-pay the next month. And there is a way to set it up so you can link a credit card or bank account to it to. I now have it automated, and don’t have to worry about it. If you are worried about minute overages, you can always just put $10 more on there and be covered for a lot of extra minutes.

Was it worth it?

So all told, probably took me a couple of hours to research this and get everything set up. I think it was worth it, from a financial standpoint ($500 an hour?) and a “sticking it to the phone carriers” perspective. Plus, I got a blog post out of it. :)

I think that things like this will only become more common and with better options as time goes on, so if you are looking for a good phone plan for not a lot of money, I recommend checking out unlocked phones and prepaid plans.

I’ve been using it happily for over three months, and I have no serious complaints.

What did I miss or get horribly wrong about the phone system? Are my numbers on iPhone TCO too low or too high? Anyone else using a prepaid phone plan? Thanks!

How I Try to Mentally Unblock Myself

It’s Tuesday at 3 PM. I have a few hours of good work left, but get stuck on something pretty basic. Without thinking, I flit around on the internet for a little while doing fruitless research or goof off or grab a snack, and then return to the problem at hand ten minutes later. I then proceed to fix it in two minutes.

Did it really take me twelve minutes to fix it, or could I have fixed it more quickly by taking the right approach?

I find being able to unblock myself important because I work fairly independently. Bouncing ideas off of others is useful, but perhaps no one else is not around or it would be pretty distracting to bother them. Obviously, it’s important not to overlook coworkers or experts who might know the answer to the question I’m having. These strategies also help others become unblocked.

(Most of the examples and fixes here apply to software development, but they could also apply to business strategy or other domains. I had a subset of this post in The 20% Difference post, but I thought there were more strategies than I outlined there.

Unblocking Myself

One of the most helpful things to think about is: can I clearly state the exact problem I am having? If it’s an error code or a specific condition, at least realizing this can provide me with concrete information to think about or to search for an answer for. Which of these would be more useful:

  • some pages are not being served correctly versus
  • when we access HTTPS pages in the production environment, they are not being served correctly by our application

Ambiguity in my wording points to things that I need to understand better to be able to solve the problem effectively.

Writing in plain English what the problem is will either point to a lack of knowledge of what the problem is, or another set of search terms or things to think about. If I lack knowledge of what the exact problem is, sometimes inspecting the logs or tinkering around to see if I can get more information or a different failure helps me to clarify what the issue is.

Another example is getting more fine-grained to increase motivation:

  • revise website versus
  • improve home page by adding two testimonials I have in my email inbox (and so on)

I think the second one is more actionable. So if I am getting hung up, breaking up the problem can be pretty useful.

They Want the Report in Green!

I find it hard to get motivated to start when I don’t fully understand the intent for something. In this case, I try to think through who might need this feature, and if I still can’t figure it out, I ask a stakeholder. Generally I trust my gut on this. There are times when the person who wanted the feature did not think through everything, or the system can already do what they need it to do. Or sometimes the feature request itself is vague, and needs to be clarified, at least on my end.

Punt for Prosperity

Do I need to solve the “problem” under consideration right now, or could it be deferred and worked on as part of another task? Perhaps it’s just worth finishing what I am working on and polishing the edge cases later. This allows me to deliver any value more quickly. Especially if I don’t know if my general approach will even work, getting bogged down in the small details is a good way to lose motivation. Maybe this is a good time to write a note to revisit the problem or reach out to someone asynchronously to get clarification.

Zooming Out and Zoning Out

Often I take a step back to unblock myself. Are there other things on my mind right now that are causing me to be unable to focus? Maybe I am hungry or worried about something coming up soon or work that is unfinished on another project. In this case, basic journaling can point out where I am blocked and allow me to address it or realize that I can safely ignore the issue for now.

At other times it is best to just take a dedicated and perhaps timeboxed break. When I look back after mindlessly wasting an hour on the internet, I often ask myself, if I could have gone for a walk outside or meditated or read a book instead, would this have been better for me? Usually the answer is yes. So when I realize that I would like to take a break, if I can channel that break energy into something either mildly productive or totally relaxing and fun, then it’s a small win.

How do you mentally unblock yourself?

I’d be interested to hear anyone else’s experiences with getting over small humps.