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?"
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:
- 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.
- 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.
- 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.
- 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.
- 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..."
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 blog, he also contributes to [Geeks Are Sexy] Technology News and his two personal blogs, Chip's Quips and Chip's Tips for Developers.