Минутка опыта.
Я давно беру заказы на подрядную разработку. Года с 2010-го. Несмотря на условный карьерный рост в корпоративных корпорациях все эти годы. Просто почему бы и нет - дополнительные деньги никому не мешали. Последний год так и вовсе живу только на вольных хлебах, занимаясь не столько управлением, которое изрядно надоело, сколько работой "руками" - программированием на заказ с небольшой командой. Вернул себе технические компетенции заодно, а то уже тупеть начал.
Во все времена, что в 10-е, что в 20-е у нашего родного бизнеса была и остаётся интересная черта - под конец контракта заказчик всегда попытается исполнителя кинуть. Это какая-то аксиома, обусловленная произведением жабы на хитрожопость. Хоть 5-10% "хвостика" от общей стоимости разработки, а зажать. Причём в проекте любого уровня. Видимо, таким образом устроены мозги собственника и с этим концептуально ничего поделать нельзя.
Однако с этим вполне можно жить и работать. Первое, что нужно - оформить сотрудничество в правовом поле. ИП, ООО, даже самозанятый подойдёт (с нюансами). Но важно заключить контракт с взаимными обязательствами. В случае ТК там всё проще, но мы же про подряд, правильно? Нужен договор. Работая в "чёрную" - вы сами настраиваете заказчика на кидок, потому что прав в текущей экономической модели у вас никаких. Хочу заплачу, хочу не заплачу.
Да, даже в случае "черноты" никто не мешает сделать закладки, удаляющие все результаты вашего труда - вы ведь тоже никакими условиями не связаны. Я так делал и вполне получал свои шекели по результату прений. Но лучше всё-таки иметь более существенный рычаг. Договор стоит тех 6% налогов на упрощёнке, которые вы иначе можете заплатить своими нервами. Тут же на вашей стороне будет государство.
Во-вторых, разработчики на интерпретируемых языках (PHP, python, node.js и им подобные) пролетают. Вы предоставляете заказчику исходный код на его инфраструктуре, так сказать, "сразу" в готовом виде. Защититься от этого можно развернув его на отдельном сервере, проксируя его в инфраструктуру заказчика, но на это не все пойдут. Поэтому наиболее коммерчески выгодный вариант - языки, которые отдают единственный "бинарник".
Заказчик точно сможет проверить работоспособность, но - исходный код он получит только после оплаты. А до тех пор никто не мешает вести работу над продуктом в окружении вашей команды - отдавая пачку изменений только после оплаты. Причём всё честно - право собственности на код (и сам код физически) переходят только после подписания акта приёмки. Из этого вытекает следующее - обращайте внимание, как этот момент прописан в договоре.
Теперь, что касается самозанятости. Это довольно специфичный правовой режим, который некоторое время использовали для "оптимизации" найма. Человека оформляют как самозанятого, но фактически он является сотрудником. Как правило у такого самозанятого - поступления денег месяцами происходят либо от одного юрлица, либо от взаимно аффилированных юрлиц, что достаточно просто доказать. Поэтому в случае, если заказчик "жмётся" под конец сотрудничества, ему можно намекнуть, что обращение в трудовую инспекцию и параллельно в налоговую - может привести к очень лёгкому признанию отношений трудовыми, с доначислением неуплаченного НДФЛ и прочих страховых взносов в размере 42% от предыдущих выплат. И эти ваши "копейки" - самый безболезненный для него исход.
При должной наглости - можно и компенсацию за моральные терзания потребовать. Был у меня такой случай в 22-м :) Сейчас государство очень уж присматривается к этому налоговому эксперименту и подумывает его вообще прикрыть (на мой взгляд - зря, сколько-то налогов всегда лучше, чем нисколько), поэтому скорее всего встанет на вашу сторону, если самозанятость вам заказчик навязал.
Впрочем, меня удивляет эта особенность национального бизнеса - казалось бы, просто соблюдай первоначальный контракт, получи свой продукт, исполнителю заплати за него деньги - и всё будет хорошо, даже если ты метался в процессе, не зная, чего хочешь. Но почему-то это такая редкость, что вылилось вот в статейку целую)
Айтишник в ватничке