логика типовой: договор подчинен контрагенту и без него не живет
контрагентов рассовывайте как вам удобно
договора то зачем?
потом поимеете лишний головняк, рассовав контрагентов по-новому по папкам
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший