Контроли, о которых спрашивает регулятор, встроены в расчётный период.
Не документ политики, написанный задним числом, чтобы описать случившееся. А шлюз, который период обязан пройти прежде, чем будет проведён, и запись о том, что он его прошёл.
Два человека: иначе проводки не будет.
Два решения, двигающие деньги, изменение плана и проведение периода, каждое требует второго оператора. Отказ живёт и в базе данных, и в приложении, поэтому он переживает и прямой вызов API.
Владелец
Администратор плана: исполнитель
Финансы: контролёр
Комплаенс
Поддержка
Маркетинг
Раздел, до которого роль оператора не дотягивается, показывает уведомление о доступе, а не данные. Разница важна: консоль, которая рисует цифры и прячет кнопки, цифры уже раскрыла.
Жёсткий потолок совокупных выплат.
Совокупные выплаты за период соизмеряются с денежными продажами того же периода за вычетом возвратов. Выше потолка период вообще нельзя утвердить: его не помечают и о нём не предупреждают. Его отклоняют.
Это то число, которое решает, способен ли план вознаграждений арифметически заплатить то, что обещает. План, выплаты которого могут превысить его продажи, не щедр, его финансирует следующая волна. Измерять это каждый период, в самом пути утверждения, против продаж за вычетом возвратов, это и есть разница между «знать» и «узнать потом».
internal/runs · program config cap_pct_bps
Раскрытие о доходах, посчитанное по всем.
Участники, получившие доход, не получившие, сумма, среднее, медиана, 90-й и 99-й процентиль и максимум: за календарный год, по каждой зарегистрированной позиции.
- 01
Те, кто ничего не заработал, входят в знаменатель
Считается каждый участник, существовавший в раскрываемом году, а тот, кто не заработал ничего, считается нулём. Выбрасывание таких участников: стандартный способ, которым этот отчёт приукрашивает программу, и именно поэтому медиана может читаться десятикратно завышенной. - 02
Отрицательный год: это ноль, а не отрицательный доход
Если списания превышают доход участника за год, такой участник раскрывается с нулём. Ничей убыток не зачитывается против чужого дохода, чтобы улучшить среднее. - 03
Прошлый год не размывается
Знаменатель: участники, зарегистрированные до конца раскрываемого года, поэтому публикация распределения за 2025 год в 2026-м не улучшается втихую за счёт всех, кто присоединился с тех пор. - 04
Оно вычисляется, а не пишется
Оно выходит из той же книги, из которой вышли выплаты. Именно это делает его подтверждением, а не маркетингом, и именно поэтому условия платформы могут требовать публикации от любого оператора, заявляющего что-либо о доходах.
internal/exposure · internal/report
Обязательства, которые можно разложить по срокам и отдать бухгалтеру.
Сколько должны, как давно должны и сходятся ли книга и выплаты между собой.
Возрастная структура
internal/exposure
Журнал проводок, со знаками как надо
internal/report
Налоговые справки по каждому участнику
internal/report
Перекрёстная сверка обязательств
internal/report
Кто может участвовать и на каком основании.
Географическая политика, поставляемая выключенной, режим наблюдения, показывающий, что было бы, если бы её включили, и проверка личности, которая хранит решение, а не документ.
Определение страны происходит внутри собственной базы данных платформы, а не через сторонний запрос на пути обработки. Это осознанное комплаенс-решение: ответ, приходящий по незашифрованному HTTP с публичного эндпойнта с лимитом запросов, может переписать любой на маршруте, а значение, которое способен переписать атакующий, может влиять на скоринг риска, но не должно решать, кто может войти в аккаунт.
Каждая заблокированная страна несёт код причины, регуляторную, санкционную, ожидание лицензии или коммерческую, чтобы через год список смог защитить и тот, кого в комнате тогда не было. Исключения оформляются точечными изъятиями с именем ответственного, а не правкой исходных данных.
Проверка личности идёт на вашем собственном аккаунте у провайдера. На платформу возвращаются решение и необратимый идентификатор, достаточный, чтобы обеспечить «один человек, одна позиция», и не более. XEX не хранит документы ваших участников, потому что самый безопасный способ хранить документы, не хранить их.
internal/geo · internal/verification
Маркетинг, который обязан пройти согласование перед выходом.
Заявление, из-за которого программу закрывают, почти никогда не делает оператор. Его делает участник, в групповом чате, о доходах.
Материалы проходят согласование, которое добавляет к тексту комплаенс-раскрытие, один раз и идемпотентно, поэтому согласованный материал не может разойтись без него. Командные объявления уходят из согласованных шаблонов, а не свободным текстом. Маркетинг не может согласовать собственный материал; это граница роли, а не политика.
Ничто из этого не мешает участнику писать что угодно в своём аккаунте. Что это даёт: так это согласованный корпус материалов, запись о том, что и кем было согласовано, и защитимый ответ, когда кто-нибудь спросит, что ваша программа говорила людям.
internal/marketing · /admin/marketing
Чего мы не заявляем.
Самый полезный абзац на этой странице, и тот, который большинство поставщиков опускает.
Прогоните это в песочнице, прежде чем верить нам на слово.
Песочница: это весь продукт. Настройте план, купите пакет как участник, посчитайте период и прочитайте раскрытие, которое он выдаёт.