This is a contract between a coder and a company; it has lots of options and variables but could use some more (for example covering licensing terms for produced software, etc.). Note how it uses an auto numbering system to number the sections consecutively no matter which ones you include, and note how you can collapse sections to get them out of the way.
<?xml version="1.0"?>
<treeform version="0.2">
<container id="inputs" print="false" caption="Party Information">
</container>
<container id="ipayments" print="false" caption="Payment Information">
</container>
<container id="main" caption="Contract">
</container>
<input id="contractdate" type="date" dateFormat="MM dd, yy" container="inputs">
Starting date of contract
</input>
<input id="contractor" type="string" container="inputs">
Name of independent contractor
</input>
<input id="contractor_address" type="textarea" container="inputs">
Independent contractor address
</input>
<input id="company" type="string" container="inputs">
Name of company (employer) hiring the independent contractor
</input>
<input id="company_address" type="textarea" container="inputs">
Company address
</input>
<input id="job_description" type="textarea" container="inputs">
Description of the job
</input>
<input id="payment_flatfee" type="string" container="ipayments">
Total flat fee to be paid by the end of the project (included initial payments, etc.)
</input>
<input id="payment_advance" type="string" container="ipayments">
Initial advance (counts towards final total)
</input>
<input id="payment_regularfixed" type="string" container="ipayments">
Amount to be paid on a regular basis (see payment period below)
</input>
<input id="payment_period" type="string" container="ipayments">
How often will payments be made (e.g. "every two weeks" or "monthly for 6 months")
</input>
<input id="payment_hourlyrate" type="string" container="ipayments">
Base rate of pay (specify the rate of time as well, e.g. "$25 per hour"):
</input>
<input id="payment_hourlyrate_later_situation" type="string" container="ipayments">
Description of conditions leading to secondary rate of pay (e.g. "after 100 hours of work")
</input>
<input id="payment_hourlyrate_later" type="string" container="ipayments">
Rate of pay for latter stage of development (specify the rate of time as well, e.g. "$50 per hour"):
</input>
<input id="payment_final" type="string" container="ipayments">
Final last payment amount (should bring total amount paid up to the total fee above)
</input>
<input id="payment_bonus" type="string" container="ipayments">
Optional bonus payment amount
</input>
<input id="payment_bonus_conditions" type="string" container="ipayments">
Conditions required to own the bonus (e.g. "if finished product is delivered by March 2011").
</input>
<node type="label" caption="Introductory Header">
<output container="main" align="center">
[u]INDEPENDENT CONTRACTOR AGREEMENT[/u]
[b]PARTIES TO CONTRACT[/b]
This agreement is made effective as of {%contractdate%}, by and between;
{%company%}
And
{%contractor%}
.
</output>
</node>
<node type="checkbox" caption="Contact Info">
<output container="main">
[b]{$AutoNumInc(Section)}. Party Contact Information[/b]
[i]{%company%}:[/i]
{%company_address%}
[i]{%contractor%}:[/i]
{%contractor_address%}
.
</output>
</node>
<node type="checkbox" caption="Job Description">
<output container="main">
[b]{$AutoNumInc(Section)}. Description of Services[/b]
{%contractor%}, an independent contractor, is being hired by {%company%} to:
{%job_description%}
</output>
</node>
<node type="folder" caption="Payment Options">
<output container="main">
[b]{$AutoNumInc(Section)}. Payment for Services[/b]
</output>
<node type="radiobox" caption="Flat Fee" group="feetype">
<output container="main">
{$AutoNum(Section)}.{$AutoNumInc(SubSection)}. {%company%} will pay {%contractor%} a total sum of {%payment_flatfee%} for the complete project.
</output>
<node type="checkbox" caption="Regular Fixed Payment">
<output container="main">
{$AutoNum(Section)}.{$AutoNumInc(SubSection)}. This payment shall be made in a series of regular {%payment_regularfixed%} payments, to be made {%payment_period%}.
</output>
</node>
</node>
<node type="radiobox" caption="Hourly Rate" group="feetype" init_checked="true">
<output container="main">
{$AutoNum(Section)}.{$AutoNumInc(SubSection)}. {%company%} will pay {%contractor%} at a rate of {%payment_hourlyrate%}.
</output>
<node type="checkbox" caption="Payment Period">
<output container="main">
{$AutoNum(Section)}.{$AutoNumInc(SubSection)}. Invoices will be submitted by {%contractor%} {%payment_period%}. Invoices will be paid by {%company%} {%payment_period%}.
</output>
</node>
</node>
<node type="radiobox" caption="Hourly Rate with Transition" group="feetype">
<output container="main">
{$AutoNum(Section)}.{$AutoNumInc(SubSection)}. {%company%} will begin paying {%contractor%} at a rate of {%payment_hourlyrate%}.
</output>
<node type="radiobox" caption="Hard Rate Transition" group="paychangetype" init_checked="true">
<output container="main">
{$AutoNum(Section)}.{$AutoNumInc(SubSection)}. The rate of pay shall change to {%payment_hourlyrate_later%} {%payment_hourlyrate_later_situation%}.
</output>
</node>
<node type="radiobox" caption="Soft Rate Transition" group="paychangetype">
<output container="main">
{$AutoNum(Section)}.{$AutoNumInc(SubSection)}. {$SentenceCase({%payment_hourlyrate_later_situation%})}, the parties shall either amend this contract in writing to establish changes in payment terms (e.g. to establish revenue), or else the rate of pay shall change to {%payment_hourlyrate_later%} for additional work.
</output>
</node>
<node type="checkbox" caption="Payment Period">
<output container="main">
{$AutoNum(Section)}.{$AutoNumInc(SubSection)}. Invoices will be submitted by {%contractor%} {%payment_period%}. Invoices will be paid by {%company%} {%payment_period%}.
</output>
</node>
</node>
<node type="checkbox" caption="Advance">
<output container="main">
{$AutoNum(Section)}.{$AutoNumInc(SubSection)}. An initial advance payment of {%payment_advance%} will be paid up front before work commences, and will be credited towards the final payment.
</output>
</node>
<node type="checkbox" caption="Final Payment">
<output container="main">
{$AutoNum(Section)}.{$AutoNumInc(SubSection)}. A final payment of {%payment_final%} will be paid by on completion of the project and delivery of final product(s).
</output>
</node>
<node type="checkbox" caption="Bonus Payment">
<output container="main">
{$AutoNum(Section)}.{$AutoNumInc(SubSection)}. A bonus payment of {%payment_bonus%} will be paid if and only if the following condition(s) are met: {%payment_bonus_conditions%}.
</output>
</node>
</node>
<node type="checkbox" caption="Obligations">
<output container="main">
[b]{$AutoNumInc(Section)}. Independent Contractor Obligations[/b]
{%contractor%} shall provide weekly reports of work done and hours spent, along with software demos and screenshots, and is is required to provide documentation and instructions for using any developed software.
</output>
<node type="checkbox" caption="Documentation - pay for time">
<output container="main">
Time spent (and materials produced) in the creation of documentation and demos is governed by same contractual obligations as programming time and materials.
</output>
</node>
</node>
<node type="checkbox" caption="Termination Terms">
<output container="main">
[b]{$AutoNumInc(Section)}. Terms Length and Termination[/b]
This agreement shall automatically stay in effect for all contracted jobs between the parties unless otherwise revised or updated in writing by both parties.
</output>
<node type="checkbox" caption="Anyone quits anytime" >
<output container="main">
Either party may terminate this contract at will after any outstanding and unbilled payments and deliveries are complete, by notifying the other party of their intentions to terminate in writing.
</output>
</node>
</node>
<node type="checkbox" caption="Relatonship">
<output container="main">
[b]{$AutoNumInc(Section)}. Relationship of Parties[/b]
It is understood by all parties that the {%contractor%} is a true independent contractor and not an employee of {%company%}. Therefore {%company%} is not responsible for carrying any workman's compensation or provision of fringe benefits, such as health insurance, paid vacation, holiday pay, or any other employee benefits offered by {%company%}. It is also understood, in that {%company%} will not in anyway be responsible for paying any local, state, federal, or other taxes for {%contractor%}. Any and all such taxes, income, or otherwise, are the sole burden of {%contractor%}.
</output>
</node>
<node type="checkbox" caption="Company Policies">
<output container="main">
[b]{$AutoNumInc(Section)}. Company Policies[/b]
{%contractor%} is representing {%company%} and will conduct him or herself in a professional manner and abide by {%company%} policies and standards. At no time will {%contractor%} solicit {%company%} clients for any services or products which he or she may directly or indirectly offer that are or are not being represented by {%company%}.
</output>
</node>
<node type="checkbox" caption="Intellectual Property">
<output container="main">
[b]{$AutoNumInc(Section)}. Intellectual Property Rights[/b]
At no time can {%contractor%} take, use, or claim any rights, ownership, or use of any Designs, Concepts, Plots, Photos, or Paperwork in any way without the express written permission of {%company%}. The software program produced for {%company%} under this contract is exclusively owned by the company which maintains all rights to it.
</output>
<node type="checkbox" caption="Retain Non-specific IP">
<output container="main">
{%contractor%} retains non-exclusive rights to re-use non-application-specific software algorithms that are developed during, before, or after the development contract.
</output>
</node>
</node>
<node type="checkbox" caption="Assignment/Subcontracting">
<output container="main">
[b]{$AutoNumInc(Section)}. Assignment/Subcontracting[/b]
Obligations of {%contractor%} under this agreement may not be assigned or transferred to any other person, firm, or corporation without prior written consent of {%company%}.
</output>
</node>
<node type="checkbox" caption="Entire Agreement">
<output container="main">
[b]{$AutoNumInc(Section)}. Entire Agreement[/b]
This agreement contains the entire agreement of the parties and there are no other promises or conditions in any other agreement whether oral or written. This agreement supersedes any prior written or oral agreement between parties.
</output>
</node>
<node type="checkbox" caption="Ammendment">
<output container="main">
[b]{$AutoNumInc(Section)}. Ammendment[/b]
This agreement may be modified or amended if the amendment is made in writing and is signed by both parties.
</output>
</node>
<node type="checkbox" caption="Rights Waiver">
<output container="main">
[b]{$AutoNumInc(Section)}. Waiver Of Contractual Rights[/b]
The failure of either party to enforce any provision of this Agreement shall not be construed as a waiver of limitation of that party's right to subsequently enforce and compel strict compliance with every provision of this Agreement.
</output>
</node>
<node type="checkbox" caption="Sever-ability">
<output container="main">
[b]{$AutoNumInc(Section)}. Sever-ability[/b]
If any provision of this Agreement shall be held to be invalid or unenforceable for any reason, the remaining provisions shall continue to be valid and enforceable. If a court finds that any provision of this Agreement is invalid of unenforceable, but that by limiting such provision it would become valid and enforceable, than such provision shall be deemed to be written, construed, and enforced as so limited.
</output>
</node>
</treeform>
If you find this tfdoc useful to you, i'd really like to hear from you!
