Представь как бы сделал человек, если бы вёл всё на бумаге. Допустим некий бухгалтер.
Для каждого контрагента заводится папка с данными. В каждой папке (для простоты берём) хранится два листочка.
Первый листок, данные по контрагенту. Форма единая для всех контрагентов.
Второй листок, подробные анкетные данные, всё что требуется для конкретного типа. Для физлиц одна форма, для организаций вторая форма, для ИП третья.
Примерно такую структуру можно создать в БД и в коде.