🔐

Авторизация

Войдите через Google или по почте, чтобы синхронизировать данные и настройки ваших магазинов.

{{ authError }}
{{ authMessage }}
Создавая аккаунт, вы соглашаетесь с Пользовательским соглашением

WB Unit Economy

У вас установлено самое последнее обновление
{{ statusText }}
{{ {none: 'Без группировки', category: 'Категории', sales: 'Продажи', brand: 'Бренды', returns: 'Возвраты'}[groupingMode] }}
Без группировки
По категориям
По брендам
По продажам
По возвратам
{{ statusText }} {{ syncProgressPct }}%
{{ timeAgoText }}
Выборочное обновление:
📦 Загрузить каталог и цены с WB
📊 Загрузить продажи с WB
🔌 Синхронизировать цены МоегоСклада
Запустить полное обновление
⚙️ Настройки синхронизации...
🏪 {{ activeStoreName }}
{{ store.name }}
Период продаж
Все время
День
Неделя
Месяц
Свой
Фильтр:
Загрузка данных...
📜

Пользовательское соглашение

Правила использования и отказ от ответственности

Внимательно ознакомьтесь с настоящим Пользовательским соглашением перед началом регистрации и использования сервиса Atmos Finance. Нажатие кнопки «Создать аккаунт» означает полное и безоговорочное согласие со всеми пунктами настоящего Соглашения.

1. Термины и определения

Сервис (Программное обеспечение) — веб-приложение Atmos Finance (wb.aisyn.ru), представляющее собой аналитическую систему расчёта юнит-экономики и ценообразования на маркетплейсах.
Администрация (Лицензиар) — команда разработчиков и правообладателей Atmos Finance.
Пользователь (Лицензиат) — лицо, зарегистрированное в Сервисе для управления магазинами на маркетплейсах.

2. Предмет соглашения

Администрация предоставляет Пользователю неисключительную, ограниченную лицензию на использование Сервиса на условиях «как есть» (as is). Соглашение является публичной офертой, акцептуемой при регистрации аккаунта.

3. Ограничение ответственности и использование на свой страх и риск

Все расчёты юнит-экономики, скидок, маржинальности и изменения цен в личном кабинете Wildberries осуществляются Пользователем исключительно на собственный страх и риск.

Разработчики и правообладатели Сервиса не несут никакой ответственности (прямой или косвенной) за любые финансовые убытки, упущенную выгоду, штрафы за объемный вес КГТ или блокировку личного кабинета продавца со стороны Wildberries.

Пользователь обязуется вручную перепроверять любые рассчитанные цены и лимиты в кабинете продавца Wildberries перед публикацией и применением критических изменений.

4. Интеграции и учётные данные

Пользователь несёт единоличную ответственность за сохранность и права доступа генерируемых API-ключей Wildberries и МойСклад. Сервис хранит токены в локальном кэше и зашифрованном виде на сервере, но не несет ответственности за действия третьих лиц, получивших доступ по халатности Пользователя.

5. Интеллектуальная собственность

Все права на Сервис, исходный код, бренд и алгоритмы Atmos Finance принадлежат правообладателям. Пользователю запрещается осуществлять обратную разработку (reverse engineering) или копирование кода.

6. Форс-мажорные обстоятельства

Стороны освобождаются от ответственности за неисполнение обязательств при наступлении форс-мажора: блокировках серверов государственными органами или кардинальных односторонних изменениях в API маркетплейсов.

7. Разрешение споров и применимое право

Все споры регулируются путем переговоров и письменных претензий (срок ответа — 30 дней). В случае недостижения согласия споры передаются в суд по месту нахождения Лицензиара с применением законодательства РФ.

Atmos Системный Лог Изменений

Полная хронология версий и обновлений ядра WB Unit Economy

История обновлений пуста или загружается...

Update {{ entry.update }} v{{ entry.version }}
{{ formatUpdateDate(entry.date) }}

{{ entry.description }}

Изменения в файлах ({{ entry.files ? entry.files.length : 0 }})
  • {{ file }}
Atmos Core V2
Всего обновлений: {{ updatesHistory.length }}
{{ backgroundLoading ? statusText : 'Синхронизация завершена' }}
⚡ Процесс синхронизации данных...
------------------------------------------------------------
[$] {{ log }}
Запросы к серверам...
✅ Синхронизация успешно завершена.
{{ { sales: 'Продажи:', category: 'Категории:', brand: 'Бренды:', returns: 'Возвраты:' }[groupingMode] || 'Группы:' }}
{{ selectedGroups.size === 0 || selectedGroups.size === availableGroups.length ? ({ sales: 'Все продажи', category: 'Все категории', brand: 'Все бренды', returns: 'Все возвраты' }[groupingMode] || 'Все группы') : (selectedGroups.size === 1 ? [...selectedGroups][0] : (groupingMode === 'sales' ? selectedGroups.size + ' продаж' : (groupingMode === 'returns' ? selectedGroups.size + ' возвратов' : (groupingMode === 'brand' ? selectedGroups.size + ' брендов' : selectedGroups.size + ' групп')))) }}
{{ { sales: 'Все продажи', category: 'Все категории', brand: 'Все бренды', returns: 'Все возвраты' }[groupingMode] || 'Все' }}
{{ group }}({{ groupItemCounts[group] || 0 }})

Синхронизация

💡
Умный период загрузки: При первой синхронизации (или сбросе кэша) будут выгружены продажи за выбранный период ({{ syncPeriod === '6' ? '6 месяцев' : syncPeriod === '12' ? '1 год' : syncPeriod + ' мес.' }}). При последующих обновлениях синхронизируется только последний месяц для экономии лимитов API.

Выберите разделы для обновления:

📅 Период загрузки отчетов:

Настройки

Правила маржи от цены

Если цена товара попадает в диапазон, к нему автоматически применится указанная желаемая маржа.

От
До
Маржа: %

Правила комиссии от продаж

Выберите, какую фактическую комиссию выставлять товару в зависимости от числа продаж.

От
До шт.

Стандартные значения

Значения по умолчанию для новых или сброшенных товаров.

Глобальный налог (%)
Желаемая маржа (%)
Комиссия по умолчанию
Без покатушек товара Не учитывать возвраты и отказы в фактической логистике
Логистика для проданных товаров Какую стоимость использовать по умолчанию при открытом замочке автосинхронизации

Настройки API интеграции

Укажите собственные API токены для Wildberries и Моего Склада. Все данные сохраняются исключительно локально в вашем браузере (localStorage) и не передаются третьим лицам. Оставьте поля пустыми для использования демонстрационных ключей по умолчанию.

⚠️ Функция управления несколькими магазинами доступна только авторизованным пользователям.

Мои Магазины

📭 Список магазинов пуст. Создайте ваш первый магазин ниже!
✏️ Редактирование магазина
🏪
{{ store.name }} Активный

Добавить новый магазин

{{ newStoreError }}

Фоновое автообновление данных

Приложение в фоновом режиме опрашивает API Wildberries и Моего Склада для поддержания актуальности цен, заказов и продаж. Настройте желаемый интервал автообновления.

Внимание! Короткие интервалы (10–15 минут) создают повышенную нагрузку на API Wildberries. В случае временных сбоев или блокировок со стороны WB, интервал может быть временно увеличен планировщиком для предотвращения ошибок лимита запросов (HTTP 429).
Безопасный режим. Выбранный интервал ({{ settings.autoSyncInterval >= 60 ? (settings.autoSyncInterval / 60) + ' ч.' : settings.autoSyncInterval + ' мин.' }}) полностью безопасен для лимитов запросов Wildberries API и гарантирует стабильную работу без блокировок.
Категории товаров в продаже
Найдено: {{ activeCategories.length }}
Категория (Предмет) {{ wbCommSortKey === 'subjectName' ? (wbCommSortDesc ? '▼' : '▲') : '⇅' }} ID Предмета {{ wbCommSortKey === 'subjectID' ? (wbCommSortDesc ? '▼' : '▲') : '⇅' }} Комиссия {{ wbCommSortKey === 'commissionPercent' ? (wbCommSortDesc ? '▼' : '▲') : '⇅' }}
{{ cat.subjectName }} ({{ cat.productCount }}) {{ cat.subjectID }}
%
Категории не найдены.
Попробуйте изменить поисковый запрос или импортировать товары.

Настройка схемы и складов доставки

Выберите используемую схему логистики (FBS или FBO) и склад отгрузки для автоматического перерасчета юнит-экономики каждого товара.

FBO (Продажи со склада WB) ● Активно
Тарифы логистики определяются автоматически для каждого выбранного склада Wildberries.
FBS (Доставка со своего склада) ● Активно
Фиксированная или настраиваемая стоимость доставки силами продавца или партнерских служб.

* Выбранный склад применяется ко всем товарам. При расчете учитываются объем товара в литрах (по габаритам упаковки) и тарифы за базовый объем + превышение.

Склад: {{ settings.selectedWarehouseName }} Дата обновления: {{ new Date().toLocaleDateString() }}
Доставка короба {{ currentWarehouseTariff ? Number(currentWarehouseTariff.boxDeliveryBase || 0).toFixed(0) + ' ₽' : '—' }}
За каждый литр {{ currentWarehouseTariff ? Number(currentWarehouseTariff.boxDeliveryLiter || 0).toFixed(2) + ' ₽' : '—' }}
Хранение (короб) {{ currentWarehouseTariff ? Number(currentWarehouseTariff.boxStorageBase || 0).toFixed(2) + ' ₽' : '—' }}

* Фиксированная стоимость отгрузки одной единицы товара со склада продавца, включая магистраль и последнюю милю.

Синхронизация Wildberries

Настройте правила импорта и экспорта цен для маркетплейса Wildberries.

⬇️ 1. Импорт розничных цен (WB -> Приложение)

{{ isSyncingWbSettings ? 'Выполняется импорт товаров...' : 'Импорт товаров завершен' }}
{{ formatSyncTime(wbSyncElapsedTime) }}
{{ msg }}

⬆️ 2. Экспорт целевых цен (Приложение -> WB)

Заблокированные замочком 🔒 поля работают строго на чтение (защита от записи). Разблокированные 🔓 поля будут перезаписываться при экспорте.

🔒 Режим «Только для чтения» активен. Запись целевых цен на Wildberries заблокирована. Включите чекбокс выше, чтобы получить возможность разблокировать отдельные ячейки цен.
🔓 Внимание! Запись разрешена. Вы можете кликнуть на замочек рядом с нужным полем, чтобы открыть его для записи.
Название ячейки цены Значение для примера (1-й товар)
{{ field.name }} {{ field.technicalName || field.id }}
руб (RUB)

⚠️ Внимание! Выбранная ячейка заблокирована замочком. Экспорт не сможет выполниться до разблокировки!

3. Выгрузить цены на Wildberries

Прогресс: {{ wbExportStatus.progress }}% Успешно: {{ wbExportStatus.successCount }} | Ошибок: {{ wbExportStatus.failCount }} (Всего: {{ wbExportStatus.totalCount }})
{{ wbExportStatus.details }}

Синхронизация МойСклад

Настройте сопоставление полей для импорта себестоимости и безопасного экспорта целевых цен обратно в МойСклад.

⬇️ 1. Импорт себестоимости и маржи (МойСклад -> Приложение)

💡 Значение маржи будет автоматически обработано: коэффициенты (например, 1.30) или наценки переводятся в плановые проценты (например, 30%).

⬆️ 2. Экспорт целевых цен (Приложение -> МойСклад)

Заблокированные замочком 🔒 поля работают строго на чтение (защита от записи). Разблокированные 🔓 поля будут перезаписываться при экспорте.

🔒 Режим «Только для чтения» активен. Запись цен в МойСклад заблокирована. Включите чекбокс выше, чтобы получить возможность разблокировать отдельные ячейки цен.
🔓 Внимание! Запись разрешена. Вы можете кликнуть на замочек рядом с нужным полем, чтобы открыть его для записи.
Название ячейки цены Значение для примера (1-й товар)
{{ field.name }} {{ field.technicalName || field.id }}
руб (RUB)

3. Выгрузить цены в МойСклад

Прогресс: {{ msExportStatus.progress }}% Успешно: {{ msExportStatus.successCount }} | Ошибок: {{ msExportStatus.failCount }} (Всего: {{ msExportStatus.totalCount }})
{{ msExportStatus.details }}

Базовая логика и формулы расчетов

В системе используется гибридный расчет показателей. При наличии реальных продаж по товару юнит-экономика переключается на фактические данные от Wildberries. Если продаж еще не было, система применяет теоретическую (плановую) модель.

📊 Расчет графы «Чистая прибыль (₽)»

Алгоритм расчета чистой прибыли зависит от наличия реальных продаж по API за выбранный период:

Сценарий 1 Есть фактические продажи за период

Используется реальная прибыль на основе фактических выплат от маркетплейса.

Чистая прибыль = [От WB] (средняя за единицу) - [Закупка (₽)] - [Налог]
[От WB] (Фактическая выплата) — это сумма, которую Wildberries реально перечислил на ваш счет по данному товару. В ней уже вычтены фактическая стоимость доставки (логистика) и комиссия маркетплейса за каждую единицу. Повторного вычитания логистики не происходит!
[Закупка (₽)] — себестоимость единицы товара из Моего Склада.
[Налог] — налог УСН в рублях, рассчитываемый по формуле: [Цена (₽)] * [Налог %] / 100.
Сценарий 2 Продаж по товару за период не было

Расчет ведется по теоретической (плановой) юнит-экономике на основе ваших тарифов и настроек.

Чистая прибыль = [Цена (₽)] - [Списания WB (₽)] - [Налог] - [Закупка (₽)]
[Списания WB (₽)] — сумма плановой комиссии в рублях ([Цена (₽)] * [План. Комиссия %] / 100) и стоимости логистики за единицу ([Логистика]).
[Логистика] — это либо расчетная величина по габаритам товара (Расчет: ... ₽), либо вручную указанное вами плановое значение в поле ввода.

🎯 Расчет графы «Целевая цена (₽)»

Целевая цена — это розничная стоимость, которую необходимо установить на Wildberries, чтобы выйти на вашу Желаемую прибыль (в % маржи от цены) с учетом всех расходов.

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

Целевая цена = ([Закупка (₽)] + [Логистика]) / (1 - ([План. Комиссия %] + [Налог %] + [Желаемая прибыль %]) / 100)

*Если полученный знаменатель формулы меньше или равен нулю (например, если сумма процентов комиссии, налога и желаемой маржи превышает 100%), расчет блокируется для избежания деления на ноль.

💡 Важное примечание о налогах

Обратите внимание, что графа «Налог» всегда рассчитывается от конечной розничной стоимости продажи товара покупателю ([Цена (₽)]), так как при работе на упрощенной системе налогообложения (УСН Доходы) налогооблагаемой базой считается вся сумма, уплаченная клиентом за товар на маркетплейсе, а не чистые выплаты или прибыль.

Мягкий сброс кэша

Очистит кэшированные файлы Wildberries и Моего Склада на сервере. При следующем обновлении все данные будут загружены по API заново. Установленные себестоимости товаров и настройки будут сохранены.

Глубокий Factory Reset

Полное уничтожение всех данных. Удалит кэши продаж и номенклатуры, сотрет все настройки, себестоимости и ключи доступа к API с диска сервера, а также очистит localStorage в браузере. Восстановление невозможно.

Полная пересинхронизация

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

Зарегистрированные пользователи

{{ adminError }}
ID Email Подтвержден Роль
{{ u.id }} {{ u.email }} {{ u.confirmed ? 'Да' : 'Нет' }} {{ u.isAdmin ? 'Администратор' : 'Пользователь' }}
Список пользователей пуст

📊 Отчет о состоянии загрузки

Детализированная статистика синхронизации по API

Статус
● УСПЕШНО ● С ПРЕДУПРЕЖДЕНИЯМИ ● ОШИБКА ● ВЫПОЛНЯЕТСЯ... ● НЕ ЗАПУСКАЛСЯ
Период
{{ syncPeriod }} мес.
Начало
{{ syncReport.startTime || '-' }}
Завершение
{{ syncReport.endTime || '-' }}
Выполнение этапов загрузки
[ OK ] [ WARN ] [ ERR ] [ RUN ] [ SKIP ] [ WAIT ]
{{ step.name }}
{{ step.details }}

Ошибки синхронизации ({{ syncReport.errors.length }})

  • {{ err }}

⚠️ Предупреждения ({{ syncReport.warnings.length }})

  • {{ warn }}

Текстовая ASCII-сводка отчета:

Доступно для выделения мышкой и копирования
{{ generateTextReport() }}

🐞 Обратная связь и багрепорты для ИИ

Опишите проблему, и отчет автоматически сохранится на сервере для исправления ИИ-разработчиком.

Автоматический снимок экрана:
Последние логи ошибок консоли: Зафиксировано: {{ consoleErrorLog.length }}
Ошибок в работе приложения не зафиксировано
Версия: v2.1 (Update {{ currentUpdate }})
Окружение: Браузер пользователя
Магазин: {{ activeStoreName }}
Товаров: {{ items ? items.length : 0 }} шт.
✅ Отчет успешно сохранен на сервере! ИИ изучит его при следующем подключении.
📋 Отчет скопирован в буфер обмена! Отправьте его в чат ИИ-разработчика.
⚠️ {{ feedbackError }}

🧪 Контроль целостности расчетов

Автоматическое самотестирование финансовых формул юнит-экономики

Точность расчетов
{{ selfTestReport.precision }}%
Успешные тесты
{{ selfTestReport.passedCount }} / 10
Ошибки
{{ selfTestReport.failedCount }}
Статус системы
{{ selfTestReport.status === 'success' ? 'СТАБИЛЬНО' : 'ОШИБКА' }}
Тест {{ log.id }} {{ log.name }}

{{ log.details }}

✓ Пройден ✗ Сбой

Подтверждение действия

{{ actionConfirmModal.message }}

Умный импорт из Excel

Гибкое сопоставление колонок для импорта цен, закупок, плановых комиссий и логистики

Выберите или перетащите файл Excel (.xlsx, .xls) или CSV
Система автоматически распознает названия колонок (Артикул, Закупка, Маржа, Логистика, Комиссия) и предложит умное сопоставление!
{{ col || `Столбец ${colIdx + 1}` }}
{{ val }}
{{ smartImportNotification }}
Для импорта необходимо сопоставить хотя бы одну колонку с Артикулом! Готово к импорту. Сопоставлено полей: {{ countMappedFields }}

{{ customAlertTitle }}

{{ customAlertMessage }}

Atmos Cron Log Фоновый планировщик

Ежечасное фоновое автообновление кэша (WB API и МойСклад)

Текущее состояние
{{ {idle: 'Ожидание', processing: 'Синхронизация', success: 'Успешно', error: 'Сбой'}[cronStatus.status] || cronStatus.status }}
Следующий запуск
{{ cronStatus.nextSyncTime ? new Date(cronStatus.nextSyncTime).toLocaleTimeString('ru-RU', { hour: '2-digit', minute: '2-digit' }) : 'не запланирован' }}
Интервал обновления
Короткий интервал ({{ settings.autoSyncInterval }} мин) увеличивает нагрузку на API Wildberries. Бэкенд автоматически ограничит частоту опроса при перегрузках или сетевых сбоях.
Описание ошибки

{{ cronStatus.errorMsg }}

Сводка последнего запуска

{{ cronStatus.details }}

Лог выполнения (CI/CD Terminal)
cron-terminal.log Active Completed Failed Idle
Логи отсутствуют. Запустите обновление для сбора логов.
{{ line }}
🤖

AI Ассистент цен Atmos AI v2.3

Умный аудит цен юнит-экономики: мгновенное выявление проблемных позиций и интерактивный расчёт прибыли

Отличные новости!

В выбранной категории нет проблемных товаров. Юнит-экономика ваших позиций сходится идеально!

Товар | Арт
Цена (₽)
текущая / желаемая
Закупка (₽)
Факт. Комиссия и Возвраты
План. Комиссия Объем (л) Логистика Списания WB (₽) Налог
Чистая прибыль
Желаемая прибыль Желаемая цена (₽)
Фото
{{ item.vendorCode }}
Минус В ноль Мин. прибыль
{{ item.title }}
{{ item.brand }} / {{ item.subjectName }}
API
{{ item.currentPrice > 0 ? item.currentPrice.toLocaleString('ru-RU') : '—' }} / {{ fin(item).targetPrice.toLocaleString('ru-RU') }}
{{ item.actualSalesCount }} (шт.) Нет продаж
(возвратов: {{ item.actualReturnsCount }} шт.)
%
{{ item.volume > 0 ? item.volume.toFixed(2) : '—' }}
Факт: {{ item.actDelivery }} ₽
Расчет: {{ item.calcLogistics }} ₽
Продажи: {{ Math.round((item.actualCommissionSalesSum || 0) + (item.actualDeliverySalesSum || 0)) }} ₽
Возвраты: {{ Math.round(item.actualDeliveryReturnsSum || 0) }} ₽
Ср. на ед: {{ Math.round(fin(item).commissionAmt + fin(item).logistics) }} ₽
{{ settings.globalTax }} %
-{{ fin(item).taxAmt }} ₽
{{ fin(item).currentProfit.toLocaleString('ru-RU') }} ₽
Маржа: {{ fin(item).currentMargin }}%
Маржа: %
Сумма:
💡 Закупка, Комиссия, Логистика и Маржа полностью интерактивны. Все расчеты пересчитываются реактивно на лету.
Всего товаров в анализе: {{ items.length }} шт.

История продаж

Фото
{{ selectedItemForSales?.title }} (
{{ selectedItemForSales.vendorCode }}
)
Дата Продажа Закупка Ком. % Ком. ₽ От WB Логистика Заработок Налог ({{ settings.globalTax }}%) Прибыль
{{ sale.dateStr }} Возврат
ID: {{ sale.rrdId }}
{{ sale.priceWithDisc.toLocaleString('ru-RU') }} {{ round(selectedItemForSales?.purchasePrice || 0).toLocaleString('ru-RU') }} {{ sale.commissionPerc }}% -{{ round(sale.commissionAmt).toLocaleString('ru-RU') }} {{ round(sale.forPay).toLocaleString('ru-RU') }} -{{ round(sale.deliveryRub).toLocaleString('ru-RU') }} {{ round(sale.forPay - (selectedItemForSales?.purchasePrice || 0) - sale.deliveryRub).toLocaleString('ru-RU') }} -{{ round(sale.priceWithDisc * settings.globalTax / 100).toLocaleString('ru-RU') }}
{{ getSaleProfitInfo(sale, selectedItemForSales).profit.toLocaleString('ru-RU') }}
({{ getSaleProfitInfo(sale, selectedItemForSales).percent }}%)
Нет данных о продажах
Фото

Интерактивный расчет показателей

{{ calcModalItem.vendorCode }} | {{ calcModalItem.title }}
Что рассчитываем:
Целевая цена (targetPrice) = {{ fin(calcModalItem).targetPrice.toLocaleString('ru-RU') }} ₽
Минимальная цена продажи, необходимая для покрытия всех расходов и получения желаемой прибыли с учетом комиссий и налогов.

Математическая формула:

targetPrice = (targetProfit + logistics + purchasePrice) / (1 - (commissionPercent + globalTax) / 100)

Подстановка реальных цифр товара:

1. Желаемая чистая прибыль (targetProfit) {{ calcModalItem.purchasePrice }} ₽ (Закупка) × {{ fin(calcModalItem).targetMargin }}% (Целевая маржа) = {{ fin(calcModalItem).targetProfit }} ₽
2. Логистика для расчетов (logistics)
{{ fin(calcModalItem).logistics }} ₽
Выбрано максимальное из: вручную ({{ calcModalItem.logistics || 0 }} ₽) / тариф WB ({{ calcModalItem.calcLogistics || 0 }} ₽) / факт ({{ fin(calcModalItem).factLogisticsPerUnit }} ₽)
3. Себестоимость закупки (purchasePrice) {{ calcModalItem.purchasePrice }} ₽
4. Комиссия WB (commissionPercent) {{ calcModalItem.commissionPercent }}%
5. Налоговая ставка (globalTax) {{ settings.globalTax }}%
6. Доля списаний от цены (feesFraction) ({{ calcModalItem.commissionPercent }}% + {{ settings.globalTax }}%) / 100 = {{ ((calcModalItem.commissionPercent + settings.globalTax) / 100).toFixed(2) }}

Пошаговый расчет:

Сумма затрат и прибыли = {{ fin(calcModalItem).targetProfit }} ₽ + {{ fin(calcModalItem).logistics }} ₽ + {{ calcModalItem.purchasePrice }} ₽ = {{ fin(calcModalItem).targetProfit + fin(calcModalItem).logistics + calcModalItem.purchasePrice }} ₽
Остаточная доля цены = 1 - {{ ((calcModalItem.commissionPercent + settings.globalTax) / 100).toFixed(2) }} = {{ (1 - (calcModalItem.commissionPercent + settings.globalTax) / 100).toFixed(2) }}
Результат = {{ fin(calcModalItem).targetProfit + fin(calcModalItem).logistics + calcModalItem.purchasePrice }} / {{ (1 - (calcModalItem.commissionPercent + settings.globalTax) / 100).toFixed(2) }} = {{ fin(calcModalItem).targetPrice }} ₽
💡 Atmos Guard Logistics Shield: Так как товар в текущий момент убыточен (чистая прибыль: {{ fin(calcModalItem).currentProfit }} ₽), алгоритм применил встроенный предохранитель для безопасного вывода товара из минуса, гарантирующий достижение целевой маржинальности.
Что рассчитываем:
Всего списаний WB = {{ (fin(calcModalItem).commissionAmt + fin(calcModalItem).logistics).toLocaleString('ru-RU') }} ₽
Суммарные расходы на продажу единицы товара со стороны маркетплейса Wildberries, включающие комиссию за продажу и доставку.

Математическая формула:

Списание WB = (Текущая цена × Commission %) + Logistics

Подстановка реальных цифр товара:

1. Текущая розничная цена (currentPrice) {{ calcModalItem.currentPrice }} ₽
2. Процент комиссии WB (commissionPercent) {{ calcModalItem.commissionPercent }}%
3. Сумма комиссии в рублях (commissionAmt) {{ calcModalItem.currentPrice }} ₽ × {{ calcModalItem.commissionPercent }}% = {{ fin(calcModalItem).commissionAmt }} ₽
4. Логистика доставки (logistics)
{{ fin(calcModalItem).logistics }} ₽
max(Вручную: {{ calcModalItem.logistics || 0 }} ₽, Тариф WB: {{ calcModalItem.calcLogistics || 0 }} ₽, Факт: {{ fin(calcModalItem).factLogisticsPerUnit }} ₽)

Итоговый расчет:

Списание WB = {{ fin(calcModalItem).commissionAmt }} ₽ (Комиссия) + {{ fin(calcModalItem).logistics }} ₽ (Логистика)
Результат = -{{ fin(calcModalItem).commissionAmt + fin(calcModalItem).logistics }} ₽
Что рассчитываем:
Сумма налога = {{ fin(calcModalItem).taxAmt.toLocaleString('ru-RU') }} ₽
Величина налоговых отчислений с продаж единицы товара на основе глобальной процентной налоговой ставки.

Математическая формула:

Налог = Текущая цена × Ставка налога (%)

Подстановка реальных цифр товара:

1. Текущая розничная цена (currentPrice) {{ calcModalItem.currentPrice }} ₽
2. Ставка налога (globalTax) {{ settings.globalTax }}%

Итоговый расчет:

Налог = {{ calcModalItem.currentPrice }} ₽ × {{ settings.globalTax }}%
Результат = -{{ fin(calcModalItem).taxAmt }} ₽
Что рассчитываем:
Чистая прибыль = {{ fin(calcModalItem).currentProfit.toLocaleString('ru-RU') }} ₽
Конечный финансовый результат (прибыль или убыток) от реализации единицы продукции продавцом.
Маржа (рентабельность к закупке) = {{ fin(calcModalItem).currentMargin }}%

Математические формулы:

Чистая прибыль = Цена - Комиссия WB - Логистика - Себестоимость - Налог
Маржа % = (Чистая прибыль / Себестоимость) × 100%

Подстановка реальных цифр товара:

1. Текущая розничная цена (currentPrice) {{ calcModalItem.currentPrice }} ₽
2. Комиссия WB (commissionAmt) -{{ fin(calcModalItem).commissionAmt }} ₽ ({{ calcModalItem.commissionPercent }}%)
3. Логистика WB (logistics) -{{ fin(calcModalItem).logistics }} ₽
4. Себестоимость закупки (purchasePrice) -{{ calcModalItem.purchasePrice }} ₽
5. Налоговые отчисления (taxAmt) -{{ fin(calcModalItem).taxAmt }} ₽ ({{ settings.globalTax }}%)

Расчет прибыли:

Прибыль = {{ calcModalItem.currentPrice }} ₽ - {{ fin(calcModalItem).commissionAmt }} ₽ - {{ fin(calcModalItem).logistics }} ₽ - {{ calcModalItem.purchasePrice }} ₽ - {{ fin(calcModalItem).taxAmt }} ₽
Результат = {{ fin(calcModalItem).currentProfit }} ₽

Расчет маржи:

Маржа % = ({{ fin(calcModalItem).currentProfit }} ₽ / {{ calcModalItem.purchasePrice }} ₽) × 100%
Результат = {{ fin(calcModalItem).currentMargin }}%
🛡️

Atmos Guard: Контроль габаритов и логистики ({{ uncheckedWarningItemsCount }})

Предотвращение финансовых сливов из-за ошибок Wildberries с объемным весом и размерами упаковок

Фото
{{ item.title }}
{{ item.vendorCode }} | Бренд: {{ item.brand }}
📦 Объем товара: {{ item.volume > 0 ? item.volume.toFixed(2) + ' л' : 'не указан' }}
⚠️ Подозрение на ошибку в габаритах!
{{ item._volumeAnomalyDetails }}
Текущая цена
{{ item.currentPrice }} ₽
Логистика
{{ (Number(item.logistics || 0) || Number(item.calcLogistics || 0)) }} ₽ ({{ Math.round((Number(item.logistics || 0) || Number(item.calcLogistics || 0)) / item.currentPrice * 100) }}%)
Проверено

💡 Рекомендация: Если объем или габариты в карточке товара на WB завышены, немедленно подайте обращение в поддержку Wildberries с просьбой провести перемер. Это сэкономит вам значительные средства! (Вы можете переключаться клавишей Tab и отмечать товары пробелом Space).

Недавно скрытые: (и еще {{ dismissLogisticsHistory.length - 5 }})
⚠️

Atmos Guard: Обнаружены аномалии в габаритах или логистике!

Найдено товаров с подозрением на ошибку габаритов на Wildberries: {{ problemLogisticsItems.length }} шт. Обнаружен завышенный объем относительно похожих товаров или логистика съедает 70%+ от цены.

AI:
Показаны все active товары ({{ processedItems.length }} {{ getProductPlural(processedItems.length) }}) Показаны только товары: в убыток ({{ lossItems.length }} {{ getProductPlural(lossItems.length) }}) в ноль ({{ zeroProfitItems.length }} {{ getProductPlural(zeroProfitItems.length) }}) с минимальной прибылью ({{ lowProfitItems.length }} {{ getProductPlural(lowProfitItems.length) }}) с нулевой закупкой ({{ zeroPurchaseItems.length }} {{ getProductPlural(zeroPurchaseItems.length) }}) вручную выделенные ({{ selectedNmIDs.size }} {{ getProductPlural(selectedNmIDs.size) }}) с реальными продажами ({{ salesOnlyItems.length }} {{ getProductPlural(salesOnlyItems.length) }}) в наличии ({{ inStockItems.length }} {{ getProductPlural(inStockItems.length) }}) нет в наличии ({{ outOfStockItems.length }} {{ getProductPlural(outOfStockItems.length) }}) в архиве ({{ archivedItems.length }} {{ getProductPlural(archivedItems.length) }}) импортированные из XLS ({{ xlsImportItems.length }} {{ getProductPlural(xlsImportItems.length) }}) автономные вне синхронизации ({{ standaloneItems.length }} {{ getProductPlural(standaloneItems.length) }}) с ценой продажи выше целевой ({{ aboveTargetItems.length }} {{ getProductPlural(aboveTargetItems.length) }}) (найдено: {{ processedItems.length }})

Отличные новости!

В выбранной категории нет проблемных товаров. Юнит-экономика ваших позиций сходится идеально!

Товар {{ sortDesc ? '↓' : '↑' }} | Бренд {{ sortDesc ? '↓' : '↑' }} | Арт {{ sortDesc ? '↓' : '↑' }}
Цена (₽) {{ sortDesc ? '↓' : '↑' }}
текущая / желаемая
Закупка (₽) {{ sortDesc ? '↓' : '↑' }}
сортировка факта:
Продажи {{ sortDesc ? '↓' : '↑' }} / Комиссия {{ sortDesc ? '↓' : '↑' }} / Возвраты {{ sortDesc ? '↓' : '↑' }}
План. Комиссия {{ sortDesc ? '↓' : '↑' }}
Объем (л) {{ sortDesc ? '↓' : '↑' }}
Логистика {{ sortDesc ? '↓' : '↑' }}
Списания WB (₽) {{ sortDesc ? '↓' : '↑' }}
Налог {{ sortDesc ? '↓' : '↑' }}
Чистая прибыль {{ sortDesc ? '↓' : '↑' }}
Желаемая прибыль
Целевая цена