Ciò dipenderà dalle leggi locali e dai dettagli sul contratto. E naturalmente altri dettagli sulla tua relazione con questo cliente.
Se capisco bene, il tuo contratto riguardava il codice lato client (era questo menzionato nel contratto?)
Ho visto questi clienti prima e dal momento che non vuoi più fare affari con loro, perché questo tipo si comporterà di nuovo così, puoi semplicemente dire loro che pagano o sentono dal tuo avvocato. A volte funziona (conosco casi in cui ha funzionato). Se vale davvero la pena di avere un avvocato, questo può dipendere da troppi dettagli. Qui in Germania questo ha un effetto molto positivo sulle decisioni dei clienti in merito al pagamento.
Modifica
Ok, questo sopra era principalmente nel caso in cui non avessi rapporti stretti con il cliente e lo avessi abbandonato più o meno comunque.
Naturalmente avere un contratto chiaro che descriva il tipo di lavoro e il pagamento da ricevere nel modo più esatto possibile è qualcosa che dovresti avere. Questo è, come dici tu, non sempre possibile per molte ragioni. Quindi, se non puoi avere un contratto aziendale, devi agire in modo fermo. Come dice David, altrimenti non ti rispetteranno.
Puoi rimanere amichevole e allo stesso tempo farti capire che non ci si può aspettare che lavori gratis.
Esempio di mondo reale (i nomi sono cambiati ovviamente)
Alcuni incontri non importanti con il project manager dei clienti sullo stato attuale del progetto (refactoring di un sito Web di grandi dimensioni da un altro gruppo che avevano incasinato su larga scala, un sacco di lavoro di debug).
Lei (project manager): Oh, e pensi che sia possibile aggiungere un CMS per quei siti.
Io: Certo, potremmo aggiungere un editor nell'interfaccia di amministrazione e spostare il testo nel database, magari aggiungere un'opzione per caricare le immagini e così via.
Tre settimane dopo, incontro presso l'ufficio clienti, discussione sullo stato del progetto (online ormai, nessun bug, clienti del cliente molto felici) e prossimi passi:
Lei: Oh, e non volevi aggiungere un CMS?
Io (difficile non ridere): guarda Claire, abbiamo parlato se è possibile aggiungere questa funzione. Se ogni volta che parliamo di qualcosa che è possibile e dico che lo è, significa che acconsento a farlo senza pagamento, quindi in futuro parleremo molto, molto complicato, perché dovremo aggiungere molte clausole extra ad ogni singolo frase.
Ciò ha chiarito questo punto senza diventare ostile. Devi passare attraverso queste situazioni una volta ogni tanto e imparare come gestirle. Devi capire, che spesso questo è come un gioco di scacchi per alcune persone, fanno la loro mossa per ottenere un po 'di più. Soprattutto se si tratta del tipo di manager. Se neutralizzi quella mossa, per lo più non provano più. Quei ragazzi non sono necessariamente seri su questa roba, spesso sanno abbastanza bene che sono in una posizione debole. Ci provano solo, perché a volte funziona.