473,288 Members | 1,705 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,288 software developers and data experts.

Late Payment For Work

I have just experienced my first late paying client. By "late" I mean
that the invoice is now almost 2 months overdue. I don't think that
the client is maliciously withholding payment - rather there has been
an unfortunate series of events which has delayed the payment. The
bottom line for a small time developer is still the same however. I am
confident that I will receive payment for the invoice eventually but
it is now a case of "once bitten twice shy".

I am interested in what measures others employ to avoid or deal with
this situation, short of asking for payment up front which I don't
think would go over too well with most clients.

One method that I have thought of would be to include a "late payment"
clause in the initial quote which spells out that if payment is more
than x weeks overdue, data entry functionality for the database would
no longer be available.

This could be achieved by hard coding a preset date after which a
critical data entry form would be deleted. If payment is received in
a timely manner, an updated file would be sent to the client before
any disruption to business occurred. Deleting this critical form would
stop the client resetting there computer clock after the fact, thereby
restoring data entry functionality.

Of course this wouldn' t stop them resetting the computer clock before
the expiry date and maintaining data entry functionality, but if I
thought that they were going to be that dodgy I wouldn't deal with
them in the first place.

I'm interested in other people's thoughts on the subject.

Feb 9 '07 #1
13 2434
Wayne wrote:
I have just experienced my first late paying client. By "late" I mean
that the invoice is now almost 2 months overdue. I don't think that
the client is maliciously withholding payment - rather there has been
an unfortunate series of events which has delayed the payment. The
bottom line for a small time developer is still the same however. I am
confident that I will receive payment for the invoice eventually but
it is now a case of "once bitten twice shy".
Did you write this for a large or small company? If small, you should
be able to interact with the owner of the company or someone to expedite
the payment.
I am interested in what measures others employ to avoid or deal with
this situation, short of asking for payment up front which I don't
think would go over too well with most clients.
I doubt you'll find many companies that will pay prior to work being done.
One method that I have thought of would be to include a "late payment"
clause in the initial quote which spells out that if payment is more
than x weeks overdue, data entry functionality for the database would
no longer be available.
Putting "bombs" in code seems so uncool.

There is a reason for the delay in payment. You haven't given any
reasons beyond "there has been an unfortunate series of events which has
delayed the payment". But there is a reason. Perhaps the company is
strapped for cash and your bill is a bit larger than expected. Maybe
you could negotiate for payments in 2 chunks instead of one.

If you aren't dealing with the owner, you are dealing with a project
manager. You need to bump it up to the next level...his superior.

Not knowing your situation, I think you need to find someone in the
company that can act on your behalf to get things moving.
This could be achieved by hard coding a preset date after which a
critical data entry form would be deleted. If payment is received in
a timely manner, an updated file would be sent to the client before
any disruption to business occurred. Deleting this critical form would
stop the client resetting there computer clock after the fact, thereby
restoring data entry functionality.

Of course this wouldn' t stop them resetting the computer clock before
the expiry date and maintaining data entry functionality, but if I
thought that they were going to be that dodgy I wouldn't deal with
them in the first place.

I'm interested in other people's thoughts on the subject.
Feb 9 '07 #2
<snip>
>One method that I have thought of would be to include a "late payment"
clause in the initial quote which spells out that if payment is more
than x weeks overdue, data entry functionality for the database would
no longer be available.

Putting "bombs" in code seems so uncool.

There is a reason for the delay in payment. You haven't given any reasons
beyond "there has been an unfortunate series of events which has delayed
the payment". But there is a reason. Perhaps the company is strapped for
cash and your bill is a bit larger than expected. Maybe you could
negotiate for payments in 2 chunks instead of one.
If you start giving concessions on payment terms you are going down a
slippery slope. Developers are not banks, we should not be expected to give
credit. If the customer is strapped for cash, that is his problem. They
shouldn't order stuff if they can't pay for it on time. They are probably
not buying the software to sell it on; the money they owe is not tied-in to
them getting a check from someone else. If they don't have the money to pay
you because of "bad luck", then as far as I am concerned they are screwing
you over, they have gambled with your livelihood. They are out of order.

Unless you like the client on a personal level and trust him or can be sure
that maintaining a good relationship will ensure future work I would start
pressing for payment.

I have been knocked before so now I always ask for a third up front, a third
on delivery of the first beta and only then do I give the client thirty days
"credit" to pay the final third after the system is in place. I also charge
a to put a proposal together. All of this is negotiable, but that is my
starting point.

Don't sell yourself short. I got out of the printing industry because every
printer tries to undercut their neighbour, thus encouraging the print buyers
to screw them down even further. I have seen so many print firms go bankrupt
because of this. Competitors should look out for one another but still
maintain a healthy competition. We shouldn't strive to be the cheapest or
the quickest; we should strive to be the best we can be. Ultimately the
market will benefit from that ethos over all others. You services are of
great value, don't allow them to be arbitrarily borrowed by unorganised or
unethical customers.

There should be law in place that states that you can not receive credit on
capital expenditure, that would stop all this nonsense.

No one would ask for credit when buying a car or a house; if you don't have
the cash you get a loan to buy these things...politely tell the customer to
take his problems to the bank, not you.
Rant over.

:O)

Paul

Feb 9 '07 #3

"Wayne" <cq*******@volcanomail.comschreef in bericht news:11*********************@a75g2000cwd.googlegro ups.com...
>I have just experienced my first late paying client. By "late" I mean
that the invoice is now almost 2 months overdue. I don't think that
the client is maliciously withholding payment - rather there has been
an unfortunate series of events which has delayed the payment. The
bottom line for a small time developer is still the same however. I am
confident that I will receive payment for the invoice eventually but
it is now a case of "once bitten twice shy".

I am interested in what measures others employ to avoid or deal with
this situation, short of asking for payment up front which I don't
think would go over too well with most clients.

One method that I have thought of would be to include a "late payment"
clause in the initial quote which spells out that if payment is more
than x weeks overdue, data entry functionality for the database would
no longer be available.

This could be achieved by hard coding a preset date after which a
critical data entry form would be deleted. If payment is received in
a timely manner, an updated file would be sent to the client before
any disruption to business occurred. Deleting this critical form would
stop the client resetting there computer clock after the fact, thereby
restoring data entry functionality.

Of course this wouldn' t stop them resetting the computer clock before
the expiry date and maintaining data entry functionality, but if I
thought that they were going to be that dodgy I wouldn't deal with
them in the first place.

I'm interested in other people's thoughts on the subject.
I am doing work for relatively small companies.
I always know the person who has to approve the payment.
I know the person that receives my bill.
When payment is late (4 weeks late) I send the invoice again. (It could be lost or forgotten)
If I don't get payed within two weeks after that, I will call them and simply ask "what's the problem?"
This happened only once. Maybe I am lucky.

But: I would advise you to NEVER 'mess' with the databases functionality.
What if the client actually does pay the bill, and you get an accident a day before that...
Time bomb still explodes ??

Arno R

Feb 9 '07 #4
On 8 Feb 2007 23:03:32 -0800, "Wayne" <cq*******@volcanomail.com>
wrote:

Paul is right: you are not a bank, and client should not expect you
can give him credit. Politely ask for payment every week, if possible
in person. Your rates should include a buffer to be able to extend
some credit, and to occasionally get stiffed altogether. Such is life,
and we prepare to the extent possible.
In a slightly larger company like ours, we assess a client's credit
worthiness before signing the contract, and we will adjust payment
terms accordingly. Thus we have some clients that are pre-pay, and
others that get 90 day credit.
We don't give source code unless all bills are paid.
We won't start new work until all past-due invoices are paid.

-Tom.
>I have just experienced my first late paying client. By "late" I mean
that the invoice is now almost 2 months overdue. I don't think that
the client is maliciously withholding payment - rather there has been
an unfortunate series of events which has delayed the payment. The
bottom line for a small time developer is still the same however. I am
confident that I will receive payment for the invoice eventually but
it is now a case of "once bitten twice shy".

I am interested in what measures others employ to avoid or deal with
this situation, short of asking for payment up front which I don't
think would go over too well with most clients.

One method that I have thought of would be to include a "late payment"
clause in the initial quote which spells out that if payment is more
than x weeks overdue, data entry functionality for the database would
no longer be available.

This could be achieved by hard coding a preset date after which a
critical data entry form would be deleted. If payment is received in
a timely manner, an updated file would be sent to the client before
any disruption to business occurred. Deleting this critical form would
stop the client resetting there computer clock after the fact, thereby
restoring data entry functionality.

Of course this wouldn' t stop them resetting the computer clock before
the expiry date and maintaining data entry functionality, but if I
thought that they were going to be that dodgy I wouldn't deal with
them in the first place.

I'm interested in other people's thoughts on the subject.
Feb 9 '07 #5
Paul H wrote:
<snip>
>>>One method that I have thought of would be to include a "late payment"
clause in the initial quote which spells out that if payment is more
than x weeks overdue, data entry functionality for the database would
no longer be available.

Putting "bombs" in code seems so uncool.

There is a reason for the delay in payment. You haven't given any reasons
beyond "there has been an unfortunate series of events which has delayed
the payment". But there is a reason. Perhaps the company is strapped for
cash and your bill is a bit larger than expected. Maybe you could
negotiate for payments in 2 chunks instead of one.

If you start giving concessions on payment terms you are going down a
slippery slope. Developers are not banks, we should not be expected to give
credit. If the customer is strapped for cash, that is his problem. They
shouldn't order stuff if they can't pay for it on time. They are probably
not buying the software to sell it on; the money they owe is not tied-in to
them getting a check from someone else. If they don't have the money to pay
you because of "bad luck", then as far as I am concerned they are screwing
you over, they have gambled with your livelihood. They are out of order.
See, I don't know who is not paying him. It could be a good
aquaintance, a large company, or medium. Going after payment with a
Ford or GM and getting them to move on something might be like moving a
snowball up the hill. If a small company, you should be able to talk
to someone in authority.

We don't know the reasons for non-payment. Was the invoice sent late?
Some companies have some rules that all invoices must be recieved by a
certain date. Were there disputes on the invoice? Did the person that
writes checks die? We only know "there has been an unfortunate series
of events which has delayed the payment". And there are two sides to a
story.

The person should be paid for his work. I disagree with putting in time
bombs. I would not compromise on the pay, but would on payment options,
if I weren't getting paid. I would never put a bomb in a program on the
off chance a person isn't going to pay up. Maybe you would, but I wouldn't.

If he isn't getting paid, he needs to work on getting paid. And, in my
opinion, that means changing the rules to get paid, then so be it. In
the post, the originator said he expects to be paid. So that's not the
problem, its the time in getting the check to him for work performed.
Unless you like the client on a personal level and trust him or can be sure
that maintaining a good relationship will ensure future work I would start
pressing for payment.

I have been knocked before so now I always ask for a third up front, a third
on delivery of the first beta and only then do I give the client thirty days
"credit" to pay the final third after the system is in place. I also charge
a to put a proposal together. All of this is negotiable, but that is my
starting point.

Don't sell yourself short. I got out of the printing industry because every
printer tries to undercut their neighbour, thus encouraging the print buyers
to screw them down even further. I have seen so many print firms go bankrupt
because of this. Competitors should look out for one another but still
maintain a healthy competition. We shouldn't strive to be the cheapest or
the quickest; we should strive to be the best we can be. Ultimately the
market will benefit from that ethos over all others. You services are of
great value, don't allow them to be arbitrarily borrowed by unorganised or
unethical customers.

There should be law in place that states that you can not receive credit on
capital expenditure, that would stop all this nonsense.

No one would ask for credit when buying a car or a house; if you don't have
the cash you get a loan to buy these things...politely tell the customer to
take his problems to the bank, not you.
Rant over.

:O)

Paul


Feb 9 '07 #6

<snip>
The person should be paid for his work. I disagree with putting in time
bombs. I would not compromise on the pay, but would on payment options,
if I weren't getting paid. I would never put a bomb in a program on the
off chance a person isn't going to pay up. Maybe you would, but I
wouldn't.
Bombs are fine as long as they are clearly explained well in advance to the
client. I put a bomb in a db recently and explained why to the client (they
were a new start up company), they where perfectly amicable about it.

I agree that a "secret" bomb is not good business, neither is late payment.

Paul
Feb 9 '07 #7
salad wrote:
The person should be paid for his work. I disagree with putting in time
bombs. I would not compromise on the pay, but would on payment options,
if I weren't getting paid. I would never put a bomb in a program on the
off chance a person isn't going to pay up. Maybe you would, but I
wouldn't.
I agree, that's gross.

--
Tim http://www.ucs.mun.ca/~tmarshal/
^o<
/#) "Burp-beep, burp-beep, burp-beep?" - Quaker Jake
/^^ "Be Careful, Big Bird!" - Ditto "TIM-MAY!!" - Me
Feb 9 '07 #8
Thanks for all the feedback. The "unfortunate series of events" goes
something like this: the safety manager that I did the work for who
needed to sign off on the invoice went on leave and apparently no-one
else could sign it. When he eventually signed it, the invoice then
got bogged down in the accounts department waiting for the cheque to
be raised. After the cheque was raised, the general manager needed to
sign it and he was unavailable for a period of time.

The company is a medium sized mining company that I have dealt with
before. The last time I did work for them, payment was a few weeks
late, but nowhere near as late as this time. Their system for paying
suppliers like myself that aren't regular suppliers seems to be very
slow and convuluted. I have a good relationship with the safety
manager over the telephone and he seems to be as unhappy as I am that
I have not been paid yet and seems to be embarrassed by the fact.

The main thrust of my original post was not to get advice on how to
secure payment because I am confident that payment will be forthcoming
in the next couple of weeks. This isn't a fly by night company and
they aren't about to go bust in the next couple of weeks. This
situation has been unexpected and my main question was how to avoid a
similar situation in the future with other clients.

I know that time bombing an application is uncool, but having an
invoice that is almost 2 months overdue is also uncool and
unacceptable as well. My original suggestion was not to secretly time
bomb an application but to spell it out in black and white in the
original quote that if payment is more than so many weeks late
critical database functionality will cease. Paul H seems to have done
this successfully, and if the client has a problem with it, then it
can be negotiated before the quote is accepted.

I am sure that I have read on this forum before (but can't find the
posts now) about how other developers have similar procedures in place
to ensure that payment is forthcoming before a fully functional
application is handed over to the client. It may not have involved a
time bomb, but from memory, the outcome was the same.

Feb 9 '07 #9
I have not generally had to do this, but a few times have "encouraged prompt
payment" by setting a higher rate, and giving a significant discount for
very prompt payment, a lesser discount for normally prompt payment, no
discount for slightly late payment, and an X% per month penalty for any
later payment.

On the other hand, I recently had a client that prided themselves on prompt
payment. If the invoice was submitted by Thursday, the check would be mailed
on Monday (barring holidays or catastrophe). Needless to say, they didn't
have any trouble finding contractors to work for them.

Larry Linson
Microsoft Access MVP

"Wayne" <cq*******@volcanomail.comwrote in message
news:11**********************@s48g2000cws.googlegr oups.com...
Thanks for all the feedback. The "unfortunate series of events" goes
something like this: the safety manager that I did the work for who
needed to sign off on the invoice went on leave and apparently no-one
else could sign it. When he eventually signed it, the invoice then
got bogged down in the accounts department waiting for the cheque to
be raised. After the cheque was raised, the general manager needed to
sign it and he was unavailable for a period of time.

The company is a medium sized mining company that I have dealt with
before. The last time I did work for them, payment was a few weeks
late, but nowhere near as late as this time. Their system for paying
suppliers like myself that aren't regular suppliers seems to be very
slow and convuluted. I have a good relationship with the safety
manager over the telephone and he seems to be as unhappy as I am that
I have not been paid yet and seems to be embarrassed by the fact.

The main thrust of my original post was not to get advice on how to
secure payment because I am confident that payment will be forthcoming
in the next couple of weeks. This isn't a fly by night company and
they aren't about to go bust in the next couple of weeks. This
situation has been unexpected and my main question was how to avoid a
similar situation in the future with other clients.

I know that time bombing an application is uncool, but having an
invoice that is almost 2 months overdue is also uncool and
unacceptable as well. My original suggestion was not to secretly time
bomb an application but to spell it out in black and white in the
original quote that if payment is more than so many weeks late
critical database functionality will cease. Paul H seems to have done
this successfully, and if the client has a problem with it, then it
can be negotiated before the quote is accepted.

I am sure that I have read on this forum before (but can't find the
posts now) about how other developers have similar procedures in place
to ensure that payment is forthcoming before a fully functional
application is handed over to the client. It may not have involved a
time bomb, but from memory, the outcome was the same.

Feb 10 '07 #10
On Fri, 09 Feb 2007 13:43:03 -0330, Tim Marshall
<TI****@PurplePandaChasers.Moertheriumwrote:
>salad wrote:
>The person should be paid for his work. I disagree with putting in time
bombs. I would not compromise on the pay, but would on payment options,
if I weren't getting paid. I would never put a bomb in a program on the
off chance a person isn't going to pay up. Maybe you would, but I
wouldn't.

I agree, that's gross.
A little off topic. I had a Canon 6000 printer. I came with some graphics
editing software. The 6000 got old and died. Bought a Canon 850. It came
with software. Wife liked old software better. Install old software. Virus
warning. Don't believe. Install anyway. When Installation was finished hard
drive was wiped out. Partitioned drive. 3 primary each with a different OS. 3
extended for data. ALL gone. Had to do a low level format before could do a
normal format then repartition then use backups to get all OSs and Data back.
Use XXcopy to clone OS. But it still lot of work. Unplug C850. Plug in old
C600. Old software installed without a glitch. That was over kill on Canon's
part. Could simply refuse to install without any explanation why. OK.
Getting tired with Canon products anyhow.

Chuck
--
Feb 10 '07 #11
On Fri, 9 Feb 2007 11:39:09 +0100, "Arno R" <ar***********@tiscali.nl>
wrote:
>
"Wayne" <cq*******@volcanomail.comschreef in bericht news:11*********************@a75g2000cwd.googlegro ups.com...
>>I have just experienced my first late paying client. By "late" I mean
that the invoice is now almost 2 months overdue. I don't think that
the client is maliciously withholding payment - rather there has been
an unfortunate series of events which has delayed the payment. The
bottom line for a small time developer is still the same however. I am
confident that I will receive payment for the invoice eventually but
it is now a case of "once bitten twice shy".

I am interested in what measures others employ to avoid or deal with
this situation, short of asking for payment up front which I don't
think would go over too well with most clients.

One method that I have thought of would be to include a "late payment"
clause in the initial quote which spells out that if payment is more
than x weeks overdue, data entry functionality for the database would
no longer be available.

This could be achieved by hard coding a preset date after which a
critical data entry form would be deleted. If payment is received in
a timely manner, an updated file would be sent to the client before
any disruption to business occurred. Deleting this critical form would
stop the client resetting there computer clock after the fact, thereby
restoring data entry functionality.

Of course this wouldn' t stop them resetting the computer clock before
the expiry date and maintaining data entry functionality, but if I
thought that they were going to be that dodgy I wouldn't deal with
them in the first place.

I'm interested in other people's thoughts on the subject.

I am doing work for relatively small companies.
I always know the person who has to approve the payment.
I know the person that receives my bill.
When payment is late (4 weeks late) I send the invoice again. (It could be lost or forgotten)
If I don't get payed within two weeks after that, I will call them and simply ask "what's the problem?"
This happened only once. Maybe I am lucky.

But: I would advise you to NEVER 'mess' with the databases functionality.
What if the client actually does pay the bill, and you get an accident a day before that...
Time bomb still explodes ??

Arno R
This is an excellent point.

Bombs are bad business and are really an accident waiting to happen.
If it goes off for one customer when it shouldn't have, it will cost
you way more than it ever saved you.

Bill
Feb 10 '07 #12
On 9 Feb 2007 12:54:44 -0800, "Wayne" <cq*******@volcanomail.com>
wrote:
>Thanks for all the feedback. The "unfortunate series of events" goes
something like this: the safety manager that I did the work for who
needed to sign off on the invoice went on leave and apparently no-one
else could sign it. When he eventually signed it, the invoice then
got bogged down in the accounts department waiting for the cheque to
be raised. After the cheque was raised, the general manager needed to
sign it and he was unavailable for a period of time.
Sometimes, stuff happens. Sometimes it doesn't and people say it
does.

I'm all in favor of progress payments if you can establish reasonable
metrics that you can both agree on. That way, the entire sum is not
at risk and you have some money as you go along.

In general, the telephone is your friend. There is nothing wrong,
once a bill is overdue, with calling every step of the way.

It's also good to have a mix of customers, but when it's just a single
programmer, that can be hard to do.

Feb 10 '07 #13

<snip>

....and don't forget, if diplomacy, discounts and time-bombs don't work,
there's always one more tool in the box; the threat of extreme merciless
violence.

"OK Bob, so accounts have said they can't raise a cheque until the MD gets
back from Prague?....I know where you live." CLICK!

;o)

Paul
Feb 12 '07 #14

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

8
by: Eric | last post by:
Hi all, What would be the best way to add a credit card (and maybe also other systems) payment option to my php website shop? Is this something that can be done by a regular developer like me?...
2
by: Karen | last post by:
I inserted this statement and it worked great for the customers that have no payment history, but for the customers that have a history and an open invoice, it still used today's date in the mix...
3
by: cameron | last post by:
Hi I am new here in this forum: I am writing a C++ program to calculate a Montly Mortgage Payment where the loan amount is 200,000.00 with a 5.75% interest rate with a term of 30 years. My program...
3
by: davidhumphrey70 | last post by:
Hi, I am in serious need of some help PLEASE? I have a 4 tables (April data, May data, June data and July data) with numerous fields. Each of the tables has its own "Passed for payment to...
3
by: Jano | last post by:
Hi - Happy New Year! I have a web-site which accepted paypal payment for membership. No-one's buying so I want to make it free. The page which inputs the member details into the database needs...
1
by: suresh_nsnguys | last post by:
Hi guys, i am having this logic regarding payment after usage functionality for my application in my mind. when user login to my application , The popup windiow will be displayed with paypal...
1
by: myemail.an | last post by:
Hi all, I am a novice to Access, and was wondering if I could get some help on a problem I can't solve. I have a database with customer payments, structured like this: customer code type of...
8
by: gnewsgroup | last post by:
I have never done anything involving handling credit card payment online. I searched this forum a little bit, and found a few related questions. But, I am still not clear how the solutions they...
0
by: Mrs Scilla Madlin | last post by:
This is to officially inform you that we have verified your contract/inheritance file presently on my desk, and I found out that you have not fulfilling the obligations giving to you in respect to...
2
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 7 Feb 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:30 (7.30PM). In this month's session, the creator of the excellent VBE...
0
by: DolphinDB | last post by:
The formulas of 101 quantitative trading alphas used by WorldQuant were presented in the paper 101 Formulaic Alphas. However, some formulas are complex, leading to challenges in calculation. Take...
0
by: DolphinDB | last post by:
Tired of spending countless mintues downsampling your data? Look no further! In this article, you’ll learn how to efficiently downsample 6.48 billion high-frequency records to 61 million...
0
by: Aftab Ahmad | last post by:
Hello Experts! I have written a code in MS Access for a cmd called "WhatsApp Message" to open WhatsApp using that very code but the problem is that it gives a popup message everytime I clicked on...
0
by: Aftab Ahmad | last post by:
So, I have written a code for a cmd called "Send WhatsApp Message" to open and send WhatsApp messaage. The code is given below. Dim IE As Object Set IE =...
0
by: marcoviolo | last post by:
Dear all, I would like to implement on my worksheet an vlookup dynamic , that consider a change of pivot excel via win32com, from an external excel (without open it) and save the new file into a...
1
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 6 Mar 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). In this month's session, we are pleased to welcome back...
0
by: jfyes | last post by:
As a hardware engineer, after seeing that CEIWEI recently released a new tool for Modbus RTU Over TCP/UDP filtering and monitoring, I actively went to its official website to take a look. It turned...
0
by: ArrayDB | last post by:
The error message I've encountered is; ERROR:root:Error generating model response: exception: access violation writing 0x0000000000005140, which seems to be indicative of an access violation...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.