Нормализуйте входные данные
Храните исходное значение номера отдельно от нормализованного. Учитывайте код страны и несколько способов связи. Имя пользователя мессенджера может измениться, поэтому не делайте его единственным постоянным ключом.
Разделите контакт и сделку
Один человек может участвовать в нескольких заказах. Задайте правило выбора активной сделки и поведение при неоднозначности. Воронки и этапы сопоставляйте по идентификаторам, а отображаемые названия используйте для интерфейса.
Обрабатывайте изменения
Опишите объединение дублей, удаление сущности и смену ответственного. Повторная загрузка справочника не должна обнулять уже установленные связи. Перед массовой миграцией проверьте выборку конфликтов и сохраните возможность восстановить сопоставления.
Пример проверки
У клиента две сделки с разными услугами. Сообщение с номером заказа связывается с конкретной сделкой, а без номера попадает на уточнение.
Перед следующим шагом
- Ключи не зависят только от имени
- Определено правило выбора сделки
- Проверены объединение и удаление