Максимально правильно - создаешь новый договор и в нем указываешь новую детализацию. Старые договора продолжают действовать, пока не "закроют" расчеты на выписанные в том договоре документы.
(5) Хозяин - барин... Но зачем тогда вообще что-то на них переделывать?!
Принимайте командирское решение, что с какого-то момента все действующие договора такие-то и со старыми не работать. И все. Можно старые переименовать в рабочем наименовании.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший