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