Ciò di cui hai bisogno in casi come questo è un buon contratto. Dovrebbe specificare i risultati finali e quando vieni pagato, e cosa succede quando non vieni pagato. Si scopre che la gente del software in generale non è così brava a scrivere contratti, quindi assicurati di avere un avvocato che ti aiuti. Costerà forse qualche centinaio di dollari, ma quello è mangime per polli quando rischi di essere irrigidito per migliaia. (Non dimenticare di elencarlo come una spesa aziendale sulle tue tasse.)
L'idea alla base di un contratto non è vincere in tribunale, perché non vuoi mai vincere in tribunale. L'idea è di chiarire che cosa si deve fare, quindi non ci sono argomenti importanti su chi ha promesso cosa e in modo che ogni caso giudiziario sarà predeterminato (nel qual caso la parte che perderebbe normalmente offrirà un accordo).
Se vuoi fare un'offerta fissa, assicurati che i requisiti e i criteri di accettazione siano fissati in anticipo. Riceverai richieste di modifica, quindi avrai bisogno di un modo per affrontarle. Cambiare le cose sotto il prezzo negoziato originariamente non è in genere un buon modo (anche se è possibile consentire piccoli cambiamenti per motivi di buona volontà). Imposta il prezzo più alto di quello che pensi sia giustificato dal lavoro. Stai assumendo il rischio, dopo tutto, e tu meriti di essere pagato per questo. (Se stai usando l'offerta fissa, il contratto è più importante, in quanto deve essere sicuro che non ti ritroverai in una posizione di dover fare quantità indefinite di lavoro per raccogliere una quantità definita di denaro.)
Quindi, trova un avvocato. Parla con l'avvocato di cosa vuoi fare e come scrivere il contratto. Fai sapere all'avvocato che cosa intendi fare, in quanto un contratto a prezzo fisso sarà leggermente diverso da una tariffa oraria.