Если у вас абстрактный вопрос "как отслеживать изменение полей", то лучше чем ответил
belc не будет.
Суть подхода такая: вы делаете еще Н полей (по 1 на каждое отслеживаемое поле) и при изменении/создании копируете туда старые значения.
Делаете БП на изменение и проверяете старые значения, сравнивая с текущими - если есть разница то делаете что нужно.
Подход самый НЕ оптимальный и самый НЕ гибкий.
Обычно следует изменить подход к проектированию и разделить бизнес-процесс на две группы: первая относится к процессу, т.е. определить жизненный цикл сделки и необходимые шаги для ее реализации, а вторая - это подпроцессы которые должны выполняться при определенных условиях.
Соответственно у вас будут условия перехода сделки по стадиям (это жизненный цикл), переходя по которым вы будете проверять условия которые регулируются подпроцессами.
Ситуации когда в середине пути координально изменяются состав работ быть вообще не должно никогда.
Т.е. если вы вдруг строили мост, а потом занялись проектированием космического корабля - то у вас ошибка в реализации и этого нельзя делать. Нужно отменять эту сделку и создавать новую - чтобы потом разобраться как же так произошел просчет с оценке.