Краткий ответ
База доноров — связанный учёт людей и организаций, их пожертвований, согласий и предпочтений общения. Для неё нужны постоянный идентификатор донора, отдельная история платежей и проверяемые основания для рассылки. Сайт принимает действия пользователя, платёжный сервис подтверждает операции, а CRM хранит рабочую историю отношений. Сначала согласуйте, какая система отвечает за каждое поле, затем настройте обмен и проверьте его на повторных событиях.
Когда база доноров нужна как система, а не список
Донор просит больше не писать, но следующая рассылка всё равно приходит: отказ остался в почте, а адрес взяли из другой таблицы. База доноров решает эту проблему, если связывает человека, его действия и разрешения. Такой подход нужен проекту, где с пожертвованиями и обращениями работают разные сотрудники.
Сама по себе общая таблица ещё не создаёт общего знания. В выгрузке банка виден перевод, в форме сайта — адрес, в переписке — просьба изменить имя. Если сотрудники связывают эти сведения по памяти, история зависит от того, кто сегодня на смене. Поэтому критерий перехода к системе учёта — не размер списка, а невозможность уверенно ответить, кому вы пишете и почему считаете это допустимым.
Возьмём условный пример благотворительного проекта «Маяк». Анна сделала пожертвование с личной почтой, позже зарегистрировалась с рабочей, а затем отказалась от новостей в ответном письме. Команда решила объединить всё по имени. При проверке обнаружилась другая Анна с тем же именем: теперь непонятно, кому принадлежит отказ. Сценарий вымышленный, но он позволяет проверить архитектуру без разговора о чудодейственной автоматизации.
В этом примере исправление начинается с разделения сущностей. Донор — человек или организация, контакт — способ связи, пожертвование — отдельная операция. Учётная запись сайта подтверждает вход, но сама по себе не доказывает принадлежность всех похожих платежей. Анонимный перевод тоже можно учесть, не создавая вымышленного человека с именем «Неизвестный», к которому потом приклеятся чужие операции.

Минимальная модель: что хранить и кто отвечает
Предлагаемая модель связывает профиль с контактами, согласиями и операциями через постоянный внутренний идентификатор. Меняющийся адрес почты не подходит на его роль. Таблица ниже — заготовка задания на внедрение: для каждой сущности нужно определить место хранения, владельца и правило изменения.
| Сущность | Минимальные сведения | Источник и правило изменения |
|---|---|---|
| Профиль | Внутренний идентификатор, тип донора, имя, связи с прежними записями | CRM; объединение только с журналом решений |
| Контакт | Адрес или телефон, подтверждение принадлежности, актуальность | Форма и проверка контакта; старое значение сохраняется в истории |
| Согласие | Цель, канал, статус, время, версия текста, подтверждение действия | Место получения согласия; отзыв передаётся всем отправителям |
| Пожертвование | Идентификатор операции, сумма, валюта, статус, время, назначение | Платёжный сервис; обновление по идентификатору операции |
| Источник привлечения | Первый известный источник, метка обращения, источник конкретного платежа | Сайт; последующий визит не стирает первый источник |
| Общение | Предпочтительный канал, темы, обращения, запреты на отправку | CRM и личный кабинет; запрет проверяется перед отправкой |
Согласие нельзя свести к галочке «можно писать». В предлагаемой модели отдельно фиксируются цель и канал, версия показанного текста, время действия и способ его подтверждения. Пожертвование не следует автоматически превращать в разрешение на новости. Основания обработки и содержание согласий нужно проверить применительно к вашему проекту; схема учёта помогает сохранить доказательства, но не заменяет правовую оценку.
Источники привлечения тоже требуют разных полей. Если Анна впервые пришла по рекомендации партнёра, а пожертвовала после письма, это разные события, а не спор за правильный источник. Сохраните первый известный источник профиля и источник конкретной операции отдельно. Когда метки нет, оставляйте «источник неизвестен»: догадка сотрудника не должна незаметно становиться фактом в отчёте.
Назначьте хозяина каждому виду сведений. Платёжный сервис подтверждает статус денежной операции, CRM — рабочую историю, сайт — действие в форме. Запрет на рассылку должен доходить до системы отправки независимо от места получения отказа. Если разрешить всем приложениям бесконтрольно перезаписывать всё, поздняя загрузка старого файла сможет воскресить отменённое согласие.
Отдельно определите, какие данные вообще попадут с формы оплаты в учёт. Материал о том, как принимать донаты на сайте, поможет разобрать этот соседний процесс до настройки обмена. Здесь важен результат: у подтверждённой операции должен быть устойчивый идентификатор, а у контакта — понятное происхождение, даже если платёж и регистрация произошли независимо.

Как объединять записи и не смешивать людей
Автоматическое объединение допустимо только по заранее согласованным надёжным признакам. Совпадение имени создаёт кандидата на проверку, а не готовое решение. Предлагаем разделять поиск похожих записей и подтверждение личности, сохраняя возможность отменить ошибочное объединение.
Начните с приведения контактов к единому формату: уберите случайные пробелы, согласуйте запись телефонов, сохраните исходное значение. Не удаляйте части адреса почты по собственным догадкам о правилах провайдера. Нормализация исправляет формат, но не подтверждает владельца. Общий семейный адрес и телефон организации особенно плохо подходят для безусловного объединения разных людей.
Вернёмся к условному «Маяку». Совпадение имён отправило записи Анны на ручную проверку. Через подтверждённый личный кабинет она связала рабочий адрес с существующим профилем. Команда объединила именно эти записи, сохранила прежние идентификаторы как ссылки на основной профиль и внесла причину решения в журнал. Запись другой Анны осталась самостоятельной: имя перестало выполнять работу документа.
При объединении не складывайте итоговые суммы из карточек. Переносите связи с уникальными операциями, иначе платёж, уже попавший в обе выгрузки, будет учтён повторно. Сохраняйте исходные значения конфликтующих полей, автора решения и время изменения. Возможность разъединить ошибочную пару нужно проверить до массовой очистки: резервная копия всей системы не всегда заменяет отмену конкретного действия.
Отказ Анны от новостей привяжите к установленному профилю и цели рассылки, сохранив сообщение как подтверждение. Если ещё непонятно, кому принадлежит контакт, остановите спорную отправку до проверки. После объединения не выбирайте удобное разрешение из старой карточки, игнорируя более поздний отказ. Предпочтение получать письма и действующее основание их отправлять — разные вещи.

Обмен событиями, доступ и проверяемый экспорт
Сайт и CRM должны обмениваться событиями с постоянными идентификаторами и подтверждением обработки. Повторная доставка не должна создавать новый платёж или повторное письмо. Доступ и экспорт проектируйте вместе с обменом: иначе сведения будут защищены в интерфейсе, но свободно разойдутся в файлах.
Составьте договорённость о событиях: пожертвование подтверждено, операция возвращена, контакт изменён, согласие отозвано. Для каждого укажите идентификатор события, время возникновения, источник, идентификаторы профиля и операции, если они известны. Получатель сохраняет факт обработки. При повторной доставке он узнаёт событие и не повторяет побочные действия, например отправку благодарности.
В условном «Маяке» подтверждение платежа Анны пришло повторно после сбоя связи. Система нашла ту же операцию и сохранила её без новой записи. Позднее пришло уведомление о возврате: оно изменило состояние связанной операции, но не удалило её историю. Как учитывать возвраты и чарджбэки по донатам, стоит определить отдельно: база должна сохранять исходное поступление и последующее изменение, а не скрывать их взаимным стиранием.
Предусмотрите очередь необработанных событий, журнал ошибок и ответственного за разбор. Время получения не всегда совпадает с порядком действий: старое событие может прийти позже нового. Правило переходов между статусами должно предотвращать возврат завершённой операции в устаревшее состояние. Периодическая сверка с платёжным сервисом выявляет события, которые не дошли; её частоту команда выбирает по своему процессу.
Предлагаем выдавать права по задачам. Сотруднику поддержки нужны контакт и история обращения; бухгалтеру — сведения об операциях; автору рассылки — разрешённая аудитория и нужные поля для обращения. Массовое объединение, выгрузку и изменение прав оставьте отдельными разрешениями. Доступ администратора не должен быть повседневным способом прочитать письмо донора. Увольнение сотрудника должно прекращать доступ и к связанным сервисам.
Проверяйте экспорт на восстановимость: выгрузка должна сохранять связи профилей, операций и согласий, а также понятные статусы и формат дат. Ограничьте состав файла задачей, зафиксируйте автора и цель выгрузки, согласуйте срок удаления рабочих копий. При оценке размещения выясните, где хранятся основные данные и резервные копии, кто имеет доступ и как вы заберёте сведения при прекращении договора. Это конкретнее обещания «всё под контролем».

Как внедрить базу и проверить результат
Начните с ограниченного участка данных и полного прохода от формы до выгрузки. Перенос всей истории имеет смысл после проверки связей, отказов и повторных событий. Критерий готовности — воспроизводимый результат на контрольных ситуациях, а не количество импортированных строк.
- Опишите текущий путь сведений: кто получает контакт, подтверждает платёж, принимает отказ и отправляет письмо. Назначьте ответственного за каждую передачу.
- Согласуйте карту данных из таблицы, правила идентификации и права. Отдельно запишите спорные случаи, которые нельзя разрешать автоматически.
- Подготовьте пробный перенос: сохраните исходники, нормализуйте контакты, выделите кандидатов на объединение и проверьте их вручную.
- Прогоните контрольные события, сверяйте результат в обеих системах, затем проверьте экспорт и восстановление связей из него.
- После приёмки назначьте основной источник для каждого поля, остановите параллельное ведение старых списков и оставьте управляемый порядок исправлений.
В условном «Маяке» приёмка строится вокруг истории Анны. Повторное подтверждение не добавляет пожертвование; смена адреса сохраняет историю; отзыв согласия исключает профиль из нужной рассылки; похожее имя не объединяет людей. Ошибочное слияние отменяется с восстановлением связей. Эти проверки можно выполнить на тестовых данных, не отправляя настоящие письма и не проводя реальные платежи.
Базовая модель не покрывает все задачи фонда. Для целевого финансирования, отчётности перед грантодателями или сложного корпоративного участия могут потребоваться отдельные сущности и правила учёта. А если проект пока ведёт редкие поступления силами ответственного сотрудника, защищённого реестра может хватить. В таком случае полезнее сразу сохранить идентификаторы и происхождение данных, чем внедрять сложную систему без владельца процесса.
Если одновременно меняется сайт, разделите приёмку новой формы и перенос старой истории. Переход на свою платформу донатов требует отдельного решения о доступе к прежним данным и остановке старых каналов. Иначе новая площадка начнёт правильно собирать контакты, а старая рассылка продолжит работать по собственному списку — технически исправно и организационно мимо цели.
Практический следующий шаг — взять обезличенные примеры профиля, платежа и отказа и попросить исполнителя показать их путь через будущую систему. Пусть продемонстрирует поиск дубля, журнал изменения, повтор события и выгрузку связанных записей. Если вместо этого показывают только красивую карточку донора, вопрос об устройстве базы остаётся открытым. Интерфейс полезен после того, как понятно, какие сведения за ним стоят.

Сначала договоритесь о данных, затем выбирайте площадку
Если вашему сообществу нужен собственный сайт с подписками, публикациями и общением, рассмотрите Scrile Connect. Платформа поддерживает собственный домен, оформление под брендом и подключение ЮKassa для российских проектов. Средства поступают на платёжный аккаунт владельца, Scrile не удерживает процент с заработка; расходы платёжного сервиса учитываются отдельно.
Для базы доноров отдельно согласуйте структуру согласий, правила экспорта и необходимый обмен с CRM. Возможность вести подписки не означает готового учёта пожертвований: перед выбором проверьте нужные сценарии на демонстрации и зафиксируйте объём настройки.
Часто задаваемые вопросы
Чем база доноров отличается от списка адресов?
Список содержит контакты. База связывает их с конкретным профилем, историей пожертвований, согласиями и обращениями. По этим связям можно проверить, кому принадлежит операция и допустима ли выбранная коммуникация.
Можно ли начать с электронной таблицы?
Да, если процесс ограничен, назначен ответственный и обеспечен контроль доступа и изменений. Сразу разделяйте профили и операции, сохраняйте идентификаторы. Когда совместная работа перестаёт быть управляемой, оценивайте систему учёта.
Нужно ли объединять доноров с одинаковыми именами?
Нет. Совпадение имени — повод проверить записи. Для объединения нужны подтверждённые связи, журнал решения и возможность отмены. Иначе можно перенести чужие платежи или отказ от рассылки в неверный профиль.
Что делать с анонимным пожертвованием?
Сохранить операцию с её идентификатором и статусом без искусственного персонального профиля. Неустановленный донор не должен превращаться в общую карточку, объединяющую несвязанные платежи разных людей.
Можно ли рассылать новости всем, кто пожертвовал?
Не следует считать сам платёж разрешением на новости. Проверьте основание конкретной отправки, цель, канал и действующие ограничения. В базе храните подтверждение согласия и его отзыва, а не только общий признак подписки.
Нужно ли хранить данные банковской карты в базе?
Для описанной модели нужны сведения об операции, а не реквизиты карты. Платёжные данные оставляйте в предусмотренном для них платёжном контуре; в CRM передавайте необходимые идентификаторы, сумму, валюту и состояние операции.
Как понять, что выгрузка действительно пригодна для переноса?
Проверьте, можно ли по ней восстановить связи между профилями, контактами, согласиями и платежами. Перечня имён и общей суммы недостаточно. Испытайте перенос на обезличенной выборке и сопоставьте историю исходных записей.
Заменяет ли сайт для пожертвований CRM?
Это зависит от функций и процесса. Сайт может принимать действия пользователя, а CRM — хранить историю отношений. Проверяйте конкретные права, связи, экспорт и обмен событиями: наличие личного кабинета само по себе не подтверждает эти возможности.
Запускает SaaS-платформы для авторов контента, агентств и предпринимателей. Пишет про бизнес-механику creator-economy продуктов и как ставится на поток разработка под заказ.