Разработка системы регуляторной отчетности для криптобизнеса

Регуляторные запросы приходят внезапно, а данные разбросаны по биржам, кошелькам и таблицам. Мы разрабатываем системы регуляторной отчетности для криптобизнеса под ключ: единый контур сбора, сверки и выгрузки. Расхождения в сверке операций сокращаются втрое, а подготовка отчета перестаёт занимать недели.
Часто задаваемые вопросы

Регуляторная отчетность крипто: где ломается сбор данных

Отчетность ломается не на форме сдачи, а раньше — там, где операция из учетной системы превращается в строку отчета. Клиент заводится в одном сервисе, торгует во втором, выводит средства через партнера, и у каждого свои идентификаторы. Сбор данных для отчетности начинается с ручного сопоставления этих записей по почте и телефону.

Отдельный разрыв — между транзакциями в сети и внечейновыми движениями: фиатный ввод и вывод, переводы между счетами клиента, операции по хранению активов. Рекомендации FATF и локальные требования регулятора требуют прослеживаемости операций — сквозной линии от платежа до адреса и обратно. Пока связи между банковской выпиской и записью в реестре нет, аналитик восстанавливает ее по времени и сумме, и отчет становится приблизительным.

Третье место — момент оценки и аудит-след. Курс берут из разных источников и на разное время, суммы расходятся на доли процента, и итог сверки не сходится. Нередко выясняется, что журналы доступа к данным клиента не пишутся или ротируются: восстановить, кто и когда правил запись, уже нельзя.

Цена у всех трех одна: сдача идет авральной сверкой, а на проверке компания не может показать происхождение цифры. Строим сбор данных с единым ключом клиента, журналированием изменений и версионированием выгрузок — разбираем, как это закрывается.

Что даёт единый контур отчетности и сверки операций

Отчетность собирается из разных мест: ядро биржи, кастодиальный модуль, внешние кошельки клиентов, файлы выгрузок от банков-партнеров. Пока каждое подразделение отдает данные в своем формате, сверка операций превращается в ручное сведение таблиц: расхождения ищут глазами, сроки подготовки отчета растягиваются на недели, а к моменту сдачи никто не может поручиться за полноту выборки.

Единый контур данных убирает этот разрыв. События из блокчейна и из внутренних систем нормализуются в одну транзакционную модель, где запись опознается парой «хеш транзакции + внутренний номер операции». Сверка операций становится сравнением двух потоков по одному ключу, а не сличением выгрузок — расхождение сразу привязано к конкретной проводке и конкретному блоку.

Дальше включается автоматизация отчетности: регламентные формирования по расписанию, единые шаблоны под каждого регулятора и контроль качества данных на входе. Правила полноты, уникальности и ссылочной целостности отсекают битые записи до попадания в отчет, а риск-скоринг адресов через Chainalysis помечает источники средств до формирования проводки, а не после. Доля расхождений падает с десятков процентов до долей процента, подготовка периода укладывается в часы.

Отдельно закрывается класс отказов на выгрузке. Идемпотентный прогон не задваивает проводки при повторном запуске, перестройка цепи и отсутствующий курс на момент операции обрабатываются правилом, а не аварийным сценарием. Любой период воспроизводится из журнала событий — при разборе запроса регулятора видно, какие данные и по какому правилу попали в отчет.

Варианты построения системы: ручной сбор, автоматика, гибрид

Выбор здесь определяется не зрелостью технологии, а тем, где сейчас живут данные: в журнале операций, кастодиальном учёте или внутреннем реестре. Регуляторная отчётность — это не одна форма, а набор срезов по клиентам, операциям и остаткам с разными сроками, форматами и уровнями детализации. Отсюда четыре реалистичных схемы, между которыми выбирают на старте.

Вариант Когда подходит Ограничения
Ручной сбор отчётности Операций немного, подача разовая, выгрузки уже делаются вручную Каждая сверка — часы работы; расхождение в выгрузке видно только при подаче; нет версий и следа изменений
Автоматизированный контур Объём операций стабилен, источники данных локализованы, правила маппинга описаны Требует формализованной модели данных и правил трансформации; смена формата отчётности — доработка контура
Гибридная схема Основной массив собирается автоматически, спорные операции разбираются вручную Нужна очередь исключений и регламент разбора — без них ручной хвост разрастается
Аутсорс подготовки отчётности Нет своей команды под отчётность, сроки разовые или нерегулярные Ответственность за достоверность остаётся на вас; правила работы с данными и доступами нужно согласовать заранее

Практическое правило: автоматизируют то, что повторяется от периода к периоду, а ручной разбор оставляют для исключений — операций с нестандартным контрагентом, дроблением сумм или неполными реквизитами. Гибридная схема почти всегда оказывается рабочей на переходном этапе: контур собирает и сверяет основной массив, а инженер видит только те записи, которые не прошли правила. Дальше остаётся решить, сколько исключений допустимо держать в ручном режиме, — это и определяет, куда двигаться.

Этапы внедрения: от аудита данных до передачи контура

Отчётность сходится не тогда, когда готов генератор форм, а когда описаны и сверены все данные, из которых она собирается. Ниже — этапы внедрения, которые мы проходим на каждом проекте: от разбора источников до передачи контура.

  1. Аудит источников данных. Инвентаризируем всё, что участвует в расчёте: узлы сети, выгрузки торговых площадок, внутренний учёт, кастодиальные кошельки. На выходе — реестр источников с владельцем, полнотой и задержкой поступления.
  2. Схема потоков данных. Прослеживаем путь операции до строки отчёта: где нормализуются адреса и справочники, как сопоставляются записи в сети и во внутреннем учёте, где расходятся курсы и комиссии.
  3. Модель данных и правила агрегации. Версионируем справочники, ведём неизменяемый журнал операций и закладываем пересчёт за прошлые периоды — иначе правка методики превращается в ручную сверку.
  4. Настройка отчёта. Привязываем показатели к полям формы регулятора, добавляем автопроверки на полноту и сверку итогов с учётными системами до выгрузки.
  5. Тестовый прогон отчёта. Прогоняем на исторических периодах и сверяем с ранее сданными формами; расхождения разбираем до причины. Критерий приёмки — сходимость на нескольких периодах подряд.
  6. Регламент и мониторинг. Расписание формирования, оповещения о неполных данных, журнал запусков и роли — чтобы сдача не зависела от одного человека.
  7. Передача системы. Передаём контур с документацией, доступами и обучением команды, разбираем типовые инциденты и сопровождаем первые периоды сдачи.

На выходе — воспроизводимый процесс: отчёт собирается по регламенту, а новые требования ложатся в описанную схему, а не в переписывание с нуля.

Комплект документации и регламентов для подготовки к проверке

Проверяющий смотрит не на код, а на процесс: первым делом он запрашивает, как формируется отчёт, кто имеет доступ к данным и чем подтверждается их полнота. Поэтому по итогам проекта у заказчика остаётся не только работающая система, но и связанный с ней комплект документов — по нему систему эксплуатируют, передают новой команде и защищают на проверке.

  • Документация системы — состав компонентов, схема развёртывания, внешние зависимости, точки отказа и порядок восстановления после сбоя.
  • Схема потоков данных — путь записи от источника сделки до витрины отчётности: где данные нормализуются, на каком шаге попадают в неизменяемый журнал и как исключается повторный учёт.
  • Описание правил расчёта — сопоставление полей исходных событий с показателями отчёта: обработка частичных исполнений, дублей, расхождений по курсу и времени операции.
  • Регламент подготовки отчётности — календарь закрытия периода, кто подтверждает полноту среза, в какой момент формируется выгрузка и как действовать при расхождении сверки.
  • Политики доступа — роли, разграничение прав на уровне записей и полей, порядок выдачи и отзыва доступов, журналирование действий администраторов.
  • Инструкции для команды — как поднять локальный контур, прогнать сверку на тестовых наборах, подключить нового поставщика данных и откатить версию правил.
  • Модель данных и справочники — сущности, типы операций, статусы, коды валют и связь с реестром контрагентов.
  • Журнал версий правил — с какой даты действует каждая редакция, чтобы восстановить состояние отчёта на любой прошедший период.

Комплект версионируется вместе с системой: при изменении правил обновляется соответствующий раздел, поэтому к моменту проверки документы описывают ровно то состояние, которое работает на контуре.

Кейс: расхождения в сверке операций сократили втрое

Клиент — криптобиржа с лицензией на брокерскую деятельность: активы клиентов лежат в кастодиальных кошельках, часть торговли вынесена на внешние площадки. Регуляторную отчетность собирали вручную — выгрузки из торгового ядра, из кошельков и из сетей сводили в таблицы, сверку операций делали по журналам. До первой версии отчета проходило девять рабочих дней, а правки после проверки растягивали срок еще на неделю.

Что изменили

Развели три независимых источника: торговое ядро, кастодиальные кошельки и данные самой сети. Каждую операцию нормализовали к единому виду и сопоставляли по ссылке на транзакцию, адресам и сумме с допуском на округление. Отдельные правила завели для внутренних переводов и комиссий, чтобы они не попадали в отчет как движение клиентских средств. Для скрининга адресов подключили Chainalysis — риск-признаки попадают в ту же сверку, а не живут отдельным файлом.

Результат в цифрах

Метрика До После
Срок сборки отчета до первой версии 9 рабочих дней 2 рабочих дня
Записи, не сходящиеся при сверке 6,3% 2,1%
Строки с ручной правкой 68% 12%
Разбор одного расхождения 30–40 минут 5–7 минут

Оставшиеся 2,1% — не «шум», а конкретный класс случаев: курсовые разницы в момент зачисления и переводы между собственными счетами. После двух закрытых периодов правки касались только правил классификации, новый ручной труд не появлялся. Отчет стал воспроизводимым: одинаковые выгрузки дают одинаковый результат, а след сверки хранится вместе с версией отчета.

Чем отличается регулярный отчет от разовой выгрузки по запросу

Плановая сдача строится вокруг регламента: форма отчёта, момент отсечения данных и срок подачи известны заранее. Разовые выгрузки по запросу так не работают — регулятор называет интересующий период и вопрос, а на ответ отводится несколько рабочих дней. Разница подходов проявляется не в объёме данных, а в том, умеет ли система восстановить состояние на произвольную дату.

При регулярной сдаче ключевое — повторяемость: один и тот же период, пересобранный из журнала операций, должен дать идентичный результат. Поэтому фиксируются версии справочников, курсы на дату операции, а не на дату отчёта, и правила отнесения операций к категориям. Такой контур позволяет ловить неполные записи и незакрытые клиентские досье до дедлайна, а не после него.

Отчёт по запросу проверяет глубину хранения истории. Если данные о транзакциях и клиентских проверках лежат только в операционном хранилище с коротким сроком жизни, восстановить картину за прошлый период нечем. Нужен архив, из которого разовая выгрузка собирается детерминированно, с журналом доступа и трассировкой от строки отчёта до исходной записи.

Ещё одно отличие — проверяемость: плановая сдача обрастает сверками с выписками кастодиана, контролем дублей и операций без подтверждённой принадлежности адреса, а внеплановый запрос вскрывает пробелы в адресных метках и ручные правки в учётных таблицах. По сути, регулярная сдача — контракт по форме и срокам, разовая — проверка того, что неизменяемый журнал событий ведётся с самого начала.

Технические сомнения: данные, доступы, проверяемость

Технические сомнения по регуляторной отчетности сводятся к трём вещам: откуда берутся исходные данные, у кого остаются доступы и как потом доказать, что цифра в отчете — та самая. Всё это закладывается до первой строки кода: схема источников, матрица прав, трассировка расчетов.

Какие доступы к нашим системам вам понадобятся и кто ими управляет?

Только чтение и только на контурах с расчетными данными. Права выдаются персонально инженеру, а не «команде», описаны матрицей ролей и отзываются в один шаг — в журнале видно, кто и к чему имел доступ. Ключи не переезжают в наши среды: работа идет в вашем контуре или на обезличенной копии.

Что делать, если исходные данные неполные или расходятся между системами?

До расчета профилируем выгрузки: доля пустых полей, дубликаты по ключу, расхождения сумм между торговым и учетным контуром, битые временные метки. Правила сопоставления и приоритет источников согласуем заранее, каждая корректировка оставляет след — иначе отчет формально сходится, а данных за ним нет.

Как доказать проверяемость записей внешнему аудитору?

Каждое агрегированное значение раскладывается до первичных записей. Храним версию правил расчета, контрольную сумму входного набора и журнал изменений — повторный пересчет на том же наборе дает тот же результат. Расхождение видно на конкретном шаге, а не «где-то в отчетности».

Обсудим задачу: что нужно для оценки и плана работ

Сроки внедрения системы регуляторной отчётности определяет не объём кода, а состояние данных и число внешних источников. Поэтому оценка проекта начинается с разбора вашей текущей схемы: где лежат журналы операций, как помечены клиенты, какие формы уже собираются вручную. Чем меньше разрывов в этих местах, тем короче путь до первой корректно поданной отчётности.

Чтобы обсудить задачу предметно и вернуться с планом работ, а не с широким диапазоном, нам нужен от вас такой срез:

  • Перечень отчётов и требований регулятора: формы, состав полей, периодичность и крайние сроки подачи.
  • Источники данных: биржевые журналы, записи кастодиана, транзакции в сетях, внутренняя учётная система.
  • Схема идентификации клиентов и связка «кошелёк — счёт — клиент» по каждой юрисдикции.
  • Правила сопоставления полей: как внутренние статусы операций ложатся в поля отчётных форм.
  • Текущий процесс: что готовится вручную, где ведётся сверка, кто подписывает и подаёт документы.
  • Доступы и ограничения: тестовые контуры, испытательные среды регулятора, политика хранения персональных данных.
  • Контрольные точки: по каким отчётам подтверждаем корректность до промышленного запуска.

По этому набору собираем план работ с этапами, очередностью и сроками внедрения — без скрытых зависимостей и пересборки сроков на середине. Первый практический шаг — сверка исторических данных на ограниченном периоде: она показывает реальную трудоёмкость точнее любой прикидки «на глаз». Опишите задачу — вернёмся с оценкой и планом работ.

Направления блокчейн-разработки

Последние работы

  • Разработка сайта компании B2B ADVANCE
    Разработка сайта компании B2B ADVANCE
    1542
  • Разработка веб-приложения для компании FEEDME
    Разработка веб-приложения для компании FEEDME
    1394
  • Разработка веб-сайта для компании БЕЛФИНГРУПП
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    1081
  • Разработка интернет магазина для компании FURNORO
    Разработка интернет магазина для компании FURNORO
    1369
  • Разработка логотипа компании B2B Advance
    Разработка логотипа компании B2B Advance
    816
  • Разработка веб-приложения для компании Enviok
    Разработка веб-приложения для компании Enviok
    1141