Banking

How to manage invoicing and receivables as an independent consultant


Once you're in business for yourself, the third question you have to ask (after you've successfully answered "Where do I find any business?" and "How do I get it all done?") is "How do I bill and keep track of who owes me money?"

Way back on my first IT Consultant post (So you want to be a consultant?), TechRepublic member pate put the question this way:

I do have one question do you have any advice for invoicing and payment? Such as should I use an Excel spreadsheet and do manual invoicing or should I create a PHP form that will store my invoices generated in a MYSQL database? Should I use a program like quick books?

That question sums up most of your options, but lets examine all the answers I can imagine:

  1. Take the manual approach using existing office automation products. Use a spreadsheet to keep track of time worked on what project each day, as well as when you billed and when you received payment. Then generate invoices using a word processor, or straight off the spreadsheet. For multiple clients, use different pages or completely different workbooks. This approach has the advantage of not requiring you to learn any new software, and you have complete control over the formatting of invoices and reports. On the other hand, you might find yourself duplicating input at times, and if you want to analyze the numbers you could spend more time than necessary setting up the various charts and formulas.
  2. Use a prepackaged accounting application like QuickBooks, Microsoft Office Accounting, PeachTree, or a number of others that are available. These products provide the advantage of having the invoicing and receivables built in, along with various reports. They might take longer to set up initially, though -- especially if you already have collected a large amount of data before trying them out. Also, even though the reporting capabilities in these packages usually allow a pretty wide range of customization, you're still somewhat limited to doing things the way they want you to do them.
  3. Roll your own. Write your own application using whatever framework and database you're most comfortable with. Advantage: you can make it do anything you want. Disadvantage: you spend lots of time reinventing the wheel.
  4. Farm it out. You can hire an accounting service to manage it all for you. Advantage: they usually know what they're doing. Disadvantages: they ain't free, you have to wait for them to process the data, and you have to be careful not to end up spending even more time handing the data back and forth and reviewing the results than you would doing it all yourself.
  5. Some independents don't track it at all. TechRepublic member mjb says that he writes invoices by hand at the end of a job, and usually collects on the spot. Good for him, but you might also need to track that information for reporting to various taxing authorities -- not to mention having the ability to analyze trends in your business activities.

Which approach do I use? I'd really like to be using #2 or #3, but way back when I first started my business I used Quattro Pro to track receivables, and then formatted the invoices using Microsoft Write (yes, that was on Windows 3.0). I tried setting up a real accounting application a couple of times, but by then I had so much data that I never got finished and let it slide. Over the years, Quattro gave way to Excel, and Write converted to Word -- the path of least resistance. So I'm a #1. And to think, before becoming independent I used to direct software development for a company that sold accounting software! "Cobblers' children's feet go bare..."

About

Chip Camden has been programming since 1978, and he's still not done. An independent consultant since 1991, Chip specializes in software development tools, languages, and migration to new technology. Besides writing for TechRepublic's IT Consultant b...

24 comments
pochmans
pochmans

I am using QuickBooks Simple Start Free Edition and OpenOffice spreadsheet. I have only few clients so this combination seem to work well and it is free ;-). I send invoice in spreadsheet form every month to my clients.

yusuf
yusuf

I use Timeslips and a PDA add-on (varies by platform) to track billable time and expenses no matter where I am. It has been an easy to use and reliable system for several years. While not inexpensive, it has paid for itself several times over by reducing lost billables and providing client satisfaction with accuracy and detail. I am a pure consultancy, no retail sales of any kind.

ketan
ketan

Treo with Iambic's AllTime to keep track of time; export to XLS files which get moved to my desktop and then converted to .ods. The treo based program is great as it works with the calendaring program so you can start timing from a calendar event. While simplistic, the AllTime software does have an Access backend version that i used when I worked for an MS-centric shop, it was ok, and with my knowledge of Access was able to create my own reports with the data .

david
david

Anybody know any opensource or free solutions? I was thinking myself of using Google apps to ensure portability. But I have only got as far as thinking about it.

Sterling chip Camden
Sterling chip Camden

Can you think of any other approaches to this problem? If anyone's interested, I can make a template of the spreadsheet I use available for public consumption.

agh3
agh3

I was using Microsoft Accounting, but I really hated doing double time entries to produce invoices and I didn't want to track every little expense and all the accounting stuff. I recently setup BambooInvoice and it's SO easy to use. You just need a web host that can provide PHP and MySQL support.

chrisjb
chrisjb

You can try this - I find it very useful and easy to use - www.turbocash.co.za

thinkdata
thinkdata

this is a great thread! thanks everybody :) doug

KJLLTD
KJLLTD

I'm a CPA and a bit of a techie. I also have clients in the tech field. It has been my experience that tech people are terrible at doing the bookkeeping (medical field people are in the same category). Sure you can keep track of invoicing and receivables using many methods but what about the expenses? What about preparing tax returns? As independents you need to know how much to pay in extimated taxes? I would highly reccomend using a package such as Quickbooks, Microsoft Accounting, etc. Peachtree has a high learning curve so I would not recommend it for people not familiar with bookkeeping. Microsoft and QuickBooks have free versions of their software. The biggest problem I see is in setting up the programs. Hire someone to do the setup and then use a software package. You will save time, headaches and money on tax preparation. I will not even take a client that does not use software because it takes so much time to sort out the paperwork that the amount I would need to charge (based on an hourly rate) for the return would be astrinomical. How would you feel if you quoted a price to a client based on their description of what they wanted only to find that the data needed is in such a mess that you end up having to charge 2 to 3 times what was quoted? Use a good system and use the time saved generating revenue. Hiring someone to do the work, in the long run, would cost much less than revenue you could earn with the time doing it yourself if you are not sure of what you are doing. Giving this type of advice is part of what I do for a living. I have seen so many mistakes that have cost clients so much to fix after the fact. Another thing to consider is that the IRS is targeting sole proprietors for audits at this time. Consultants and construction people are high on that list. If you are interested in more info contact me at KathyL@kjlltd.com

brian
brian

I use Freshbooks for the invoicing. It supports estimates, tracking time on projects, and then creating an invoice at the end based on the time spent on the project. It can do fixed fee projects too. It has many reporting features, and an API for extending it's capabilities. Check it out using my referral link: https://www.freshbooks.com/subscribe.php?ref=8de7fde730767-1

CIOandManager
CIOandManager

As a small consultancy with several staff members, we use Quickbooks Pro and each consultant has a copy of the QB Pro Timer (an application supplied with QB Pro specifically for this purpose). They enter time and details on the Timer file and email to the admin person who imports this into QB. At the end of the monthe we are then able to generate invoices for each client with full details of work done automatically.

lgreene
lgreene

You might also consider a PER or Portable Employer of Record service. It's a step above and beyond simply farming out your accounting. You get an employer of record and real group benefits, which is great, and the company will manage your billing, collections, and tax / expense management for you. You can work for multiple clients and projects, and be able to see everything that's going on from a secure online business center. You're still independent, to go work on projects as you like. Generally the savings you get from tax advantages and not having to carry your own liability and E&O insurances will more than offset the administrative fee, so it might not cost anything at all by the time its all said and done. That, and you can reclaim all those hours out of every week that you would otherwise be spending keeping up with all this. I'm with MBO: http://www.mybizoffice.com and it's a pretty amazing solution, especially if you're billing multiple clients. They'll even let you use YOUR logo on the invoices.

smallbiz-techwiz
smallbiz-techwiz

While the learning curve was steep for me, I finally settled into a comfortable routine with Quickbooks Pro. It was painful at first, but I persisted through it and now it saves me a lot of time overall. I document work done for clients right on the invoice, notating dates and times. This lets them see my journal of everything I did for them. I can also record passwords, IP addresses, and other info in the notes area for each client account (using a code that only I would understand). Accessing all my applications via Remote Desktop gives me the ability to document what I'm doing right from the client site before I forget anything. This also relieves me from having to carry confidential data around in my old laptop. For those times when I do have to carry confidential data or backups, I use a USB flash drive formatted with TrueCrypt encryption. These strategies have served me well so far.

david
david

..... for these two suggestions. I will check them both out.

B9Girl
B9Girl

kjlltd - That's very good advice. When you have a business, you should focus on what you are good at and hire out the rest. That said, there are some things that no matter how hard you try, you can't farm out to anybody else (believe me I've tried!). Time tracking is on of those things. Unless you have someone following you around 24/7, as a consultant you have to be the one keeping track. For me, (and probably others) this is extremely difficult! When it comes time to invoice, in the past I would scour emails, files, post-it notes for any information about how much time I spent and then just end up guesstimating my hours anyway, shaving off a few here and there. What works for me now is a piece of software called Standard Time (stdtime.com). It integrates with Quickbooks and is more robust than their Timer application. It's not perfect (it's based on MS Access), but it works for me. I am able to set up multiple projects for each client. It's simple to use the timer. You just right-click on the timer icon in the system tray and select the project you are working on. Right-click again to turn it off. That's about as much interaction I can handle when I'm tracking time on a project! (note: they also have a handheld version of their software for PDAs)

public
public

This is a welcome addition so you don't have to install QBTimer everywhere.

smallbiz-techwiz
smallbiz-techwiz

I think you're mixing two separate issues here. I agree that SSH helps prevent against man-in-the-middle attacks. It's also a good idea for me to add that extra layer of protection if I decide to connect from a public Wi-Fi hot spot. But, SSH only encrypts MY authenticated session. It does nothing to increase the security of the host against random attacks. My IP address changes periodically so I can't imagine how you would find it. And, as far as brute force dictionary attack, how many years do you think it will take to guess my password when you can only make 3 attempts per hour?

bpate
bpate

If you think that changing the port number is going to do anything your wrong. I could easily find the IP and the custom port then start a brute force dictionary attack. Also RC4 grade encryption which is the default on Remote Desktop is by far and wide considered not strong enough. Wish SSH you can use AES-256 bit encryption and then use RC4 encryption on top of it. I also like the fact I need two seperate usernames and passwords to be compromised before someone can access my machine.

smallbiz-techwiz
smallbiz-techwiz

I just modified the registry to have RDP use a different port than the default, require encrypted sessions with the client, and to lockout after invalid password attempts. A hacker would have to find the IP address or dynamic DNS name, AND the custom port number to find it. Then, the username AND the password within a certain number of attempts per hour. Why would I need a VPN?

bpate
bpate

Having been a network admin for the last 11 years. If you don't feel like putting alot of time and money into setting up a VPN for remote access. IMHO Remote Desktop encryption is not good enough and you only have one Username/password to hack to get access to the machine. I would recommend buying Bitvise WinSSHD server for your computer. Please keep in mind this isn't like a traditional VPN that gives you access to the entire network. It will allow you access to only one machine however it uses military grade encryption and works on most windows platforms. The product only costs $99 for a single business machine license. It is very simple to setup and the Bitvise tunnelier client is free to use. The client gives you the ability to use remote desktop securely and has built in secure file transfer. http://www.bitvise.com/winsshd-pricing Thanks, Bill