Making sure you get paid

  1. ‹ Older
  2. 7 months ago

    Bob K

    21 Apr 2017 Pre-Release Testers, Xojo Pro Kansas City

    @Hal G It's probably a better idea to have a contract, but we haven't needed them.

    You don't need a contract until you REALLY need one. Without a contract nothing is legally binding because a client could turn around a sue you for practically anything. Without that contract it's a matter of your word against theirs. Without that contract I think you're gambling your future away.

  3. Tomas J

    21 Apr 2017 Pre-Release Testers, Xojo Pro Europe (Germany)

    A saying in Germany: Contracts are not for the good times when everything is working fine. Contracts are made for the bad times, when everybody is pissed and nothing works as expected.

  4. Thomas T

    22 Apr 2017 Pre-Release Testers, Xojo Pro Europe (Germany, Munich)
    Edited 7 months ago

    Here's a simple rule: Accept the payment only in one final installment, and make it clear it's not free software. That way, if the customer does not pay, you can simply tell him that he has no right to use it until he pays for it. If he uses it regardless, you can sue for damages. That threat alone works wonders, in my experience. That's because no one works for free. If you didn't get ANY money, it's clear to any court that the user has not right to it, and it should be clear to any customer that it's a huge risk to go that way. Disclaimer: That's me being in Germany. US law may suck and frack you.

  5. Phillip Z

    22 Apr 2017 Pre-Release Testers, Xojo Pro Florence, SC
    Edited 7 months ago

    I find the best way to get paid is contribute more to the project than just source code. Contracts, withholding code, time locks, all effective means for us to control our labor and prevent being cheated. However at the end of the day most disagreements come about for business and communication reasons and not actual cheating.

    What I mean is that in my experience most people do not set out to intentionally screw you. It may turn out that is the end result but there were probably opportunities to save it. Withholding source code may be your only viable option but it also confirms that it was the only thing you really brought to the table. A true "consultant" offers more than just source code and so losing you on the team is a much bigger pill to swallow then some code.

    I know from experience that often when a developer picks up some source code from another developer the first thing we ask is:

    1. What happened to the original developer?
    2. Can I rewrite all this cause its sucks?

    So you kind of end up in this situation where you are trying to withhold the source code from the customer but they may not even care about it or want it because what are they going to do with it? Short of being developers themselves it has no practical use to them. If they pay you off and give it to the next person then that person will tell them how much work has to be done to make it "correct". It's a cycle and it starts with not communicating about the real outcomes.

    Customer: "I want widget to do X."

    Widget was never very important to the customer. Doing X was what was important so having a deep understanding of the expected outcomes and the amount of work over the lifetime of the enterprise is essential. I may be able to build widget X all day long but I also may know that the widget will not work the way they expect. I can provide alternative ideas, solutions, give them different things to consider as I am the expert at widget building and they are the expert at X (their problem).

    Lastly if I know that I will not be around to see this enterprise through to completion (aka profit) then I generally will not engage the project. The short term benefits of additional cash flow are not worth the pains created when I inevitably have to say "I do not have time for this" or "my heart is not in it".

    That may not be the best way to construct a software consulting business but it is the best way I have found to build good software. Should the customer's problem actually be relevant and should they know the solution to it and should I actually solve it then a lasting relationship can be had. If nothing else there is a profit so if I have to leave the project there is resources available to replace me and I often help with that as well.

    My time is as valuable as the customers even if I am the one charging for it because that means I'm not charging for something else that could be potentially more viable in the long term. If you keep all that in mind and approach the situation honestly then I would say it's hard to get screwed.

  6. Joost R

    22 Apr 2017 Pre-Release Testers, Xojo Pro The Netherlands

    @Phillip Z A true "consultant" offers more than just source code and so losing you on the team is a much bigger pill to swallow then some code.

    Very true. Everything can be rebuild quickly if you know how the functional job can be done.

  7. Emile S

    23 Apr 2017 Europe (France, Strasbourg)

    At this point in the conversation can we talk about what feature you give first / second… ?

    If at 25% of the planned time frame yu give the core functionality won’t you riding directly to a wall ?

    What if you give 90% of the UI interface and 90% of the help, 50 % of the core functionalities at 50 % of the planned time frame ?

    In other words, in the contract, where in the planned time frame do you put the core features, User Inteface, Help, Training ?

    Also, where in the planned time frame do you provide first beta ?
    (no alpha have to be given because a paying user does not know - nor care about alpha).

  8. Joost R

    23 Apr 2017 Pre-Release Testers, Xojo Pro The Netherlands

    @Emile S no alpha have to be given because a paying user does not know - nor care about alpha

    This is always a problem. If the paying customer doens's care, who will test developers' work in early stage ?

  9. Edited 7 months ago

    As a certain Hollywood producer once said, "We have to have a contract. Otherwise, how can we re-negotiate?"

    Personally, with new clients I check with a collection agency to see if there are debt problems. Most of my clients pay one month or 45 days after billing, no problem. Strangely, the bigger and more prosperous the client, the longer the payment period, up to 6 months in one case (but maybe that's how they became big and prosperous...).

    Just my 2 euros' worth (I'll send the bill later) :)

  10. Emile S

    24 Apr 2017 Europe (France, Strasbourg)

    @Joost R If the paying customer doens's care, who will test developers' work in early stage ?

    I had a “non paying” customer who does not even care about what was in its own DataBase (multiple spaces, multiples dots as reminder, a Column named Country who was a mix of Country Birth, last leaving Country, I do not know what, …), etc.

    I was very upset and lost time because I had a bad, very bad data base to work with. In the end, four years later, I think I was wrong. I had at the time to create my own list of data (say 10 persons) and works with that.
    Since early January 2017, I started to tell them: “no, I do not need your updated data base file“.
    I also told the manager that HE is responsible of the DB contents and I’ve added all tricks that can be made to avoid troubles (Both TRIM, remove duplicate spaces, add a popup menu to choose a Country name, add way to select dates and avoid erroneous ones, etc.). All of a sudden, he started to told me about the data base contents refactoring (adds missing data, Check TitleCases, Remove UPPERCASES, etc.)

    I changed the three Names fields (and keep other fields) to be able to display the application here or there to people who do not have to read the real names. I add a Canvas to display ID Photos, add a far better (non Windows XP look alike) window to report unasked statistics, etc. I take hours here or there to add enhancements to MY software. I also show the manager MY version telling him what can be added to teh software he uses.

  11. Susan F

    25 Apr 2017 McKinney, Texas
    Edited 7 months ago

    If you provide a value priced or fixed bid to complete a defined scope of work, you can get paid upfront (as many are suggesting). Ask for 100% upfront and then you can use those terms to negotiate the contract. (If they are negotiating the proposal because of terms, at least you know you've hooked them on the value you are going to create and the service you are going to provide for them.) During negotiations, you can offer a payment plan, especially if it is a big sum of money. BUT ALWAYS get a large % of the money upfront and don't tie the payments to delivery or any milestone, just tie it to dates. That prevents them holding it over your head while you fix that last bug. Offer a 100% satisfaction, money-back guarantee when paid all upfront. (BTW, we all offer that kind of guarantee, but if offered as not part of the sales process, it's call a "lawsuit"!)

    The important part is that once you have the money upfront, you have to deliver - ON TIME, ON BUDGET, IN SCOPE. So, make sure you have a good project management plan to accomplish it. The huge benefit of getting paid upfront (and something you can use as a selling point) is that you can get down to the business of serving your client spectacularly if the money conversation is completely out of the way. You don't have to spend money on accounting and collections and worry. It's all about the project. And trust me, once you have that money in your bank account, you are going to feel incredibly obligated to provide the most amazing service... much more so than if you are charging in arrears, after the fact.

  12. Bob K

    25 Apr 2017 Pre-Release Testers, Xojo Pro Kansas City

    Good points assuming the scope of work is highly defined. Most of our clients come, if we're lucky, with a couple of pages of notes and some screen mockups of what they want (not necessarily what they need). So 100% upfront is unlikely given no one knows what the scope of work is yet.

    We usually propose an initial project as coming up with the scope of work. THEN give an estimate for the total work. They can shop that scope of work around, in they want, but we hope they stick with us.

  13. Susan F

    25 Apr 2017 McKinney, Texas

    @Bob K Good points assuming the scope of work is highly defined. Most of our clients come, if we're lucky, with a couple of pages of notes and some screen mockups of what they want (not necessarily what they need). So 100% upfront is unlikely given no one knows what the scope of work is yet.

    We usually propose an initial project as coming up with the scope of work. THEN give an estimate for the total work. They can shop that scope of work around, in they want, but we hope they stick with us.

    Bob - that's a great way to do it! I've seen it work in many cases. You just end up with 2 projects - a discovery one and then a development one. It's also a great way to develop a relationship with a new client and see if there is synergy there. You can always decline to do the development if they end up being not a good fit, and vice versa.

    Most clients really don't have an idea of a defined project. It's our job as professionals to help them define that. And that is a service that should not be free!

  14. Bob K

    25 Apr 2017 Pre-Release Testers, Xojo Pro Kansas City

    Another common tactic I see clients use is say: this is the first project of many. They do this in the hopes that you'll lower your rates because of more work coming.

    Don't believe them! They're hiring you for your expertise and if they don't like the rates they can go find another developer. Don't buy their hype. Some will come back with another, bigger project, but it's been rare enough where I have to call BS whenever they say it (which is a lot).

    We do offer discounted rates to good clients. Those clients pay on time, don't argue over rates, time spent, or much of anything. We are partners with them and we are cheaper than hiring a full-time Xojo developer (several have tried over the years only to be shocked at what full-time developers costs). But we don't do this with every client.

  15. Susan F

    25 Apr 2017 McKinney, Texas

    @Bob K Don't believe them!

    RIGHT ON!

  16. Joost R

    25 Apr 2017 Pre-Release Testers, Xojo Pro The Netherlands

    @Bob K Another common tactic I see clients use is say: this is the first project of many.

    Always the same.
    Cashback them once they keep investing and you've earned all your investments back plus a VIP-holiday for your entire team, of course to the Xojo conference in Berlin in order to make it billable.

  17. For limited time project work that you aren't billing by the hour, establish easy to understand milestone based payments, and also have change additions at a specific rate. That way, if a milestone gets pushed out by a change, you are getting paid for your time to make that change.

    Something else you should consider - there is a danger in having one (or two) big clients. If a large part of your income is coming in from one or two big clients, then you have to consider what would happen if one of them bugged out. This can happen for many reasons other than them just canceling your project. If your client is acquired and your contract doesn't have an "Assignment" provision, then you may have a problem as it can be left with the empty corpse of your client. Also, changes in corporate management can also make your project a target by someone who comes in and wants to 'save money'.

  18. Bob K

    25 Apr 2017 Pre-Release Testers, Xojo Pro Kansas City

    @Lynn F Something else you should consider - there is a danger in having one (or two) big clients. If a large part of your income is coming in from one or two big clients, then you have to consider what would happen if one of them bugged out.

    Especially an issue for solo developers. With our team it's not much of an issue. Our general rule is that as a whole 50% of us must be billable at the same time to break even. Usually it's way higher than that but we have lulls waiting for clients to get their act together before starting a project, or people on vacation, or working on internal projects or whatever.

  19. Bob K

    25 Apr 2017 Pre-Release Testers, Xojo Pro Kansas City

    @Joost R plus a VIP-holiday for your entire team, of course to the Xojo conference in Berlin in order to make it billable.

    Ha! Only Carol and I are going. So far no one has popped up saying they want to talk to us about work but we are always available. :)

  20. Joost R

    25 Apr 2017 Pre-Release Testers, Xojo Pro The Netherlands

    See you guys next week.

  21. Daniel T

    26 Apr 2017 Pre-Release Testers

    @Greg OLone Careful with that. Companies don't take well to ransom after the fact. Work for hire is different than writing software that you sell. It'd be better to hold delivery of the final product until you get a final check.

    My contracts explicitly state that I retain all intellectual property rights unless and until I am paid in full. Basically if I'm not paid and the software is on the Internet (i.e. a web site or distributed via the web) I would resort to a DCMA takedown.

    I have done what Mark Strickland suggested with software that has no Internet presence (i.e. internal; corporate). It's not ransom, it's my property until that last check clears.

    I have not had to invoke that clause and assert IP rights. I've been tempted with some very late payments, but I held off in each case.

or Sign Up to reply!