
Show HN: Client not paid? Add opacity to the body - andreapaiola
https://github.com/andreapaiola/F-D-
======
dsacco
I know this is probably just made in good fun, but as a consultant who
frequently works with startups[1], I recommend not doing something like this.

If you have delivered the final product to the client and they are not paying
your invoice, your first step should be to try and cordially resolve the
situation with a frank discussion about your expectations and mutual
commitments, and nudged with references to the signed statement of work.

In my experience there are three types of clients. Clients who pay, clients
who can't pay, and clients who won't pay. My recourse, and what I recommend to
others, is as follows:

1\. For new clients, require a 1/3 deposit before you begin the work, payable
towards the final invoice. If the client cannot pay the first invoice, you
know they will struggle to pay all of them and you haven't wasted your time.

2\. Depending on how long the engagement is expected to run, require payments
towards the final invoice every _n_ weeks. This limits your exposure in case
the client suddenly cannot or will not pay.

3\. Ensure that your statements of work and other contracts are reviewed by a
competent lawyer (as 'patio11 and 'tptacek would say, pretty much any lawyer
as long as they are competent). This limits your liability and exposure in
case you need to sue.

4\. If there is a disagreement over terms after both parties have signed, or
the client cannot pay, be charitable and attempt to resolve it in ways that
are not antagonistic. Try to work out payment plans, or change the scope such
that it is still affordable for the client. Accept that for certain
situations, you will not recoup invoices (e.g. the client literally has no
money for you). Steps 1 and 2 are designed to limit the impact for this latter
case.

5\. If the client _will not_ pay, start with civil discussion first, then
escalate by involving lawyers and strongly worded letters. Specifically, do
not do anything passive aggressive. I would recommend revoking their license
to use the software before you alter their public deployment and potentially
cause them brand, reputational or business continuity damage.

6\. Establish a high quality pipeline of qualified leads, especially from
referrals, who you can consider more trustworthy with invoice payment. In my
experience, I have never had a referral default on an invoice. Now, the vast
majority of my business comes through referrals (there are many other benefits
to a referral pipeline as well).

[1]: Read - clients who are statistically likely to default on their
outstanding invoices.

EDIT: Typo...pipeline of leads from referrals, not lawyers :)

~~~
msandford
The classic Mike Monteiro video is always relevant:
[https://creativemornings.com/talks/mike-monteiro--
2/1](https://creativemornings.com/talks/mike-monteiro--2/1)

One of the things people often advocate for is that all copyright/IP be owned
by the consultant until paid in full. That way if the client stops paying
prior to the work being done or doesn't pay the final invoice, etc you can
make a very strong case that it's not just a civil matter, but a criminal one.
That can be very motivating.

EDIT: That way if the client stops paying but continues to use the existing
works, rather. If they stop paying and don't use the works then you'll need
different clauses to still get paid there.

------
edanm
Anyone who would even think of doing this is:

1\. Extremely unprofessional.

2\. Is not taking on the right clients.

~~~
abz10
or... 3. lives in the real world where there are seas of gray

Being picky about clients and being able to afford to sue those who don't pay
is one of my many privileges. Not everyone can afford to do this.

~~~
edanm
This has nothing to do with suing clients. Taking some kind of revenge, in a
way that's almost certainly actionable, is not really in a gray area - I don't
think there is _any_ situation in which it makes sense to do this.

As for "being picky about clients", my second point above is indeed
aspirational, and I'm sure not everyone can afford to choose their clients.
That's my point. You need to realize, as quickly as you can, that you're
better off moving to the kinds of clients that _don 't_ have these issues.

I say this because many people honestly don't understand or believe that
better clients exist, or at least don't internalize just how different it is
to work for clients for whom these kinds of shenanigans are irrelevant. It
really is a different world.

~~~
abz10
I think most people don't understand how dirty the business world is. Lots of
customers and vendors will deny delay and defend out of force of habit alone.
I've had to threaten lawsuits a number of time. It was obvious I'd win so
they'd settle last minute, but it's just how many people do business. It's
much easier to build in something that will atrophy and let them know it'll
fall apart if you don't tell them where it is. Much easier restitution. No
fuss. Good clients go bad all the time, just like good marriages go bad. You
can't rely on a filter. Most of the time there is no option but to work with
certain people if you want to be in a particular industry. They're the worst.
Just today I have a monopoly supplier that won't fix a very simple but show
stopping bug, despite our contract, unless I pay them a lot more money which
significantly eats into my margins. It will basically mean I'll be working for
them for free, which is exactly how they want it. I have to make out that I'll
go out of business, walk away, and they won't make anything. I'm sure we'll
end up somewhere in the middle and we will both make a lot of money. If not I
will have to go borrow a lot of money from a bank to build the component in
house which will upset their monopoly. Just another day it the life of a
start-up.

------
k__
Simply do factoring with your bills.

You get your money fast and if someone makes problems, the factoring company
hsas them.

It'ss legal and doesn't need any code.

~~~
vetinari
However, be aware that

1) factoring costs money - you won't get 100%; make sure you take care of that
in your asking price,

2) make sure your contract does not prevent the transfer your receivables to
third parties without the consent of the debtor. Yes, there are contracts like
this, usually as a part of _take it or leave it, there are others waiting at
the door_ contracts.

~~~
k__
1) yes, your literally selling your risk.

------
hall_999
When I was freelancing, all of my work resided on my own private servers. As
soon as I received the final payment, it was transferered to the client.

I never had any issues.

------
kcbanner
Sounds like a great way to improve your relationship with the client /s

~~~
dietrichepp
There's no benefit to having a good relationship with a bad client.

------
rhspeer
It costs money & time to take people to court, so jerks will under pay you
like $2000 because it's not worth the time and effort to go to court over it.

Dev is not like other services in the US where we can easily put leans on
property.

So yea, own the hosting, take down their site if they don't pay.

I promise you every business owner has to deal with people that don't pay
their bills and will understand.

Have a low tolerance for assholes, and if you ever get a lead on a client bad
mouthing their previous developers about holding their project hostage, just
run.

~~~
tomjen3
You actually can - make it so that in the contract devs retain all copyrights
until paid in full. Then you can use the DMCA, which is much cheaper and far
easier than putting and enforcing a lean on a property.

That said, when you get that far in a sense you have already lost.

------
gcr
Is it legal to build self-destruct systems into contracted work? I'd be super
wary of adding this...

~~~
adekok
Put a clause into the contract which says that you own all copyrights, IP,
etc. until such time as payment has cleared.

It is perfectly legal for you to mangle your own web site. Even if it's a site
you made at someone else's request.

If they haven't paid, they don't own it, and they have no right to complain.

~~~
dangrossman
Your copyright may give you rights to sue the client for infringement once
it's clear they aren't going to remedy their breach, yes.

A judge may order the copy of your work taken offline or destroyed, yes.

But you can't take matters into your own hands and do that without going to
court.

You do not own the (unlicensed or otherwise) copies of your work that have
already been transferred to others, and going onto their server to
destroy/modify the site is not only a civil wrong on your part, but a crime
under the Computer Fraud and Abuse Act.

~~~
TheOtherHobbes
How so? You contract to provide a specific service, not specific code. The
contract should be for transfer of a license (of whatever kind) to use the IP
and business benefit, _not_ for full transfer of all IP.

If a client doesn't pay you respond by denying access to the service - which
is exactly the same as a hosting company turning off a server for non-payment
of hosting fees.

I wouldn't do the fade thing, because while it's entertaining it's rather
juvenile. But I would be completely happy to delete all work from a client's
server and restore it to its previous state if it's obvious they have no
intention of ever paying.

This is _normal behaviour_ for a business. Generally if someone tries to
default on payment, they can expect goods to be reclaimed and services to be
terminated.

The fact they're running a business and you're a contractor doesn't change
that. You're running a business too. If they don't understand that, save
yourself the grief and don't work with them.

~~~
dangrossman
The hosting company turning off a server is merely acting on property they
both own and possess.

You "deleting all work from a client's server" are accessing someone else's
property, and doing it for destructive purposes. That's illegal, both civilly
and criminally. They're not analogous situations.

Even in the physical world, repossession companies may not enter a private
building without permission. "Goods are reclaimed" by a sheriff carrying out a
court order, not by whoever is owed money breaking in and taking things on
their own volition.

------
Kiro
[https://github.com/andreapaiola/F-D-/blob/master/fade.php](https://github.com/andreapaiola/F-D-/blob/master/fade.php)

What is the point of making this a class rather than just a simple function?

~~~
andreapaiola
It's more powerful, obviously :D No, it's a joke. Well... It's OOP vs
procedural in reality, right? If you want it you can PR... a new file fade-
procedural.php

------
BjoernKW
I realise this might be somewhat tongue-in-cheek or just a way to vent on some
real-life dealings with a client gone awry.

However, even just insinuating actually doing something like this in real life
(or giving people ideas for that matter) is at least a tad dodgy if not
downright unethical.

Someone having treated you badly in business (as in not having payed you for
whatever reason) doesn't give you the moral (much less so the legal) right to
treat them badly in return. That's what lawyers and courts are for (well, not
treating others badly - though that might very well be part of the process -
but to get recourse).

------
andreapaiola
I don't know: it's half fun and half serious... Really it's half-serious :D

------
tarancato
You mean, remove opacity from the body...

Such a great idea, though.

~~~
dietrichepp
"Add opacity" -> opacity is an attribute, which is added to the body.

~~~
whafro
The body element already has an opacity attribute, defaulted to 1. This
explicitly defines it, initially, and decreases it over time.

~~~
andreapaiola
fade.php or fade.js add the CSS opacity to the <body>

see the examples

