Avoiding a small loss of 10 unpaid hours can save as much as the profit from 100 sold hours. Collecting unpaid invoices is crucial to remain profitable.
It might be impossible to bring credit losses down to zero as every client and project is a calculated risk that you have to take, but there are cases where a client refuses to pay for a large number of hours without any valid reason. Those situations you can do something about.
If history is any indication of the future, we could save 2-3% of total revenue by strictly following a clear process: set the right credit limit and payment terms, adhere to them, follow-up overdue invoices actively and meticulously, solid legal agreements, a clear and fast escalation process from admins to seniors, fast negotiations if disputes occur and a clear collection plan through arbitration or court proceedings.
Keep your invoice communication structured and use one single email thread for all follow-ups. You can email everything related to your follow-ups in the thread so that it’s easy to follow what’s been said and done at what dates. This comes in handy if you need to outsource collection. Examples IBNLT:
The first invoice confirmation email can be sent without CCing any seniors, so that you can use Streak to track and confirm that the email has not gone to the client’s spam folder. If the first email does not go to spam, subsequent ones will very unlikely go to spam.
Beware of invoice email threads that do go to spam – in such cases replying in the same thread will also go to spam. If that’s the case, you can create a new thread for the follow-ups.
At a later stage in the process, if deemed necessary, you can CC seniors. The drawback is that Streak will mark the email as read even if the client has not read it, however you can typically figure that out by checking from which location the email was opened.
Timely follow-ups are crucial. In a worst case, a client might feel they can delay a payment and request a discount only long after an invoice was overdue. If you have several consultants / developers assigned to such a project, the potential credit loss can go high.
You can follow this plan for high-risk clients. For clients with lower risk, you can adapt it:
Day 1 (Invoice issue date): “Please confirm that you have received the invoice, as invoices sometimes go to the spam folder. I will try to call you if I don’t hear from you.”
Day 3: If client doesn’t pick up, email: “Tried to call you on XYZ [this way seniors can also make a call later if needed] to confirm that the invoice was received”. Leave voicemail.
Day 4-5: At this stage you can also ask the most senior developer involved to confirm it via Skype. “Hi John, NameOfAdmin asked me to ask you whether you received her email about the invoice?”
Coordinate swiftly with development team, during the crucial period where an invoice is just overdue. Problem clients sometimes raise a dispute only when an overdue invoice is intensively followed up.
Invoice due date + 3 days: “Just wanted to ask if payment has been sent?”.
Invoice due date + 5 days: “Invoice is five days overdue. Can you please make the payment shortly and send us the receipt?”.
At invoice due date + 5 days: you should intensify follow-ups if the client is high-risk:
Try calling / texting / Skyping other stakeholders and representatives IBNLT client’s administrative staff and those involved in the project from client’s side. Include them in the email thread.
Consider requesting a written promise to pay.
Try calling from alternate numbers, preferably even a non-Indian Skype-out number.
CC relevant seniors. When clients see the CCs they will be further encouraged to pay.
Try to call once per day and request senior to contact via Skype if there’s no response.
Discuss with the top seniors involved in the project whether you should pause services or at least reduce the team size. Informing the decision to reduce service need to be communicated carefully and preferably over the phone / voice mail so that you can soften the message a bit.
Set clear expectations on team size and thus when the next invoice will be sent. Remind the client about the work plan, how many/what team members are assigned and roughly how many hours will be spent per month.
The team will probably spend this much time per month [henceforth / until DATE]:140 hours: DeveloperX30 hours: QA20 hours: Project leaderTotal: 190 hours per month
If needed, explain that payment delays will result in us spending fewer hours on their projects. Consider pushing for a Dedicated Minimum Hours (DMH) contract.
If a client’s financial viability is low then be transparent about our concerns. If it remains low consider asking them to either sign a DMH or asking them to find another developer. (There’ll soon be an ERP report named “Client financial viability” which gives an overview of average payment delays, unbilled hours and hourly rate).
One reason for a delayed payment can be dissatisfaction. If it’s feasible to offer a discount, such discount must be final and the following shall be included in the discount offer email:
We offer to discount X hours up until DATE. This discount is final for the deliverables up until this date. By accepting this discount, the client renounces his claim to any further reimbursement claim for work done up till this date.
Optional: The new credit limit shall be X and payments terms shall be Y days.
Please confirm your acceptance of this offer?
Currently we foresee around X hours being spent per working day on your project. Y team members are assigned to your project. Based on your credit limit, we expect the next invoice to be sent on DATE and every Z days thereafter.
You can keep yourself posted on progress via the work plan. Time entries are updated daily in the client portal and you should receive weekly billing notification emails (let us know if you don’t?).
Clients who request such discounts after delaying payment tend to be higher risk and lower value. So when issuing a discount you should consider reducing the credit limit, payment terms and team size while also looking to phase in newer higher value clients.
If a client delays payment and says they need more time to pay, you must get them to clarify why there is a delay. If there’s a delay due to cash flow then ask them to email a promise to pay that would calm both parties down and in a worst case could be used in a legal proceeding. Cash flow problems is sometimes a false excuse by clients who later end up refusing to pay altogether.
You can require such clients to respond to emails like these:
I understand that you’ve delayed payment due to [your temporary cash flow problems / administrative reasons]
But can you please respond with a written promise that you will pay the outstanding invoices (total amount: XYZ) so that we know?
NameX has tried to reach you many times (see thread below).Please email this back in this thread: ‘I promise to pay the outstanding €XYZ and I do not dispute LiteBreeze’s deliverables.’[Version 1a:We can then give you some more time to pay. If you can’t give such a formal promise we will be forced to proceed to collect the dues.]
[Version 1b: Please respond to this so we can continue development without delays.]
I understand that: 1) you wish to delay payment until you’ve been able to test feature X, Y and Z 2) you are content with all the other deliverables till date and any concerns would be related to feature X, Y and Z only. Please respond with the following so that we can continue development without delays: ‘I promise to pay the outstanding €XYZ and I do not dispute LiteBreeze’s deliverables.’
This would force any hidden discontent to surface and we’d get closer to the truth and a fast low-risk solution.
A reminder like this can be communicated by the PLs if necessary:
Please respond. We need your written acceptance of the deliverables and your assurance that you will pay the outstanding invoices. Sorry to sound brash, but due to previous bad experiences we would otherwise be forced [version a: to pause service delivery] [version b: to give the invoices to a third party for collections]
If a client can’t make a promise to pay because they need more time to verify deliverables, you must pause service delivery and reduce the team size:
Could you please verify our deliverables sooner? Waiting for you to accept the deliverables while spending X hours per day on the project and having overdue invoices outstanding is too risky for us. We would be forced to pause service delivery or at least reduce team size.
Push forward if everything else fails:
Be open for a settlement until the third and final step.
[Version a: As we haven’t heard from you after numerous attempts to contact you,][Version b: As we haven’t been able to come to an agreement,]we will be forced to hand this over to a[Version a: a Swedish* lawyer for collection via the Swedish* courts.][Version b: XYZ arbitration council.]Please note that we’d prefer not to go this route. It would be costly and the losing party would have to bear all costs. The estimated costs would be [version a: €400 for our lawyer fees for the first step, and more if it needs to go all the way to court].Please discuss this with your legal advisors and let us know before X PM on DD Mmm YYYY if you’d prefer to reach a settlement without involving third parties. I hope we can resolve this shortly.*Replace with client’s nationality.