🔐

Авторизация

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

{{ authError }}
{{ authMessage }}
Создавая аккаунт, вы подтверждаете согласие с Пользовательским соглашением и обработкой персональных данных согласно 152-ФЗ РФ.

{{ authMessage }}

{{ authError }}

WB Unit Economy

v2.1 (build {{ currentUpdate }})
У вас установлено самое последнее обновление
🏪 {{ activeStoreName }}
{{ store.name }}
WB: {{ syncProgressData.wb }}% МС: {{ syncProgressData.ms }}%
{{ {none: 'Без группировки', category: 'Категории', sales: 'Продажи', brand: 'Бренды', returns: 'Возвраты'}[groupingMode] }}
Без группировки
По категориям
По брендам
По продажам
По возвратам
{{ statusText }} {{ syncProgressPct }}%
Модули синхронизации: Управление...
📦
WB Каталог и цены
{{ wbCatalogFreshness.timeText }}
{{ wbCatalogFreshness.label }}
🏷️
МойСклад (Закупки)
{{ msPricesFreshness.timeText }}
{{ msPricesFreshness.label }}
📊
Продажи и финотчеты WB
{{ wbReportsFreshness.timeText }}
{{ wbReportsFreshness.label }}
Синхронизировать ВСЁ сразу
⚙️ Центр синхронизации данных...
📖
Период продаж
Все время
День
Неделя
Месяц
Свой
Фильтр:
Загрузка данных...
📜

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

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

Внимательно ознакомьтесь с настоящим Пользовательским соглашением перед началом регистрации и использования сервиса 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 }})

🔄 Центр синхронизации данных

Статусы свежести и точечное управление выгрузкой

Текущая свежесть загруженных данных:

📦
WB Каталог и цены {{ wbCatalogFreshness.label }}
{{ wbCatalogFreshness.timeText }} • {{ (appState?.catalog?.length || 0) }} товаров
🏷️
МойСклад (Закупки) {{ msPricesFreshness.label }}
{{ msPricesFreshness.timeText }} • {{ msPricesCount }} себестоимостей
📊
Продажи и финотчеты {{ wbReportsFreshness.label }}
{{ wbReportsFreshness.timeText }} • {{ (appState?.sales?.length || 0) }} транзакций

Выбор разделов для синхронизации:

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

Настройки

Правила маржи по диапазонам цен

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

Диапазон по:
От
До
Маржа:

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

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

От
До шт.

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

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

Глобальный налог (%) Применяется ко всем товарам каталога (например, 0%, 6%, 7%, 15% и т.д.).
Желаемая маржа (%)
Комиссия по умолчанию
Без покатушек товара Не учитывать возвраты и отказы в фактической логистике
Логистика для проданных товаров Какую стоимость логистики использовать по умолчанию при открытом замочке автосинхронизации
Погрешность «Выше целевой»
{{ settings.priceToleranceType === 'percent' ? '%' : '₽' }}
Допустимое превышение цены продажи над целевой. В пределах этой погрешности товар не будет помечаться как «Выше целевой».

🏪 Магазин: {{ activeStoreName || 'Добавить магазин' }}

Укажите API токены Wildberries и Моего Склада для магазина. Название магазина автоматически подгрузится из профиля продавца Wildberries при проверке ключа.

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

🔒

Демонстрационный режим (Только просмотр)

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

🏪
Демо-магазин (Тестовый) Активный
12 демонстрационных товаров с предрассчитанной экономикой
Только чтение

Мои Магазины

📭 Список магазинов пуст. Создайте ваш первый магазин ниже!
✏️ Редактирование магазина
✅ API ключ WB подтвержден: {{ editStoreTokenCheckStatus.sellerName }} Срок действия: {{ editStoreTokenCheckStatus.expireFormatted }}
❌ Ошибка токена WB: {{ editStoreTokenCheckStatus.error || 'Токен не прошел авторизацию в API WB' }}
✅ API ключ МойСклад подтвержден: {{ editStoreMsTokenCheckStatus.companyName || 'Подключено' }}
❌ Ошибка токена МойСклад: {{ editStoreMsTokenCheckStatus.error || 'Токен не прошел проверку в API МойСклад' }}
🏪
{{ store.name }} Активный

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

✅ API ключ WB подтвержден: {{ newStoreTokenCheckStatus.sellerName }} Срок действия: {{ newStoreTokenCheckStatus.expireFormatted }}
Параметры и дополнительные поля МоегоСклада автоматически синхронизированы.
❌ Ошибка проверки токена WB: {{ newStoreTokenCheckStatus.error || 'Токен не прошел проверку в WB API' }}
✅ API ключ МойСклад подтвержден: {{ newStoreMsTokenCheckStatus.companyName || 'Подключено' }}
❌ Ошибка проверки токена МойСклад: {{ newStoreMsTokenCheckStatus.error || 'Токен не прошел проверку в API МойСклад' }}
{{ 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 (Доставка со своего склада) ● Активно
Фиксированная или настраиваемая стоимость доставки силами продавца или партнерских служб.

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

📊 Фактические склады отгрузки (по продажам):
{{ w.name }}: {{ w.percent }}% ({{ w.count }} шт)
ℹ️ Нет данных о фактических складах отгрузки в кэше. Сделайте полную или быструю синхронизацию продаж для сбора статистики.
Склад: {{ settings.selectedWarehouseName }} Дата обновления: {{ new Date().toLocaleDateString() }}
Доставка короба {{ currentWarehouseTariff ? parseWbNumber(currentWarehouseTariff.boxDeliveryBase).toFixed(0) + ' ₽' : '—' }}
За каждый литр {{ currentWarehouseTariff ? parseWbNumber(currentWarehouseTariff.boxDeliveryLiter).toFixed(2) + ' ₽' : '—' }}
Хранение (короб) {{ currentWarehouseTariff ? parseWbNumber(currentWarehouseTariff.boxStorageBase).toFixed(2) + ' ₽' : '—' }}

* Тарифы логистики FBS (Marketplace) определяются автоматически для выбранного склада/пункта отгрузки Wildberries.

📊 Фактические склады отгрузки (по продажам):
{{ w.name }}: {{ w.percent }}% ({{ w.count }} шт)
ℹ️ Нет данных о фактических складах отгрузки в кэше. Сделайте полную или быструю синхронизацию продаж для сбора статистики.
Склад отгрузки FBS: {{ settings.selectedWarehouseName }} Дата обновления: {{ new Date().toLocaleDateString() }}
Доставка короба (1-й литр) {{ currentWarehouseTariff ? parseWbNumber(currentWarehouseTariff.boxDeliveryMarketplaceBase !== '-' ? currentWarehouseTariff.boxDeliveryMarketplaceBase : currentWarehouseTariff.boxDeliveryBase).toFixed(0) + ' ₽' : '—' }}
За каждый доп. литр {{ currentWarehouseTariff ? parseWbNumber(currentWarehouseTariff.boxDeliveryMarketplaceLiter !== '-' ? currentWarehouseTariff.boxDeliveryMarketplaceLiter : currentWarehouseTariff.boxDeliveryLiter).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 }}

📋 История выгрузок цен

Нет сохраненной истории выгрузок цен. Задачи появятся здесь после отправки цен на Wildberries.
ID задачи: {{ task.taskId }} {{ formatDateString(task.date) }}
Всего товаров: {{ task.totalCount }}
{{ task.status === 'processing' ? 'В обработке' : (task.failCount > 0 ? 'Завершена с ошибками' : 'Успешно завершена') }}

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

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

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

{{ msSyncMessage }}

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

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

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

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

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

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

Полная База Знаний и Руководство Пользователя

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

Открыть /guide ↗

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Глубокий Factory Reset

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

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

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

💎

Статус лицензии Atmos Finance

{{ subscriptionInfo?.licenseActive ? 'АКТИВНА' : 'ИСТЕКЛА' }}
Действует до {{ new Date(subscriptionInfo.licenseExpiresAt).toLocaleDateString('ru-RU', { day: 'numeric', month: 'long', year: 'numeric' }) }} Пробный ознакомительный период (триал)
Осталось дней
{{ subscriptionInfo?.daysLeft !== undefined ? subscriptionInfo.daysLeft : '—' }}
🎟️

Активировать промокод или подарочный сертификат

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

{{ promoMessage.type === 'success' ? '✅' : '⚠️' }} {{ promoMessage.text }}

💳 Варианты оплаты и продления подписки

Выберите подходящий период доступа. Доступна оплата картой физлица, СБП и безналичный расчет для ИП/ООО.

Базовый
1 490 ₽ / месяц

Полный доступ ко всем модулям юнит-экономики и аналитики Wildberries на 30 дней.

Хит продаж
Популярный (–15%)
3 790 ₽ / 3 месяца

90 дней бесперебойной работы с автоматической синхронизацией себестоимостей и отчетов.

Выгодный (–35%)
11 990 ₽ / 1 год

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

🏢

Выставление счета для юридического лица (ИП или ООО)

✅ Счет № {{ createdInvoice.id }} успешно сформирован!

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

Пользователей {{ adminUsers.length }}
Активных подписок {{ adminUsers.filter(u => getUserLicenseStatus(u).type === 'active' || getUserLicenseStatus(u).type === 'unlimited').length }}
CPU Сервера {{ adminSystemStatus.cpu || 0 }}%
RAM Сервера {{ adminSystemStatus.ram || 0 }}%
{{ adminError }}
Пользователь Подписка Оплачено Роль Управление
{{ u.email }}
ID: {{ u.id }}
{{ getUserLicenseStatus(u).label }} {{ (u.amountPaid || 0).toLocaleString('ru-RU') }} ₽
Пользователи не найдены

⚙️ Редактирование пользователя

{{ adminEditingUser?.email }}

{{ adminEditError }}
➕ Добавить запись о платеже
История платежей
{{ new Date(p.date).toLocaleDateString() }} +{{ p.sum }} ₽ {{ p.tariff }}

📋 Детали задачи выгрузки цен #{{ activeTaskId }}

Результаты обработки цен на стороне Wildberries и ошибки валидации

Запрос данных о задаче у Wildberries...
Всего товаров {{ taskDetailsData?.overAllGoodsNumber || 0 }}
Успешно обновлено {{ taskDetailsData?.successGoodsNumber || 0 }}
С ошибками {{ (taskDetailsData?.overAllGoodsNumber || 0) - (taskDetailsData?.successGoodsNumber || 0) }}
💡 Важное примечание об ошибках цен:
Если в столбце ниже написано «Не сохранили изменения, чтобы защитить от ошибки — новые цены меньше текущих более чем в 2 раза» — это означает, что цена товара НЕ обновилась. Wildberries полностью заблокировал изменение цены во избежание убытков. Снижайте цену этого товара постепенно, не более чем на 30-40% за один шаг.
Номенклатура (nmID) Артикул продавца Загруженная цена Статус Текст ошибки
Детали товаров по этой задаче не найдены (возможно, задача еще обрабатывается на стороне WB или срок её хранения после выгрузки истек).
{{ item.nmID }} {{ item.vendorCode || '—' }} {{ item.price ? item.price + ' ₽' : '—' }} {{ item.status === 3 || item.errorText ? 'Ошибка' : 'Успешно' }} {{ item.errorText || '—' }}

⚠️ Карантин цен Wildberries

Товары, заблокированные маркетплейсом из-за слишком резкого изменения цены (более чем в 1.5 - 2 раза)

💡 Как это работает:
Товары в карантине продолжают продаваться по прежней (высокой) цене. Wildberries временно блокирует применение новой цены, защищая вас от случайных опечаток или резких сливов.
Решение: Подтвердите новые цены в личном кабинете Wildberries (раздел «Цены и скидки» → «Карантин») либо загрузите промежуточные цены (снижайте цену не более чем на 30-40% за один шаг).
🎉

В карантине цен нет товаров

Все ваши последние изменения цен успешно применились на Wildberries.

Товар / Артикул Размер Текущая цена (от WB) Заблокированная цена Снижение Действие

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

Детализированная статистика синхронизации по 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() }}

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

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

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

Аналитический отчет о продажах и прибыли

Детализированный расчет финансовых результатов на основе загруженных отчетов реализации Wildberries.

Период:
С
По
Чистая выручка
{{ (generatedReport.netSalesSum || 0).toLocaleString() }}
Продажи: {{ (generatedReport.totalSalesSum || 0).toLocaleString() }} ₽ ({{ generatedReport.totalSalesCount }} шт)
Возвраты: {{ (generatedReport.totalReturnsSum || 0).toLocaleString() }} ₽ ({{ generatedReport.totalReturnsCount }} шт)
Чистая прибыль
{{ generatedReport.netProfit >= 0 ? '+' : '' }}{{ ((generatedReport.netProfit / generatedReport.totalPurchase) * 100).toFixed(1) }}% к закупке
{{ (generatedReport.netProfit || 0).toLocaleString() }}
{{ generatedReport.netProfit >= 0 ? '📈 В плюсе' : '📉 В убытке' }} На р/с (с возвратами): {{ (generatedReport.balanceProfit || 0).toLocaleString() }} ₽
Себестоимость + Налоги
{{ ((generatedReport.totalPurchase || 0) + (generatedReport.totalTaxes || 0)).toLocaleString() }}
Себестоимость: {{ (generatedReport.totalPurchase || 0).toLocaleString() }} ₽
Налоги: {{ (generatedReport.totalTaxes || 0).toLocaleString() }} ₽
Расходы Wildberries
{{ ((generatedReport.totalCommission || 0) + (generatedReport.totalDelivery || 0) + (generatedReport.totalFines || 0)).toLocaleString() }}
Лог: {{ (generatedReport.totalDelivery || 0).toLocaleString() }} ₽ Комиссия: {{ (generatedReport.totalCommission || 0).toLocaleString() }} ₽
Штрафы и доплаты: {{ (generatedReport.totalFines || 0).toLocaleString() }} ₽
⚠️
Обнаружены продажи в минус! Посмотреть
За выбранный период продано {{ generatedReport.minusSalesCount }} шт. товаров в убыток с суммарной потерей {{ (generatedReport.minusSalesSum || 0).toLocaleString() }} ₽. Нажмите сюда для просмотра деталей.
Фото Артикул / Товар Продажи (шт) Возвраты (шт) Чистая выручка Комиссия WB Логистика WB Себестоимость Налоги Чистая прибыль / % к закупке
{{ d.name }}
арт: {{ d.article }} nmID: {{ d.nmId }}
{{ d.salesCount }} {{ d.returnsCount }} {{ (d.netSalesSum || 0).toLocaleString() }} ₽ {{ (d.commissionAmt || 0).toLocaleString() }} ₽ {{ (d.deliverySum || 0).toLocaleString() }} ₽ {{ (d.totalPurchaseCost || 0).toLocaleString() }} ₽ {{ (d.taxAmt || 0).toLocaleString() }} ₽
{{ (d.profit || 0).toLocaleString() }} ₽
{{ d.profit >= 0 ? '+' : '' }}{{ ((d.profit / d.totalPurchaseCost) * 100).toFixed(1) }}% к закупке
📊

{{ generatedReport.periodName || 'Нет данных' }}

{{ generatedReport.message }}

⚠️ Убыточные товары за период

Список товаров, у которых чистая прибыль отрицательная с учетом логистики, комиссии, себестоимости и налогов.

Фото Артикул / Товар Продано (шт) Возвраты (шт) Чистая выручка Логистика WB Себестоимость Убыток
{{ d.name }}
арт: {{ d.article }} nmID: {{ d.nmId }}
{{ d.salesCount }} {{ d.returnsCount }} {{ (d.netSalesSum || 0).toLocaleString() }} ₽ {{ (d.deliverySum || 0).toLocaleString() }} ₽ {{ (d.totalPurchaseCost || 0).toLocaleString() }} ₽ {{ (d.profit || 0).toLocaleString() }} ₽
Всего убыточных SKU: {{ generatedReport.details.filter(x => x.profit < 0).length }}

{{ selectedSKUDetail.name }}

Арт: {{ selectedSKUDetail.article }} nmID: {{ selectedSKUDetail.nmId }}

{{ selectedSKUDetail.profit >= 0 ? 'Итоговая чистая прибыль по SKU:' : 'Итоговый убыток по SKU:' }}
{{ (selectedSKUDetail.profit || 0).toLocaleString() }} ₽ {{ selectedSKUDetail.profit >= 0 ? '+' : '' }}{{ ((selectedSKUDetail.profit / selectedSKUDetail.totalPurchase) * 100).toFixed(1) }}% к закупке
Себестоимость закупки: {{ (selectedSKUDetail.purchasePrice || 0).toLocaleString() }} ₽/шт
Налоговая ставка: {{ selectedSKUDetail.taxRate }}%

Детализация начислений и списаний:

💳 Розничные продажи (цена покупателей)
Продано: {{ selectedSKUDetail.salesCount }} шт по розничной цене WB
+{{ (selectedSKUDetail.salesRevenue || 0).toLocaleString() }} ₽
🏷️ Комиссия и удержания Wildberries
Комиссия маркетплейса, эквайринг и услуги WB ({{ selectedSKUDetail.salesRevenue > 0 ? ((selectedSKUDetail.commission / selectedSKUDetail.salesRevenue) * 100).toFixed(1) : 0 }}% от розницы)
-{{ (selectedSKUDetail.commission || 0).toLocaleString() }} ₽
💰 К перечислению от WB за продажи
Сумма, начисленная WB продавцу за вычетом комиссии маркетплейса
+{{ (selectedSKUDetail.salesForPay || 0).toLocaleString() }} ₽
🚚 Расходы на логистику WB
Списания за доставку данного товара до покупателя
-{{ (selectedSKUDetail.totalLogistics || 0).toLocaleString() }} ₽
📦 Себестоимость закупки
Закупка: {{ (selectedSKUDetail.purchasePrice || 0).toLocaleString() }} ₽ × {{ selectedSKUDetail.salesCount }} шт
-{{ (selectedSKUDetail.totalPurchase || 0).toLocaleString() }} ₽
🏛️ Налоги
Рассчитано по ставке {{ selectedSKUDetail.taxRate }}% от розничной выручки
-{{ (selectedSKUDetail.totalTax || 0).toLocaleString() }} ₽
⚠️ Штрафы, доплаты и удержания
Прочие списания WB, привязанные к этому товару
-{{ (selectedSKUDetail.finesSum || 0).toLocaleString() }} ₽

История штрафов и удержаний по SKU:

{{ f.date }} {{ f.type }} -{{ (f.amount || 0).toLocaleString() }} ₽

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

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

Точность расчетов
{{ 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 }}
{{ toast.type === 'success' ? '✅' : toast.type === 'error' ? '❌' : toast.type === 'warning' ? '⚠️' : 'ℹ️' }}
{{ toast.message }}

{{ 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 || 0).toLocaleString('ru-RU') : '—' }} / {{ (fin(item).targetPrice || 0).toLocaleString('ru-RU') }} ?
В МС: {{ Math.round(item.msTargetPrice) }} ₽ ⚠️
вручную Excel {{ getMsPriceFieldShortName() }} 0 ₽
{{ item.actualSalesCount }} (шт.) Нет продаж
(возвратов: {{ item.actualReturnsCount }} шт.)
%
{{ Math.round((item.currentPrice || 0) * ((item.commissionPercent || 0) / 100)) }} / {{ Math.round((fin(item).targetPrice || 0) * ((item.commissionPercent || 0) / 100)) }} ₽
{{ Math.round(item.tariffComm || 0) }}% (тариф)
{{ 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 || 0).toLocaleString('ru-RU') }} ₽
Маржа: {{ fin(item).currentMargin }}%
Маржа: %
Сумма:
💡 Закупка, Комиссия, Логистика и Маржа полностью интерактивны. Все расчеты пересчитываются реактивно на лету.
Всего товаров в анализе: {{ items.length }} шт.
Фото

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

{{ selectedItemForSales?.title }} (
{{ selectedItemForSales.vendorCode }}
)
Продажи: {{ modalSalesStats.salesSum.toLocaleString('ru-RU') }} ₽
Возвраты: {{ modalSalesStats.returnsSum.toLocaleString('ru-RU') }} ₽
Штрафы: -{{ modalSalesStats.penaltiesSum.toLocaleString('ru-RU') }} ₽
Логистика: -{{ modalSalesStats.deliverySum.toLocaleString('ru-RU') }} ₽
Итог: {{ modalSalesStats.totalProfit.toLocaleString('ru-RU') }} ₽
Дата и операция Продажа Закупка Ком. % Ком. ₽ От WB Логистика / Списание Заработок Налог ({{ settings.globalTax }}%) Прибыль
{{ sale.dateStr }} {{ sale.operInfo?.icon }} {{ sale.operInfo?.badgeText }}
ID: {{ sale.rrdId }}
{{ sale.operInfo.description }}
{{ sale.operInfo?.category === 'penalties' && !sale.priceWithDisc ? '—' : (sale.priceWithDisc || 0).toLocaleString('ru-RU') }} {{ sale.operInfo?.category === 'penalties' && !sale.priceWithDisc ? '—' : (round(sale.isCancel ? 0 : (selectedItemForSales?.purchasePrice || 0)) || 0).toLocaleString('ru-RU') }} {{ sale.operInfo?.category === 'penalties' && !sale.priceWithDisc ? '—' : sale.commissionPerc + '%' }} {{ sale.operInfo?.category === 'penalties' && !sale.priceWithDisc ? '—' : '-' + (round(sale.commissionAmt) || 0).toLocaleString('ru-RU') }} {{ sale.operInfo?.category === 'penalties' && !sale.forPay ? '—' : (round(sale.forPay) || 0).toLocaleString('ru-RU') }}
-{{ ((sale.penalty || sale.deduction || sale.storageFee || sale.acceptance || sale.rawDelivery || sale.deliveryRub || 0)).toLocaleString('ru-RU') }} ₽
-{{ (round(sale.deliveryRub) || 0).toLocaleString('ru-RU') }} ₽
{{ (getSaleProfitInfo(sale, selectedItemForSales).profit || 0).toLocaleString('ru-RU') }} {{ sale.operInfo?.category === 'penalties' && !sale.priceWithDisc ? '—' : '-' + (round(sale.priceWithDisc * settings.globalTax / 100) || 0).toLocaleString('ru-RU') }}
{{ (getSaleProfitInfo(sale, selectedItemForSales).profit || 0).toLocaleString('ru-RU') }} ₽
({{ getSaleProfitInfo(sale, selectedItemForSales).percent }}%)
📭
Нет операций в данной категории
Фото

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

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

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

Целевая цена = (Желаемая чистая прибыль + Логистика + Себестоимость закупки) / (1 - (Комиссия WB % + Налоговая ставка %) / 100)

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

1. Желаемая чистая прибыль
2. Логистика для расчетов
{{ fin(calcModalItem).logistics }} ₽
Выбрано максимальное из: вручную ({{ calcModalItem.logistics || 0 }} ₽) / тариф WB ({{ calcModalItem.calcLogistics || 0 }} ₽) / факт ({{ fin(calcModalItem).factLogisticsPerUnit }} ₽)
3. Себестоимость закупки {{ calcModalItem.purchasePrice }} ₽
4. Комиссия WB % {{ calcModalItem.commissionPercent }}%
5. Налоговая ставка {{ settings.globalTax }}%
6. Доля списаний от цены ({{ 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 || 0) + (fin(calcModalItem).logistics || 0)).toLocaleString('ru-RU') }} ₽
Суммарные расходы на продажу единицы товара со стороны маркетплейса Wildberries, включающие комиссию за продажу и доставку.

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

Списание WB = (Текущая цена × Процент комиссии WB / 100) + Логистика

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

1. Текущая розничная цена {{ calcModalItem.currentPrice }} ₽
2. Процент комиссии WB {{ calcModalItem.commissionPercent }}%
3. Сумма комиссии в рублях {{ calcModalItem.currentPrice }} ₽ × {{ calcModalItem.commissionPercent }}% = {{ fin(calcModalItem).commissionAmt }} ₽
4. Логистика доставки
{{ 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 || 0).toLocaleString('ru-RU') }} ₽
Величина налоговых отчислений с продаж единицы товара на основе глобальной процентной налоговой ставки.

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

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

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

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

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

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

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

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

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

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

Синхронизация данных с сервером...

{{ statusText }}

⚠️

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) }}) с ценой продажи ниже целевой ({{ belowTargetItems.length }} {{ getProductPlural(belowTargetItems.length) }}) с ценой продажи выше целевой ({{ aboveTargetItems.length }} {{ getProductPlural(aboveTargetItems.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) }}) (найдено: {{ processedItems.length }})

Загрузка каталога и юнит-экономики...

Синхронизация товаров, цен и финансовых показателей

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

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

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