Анализ выгрузок Obmenka — финальный

Дата: 2026-05-17 Источники: Coin_Change_Liman.xlsx (91 лист, ~5.6 МБ), Crypto_Dom.xlsx (52 листа, ~2.8 МБ) Период данных: декабрь 2022 — май 2026 (3.5 года) Заменяет: xlsx-analysis-preliminary.md


0. TL;DR

Что в файлах — операционная история двух подразделений за 2.5–3.5 года в формате Excel-таблиц: - Liman (Анталья, физический офис): 13 543 сделки, 3 003 уникальных клиента, оборот ~77.7M USDT, профит ~465k USDT за 24 месяца - Crypto_Dom (онлайн глобальный обмен через сеть партнёров): 4 554 сделки, 2 506 клиентов, оборот ~121.8M USDT, профит ~770k USDT за 38 месяцев - Всего: ~18 100 сделок, ~5 500 клиентов, ~200M USDT оборот, ~1.24M USDT профит

Чего не хватает в нашей CRM — 13 новых сущностей/полей нужно добавить. Главные дыры: 1. Партнёры-исполнители выдачи (Liberty/Shilov/Финики — для Crypto_Dom) 2. Город операции (28 городов в данных) 3. Источник привлечения клиента + реферал 4. Категоризированные расходы компании (юристы, налоги, аренда, реклама) 5. Депозиты учредителей и долги 6. Политика мотивации управляющего + автоматический расчёт премии 7. ФОП-операции (UAH↔USDT через украинские ИП)


1. Архитектура файлов

Файл Листов Период Структура
Coin_Change_Liman 91 май 2024 — май 2026 (24 мес) 4 справочника + триплет на месяц (Сделки / Касса / Сводная) + ежемесячная «Оплата Счетов Компании»
Crypto_Dom 52 дек 2022 — май 2026 (38 мес) 8 справочников + 1 «комбайн»-лист на месяц (сделки + сводка + кассы в одном)

06.2026 и 07.2026 в Crypto_Dom — пустые шаблоны (только #DIV/0!), реально данные до мая 2026.


2. Что есть на справочных листах

Liman

Лист Назначение Объём
Финансовая политика компании Формула ЗП управляющего: до $20k чистой прибыли → $300 + 7%; $20–40k → 10%; $40–60k → 13% 11 строк
Клиенты Реестр 103 клиентов с источником привлечения и реферером. Топ-источники: Google maps (32 клиента, 41% доля), Наружная реклама (17, 23%), Рекомендация (11, 15%), Бывший клиент (11, 15%), Реклама ТГ (3, 4%), Реклама Инст (2, 3%), Yandex (1) 103 строки
Оплата Компании Черновик с разовыми платежами при открытии: 100k депозит, 12k оплата компании, и т.п. ~15 строк
Затраты компания Разовые затраты при ребрендинге сентября 2024: адвокат, лицензия Money Gram, нотариус, монтаж рекламы (~$8k) 6 строк

Crypto_Dom

Лист Назначение Объём
Сбор данных клиентов Лог OTC-операций с партнёрами: дата, клиент, контакт, тип (Прием/Выдача/Б/Н/Paypal/Перестановка), валюта, сумма, город, партнёр, ставка %. 11 валют, 28 городов, 15 партнёров 86 реальных строк (252 строк всего)
Клиенты Новые клиенты после переноса со старого учёта (с № 150): город (Анталия 35, Фетхие 1, Алания 1), TG/телефон, тип преференции (покупает 21 / продаёт 16) 37 строк
Офисы Сеть партнёрских пунктов: 13 точек (Киев 3, Одесса, Днепр, Харьков, Стамбул, Прага, Варшава, Милан, Берлин, Дубай, Любляна) 13 строк
Отчет денежный Стартовый журнал кассы при открытии (декабрь 2022): USD/TL/EUR с running balance 18 строк
ФОП Операции через украинские ФОП (физлица-предприниматели) как платёжный шлюз UAH↔USDT. Парная схема (приём UAH через ФОП → выплата UAH через другой ФОП). 145 выплат 157 строк
ФОП июль / ФОП сентябрь Помесячные срезы того же лога дубликаты
Политика компании ЗП Та же формула что в Liman 3 строки

3. Структура листа «Сделки»

Одинакова в обоих файлах:

Колонка Тип Содержание
Дата datetime На первой строке дня; ниже — null (тянется в парсере)
Имя клиента text Свободный текст, часто с маркерами канала (Феел, Сокол ФОП Д, Татьяна WB, Карты)
Валюта give text Всегда USDT
Сумма give float В USDT-эквиваленте
% float Наша наценка (0.01 = 1%)
Валюта get text Всегда USDT
Сумма get float В USDT-эквиваленте
Прибыль float give − get в USDT
Статус text «Завершен» 99.5%, «В процессе» <0.1%, «Перенос» 1 раз
Реферал float сумма комиссии реферу в USDT, НЕ имя

В Liman справа (cols L-R) — статичная справочная таблица курсов дня (USDT↔TL/USD/EUR/UAH). В Crypto_Dom справа — отдельный микрожурнал безналичных (БН client / from / to / amount / currency / inv date / Status), почти всегда пустой.

Поля «менеджер», «откуда пришёл», «отделение» ОТСУТСТВУЮТ. Все сделки представлены как USDT↔USDT — реальная фиатная пара учитывается отдельно в листе «Касса».


4. Реальные объёмы

Liman

Метрика Значение
Всего сделок за 24 месяца 13 543
Сделок за последние 3 месяца (мар-май 2026) 1 201 (489 / 440 / 272)
Уникальных клиентов (по имени) 3 003
Топ-5 клиентов по числу сделок Feel (552), Artem (279), Baran (279), Oleg (256), Alla (221)
Диапазон сумм USDT min 11 / max 700 000 / median 760 / mean 5 737
Оборот за период ~77.7M USDT
Профит 465 497 USDT (≈19 400 USDT/мес)
Источников привлечения 7 (Google maps доминирует — 41%)
Менеджеров/кассиров поле отсутствует

Crypto_Dom

Метрика Значение
Всего сделок за 38 месяцев 4 554
Сделок за последние 3 месяца (мар-май 2026) 435 (165 / 170 / 100)
Уникальных клиентов 2 506 (в именах закодирован канал, реальных меньше)
Уникальных партнёров-исполнителей 15 (Duck Talez, Финики, Gro, Liberty, ОАЭ 101 кл, 001k.Exchange, Shilov, QUIMON, Wite Bit, Rawad, Geron, TrEX, R 21, RUB, Партнер)
Уникальных городов 28 (Киев, Дублин, Online, Питер, Стамбул, Одесса, Москва, Харьков, Дубай, Прага, Варшава, Милан, Берлин, Любляна, ...)
Уникальных физических офисов 13
Уникальных валют (OTC) 11 (USD, EURO, RUB, UAH, AED, Юань, PLN, USDT, TL, GBP, KZT)
Топ-5 клиентов Карты (64), Мисевра (60), Rawad (53), Островский (51), Татьяна инвойс (42)
Диапазон сумм USDT min 6 / max 1 576 801 / median 6 716 / mean 26 739
Оборот ~121.8M USDT
Профит 769 768 USDT (≈20 250 USDT/мес)
Типы операций (OTC) Выдача 45 / Прием 19 / Б/Н 18 / Paypal 3 / Перестановка 1

Совокупно

Значение
Сделок 18 097
Уникальных клиентов ~5 500
Оборот ~199.5M USDT
Профит ~1 235 000 USDT
Средний профит/месяц ~32k USDT (объединённо)

5. Структура «Касса» (Liman)

5 параллельных кассовых журналов в одном листе: USDT, USD, EUR, TL, UAH.

Шапка:

КАССА USDT | КАССА USD | КАССА EUR | КАССА TL | КАССА UAH
Дата|Приход|Расход|Итого| Дата|Приход|Расход|Итого| ...
  • Первая строка после шапки = начальный остаток на 1-е число (например 01.05.2026: USDT 17 127, USD 36 540, EUR 13 050, TL 568 600, UAH 0)
  • Каждая строка = одна операция движения с пересчётом running balance
  • UAH-касса всегда пустая (Liman не работает с гривной)
  • В Crypto_Dom — общий лист «Отчет денежный» с теми же колонками (Дата/Валюта/Получил/Отдал/Остаток), но один поток без разбивки по валютам

→ Точно ложится на нашу CashMovement + Wallet.


6. Структура «Сводная» (Liman)

Месячный финансовый отчёт-карточка:

Блок Что
ВХОД Начальные остатки на 1-е по валютам (USDT, USD, EUR, TL)
ПРИБЫЛЬ Сумма колонки H из «Сделки» (например, март 2026: 14 065 USDT)
ЗАТРАТЫ Из правого блока «Затраты на офис» (например, март 2026: 6 751 USDT)
ВХОД + ПРИБЫЛЬ − ЗАТРАТЫ По 4 валютам
В Сумме Конвертация в USDT (~114k USDT за март 2026)
ОСТАТОК КАССЫ Финальные остатки на конец месяца
Депозиты учредителей Снимок: Собственник 106 936, Adil 50, Olya 40 000, Inara 200, Dima 0, ST 500, Anastasiya 22 000, Feel, DK
Затраты на офис (правый блок) Уборка, Кофе, Реклама, Сервер, Налоги, ЗП сотрудникам
Отчётная таблица компания Премия Hakkı: 1200 USDT, Премия Роман: 1000 USDT
Должники Roma zaym 0, Adil 5500, Adil USD % 2000, Adil Остаток долга 1960
COINCHANGE LIMAN DEPOSIT Журнал движений по депозитному счёту: «Ремонт Офис Виталик 150 000 TL», «Kristina ZP 600», «Продюсер Ютуб 500», «Оплата обучения Кадыгроб 4466»
Курсы валют Eвро 1.158, Лира 44.5, UAH 41.0

7. Структура «Оплата Счетов Компании» (Liman)

Помесячный бюджет расходов с 4 категорий:

Блок Примеры
ОПЛАТА КОМПАНИИ (legal/tax) Нотариус, Печать фирмы, Налоги, Страховка Роман, Страховка Хаккы+Фахры, Бухгалтер УФУК, Юрист ИНАРА (разово/ежемесячно)
ОПЛАТА ОФИСА (utilities) Айдат, Интернет, Вода, Электричество, Уборка (1600 TL × 2р/нед), Кофе/чай/канц, Камеры
ОПЛАТА МЕДИА/СОФТ (marketing/IT) Instagram SMM (700–800 USDT/мес), Сервер, Визитки/флаера/наклейки, Брендирование стаканов
СПИСАНИЯ единоразово Затраты Алания (открытие точки), Ledger Nano X, Телевизор Лиман

Итог за апрель 2026: 7 360 USDT.


8. Структура «Сбор данных клиентов» (Crypto_Dom)

Это самая богатая метаданными таблица — OTC-журнал:

Колонка Пример
Дата 2026-04-24
Имя клиента Denis Dublin, Eugen Savenkov
Контакт @Denis_lawyer_UA / +90 532 ...
Тип операции Прием / Выдача / Б/Н / Paypal / Перестановка
Валюта EURO / USD / RUB / UAH / AED / Юань / PLN / USDT / TL / GBP / KZT
Сумма 38 590
Город Дублин / Питер / Online / Москва / ...
Партнёр Liberty / Gro / 001k.Exchange / Финики / Shilov / Duck Talez / ...
Ставка % 3.2% / 1.0% / 0%
Примечание бартер, 100 пп, доплата

Один клиент Denis за месяц получил €235k через 4 разных партнёра в Дублине — Crypto_Dom выбирает кого использовать в зависимости от ликвидности.


9. Структура «ФОП» (Crypto_Dom)

Двойная схема через украинские ФОП-счета:

Левая половина — Прием: | Дата | ФОП | Валюта | Сумма UAH | Курс | USDT | Статус | |---|---|---|---|---|---|---| | 27.03.25 | ЧИСТОХИНА Я.М 20250327... | UAH | 35 100 | 43.75 | 802.29 | Завершен | | 01.04.25 | Гузеенко | UAH | 698 647 | 44.2 | 15 806.49 | Завершен |

Правая половина — Выплата: те же поля + прибыль. 145 выплат. Профит за период листа ~6 364 USDT.

Логика: клиент даёт UAH через ФОП-приём → CryptoDom выдаёт USDT клиенту → второй клиент платит USDT → CryptoDom выдаёт UAH через ФОП-выплату → прибыль на разнице курсов.

→ Это отдельный канал, который должен быть выделен в учёте (метка типа operations).


10. Маппинг xlsx → CRM-модель

Прямые соответствия (наша модель уже покрывает)

xlsx CRM-поле
Дата сделки Deal.created_at
Имя клиента Client.nameDeal.client_id
Контакт TG/телефон Client.tg_username / Client.phone
Валюта/сумма give Deal.give_asset, Deal.give_amount
Валюта/сумма get Deal.get_asset, Deal.get_amount
% наценка вычисляется → можно сохранять как Deal.markup_pct (нет поля сейчас)
Прибыль Deal.profit_usdt
Статус Deal.status (расширить enum: Завершен/В процессе/Перенос)
Касса валюта/приход/расход CashMovement(cash_in/out)
Остаток Wallet.balance (через агрегацию)

Что нужно ДОБАВИТЬ в CRM (13 дельт)

# Что Где в xlsx Зачем
1 Partner (контрагент-партнёр для OTC) CD «Сбор данных», «Офисы» 15 партнёров уже в данных, без этого Crypto_Dom не имеет смысла импортировать
2 PartnerOffice (физическая точка партнёра) CD «Офисы» 13 точек: адрес + график. ≠ наш Branch
3 Operation.city или FK на City CD «Сбор данных» col Город 28 городов в данных
4 Operation.partner_id CD «Сбор данных» col Партнёр Кто фактически выдал/принял
5 Client.acquisition_source (enum) Liman «Клиенты» col D google_maps / tg_ad / instagram_ad / outdoor_ad / recommendation / former_client / yandex / direct
6 Client.referrer_id (self-FK) + ReferralPayout Liman «Клиенты» col Реф. + Сделки col J Имя реферера + сумма выплат рефералу
7 Client.city / Client.country CD «Клиенты» col Город Анталия/Фетхие/Алания
8 Client.preferred_operation CD «Клиенты» col Операция покупает/продаёт
9 Expense + категории Liman «Оплата Счетов» 4 категории: legal/utilities/marketing/one_time
10 OwnerDeposit Liman «Сводная» блок Депозиты Учёт долей учредителей
11 Receivable (долги) Liman «Сводная» блок Должники Adil 5500, Roma zaym и т.п.
12 Employee + SalaryPolicy + MonthlyBonus Liman «Финансовая политика» + «Сводная» Премия Hakkı Авторасчёт премии управляющего от прибыли
13 FopOperation (или Operation.kind='fop_in/out') CD «ФОП» Отдельный канал UAH↔USDT через украинские ИП

Что наша CRM имеет, чего нет в xlsx

  • ✅ Real-time on-chain парсинг балансов (TronGrid)
  • ✅ Auto-reconcile сделок ↔ блокчейн-tx
  • ✅ RBAC + audit log
  • ✅ Карточка клиента с историей
  • ✅ Workflow статусов сделки
  • ✅ Кассовые смены (хотя в xlsx running balance без смен — это упрощение в их учёте)

11. Особенности импорта (предостережения)

  1. Liman сделки всегда USDT↔USDT в листе «Сделки». Реальная фиатная пара (TL/USD/EUR) учитывается отдельно в листе «Касса». Это значит при импорте мы либо теряем валютную пару, либо склеиваем Deal + парный CashMovement по дате+сумме (эвристика).
  2. Дата проставляется только на первой строке дня — нужно forward-fill в парсере.
  3. Текстовые поля "43 000" с пробелом, "-" вместо 0 — нужна санитизация.
  4. Имена клиентов в Crypto_Dom часто содержат маркеры канала (Мисевра ФОП К, Мисевра ФОП Д, Мисевра руб) — это один клиент через разные каналы. При импорте нужна нормализация: либо склеивать в одного клиента + помечать канал отдельным полем, либо оставлять как разные записи (риск дубликатов).
  5. «Шаблонные» пустые строки в конце листов Сделки нужно фильтровать.
  6. Crypto_Dom 06.2026 и 07.2026 — пустые шаблоны (только #DIV/0!).
  7. Колонка Реферал в Сделках = числовая сумма, не имя. Имя реферера — только в листе «Клиенты» Liman.
  8. «Колонка J Прибыль (вторая)» в Crypto_Dom иногда дублирует col I, иногда содержит маркер «1.5» или «45» — назначение непонятное.

12. План работы (предложение)

Этап A: Расширение схемы (3–5 дней)

Минимально необходимое для импорта без потери данных: - Миграция: Partner, PartnerOffice, AcquisitionSource (справочник), Client + acquisition_source, referrer_id, city, country, preferred_operation, external_number для миграции - Deal + markup_pct, partner_id, operation_city, operation_kind (расширить enum) - Expense + категории + связь с CashMovement - OwnerDeposit, Receivable, Employee, SalaryPolicy, MonthlyBonus, MonthlyClosure

Этап B: Импорт исторических данных (2–3 дня)

  • Liman: 1 201 сделка за март–май 2026 + 103 клиента из «Клиенты» + балансы кассы на 01.05 + 4–5 категорий расходов
  • Crypto_Dom: 435 сделок за март–май 2026 + 37 клиентов + 13 партнёрских офисов + 15 партнёров + ФОП-операции
  • Парсеры: один-в-один для каждого типа листа, с логированием конфликтов

Этап C: UI (1–2 недели)

  • Карточка клиента: блок с источником, рефералом, городом, преференциями
  • Страница /partners для OTC (партнёры и их офисы)
  • Страница /expenses (расходы по категориям + регулярные)
  • /payroll (политика ЗП + текущая премия + история)
  • /monthly-closure (закрытие месяца с фиксацией KPI)

Этап D: Импорт за весь период (опционально)

Если потребуется аналитика за 2–3 года — повторный прогон импортёров на старые месяцы. Историю кассы лучше игнорировать (running balance не имеет смысла без живых смен), импортировать только агрегаты в MonthlyClosure.


13. Открытые вопросы (требуют ответа)

13.1. Бизнес-стратегия

  1. Liman и Crypto_Dom — одна компания или две? Это влияет на multi-tenancy: одна БД с фильтром по tenant_id или две независимых установки CRM?
  2. Главный сценарий использования — какие модули важнее в первую очередь: - (a) Расходы + ЗП управляющих → закрытие месяца с авторасчётом премии - (b) Партнёры OTC → маршрутизация выдач по городам - (c) Источник лида + рефералы → маркетинговая аналитика - (d) ФОП-операции → UA-канал
  3. За какой период импортировать сделки — последние 3 месяца / 6 месяцев / весь период (3 года)?
  4. Liquidity Provider vs Branch — это две разные сущности (Partner + PartnerOffice отдельно от Branch) или Branch.type='partner_office'?

13.2. Данные

  1. «Татьяна WB», «Карты», «Мисевра ФОП К/Д/руб» — один клиент через разные каналы или разные? Логика нормализации?
  2. «Колонка J вторая Прибыль» в Crypto_Dom — что означает (1.5, 45, 0)?
  3. Лист «Оплата Компании» Liman (3 разорванных колонки с черновыми пометками) — структура непонятна. Удалить или восстановить?

13.3. Имплементация

  1. Сохранять running balance кассы из xlsx или пересчитывать? Я бы пересчитал — может быть точнее.
  2. Импорт «как есть» через скрипт или через UI с возможностью править?
  3. Дубликаты клиентов (одно и то же имя в разных вариантах) — автоматическое склеивание или ручная модерация?

14. Что нужно от тебя

  1. Ответ на 10 открытых вопросов выше — даже короткими «да/нет» / порядок приоритетов
  2. Третий файл (обещанный) — если структура другая, всё перепроверим
  3. Готов ли что мы расширяем схему до импорта (правильный путь) или хочешь сначала импортировать что есть в текущей модели (быстрый путь, но 7+ полей теряются)

После ответов — могу делать миграцию схемы и парсеры для импорта.