Таблица для расчёта прибыли на Ozon без потерянных расходов
Покажу, какие колонки я закладываю в ручную таблицу, как связываю продажи с удержаниями и почему прибыль не должна совпадать с выплатой Ozon. Разберу расчёт на данных моих магазинов и объясню, когда Excel достаточно, а когда он начинает скрывать ошибки.
За 90 дней выручка по моим магазинам составила 39 868 705 ₽, а после учтённых расходов из каждых 100 ₽ осталось 11,1 ₽. Если смотреть только на продажи, масштаб бизнеса выглядит совсем иначе, чем если смотреть на этот остаток. Поэтому свою таблицу я проверяю не по тому, насколько красиво растёт итоговая строка, а по тому, куда разложился каждый расход. Особенно внимательно смотрю на суммы, которым не нашлось места рядом с конкретным заказом. Именно они легко остаются за границами ручного расчёта, хотя из денег продавца никуда не исчезают.
Когда я собираю таблицу для расчёта прибыли на Ozon, мне нужен ответ на простой вопрос: сколько заработали продажи после всех относящихся к ним расходов. Сумма заказов этого не показывает, перечисление на расчётный счёт тоже. В моих магазинах я разделяю расчёт прибыли, движение денег и оценку отдельного товара, иначе одинаковые слова в разных отчётах начинают обозначать разные вещи. Ручная таблица вполне подходит для такой работы, если заранее договориться с собой о правилах учёта. Ниже разберу структуру, которую можно повторить в Excel, не подставляя выдуманные тарифы и не принимая выплату за заработок.
Что должно остаться от выручки после расчёта
В моих данных за этот период на каждые 100 ₽ выручки приходится 40,2 ₽ комиссии Ozon, 10,4 ₽ логистики и прочих сборов, 13,3 ₽ рекламы. Себестоимость товара забирает ещё 21,6 ₽, налог — 3,5 ₽, остаток составляет 11,1 ₽. Это фактическая структура расходов по моим магазинам, а не набор ставок, который можно перенести в чужую таблицу. В частности, 40,2 ₽ комиссии нельзя использовать как универсальный тариф Ozon, а 3,5 ₽ налога — как налоговую ставку. Отображённые суммы округлены, поэтому при сложении возникает небольшое расхождение: рабочий расчёт нужно вести по исходным значениям, а округлять уже результат.
Эти данные хорошо показывают, почему одной колонки с комиссией недостаточно. Между выручкой и остатком стоят разные группы расходов, причём реклама по моим магазинам забрала больше, чем логистика и прочие сборы вместе. Но я не предлагаю автоматически называть остаток чистой прибылью любого бизнеса. Если отдельно оплачиваются сотрудники, аренда, банковское обслуживание или другие расходы продавца, их тоже нужно включить в расчёт, когда они ещё не учтены. Переданный срез не раскрывает такие статьи, поэтому по нему я могу уверенно говорить об остатке после перечисленных расходов, а не делать предположения обо всём устройстве бизнеса.
Доли посчитаны по доставленным заказам за 90 дней. Сумма всех статей — ровно 100%, поэтому видно, сколько остаётся на самом деле. Собственные магазины автора, 90 дней, выручка 39 868 705 ₽
Какие колонки нужны в таблице Excel для Ozon
Я начинаю не с формулы прибыли, а с вопроса, что означает отдельная строка. Для журнала начислений строка — это операция из выгрузки, для реестра продаж — товарная позиция в отправлении, для сводки — результат их сопоставления. Смешивать эти уровни в одном листе опасно: у продажи может оказаться несколько связанных начислений, и выручка при объединении повторится. Поэтому исходные продажи и начисления я храню отдельно, а итог собираю через устойчивые идентификаторы. Если операция не содержит связи с товаром, я не придумываю эту связь ради заполненной ячейки.
Мой минимальный набор полей нужен для восстановления расчёта, а не для красоты отчёта. По любой сумме я должен суметь найти исходную операцию, понять её знак и увидеть период, в который она попала. Названия столбцов в выгрузках могут отличаться, поэтому ниже я перечисляю смысл полей, а не обещаю точное совпадение с текущим интерфейсом Ozon. Рядом с импортированными данными я держу собственную категорию расхода и правило обработки. Это позволяет поменять группировку, не переписывая исходную историю вручную.
Магазин, артикул продавца и идентификатор товара — чтобы одинаковые обозначения из разных кабинетов не смешивались в общей сводке.
Номер отправления или другой доступный ключ связи, идентификатор операции и источник выгрузки — чтобы находить начисления и отсекать повторную загрузку.
Дата продажи, дата начисления, дата возврата и выбранный период учёта — чтобы видеть, почему связанные суммы оказались в разных периодах.
Статус позиции, проданное и возвращённое количество — чтобы заказ, отмена и состоявшаяся продажа не давали одинаковый результат.
Выручка, корректировка выручки и компенсации отдельными полями — чтобы возврат денег покупателю не превращался в непонятный расход.
Комиссия, доставка, обратная логистика, хранение и остальные услуги с отдельной категорией для каждой фактически найденной статьи.
Рекламные расходы, источник их загрузки и способ распределения между товарами — чтобы итог кампании не вычитался повторно после распределения.
Себестоимость проданной единицы, партия или дата действия себестоимости, упаковка и подготовка товара с указанием того, что уже включено в закупочную стоимость.
Налоговая база, расчёт налога и прочие расходы бизнеса — с правилами, соответствующими учёту конкретного продавца.
Прибыль по позиции, нераспределённые суммы и отметка проверки — чтобы отсутствие связи не выглядело отсутствием расхода.
Отдельный лист я отвожу справочнику себестоимости, иначе изменение закупочной цены перепишет прибыль старых продаж. В нём фиксирую применяемый способ оценки и состав затрат: например, включена ли доставка до места подготовки товара. Закупку всей партии я не вычитаю из прибыли периода вместо себестоимости проданных единиц, потому что непроданный остаток продолжает лежать в запасах. Для управленческого расчёта возвращённый пригодный товар восстанавливает запас, а повреждение или утрату я разбираю отдельно по документам. Расходы на упаковку тоже нельзя одновременно включить в себестоимость и повторно списать отдельной колонкой.
Юнит-экономика по каждому товару: себестоимость, реальная выплата Ozon, комиссия, реклама и прибыль. Убыточные помечаются сразу — их не приходится высматривать в таблице.
Как посчитать прибыль в таблице по шагам
До вычитания расходов я выбираю период и фиксирую, по какому событию признаю продажу в своём управленческом расчёте. Оформленный заказ ещё не означает, что я заработал указанную в нём сумму. Затем сохраняю исходные выгрузки и проверяю, не загрузил ли одну операцию повторно из пересекающихся файлов. Все расходные категории в расчётном слое привожу к единому правилу знаков, но исходный знак оставляю рядом для проверки. Иначе отрицательное удержание можно случайно вычесть ещё раз и получить прибавку к прибыли вместо расхода.
Сначала собираю выручку по признанным продажам и учитываю возвраты и корректировки по выбранному правилу периода. Проверяю, что возврат не уменьшил выручку одновременно через статус продажи и через отдельную операцию.
Из скорректированной выручки вычитаю себестоимость проданных товаров. Использую историческую стоимость, относящуюся к этим продажам, а не последнюю цену из текущего прайс-листа поставщика.
Затем вычитаю комиссию и фактические услуги площадки: доставку, обратные перемещения, хранение и остальные найденные начисления. Корректировки услуг обрабатываю с их смыслом и знаком, а не складываю всё в расходы по модулю.
После этого вычитаю рекламу и внешние переменные расходы, если они ещё не вошли в себестоимость или начисления площадки. Сверяю распределённую по товарам рекламу с общей суммой, чтобы распределение не создало лишнего расхода.
Далее вычитаю рассчитанный налог и расходы бизнеса, которые не относятся напрямую к отдельной продаже. Налог считаю по применимым правилам учёта, а не механически от выплаты или от оставшейся после комиссии суммы.
В конце добавляю относящиеся к периоду прочие доходы, если они ещё не учтены, и проверяю нераспределённые операции. Фиксирую дату расчёта, чтобы позднее начисление можно было отличить от изменения формулы.
На моих данных последовательность видна через разложение каждых 100 ₽ выручки: из них должны уйти все перечисленные расходы, включая 13,3 ₽ рекламы и 3,5 ₽ налога. Остаток 11,1 ₽ получен с учётом этих статей, а не только закупки и комиссии. При этом таблица для юнит-экономики Ozon решает немного другую задачу: до продажи она оценивает результат единицы товара при выбранных предположениях о цене и затратах. В такой модели я явно подписываю плановые значения, а после продаж подставляю фактические начисления для сравнения. Общие расходы можно распределить между товарами по выбранной базе, но это управленческое распределение, а не доказательство, что конкретный товар вызвал именно такой расход. Как использовать получившийся результат для проверки ассортимента, я разбираю в статье о том, как найти убыточные товары, даже если они хорошо продаются.
Отчёт о прибыли: продажи, вознаграждение Ozon, себестоимость, реклама и услуги площадки — с изменением к прошлому периоду. Внизу словами сказано, какая статья съела прибыль, чтобы не сводить это в уме.
Какие удержания теряются и почему итог не совпадает с отчётом
У меня нет статистики чужих файлов, поэтому я не стану утверждать, что определённое удержание забывают все продавцы. Но таблица, построенная только вокруг успешных продаж, по своей структуре пропускает операции, которым не нашлось соответствующей строки. Я отдельно ищу начисления за возвраты и невыкупы, обратную логистику, обработку и перемещения, хранение, вывоз или утилизацию, если такие услуги действительно были. Проверяю платные услуги, подписки, удержания по претензиям и корректировки прошлых начислений, когда они присутствуют в документах. Не все эти расходы возникают у каждого продавца, а названия и условия услуг нужно брать из актуальных документов, не из чужого шаблона. Компенсации тоже оставляю отдельной категорией: это не удержания, но их потеря исказит результат в другую сторону.
Конкретная ошибка выглядит так: продавец вычел закупку, комиссию и логистику, а рекламу оставил на соседнем листе, потому что её трудно связать с заказами. Итоговая формула этот лист не использует, хотя деньги уже потрачены. На структуре моих расходов такой пропуск завысил бы результат на 13,3 ₽ с каждых 100 ₽ выручки. Это больше, чем остаток 11,1 ₽ после перечисленных расходов, поэтому ошибка меняет представление о запасе прибыли весьма существенно. Если после этого снижать цену, ориентируясь на нарисованный запас, можно отдать покупателю деньги, которые уже ушли на продвижение. Я сначала включаю рекламу в общий результат магазина, а вопрос распределения по товарам решаю отдельно.
Выплата Ozon не равна чистой прибыли, даже если таблица сошлась с перечислением на счёт. В выплате может учитываться движение задолженности и начислений, а закупка товара, налоги и внешние расходы живут за её пределами. Обратная ошибка — считать любое расхождение с выплатой поломкой формулы прибыли. Сначала нужно сравнить одинаковые показатели за одинаковый период, иначе сверка ничего не доказывает.
Когда итог таблицы расходится с отчётом Ozon, я первым делом уточняю, какую именно строку отчёта пытаюсь повторить. Продажи, начисления за услуги, взаиморасчёты и перечисления денег нельзя сравнивать как один показатель. Затем проверяю границы периода: продажа могла попасть в него, а связанное начисление или возврат — прийти позднее. Ещё смотрю, не взята ли в таблицу сумма после удержаний под названием «выручка», из которой комиссия затем вычтена повторно. Подробно эту разницу я объясняю в разборе прибыли за месяц и её отличия от выплаты, где вопрос именно в логике сопоставления, а не в поиске совпадающей суммы.
Саму сверку я делаю по категориям: отдельно сопоставляю продажи и возвраты, затем комиссию, услуги, рекламу и корректировки. Если общий результат не сходится, такая разбивка показывает место расхождения, а не заставляет просматривать весь файл подряд. Начисление без артикула оставляю в общей сумме магазина и помечаю как нераспределённое, поэтому оно уменьшает результат даже до выяснения связи. Если собственная сводка использует иной принцип периода, чем отчёт, составляю переход между ними через конкретные операции. Неразобранную разницу я не прячу в колонку «прочее»: пока её происхождение неизвестно, расчёт остаётся предварительным.
Когда таблицы достаточно и что проверить завтра
Таблицы достаточно, если я могу регулярно загрузить все источники, проверить исключения и объяснить итог без ручного подбора суммы. Небольшой ассортимент помогает, но сам по себе ничего не гарантирует: сложные возвраты и разрозненные расходы способны запутать даже компактный файл. Excel удобен для первого расчёта, проверки гипотезы по цене и независимой сверки чужой аналитики. Формулы остаются перед глазами, а спорную операцию можно разобрать отдельно, не меняя весь процесс. Я не вижу смысла отказываться от таблицы только потому, что она ручная, если её результат воспроизводится и полнота данных проверяется.
Таблица перестаёт справляться раньше, чем заканчиваются доступные строки. Для меня тревожный признак — необходимость помнить исключения, которые нигде не записаны, и каждый раз вручную переносить одни и те же начисления. Ещё хуже, когда изменение справочника меняет закрытую историю, а после обновления никто не может объяснить, почему прибыль стала другой. В нескольких магазинах добавляется риск перепутать источники и потерять операции между кабинетами. В этот момент таблица Ozon для продавцов всё ещё может выглядеть аккуратно, но доверие к ней уже держится на памяти владельца, а не на проверках.
SellOps я сделал для своих магазинов, потому что не нашёл готового решения, расчётам которого мог бы доверять. При этом сам факт автоматической загрузки не делает прибыль правильной: нужны понятные правила себестоимости, возвратов, налогов и обработки неизвестных начислений. Принцип работы я описал на странице о том, как устроен SellOps, а к любому сервису советую подходить с той же проверкой, что и к Excel. Нужно взять исходные операции и убедиться, что понятен путь от них до результата. Таблицу я рассматриваю и как самостоятельный инструмент, и как способ проверить автоматизированный расчёт, а не как обязательный этап, от которого всем пора избавиться.
Завтра возьмите закрытый период и сохраните отдельно исходные продажи, начисления, рекламные расходы и применённую себестоимость. Соберите из них расчёт по описанной последовательности, а для всего, что не удалось связать с товаром, заведите видимую строку нераспределённых сумм. Затем проверьте, нет ли повторного вычитания комиссии, пропущенной рекламы и подмены себестоимости продаж оплатой всей закупки. Если нужна именно таблица для расчёта чистой прибыли Ozon, добавьте налоги и расходы бизнеса за пределами кабинета, иначе название будет обещать больше, чем считает формула. Последним действием выпишите каждое расхождение с отчётом и его причину: после этого станет понятно, нужно ли исправить файл, дополнить источники или автоматизировать уже проверенную схему.
Разбор для продавцов Ozon
Как передавать коды маркировки
Разбор8 ноября 2026 г.
Как передавать коды маркировки в Ozon на FBS и что делать с УПД
Разбираю путь кода от получения товара до сборки заказа FBS, передачи сведений в Ozon и проверки возврата. Объясняю, почему УПД не заменяет код в отправлении, где искать причину ошибки и что меняется при работе по FBO.