Перейти к основному содержимому

Data mapping — crm

Источники

  • ручные таблицы (Google Sheets, 1C/Excel) — лиды, оплаты, выплаты, KPI;
  • payment provider history (Тинькофф/CloudPayments/etc);
  • исходный каталог продуктов в Laravel;
  • исходная CRM (если есть);
  • ручные операции preподавателей.

Mapping сущностей

Исходная сущностьЦелевая сущностьПравило
Google Sheets clientscrm_accountодин клиент → один account
parent + child строкиcrm_account (family) + crm_person_linkсвязь через identity user
Sheets leadscrm_leadдубль по email/phone дедупируется
Sheets dealscrm_dealmapping статусов в каноническую модель
products (Laravel)product, product_run, price_planразделение продукта и реализации
invoices (1C/manual)crm_invoiceсохранить external_id
payments (provider)crm_paymentexternal_id, provider, idempotency
refundscrm_refundсвязь с payment
balance таблицаcrm_balance_entryappend-only, сверка по периоду
entitlements (доступы в LMS, абонементы)entitlementmapping старых правил доступа
teacher payoutscrm_teacher_payoutper teacher, per period

Маппинг статусов

Исходный leadЦелевой lead
newnew
contactedcontacted
qualifiedqualified
soldconverted
lostlost
Исходный invoiceЦелевой invoice
createddraft
issuedissued
paidpaid
partially_paidpartially_paid
canceledcancelled
overdueoverdue

Сценарии

  • backfill payments из истории провайдера через provider API;
  • ручные таблицы импортируются раз в день в фазе dual-write;
  • entitlements выдаются заново для активных подписок (с правильной длительностью);
  • teacher payouts пересчитываются от текущей даты.

Стратегия

    1. read-only mirror;
    1. dual-write при оплатах: webhook идёт в исходный контур и целевой CRM;
    1. backfill;
    1. ручная финансовая сверка;
    1. write switch.

Риски и контроль

  • расхождение баланса → daily reconciliation, алерт;
  • утрата идемпотентности → idempotency_key из payment provider;
  • двойные списания → блокировка дублирующих refundов;
  • отсутствующие entitlements → ручная проверка списка активных подписок.

Связанные документы