There are three major types of contracts:
- Fixed Price: You negotiate the total bill up front, if there are lot of unknowns don’t go for this
type of contract, it may end up costing you if there are overruns. This contract is really only good if you have a product or products you create regularly, out of an inventory. - Cost-Plus: My most preferred contract when doing something new and I have no idea what level of effort it will take. I will pass along all costs directly to customer plus a set fee per hour ($75-$100). Sometimes I will also negotiate a maximum cost too, and when I reach 85% of the total cost I will notify buyer and let them know where I am at and what I think it will cost to finish.
- Time and Materials: 2nd most preferred contract, if I am just repeating an existing design for a new customer, I will charge what I did for the previous customer, adjusting for any part price increases.
Here is my breakout of typical costs:
- Bill of Materials: Directly charge parts costs plus a 10-15% markup per part to cover other materials I do not charge against the product. Things such as wire, solder flux, etc. The markup is on unit cost before shipping and taxes.
- Documentation: If they want hardcopies of designs after I have won the contract, I will pass on the costs to create a hardcopy to them, usually the printing cost plus binder.
- Costs of Things I Subcontract: If I need a multi-layer PCB built I will pay for this and then pass cost directly back to customer.
- Hours: I negotiate a cost per hour upfront ($75-$100/hour), sometimes I will negotiate a cap so that the customer is a bit more comfortable.
- Shipping: Include shipping final product to customer, and the costs I encounter to have parts or PCBs shipped to me.
- Unique Tools: If there is any hardware or software I need that I do not already have, I will negotiate including that cost in the contract. Then depending on whether the customer wants the tools I will adjust the cost accordingly. If they do not want it and I could use it for other future projects, I will lower the cost on this contract and spread the cost to acquire the tool across future projects that utilize the tool.
- Intellectual Property Data Rights: If the customer wants the source code or design plans, I will negotiate with them as to whether they want to license the Intellectual Property or buy the Intellectual Property outright. It depends but a rule of thumb I use is to charge 50% of total cost as a license fee, and if they want to buy it I will charge 2x the total cost.
- Taxes: Not much else to say, go to charge any taxes.
- Travel costs: If I need to go to a customer site, I will charge gas mileage/flight, hotel,tolls, and a reasonable per diem charge. I tend not to negotiate this upfront other than to insert a clause that says customer will pay for travel. Now, if it is only for a day and within say 50 miles I will not charge the travel. I will charge my hourly fee regardless.
Other bits of knowledge:
I also ask for 25% of the total contract value upfront, that way I know the customer is serious. I will work on the estimate before money exchanges hand, but I will get money before doing any actual design or ordering parts. You may also want to consider setting milestones and receiving payment at each milestone. Say at the 50% design review, receiving the next 25% payment. Another 15% at the 100% design review. Then another 10% at the demonstration of the first prototype. Again, I will not schedule the review or demonstration until payment is received. Then receive the final 25% at product delivery.
Also, another thing to consider is charging a retainer fee if you have a customer that will be using your services a lot. $200/month is a reasonable fee to keep you on retainer, then I will apply their retainer fee to their next project.
Patents. If you feel like you have made a breakthrough that is patentable and wish to use it in your future projects, consider setting up a second company to hold the patent and then license that patent to your main company. That way if the patent ever gets held up in litigation, it will not affect the main companies products as they have simply licensed the patent. For a small business this means survival.
I do NOT charge for things like training or books to learn a specific programming language, etc.
Last piece of advice is this. Customers are more skeptical about costs that are too low than too high. As someone just starting out, don’t hesitate getting a reasonable fee for your services. If you were like me starting out, I felt a bit hesitant charging for things I thought I should cover or $100 for my time. But remember, especially if you are trying to make a living, that if this were easy they would do it themselves so charge appropriately. Also, doing this as living means making enough money not just to cover costs but to pay rent, groceries, cell phone bill, etc. Don’t undersell yourself!