I've read mixed opinions. Is it better to wait for say, a week incase anything small comes up and avoid needing to invoice them for a small unit right after. Or, is it better to send the invoice right away? I freelance part time on the side, so my income is not dependent on the money.
The main objective is to be consistent. It can also be a great time saver to have all billings go out once a week, or twice a month, or once a month. To do this, you need to have your documentation ready to go.
Whether it's just a notepad, or an actual time-keeping application you use, ensure it's accurate, and find a way to mark what has been invoiced, and what has been paid. A simple Excel sheet could do this for you, if that works for you.
In my case, I invoice the day of, unless I'm expecting further work. My work is tech support, so it can be months or hours before hearing from a client again. The time I work is recorded, brief description of what I did during that time, then each week I go through my notes and do my billings.
I invoice at one of 2 times...
When a project is complete and I've gotten client approval. Note there still may be some follow up work such as sending files somewhere or communication changes to someone, etc. But the bulk of the work is done. I do this for intermittent or new clients to ensure they don't forget they owe me money. If you wait too long, some will forget and then they stall or wait to pay you since you didn't appear to be quick to invoice.
For regular, steady clients, who pay without fail and have a great deal of work weekly for me, I invoice monthly. It makes more sense to invoice once a month for everything I've done than to dedicate so much time to clerical work daily or weekly. Even if I were to invoice weekly or bi-monthly it would mean I'm spending a great deal more time with clerical stuff. I keep a detailed list of each project, time spent, and what's owed. Then at the end of the month I just take a "clerical day" and handle invoicing, follow-ups on late payments, etc.
For me it's a risk vs convenience thing.
If you have a regular client that you trust, and you know there are often some small additional tasks right after you delivered, there should be no problem with waiting a few days.
If you have a new client, or one where finances could be unstable, bill as soon as you can - for larger jobs, bill parts in advance or upon predefined milestones.
How quickly do you send invoice after completion of project?
Immediately. There is no reason to wait. As for snagging and bug fixing, that is included for, say, two weeks after completion. Anything reported in those two weeks is fixed as part of the service. No excuse for buggy or shoddy work. Even if the fix takes longer than two weeks, they have a two week testing and reporting window. Anything afterwards requires a support contract which they pay for, or they hire you on an hourly basis. Absolutely nothing new is added in this period, just snagging and bug fixing. This is very important.
Timing of invoice matters a lot. But there are different circumstances to take into account.
- Big Project.
I usually send three invoices, the first payment is usually around 20% before starting a project. I would never start work with a new customer without some sort of down payment. The second is for another 20% usually 3/4 of the way through when there is something for the client to see, test perhaps and certain milestones have been met. The final payment is on completion but before the system is live, released or in production. For websites, it is on the day of launch.
- Ongoing work (hourly).
For this I would bill monthly in arrears, at the start of the month. So on August 1st they get an invoice for all work carried out in July, although for a new customer we would estimate the hours to be worked and I would get a down payment of about 20% up front, discounted off their first invoice.
- Trusted long term customer
For project work I would bill at the completion of the project. For hourly work continue to bill on the first of each month.
As for delays in sending invoices, do not do that. You are suggesting that your work is not valuable, that your payments are not urgent and can wait, and that your services are not a priority. None of these is good for long term business. Send invoices immediately, get paid up front if only a small deposit, and take your invoicing very seriously. With regular formal invoicing acting as a project reporting tool, a good and consistent invoicing routine will make you look professional, valuable and a serious business. A poor invoicing routine will make you look like an amateur.