Оглавление9 разделов
Сверка партнёрской программы — это соединение трёх независимых контуров: события в трекере, коммерческое начисление в кабинете и фактическое поступление денег. Таблица «сумма за месяц» не объясняет расхождение. Нужен реестр, где каждое движение имеет собственный идентификатор, тип, валюту, период и ссылку на исходную конверсию или когорту.
Модель реестра
| Поле | Пример | Зачем |
|---|---|---|
| ledger_id | adj_2026_08_0042 | Уникальность движения |
| entry_type | accrual / adjustment / payment | Не смешивать стадии |
| model | CPA / RevShare / Hybrid | Выбрать формулу |
| conversion_id | conv_x7… | Сверка CPA без ПДн |
| cohort_key | 2026-W30|GEO|source | Привязка RevShare |
| period_start/end | 2026-07-01…31 | Границы расчёта |
| amount_minor/currency | 125000 / EUR | Точная сумма |
| terms_version | terms_2026_07 | Версия условий |
| reason_code | chargeback | Основание корректировки |
| source_file_hash | sha256… | Какой файл импортирован |
DDL с запретом дублей
CREATE TABLE affiliate_ledger (
ledger_id text PRIMARY KEY,
partner_id text NOT NULL,
entry_type text NOT NULL,
model text NOT NULL,
conversion_id text,
cohort_key text,
period_start date NOT NULL,
period_end date NOT NULL,
amount_minor bigint NOT NULL,
currency char(3) NOT NULL,
terms_version text NOT NULL,
reason_code text,
source_file_hash text NOT NULL,
imported_at timestamptz NOT NULL DEFAULT now(),
CHECK (conversion_id IS NOT NULL OR cohort_key IS NOT NULL)
);Waterfall закрытия периода
| Ступень | Сумма, у.е. | Проверка |
|---|---|---|
| Начисления CPA | 420 000 | approved conversion_id |
| Начисления RevShare | 310 000 | когортная формула |
| Корректировки прошлого периода | −35 000 | reason + исходная строка |
| Подтверждено к выплате | 695 000 | акт/инвойс по процессу сторон |
| Комиссия перевода | −5 000 | банковский документ |
| Фактически поступило | 690 000 | выписка |
Это обезличенный пример. Расхождение между 730 000 исходных начислений и 690 000 поступлениями не равно «недоплате 40 000»: 35 000 объяснены корректировкой, 5 000 — комиссией. Каждая ступень должна иметь отдельный документ или строку, иначе объяснение нельзя повторить через месяц.
SQL: CPA есть в трекере, но нет в начислении
SELECT t.conversion_id, t.approved_at, t.payout_minor
FROM tracker_conversions t
LEFT JOIN affiliate_ledger l
ON l.conversion_id=t.conversion_id
AND l.entry_type='accrual'
WHERE t.status='approved'
AND t.approved_at >= $1 AND t.approved_at < $2
AND l.ledger_id IS NULL
ORDER BY t.approved_at;SQL: начисление не совпало по сумме
SELECT t.conversion_id,
t.payout_minor AS tracker_amount,
sum(l.amount_minor) AS ledger_amount,
t.payout_minor-sum(l.amount_minor) AS delta_minor
FROM tracker_conversions t
JOIN affiliate_ledger l ON l.conversion_id=t.conversion_id
WHERE l.currency=t.currency
GROUP BY 1,2 HAVING t.payout_minor <> sum(l.amount_minor);Если валюты различаются, строки сначала пересчитывают по закреплённому правилу и сохраняют исходную сумму. Нельзя соединять их по числу без валюты. Для Hybrid CPA и RevShare ведутся отдельными entry_type/model, а общий итог строится только после независимой сверки каждой части.
Формат запроса менеджеру
Период привлечения: 2026-07-01—2026-07-31 UTC
Версия условий: terms_2026_07
Затронуто: 17 conversion_id
Наблюдение: approved в выгрузке статусов, отсутствуют в accrual
Сумма по договорной ставке: 204 000 minor units EUR
Приложения: список ID, hash исходной выгрузки, расчёт
Просьба: указать reason_code либо включить строки в пересчётКонтроль импорта
- Сохранить исходный файл без ручного редактирования.
- Посчитать SHA-256 и проверить повторный импорт.
- Нормализовать валюту, время и идентификаторы.
- Загрузить строки транзакцией в staging.
- Проверить дубли и контрольную сумму.
- Перенести валидные строки в ledger.
- Сформировать отчёт missing, extra, amount mismatch и late adjustment.
Когда период закрыт
Период считается закрытым, когда все согласованные начисления имеют статус, корректировки привязаны к основанию, подтверждённая сумма сопоставлена с документом, а поступление — с банковской операцией. Поздняя корректировка не стирает закрытие: она создаёт новое движение и обновляет жизненный итог исходной когорты.
Методология
Схема предназначена для управленческой и технической сверки, а не заменяет бухгалтерский или налоговый учёт. Обязательные документы, курс и момент признания определяются договором и применимыми правилами. Все суммы в примере вымышлены и явно используются только для демонстрации арифметики.
Станьте партнёром и начните работать
Перейдите в партнёрскую программу, изучите актуальные условия и выберите подходящий формат сотрудничества.
СТАТЬ ПАРТНЁРОМ
