Подрядчик исчезает не в тот день, когда перестаёт отвечать. Он исчезает в день подписания акта, если вместе с системой вам не передали семь вещей: исходный код в вашем репозитории, учётные записи у провайдеров на ваше юрлицо, список ключей, схему интеграций, экспорт данных, инструкцию на развёртывание и журнал изменений. Пока их нет, работающая система — это не актив, а аренда без договора аренды.

Дальше события развиваются по одному сценарию. Полгода всё работает. Потом ломается интеграция или заканчивается оплата домена, вы пишете — ответа нет. Оказывается, что домен зарегистрирован на подрядчика, код лежит в его репозитории, а единственный человек, который знал устройство системы, уже не работает в этой компании. Компания при этом не встала: она продолжает работать, но любое изменение стоит теперь как отдельный проект.

Ниже — процедурный разбор. Что забирается до последнего платежа, по каким шести признакам исчезновение видно заранее, что делать в первые сутки, если связь уже потеряна, и во что реально обходится подхват чужого решения. Признаки, которые видно ещё до договора, мы собрали отдельно — одиннадцать признаков, что подрядчик не справится; здесь речь о том, что делать, когда договор уже закрыт.

Семь артефактов, которые забираются до последнего платежа

Приёмка — это единственный момент, когда у вас есть рычаг. После последнего платежа вы просите об одолжении; до него — реализуете условие договора. Поэтому список ниже проверяется не «когда-нибудь потом», а до подписания финального акта, и каждый пункт имеет проверяемый вид: не «передали документацию», а «файл открывается, и по нему поднялся пустой стенд».

АртефактКак выглядит принятымЧто будет, если не забрали
Исходный кодРепозиторий на вашем аккаунте, подрядчик — участник с правом записи, а не владелецПодхват невозможен в принципе: остаётся переписывать с нуля
Учётные записи у провайдеровДомен, хостинг, SMS-шлюз, платёжный и почтовый сервисы оформлены на ваше юрлицо, счета приходят вамУслуга отключается за неоплату, восстановление идёт через процедуру смены владельца и занимает недели
Ключи и секретыСписок ключей в вашем хранилище с пометкой, где каждый используетсяПеревыпуск вслепую роняет интеграции по одной, и каждую находят по жалобе пользователя
Схема интеграцийОдна страница: какие системы связаны, что передаётся, с какой периодичностью, что происходит при сбоеНовый инженер восстанавливает её чтением кода — 20–40 часов только на это
Экспорт данныхВыгрузка в открытом формате плюс описание структуры таблицДанные остаются в базе, которую вы не можете ни прочитать, ни перенести
Инструкция на развёртываниеКак поднять систему с нуля на пустом сервере, проверено на пустом сервере при васПереезд с сервера подрядчика превращается в отдельный проект на две-три недели
Журнал измененийЧто и когда меняли, с датами хотя бы за последние три месяцаНепонятно, что сломалось последним и от какой правки откатываться
Схема приёмки: ворота из семи артефактов между сданной системой и последним платежом
Последний платёж — это ворота, и створок у них семь

Кому принадлежат узлы вашей системы

Самая недооценённая строка таблицы — вторая. Домен, хостинг, SMS-шлюз и платёжный сервис оформляются подрядчиком в первый день проекта, «чтобы не тратить ваше время на регистрации», и остаются на нём навсегда. Формально вы владеете кодом, но не владеете ни одним местом, где он живёт. Это не злой умысел, а обычная экономия времени на старте, и именно поэтому её надо отменять письменным пунктом договора, а не доверием.

Карта узлов системы с пометками, на кого оформлен каждый: домен, хостинг, репозиторий, шлюзы
Карта на одну страницу, которую стоит нарисовать до того, как она понадобится

Проверить это можно за полчаса и без подрядчика: посмотрите, на кого приходят счета за домен и хостинг, и от чьего имени приходят письма о продлении. Если счета не приходят вам вообще — узел оформлен не на вас. Полный порядок выдачи и отзыва доступов внешней команде мы разбирали в материале про то, как выдать, ограничить и забрать доступы подрядчику.

Шесть признаков, по которым исчезновение видно заранее

Все шесть наблюдаются в ходе проекта и не требуют технических знаний. Один признак — повод задать вопрос, три и больше — повод не платить финальный платёж до передачи артефактов.

  • Узлы оформлены на подрядчика. Домен, хостинг и учётные записи у провайдеров заведены на его юрлицо или на личную почту его сотрудника.
  • Кода вы не видели ни разу. Вам показывают работающий адрес и экраны, но репозиторий «у нас внутри, там ничего интересного».
  • Ответы идут через одного человека. Отпуск или болезнь этого человека останавливает проект целиком — значит, знание не распределено и передавать его будет некому.
  • Нет журнала изменений. На вопрос «что вы выкатили на прошлой неделе» отвечают по памяти, а не ссылкой на запись.
  • Нет документации даже на страницу. Схема интеграций рисуется на каждом созвоне заново и каждый раз немного другая.
  • Меняется юридический адресат. Счета приходят то от ООО, то от ИП, реквизиты за проект поменялись — значит, адресата претензии в нужный момент может не оказаться.

Пять шагов, если связь уже потеряна

Порядок здесь важнее содержания. Первые сутки уходят не на переписку, а на фиксацию состояния, пока доступ ещё есть: любое ожидание тратит именно тот ресурс, который потом будет нужен новому инженеру.

  1. 1
    Сутки первые: зафиксировать состояние

    Снять резервные копии базы и файлов, выгрузить данные в открытом формате, сохранить скриншоты панелей провайдеров и настроек интеграций, выписать все домены, сертификаты и ключи, которые видно. Это делается до любых писем: аккаунт может перестать работать в любой момент, а данные нужны в обоих сценариях — и при подхвате, и при переписывании.

  2. 2
    День второй: письменное требование по договору

    Одно письмо с перечнем артефактов из таблицы выше и сроком 3 рабочих дня, отправленное тремя каналами сразу: на рабочую почту, в мессенджер и заказным письмом на юридический адрес из выписки. Формулировка деловая, без оценок: «просим передать в срок до такого-то следующие материалы по договору №». Это же письмо станет доказательством, если дело дойдёт до суда.

  3. 3
    Дни 3–5: инвентаризация зависимостей и оплат

    Где физически работает система, до какой даты оплачены хостинг и домен, когда истекает сертификат, какие сервисы списывают деньги с чьей карты. Самая частая находка — домен, оплаченный на год вперёд с чужой карты: у вас есть ровно этот запас времени, и он не бесконечен.

  4. 4
    Недели 1–2: перевод сервисов на своё юрлицо

    У всех крупных провайдеров есть процедура смены владельца по документам: заявление, подтверждение прав, иногда нотариальное согласие прежнего владельца. Именно здесь возникает разброс в 2–6 недель, и именно поэтому шаг запускается параллельно с остальными, а не после них.

  5. 5
    Недели 2–3: аудит новым инженером с фиксированной ценой

    Не договор на доработку, а отдельная работа на 3–5 дней: что за система, из чего состоит, что можно поддерживать, что придётся переписать, сколько это стоит. Результат — смета и схема, по которым принимается решение, и только после него обсуждается регулярное сопровождение и его цена. Приглашать подрядчика сразу на доработку до аудита — это второй раз купить кота в мешке.

Лента из пяти шагов: сутки на фиксацию, письмо, инвентаризация, перевод сервисов, аудит
Три недели от потери связи до сметы, по которой можно принимать решение

Сколько стоит подхватить чужое решение

Модельный случай: связка CRM с 1С и сайтом, обошлась в 850 000 ₽, работает год, исходники у заказчика есть, документации нет, тестового контура нет, ключи прописаны внутри кода. Подхват в такой конфигурации — 30–60 % стоимости исходной разработки; ниже — раскладка по часам при ставке 3 500 ₽.

Подхват решения стоимостью 850 000 ₽: 132 часа инженера
Чтение кода и восстановление схемы интеграций — 40 часов140 000 ₽
Восстановление окружения и сборки без инструкции — 24 часа84 000 ₽
Перевыпуск ключей и перенос учётных записей на юрлицо заказчика — 16 часов56 000 ₽
Повторное подключение домена, сертификата, почтового и платёжного сервисов — 10 часов35 000 ₽
Прогон на боевых данных и исправление найденного — 30 часов105 000 ₽
Документация и журнал изменений, которых не было — 12 часов42 000 ₽
Итого462 000 ₽, около трёх с половиной недель — 54 % стоимости исходной разработки

Полезно сравнить с альтернативой. Переписать тот же контур с нуля — 720 000 ₽ и восемь недель: дешевле оригинала, потому что требования уже известны и придумывать их заново не надо. Подхват в этом расчёте выходит в 64 % цены переписывания и вдвое быстрее, поэтому в модельном случае выигрывает. Но четыре обстоятельства двигают эту цифру, и каждое из них проверяется до начала работ.

Столбики: исходная разработка 850 000, подхват 462 000, переписывание с нуля 720 000
Пока подхват держится ниже 70 % цены переписывания, он выигрывает
ОбстоятельствоКак двигает смету подхватаПочему
Нет тестового контураплюс 25–30 %Каждая правка проверяется на боевых данных, значит по ночам, с резервной копией и планом отката
Нет документации и журнала измененийплюс 30–40 %Логика восстанавливается чтением кода, а не чтением страницы описания
Самописная платформа вместо распространённойплюс 50 % и вышеКруг инженеров, готовых в этом разбираться, сужается до единиц, и ставка растёт вместе с риском
Учётные записи оформлены на подрядчикаплюс 2–6 недель календаряСмена владельца у провайдера идёт по документам и не ускоряется деньгами
Ключи прописаны внутри кодаплюс 8–16 часовПеревыпуск требует найти все места использования, иначе интеграции падают поочерёдно
Решение опирается на сервис, недоступный в РФподхват теряет смыслПоддерживать нечего: контур всё равно переносится на доступный стек

Пункты договора, которые дают право забрать всё без спора

Все ситуации выше решаются шестью формулировками, которые вписываются в договор до начала работ и ничего не стоят на этом этапе. Общий чек-лист договора мы собрали отдельно — что должно быть в договоре на разработку; здесь только то, что работает именно против исчезновения.

  1. 1Исключительные права переходят по этапам. Формулировка «права переходят после полной оплаты договора» означает, что при остановке на середине у вас нет прав ни на что. Правильная привязка — к оплате конкретного этапа.
  2. 2Срок на выдачу материалов при расторжении. 3–5 рабочих дней на передачу исходников, доступов и данных при прекращении договора по любому основанию, с неустойкой за каждый день просрочки. Без неустойки срок остаётся пожеланием.
  3. 3Учётные записи у третьих лиц оформляются на заказчика. Отдельный пункт, иначе домен, хостинг и шлюзы окажутся чужими по умолчанию.
  4. 4Приёмка этапа включает артефакты. Акт не подписывается без схемы интеграций, инструкции на развёртывание и выгрузки данных. Это превращает список из таблицы выше в обязанность, а не в просьбу.
  5. 5Право привлекать третьих лиц. Заказчик вправе передать сопровождение другому исполнителю без согласия подрядчика — иначе подхват формально упрётся в права на результат.
  6. 6Адрес для юридически значимых сообщений и второй контакт. Письмо, отправленное по адресу из договора, считается полученным. Без этого пункта доказывать факт обращения придётся отдельно.
Финальный платёж — это не формальность, а рычаг

Удержание 15–20 % суммы до передачи артефактов — нормальная практика, которую спокойно принимают добросовестные исполнители. Именно эти проценты оплачивают ту работу, которую подрядчику делать скучно: документацию, инструкцию на развёртывание и перенос учётных записей. Если исполнитель категорически против такой схемы, это отдельный признак из списка выше.

Когда дешевле переписать заново

Правило одно: оцените подхват и переписывание отдельными сметами и сравните. Если подхват дороже 70 % цены переписывания, переписывайте — оставшиеся 30 % не окупают того, что вместе с чужим кодом вы наследуете чужие ошибки, которых не видели. Пять ситуаций, в которых эта граница пробивается почти всегда.

  • Исходников нет, есть только работающий сервер. Подхват технически невозможен: восстановить код из собранного приложения дороже, чем написать его.
  • Объём кода мал. Три-четыре сценария интеграции на пару тысяч строк переписываются за 3–4 недели, и любой реверс-инжиниринг здесь дороже самой работы.
  • Платформа самописная. Не типовая CRM с доработками, а собственный движок подрядчика: поддерживать его сможет только он, и зависимость воспроизведётся с новым исполнителем.
  • Решение стоит на сервисе, недоступном в РФ. Контур всё равно переносится, поэтому подхватывать нечего — разбор доступных замен есть на странице интеграций.
  • Нет ни одного человека, кто видел систему изнутри. Ни с вашей стороны, ни со стороны исполнителя. Тогда цена подхвата не оценивается заранее и в смете появляется открытый счёт, а это худший вид расхода.
Переписывание не отменяет первых четырёх шагов

Даже если решение принято в пользу разработки с нуля, резервные копии, выгрузка данных, письменное требование и перевод учётных записей на своё юрлицо всё равно нужны. Новая система будет работать на тех же данных, на том же домене и с теми же интеграциями — то есть 91 000 ₽ из сметы подхвата вы потратите в любом сценарии.

Систему вы покупаете один раз, а возможность её изменить — на каждом акте приёмки.