The Lounge is rated Safe For Work. If you're about to post something inappropriate for a shared office environment, then don't post it. No ads, no abuse, and no programming questions. Trolling, (political, climate, religious or whatever) will result in your account being removed.
"the debugger doesn't tell me anything because this code compiles just fine" - random QA comment
"Facebook is where you tell lies to your friends. Twitter is where you tell the truth to strangers." - chriselst
"I don't drink any more... then again, I don't drink any less." - Mike Mullikins uncle
I've received a mail from a possible customer from Switzerland.
That customer is somebody that wants me to train him in the use of a specific software.
I am not from Switzerland.
How do you bill the job to a new customer that is from a different country?
A) 100% at the beginning?
B) Given you don't know the specific amount you ask for a certain amount that cover a specific number of working hours?
C) Sending the bill after the work is done and pray?
D) Other. Please explain.
I've worked for different countries before... no problems for that, but with people I know... In that case I usually ask for a percent at the beginning and the final part at the end, or I simply get some money at the end of the next month...
In that case I probably would go for the B option, but... is there any other option you are using or any other one that you prefer?
Generally with a new customer, I'd ask for x% as pro forma (normally this will cover the immediate costs but without profit for me). Then y% on delivery (invoiced, with 30 days), and the balance (normally 10%, invoiced, 30 days) as "retention" for one month.
If they meet the payment terms, then I'm fine with them. If they pay late, or they are a PITA to work with then they get a higher rate next time to cover my increased costs in chasing the buggers!
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
AntiTwitter: @DalekDave is now a follower!
Ask for 50% up-front. Provide a training plan for that 50%; that way, if they decide to back out, you'll still get some money for that work you did.
Get their signed approval for the plan so they won't be able to say you haven't delivered what they thought they'd get for "training". Of course it's still up to you to deliver what your plan says. Then collect the remaining 50% at the end.
Disclaimer: I'm just a dev and not the guy collecting the money - but this is how the company I work for does it.
I am now retired having been in the industry for 47 years. During that time I learnt several valuable lessons:
1. Is the client an individual, a small company or a large company. The bigger they are, the more reliable they are. The smaller they are the harder it is to get paid.
2. Try to get a full specification of what is required. The smaller they are the more vague the specification. In which case guide them by writing a proper specification and get their agreement.
3. Assess the development manpower cost and any external costs then add 25%. Quote on that subject to certain constraints:
a. Work will be billed and paid for monthly.
b. Monthly reviews will be held to discuss progress and problems.
c. Any client changes will involve a revised cost estimate which must be approved.
d. The client is liable to a cancellation fee if they drop out.
4. For 'unknown' clients try and get a credit rating check done.
This worked for me, at one time I was turning over 750K UK Sterling a year.
Not really relevant where the client is. Use your normal invoicing methods dependent on what you do know about the client.
If you're really uncomfortable with it, route the job through a 3rd party like PeoplePerHour. You'll be paying a premium for that (commission) but get the certainty of funds in escrow up front.