Руководство Exchange Pro · вводная глава

Как система понимает деньги, WAC и прибыль

Одни и те же купюры могут лежать в нашей кассе, но принадлежать клиенту. Одна и та же сделка может дать компании убыток, а сотруднику положительный результат. Здесь показано, почему это не ошибка.

Ключевые формулы сверены с кодомЛК: тестовая версия, 23.09.2026На согласовании у владельца

От намерения к подтверждённым деньгам

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

Путь финансового событияУсловия операции переходят в заявки, активные заявки влияют на прогноз, исполнение создаёт факт и журнал, из которых рассчитываются показатели. ОперацияСогласованные условияденег ещё нет ЗаявкиАктивность → резерви прогноз Факт + журналПодтверждённоеисполнение Финансовая картинаОстатки · WAC · долгирезультат компании / сотрудника
Схема по текущему потоку операция → заявки → факты → ledger → read model; схема не является скриншотом ЛК.
Правило чтения: «в кассе есть» ≠ «это наши деньги» ≠ «они доступны для новой выдачи» ≠ «на этом уже заработали».

Что физически лежит, что доступно и что принадлежит компании

Фактический остаток

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

Доступно сейчас

Фактический остаток с учётом активного резерва расхода. Это контроль оперативной доступности, а не новая проводка.

Активный приход / в резерве

Планы из активных заявок: сколько ожидается получить и сколько уже зарезервировано на выдачу. Они видны отдельно от факта.

Ожидаемый остаток / прогноз

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

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

Собственная позиция = физический остаток − клиентские обязательства + клиентские долги
Клиент принёс+100 RUBфизически в кассу
Баланс клиента+100 RUBмы должны ему
Наша позиция0 RUBэто не покупка наших рублей

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

Реальный экран тестового ЛК: таблица Источник, Сейчас, Доступно, Прогноз, Позиция компании
Реальный тестовый ЛК, 23.09.2026 → «WAC / Балансы / Прибыль» → таблица «Источники». Колонки именно разделяют физический остаток, доступность, прогноз и позицию компании. Показанные суммы относятся к тестовой книге, не к учебному примеру выше.

WAC — средняя стоимость наших денег

WAC (weighted average cost) отвечает не на вопрос «по какому курсу продаём клиенту», а на вопрос «во сколько в среднем обошлась компании единица собственного актива». Стоимость хранится в базовой оценке USDT. Для RUB/AED на экране курс обычно читается как количество валюты за 1 USDT; для обратного направления — как USDT за единицу валюты. Единицы курса всегда важны.

Если курс — AED за 1 USDT

Купили 4 000 AED за 1 000 USDT при нулевом исходном остатке. WAC = 4 AED за 1 USDT. Выдали 1 000 AED — списали 250 USDT стоимости; оставшиеся 3 000 AED имеют стоимость 750 USDT, WAC остаётся 4.

WAC = количество своих AED / стоимость USDT

Если курс — USDT за 1 EUR

Для такого направления число означает стоимость одной единицы валюты в USDT. Система хранит вместе с числом единицы котировки и умеет принимать обратный ввод без изменения экономического смысла.

WAC = стоимость USDT / количество своих EUR

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

Если стоимость неизвестна: «нет WAC» и «нулевой WAC» — разные состояния. Система не должна подставлять ноль или бенчмарк вместо недостающей фактической себестоимости. Историческую оценку подтверждают отдельным основанием и аудитом.
Реальный экран тестового ЛК: выбор источника и валюты, текущий WAC, WAC после активных заявок и пять показателей остатка
Реальный тестовый ЛК, 23.09.2026 → «WAC / Балансы / Прибыль» → выбран RUB cash. Видны «Сейчас», «С заявками», текущая себестоимость, активный приход, резерв и ожидаемый остаток. Тестовые 100 RUB / 0,27027 USDT не используются как нормативный курс в примерах этой главы.

Прибыль компании и результат сотрудника — разные числа

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

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

Одна продажа, два результатаКомпания выдала 4000 AED себестоимостью 1000 USDT и получила 950 USDT, её результат минус 50. При продажном ориентире 5 AED за USDT ориентир выдачи 800 USDT и результат сотрудника плюс 150.Учебная продажа: получили 950 USDT · выдали 4 000 AEDКомпания · фактическая стоимость AED950 − 1 000 = −50 USDTСохранённая себестоимость выданного: 1 000Сотрудник · sell-бенчмарк 5 AED / USDT950 − 800 = +150 USDTОриентир выдачи: 4 000 / 5 = 800
Синтетический пример прямо покрыт доменным тестом новой модели: результат компании −50 и результат сотрудника +150. Это не снимок фактической сделки.
Не складывать: −50 и +150 — два взгляда на одну сделку, не две статьи общего дохода. «Результат сотрудника» нельзя подставлять вместо неизвестной прибыли компании и наоборот.
Показатель в финансовой картинеКак его понимать
Приход / себестоимостьСтоимость фактического получения и стоимость фактического списания в USDT; это основания результата, а не ещё две прибыли.
Бизнес / эффективностьДва независимых результата операции: компании и ответственного сотрудника. При равенстве оба остаются видны отдельно.
Ожидаемая прибыльПредпросмотр по плановым суммам и текущему либо ожидаемому WAC. Это не исполненный результат; неизвестная оценка отображается как недоступная, а не как ноль.
Результат покрытия позиции компанииОтдельный результат, когда закрывается отрицательная собственная позиция. Он не начисляется сотруднику и не подменяет результат первоначальной сделки.
Оценка позиции в капиталеUSDT-оценка позиции, показываемая в контексте исторической поправки стоимости. Поправка стоимости остатка не тождественна новому физическому приходу или прибыли сделки.

Покупной и продажный бенчмарки

Покупка

Наша расчётная сторона принимает валюту. Для оценки результата сотрудника используется покупной ориентир этой валюты. Пример: получили 4 200 AED за 1 000 USDT, buy-бенчмарк 4 AED/USDT → 4 200 / 4 − 1 000 = +50 USDT сотруднику; компания на самой покупке признала 0.

Продажа

Наша расчётная сторона выдаёт валюту. Используется продажный ориентир выдаваемого актива. Если обе стороны не-USDT, нужны соответствующие buy и sell; при партнёре ориентиры относятся к нашим расчётным сторонам, а не к валюте, которую клиент передал партнёру.

Уполномоченный сотрудник может вводить ориентир как «валют за 1 USDT» или «USDT за 1 валюту». Система сохраняет направление вместе с числом и нормализует оценку. Снимок нужных бенчмарков и правила отсутствия делается при создании операции; смена общих настроек позже не переписывает старую сделку. Если до первого исполнения изменили валютную пару новой модели, снимаются ориентиры новой пары; изменение только суммы их не обновляет.

Если нужного ориентира нетРезультат сотрудникаРезультат компании
Политика «0»0 USDT для этой операцииСчитается по фактам и себестоимости независимо
Политика «как компания»Равен прибыли или убытку компании; если она ещё не оценена — ждёт оценкиНе подменяется бенчмарком

Отсутствие ориентира посторонней валюты не отключает сделку. Ни одна из политик не разрешает придумывать отсутствующий WAC или проводить некорректную котировку.

Реальная форма Бенчмарки сотрудников в тестовом ЛК: политика отсутствия, покупка и продажа, переключатели единиц
Реальный тестовый ЛК, 23.09.2026 → «Структура компании» → «Бенчмарки сотрудников». На снимке видны две политики отсутствия, отдельные покупки/продажи и оба направления ввода. Текущая выбранная политика на тестовой книге — «Результат сотрудника — 0»; это настройка книги, не универсальное правило продукта.

«Мы должны» и «нам должны» — не кассовая прибыль

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

Клиент оставил AED

После признанного обмена 1 000 AED лежат на его балансе. Это наш долг перед ним в AED. Позже выдаём эти же AED через списание баланса: долг закрывается, нового обмена и новой обменной прибыли нет.

Выдали раньше приёма

Выдали 4 000 AED, согласовали получить 950 USDT завтра. В момент выдачи фиксируются факт, стоимость AED, результат и требование к клиенту на 950 USDT. Завтрашний приём закрывает долг, не создаёт вторую прибыль.

Партнёрский расчёт

Партнёр выдал клиенту деньги за нас. Компания должна партнёру согласованную валюту расчёта до оплаты. Если партнёр должен перевести нам принятую им сумму — это отдельное требование к нему. Эти стороны не смешиваются с тем, что клиент отдал партнёру.

Важно при сравнении сумм: долг в AED и долг в USDT нельзя просто вычесть друг из друга как числа. Для USDT-оценки нужен утверждённый курс/себестоимость точного маршрута. Обязательство, резерв и физический остаток показываются раздельно.

Почему вчерашняя цифра может измениться, а вчерашний факт — нет

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

СитуацияЧто происходитЧто не происходит
Изменили ожидаемый приём после выполненной выдачиЕдиный результат операции обновляется на исходную дату признания; изменение условий и его дата остаются в аудитеНет второго дохода на дату правки и нет выдуманного физического приёма
Позже приняли согласованные деньгиГасится уже признанное требованиеНет повторного обмена или повторного признания прибыли
Исправили ошибочный исполненный фактОтдельный запрос, основание и независимое подтверждение; расчётная цепочка воспроизводится с исправленной эффективной суммойИсходный факт и аудит не стираются; сегодняшние бенчмарки не заменяют сохранённые
Выдали клиенту валюту с его балансаЗакрывается обязательство в той же валютеНет нового обмена и новой обменной прибыли

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

Где открыть эти понятия в тестовом ЛК

1

Откройте «WAC / Балансы / Прибыль»

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

2

Прокрутите до «Единой финансовой картины»

В таблице «Источники» сверяйте «Сейчас», «Доступно», «Прогноз», «Позиция компании». Реальный снимок шага 2 показывает эту таблицу в текущем тестовом ЛК.

3

Откройте «Структура компании» → «Бенчмарки сотрудников»

Здесь видны оба ориентира для каждой валюты и политика отсутствия. Реальный снимок шага 3 получен из этой формы; сохранение настроек в рамках главы не выполнялось.

Граница проверки: эта вводная глава сопоставлена с кодом и тремя экранами владельца на test.exproone.com. Она не означает, что все операции, права всех ролей, бот и Mini App уже повторно пройдены. Их проверки идут по главам 1–14.