Перед следующей закупкой я смотрю не на прибыль магазина, а на деньги, которыми могу оплатить поставщика к нужной дате. В моих магазинах одновременно есть оплаченный товар, остатки на складе и продажи, за которые деньги ещё не поступили на счёт. В отчёте эти суммы находятся в разных местах, хотя финансирую я их из одного кармана. Если смотреть только на продажи, легко принять движение товара за возвращение денег. Но поставщику нельзя отправить ни остаток на складе, ни ожидаемую выплату.
Когда у меня заморожены деньги в товаре, я хочу понять две разные вещи: сколько средств уже связано в обороте и когда они снова станут доступными. Первая задача требует снимка остатков на выбранную дату. Для второй нужен календарь поступлений и платежей, потому что одинаковая сумма может вернуться до закупки или уже после неё. Прибыль сама по себе этого различия не показывает. Поэтому я не ищу одно универсальное число, а связываю состояние товара с движением денег.
Где находится оборотный капитал селлера
Я начинаю с оплаченных поставок: деньги поставщику уже ушли, а доступного для продажи товара ещё может не быть. Здесь находятся авансы за будущую партию, товар в производстве и оплаченный товар по дороге на склад. Для расчёта мне нужны фактическая сумма оплаты и текущее состояние поставки, а не полная стоимость заказа поставщику. Если часть партии ещё не оплачена, она создаёт будущее обязательство, но не означает, что вся её стоимость уже изъята со счёта. Оплаченную часть я учитываю отдельно от того, что только предстоит заплатить.
Следующий участок — товар, который уже получен и пока остаётся запасом. Я считаю его по себестоимости, а не по цене на витрине: количество в каждом состоянии умножаю на себестоимость соответствующей партии. В неё включаю закупку и относимые к партии затраты на приобретение и доведение до нужного места и состояния, последовательно применяя один подход. Остатки на своём складе, на складе площадки и перемещения между ними должны попасть в расчёт без повторов. Товар, который нельзя продать из-за повреждения или спорного статуса, я выделяю отдельно, иначе общая сумма создаёт ложное ощущение доступного запаса.
Дальше появляются продажи, деньги за которые ещё не дошли до расчётного счёта. Здесь мне нужна ожидаемая сумма к получению после относящихся к ней удержаний, а не розничная стоимость заказов. Запрос «деньги в пути Озон» может означать и товар, который едет покупателю, и выплату, которую продавец ждёт от площадки. Это разные состояния, поэтому я не складываю их автоматически. Для каждого заказа я сначала выясняю, остаётся ли он товарным запасом в моей модели учёта или уже перешёл в расчёты с площадкой.
Почему срок доставки ещё не показывает срок возврата денег
По моим магазинам есть фактические данные по 21 016 доставленным заказам за 90 дней. Медианный срок доставки составил 2 дня, а 80% заказов доехали за 4 дня и меньше. Медиана показывает центральное значение среди наблюдаемых сроков, а граница для 80% помогает увидеть, в какой интервал укладывается основная часть доставленных заказов. Эти числа описывают участок доставки, а не весь путь от оплаты поставщику до поступления денег продавцу. Я использую их именно в таком качестве, без подмены одного срока другим.
Из этих данных нельзя заключить, что вложенные в товар деньги возвращаются за 2 дня или за 4 дня. До доставки товар мог ждать продажи, а после неё деньги ещё должны пройти расчёты и поступить на мой счёт. Кроме того, выборка состоит из доставленных заказов и сама по себе ничего не говорит о сроках незавершённых отправлений, отмен и возвратов. Данных о фактическом сроке выплат в этом срезе у меня нет, поэтому я не прибавляю к доставке придуманную задержку. Для денежного прогноза я отдельно сопоставляю условия расчётов в кабинете, начисления и реальные банковские поступления.
Сколько дней заказ едет до покупателя
Доля доставленных заказов по сроку доставки
Как посчитать замороженные деньги без двойного счёта
Я выбираю одну дату среза и привожу к ней остатки, поставки, расчёты с площадкой и выписку банка. Нельзя взять складские остатки после обновления, выплаты до обновления и считать, что между ними ничего не изменилось. Для рабочей таблицы мне нужны идентификатор партии или заказа, состояние, сумма, источник данных и ожидаемое событие, которое освободит деньги. Отдельным полем я помечаю расчётные величины, которые ещё не подтверждены документами. Затем прохожу расчёт последовательно, чтобы одна и та же стоимость не кочевала между строками.
- Сначала собираю фактически оплаченные авансы по ещё не полученным поставкам. Из перечисленной суммы вычитаю возвраты поставщика и часть аванса, уже зачтённую в полученный товар. Зачтённая часть дальше учитывается внутри стоимости партии. Полную стоимость будущей поставки вместо фактической предоплаты сюда не ставлю.
- Затем считаю полученные товарные остатки по себестоимости партий. К ним отношу оплаченный товар в пути, если по моей схеме учёта он уже перешёл из аванса в запас. Из исходного количества исключаю проданное, списанное и повторно отражённое при перемещениях. Стоимость каждой партии должна находиться либо в авансе, либо в запасе, но не в обоих местах.
- После этого определяю неполученные суммы по продажам. Если начинаю с начислений до удержаний, вычитаю относящиеся к ним комиссии, услуги, возвраты и прочие подтверждённые корректировки. Затем вычитаю выплаты, уже поступившие по этим расчётам на банковский счёт. Если исходный отчёт уже показывает чистую задолженность площадки, повторно эти вычеты не делаю.
- Дальше складываю оставшиеся авансы, стоимость товарных запасов и неполученные суммы по продажам. Получаю объём средств и требований к получению, который пока недоступен на счёте. Это смешанная оценка: товар посчитан по себестоимости, а расчёты с площадкой могут содержать заработанную маржу. Поэтому я не называю результат точной суммой первоначальных вложений.
- Отдельно собираю долги поставщикам и другие обязательства, относящиеся к этому обороту. Вычитание таких обязательств из связанных оборотных активов помогает оценить чистую потребность в финансировании при выбранных границах расчёта. Но задолженность не превращается от этого в свободные деньги. Её сумму и дату оплаты я обязательно переношу в платёжный календарь.
- В конце проверяю будущий остаток денег по датам. К доступному остатку на счёте последовательно прибавляю ожидаемые поступления и вычитаю закупки, услуги, налоги, погашения долгов и остальные предстоящие платежи. Уже оплаченные расходы второй раз не вычитаю. Самый низкий остаток показывает, где потребуется финансирование или перенос платежа.
В результате у меня получаются разные показатели для разных решений, и я не пытаюсь свести их в один. Сумма авансов, запасов и расчётов с площадкой показывает, где находятся недоступные сейчас средства. Расчёт за вычетом связанных обязательств помогает увидеть, какая часть оборота требует собственного или заёмного финансирования. Календарь отвечает на практический вопрос: смогу ли я заплатить в конкретную дату. Большой товарный остаток может сочетаться с положительным денежным прогнозом, если поставщик дал отсрочку, а выплаты придут раньше её окончания.
Один заказ нельзя одновременно целиком учитывать как товар в пути покупателю и как сумму к получению от площадки. Я фиксирую правило перехода между состояниями и применяю его ко всем заказам одинаково. Если статус ещё не подтверждён, оставляю отдельную пометку неопределённости, а не создаю ещё одну сумму. Иначе расчёт завышает связанные средства и может подтолкнуть к ненужному кредиту.
Для повторяемого расчёта мне важнее прослеживаемость суммы, чем красивый итоговый показатель. Я хочу открыть строку и понять, из какого остатка, начисления или платежа она появилась. Поэтому SellOps я делал для собственных магазинов после того, как не нашёл готового сервиса аналитики, которому мог бы доверять; общий подход описал на странице как устроен сервис. При этом таблица тоже подходит, если состояния определены и исходные данные можно проверить. Автоматизация не исправит ситуацию, когда товар и деньги за него изначально посчитаны одновременно.
Как прибыльный магазин получает кассовый разрыв
Конкретная ошибка — считать сумму продаж деньгами, доступными для закупки. Продавец видит прибыль по доставленным заказам, оформляет новую партию и назначает оплату раньше ожидаемого поступления от площадки. При этом часть доступного остатка уже нужна на обязательные расходы, а часть удержаний ещё не попала в его ручной расчёт. Сам товар может продаваться с положительной маржой, но к дате платежа на счёте окажется недостаточно денег. Именно так возникает кассовый разрыв на маркетплейсе без обязательного убытка от продаж.
Денежные последствия я считаю отдельно от самого дефицита: проценты и комиссии за срочное финансирование, дополнительные расходы из-за изменения поставки, возможные санкции по договору. Если ради пополнения счёта приходится снижать цену остатков, отдельно оцениваю потерю маржи относительно реалистичного сценария продажи без срочности. Остановка закупки тоже может оставить магазин без доступного товара, но упущенную выручку нельзя целиком записывать в потерянную прибыль. Из потенциальной выручки всё равно пришлось бы покрывать себестоимость и переменные расходы. Без условий кредита, договора и данных о спросе точную цену ошибки я не назову.
Есть и обратная ловушка: заметить нехватку денег и решить, что её исправит любой рост продаж. Если рост требует заранее оплатить больше товара, потребность в оборотном капитале сначала увеличится. Закупка следующей партии может наступить до того, как деньги вернутся из предыдущей, и прибыль этого временного наложения не отменяет. Поэтому я проверяю запуск закупки по календарю поступлений, а не только по остаткам и марже. Когда запас уже раздут, полезнее пересмотреть его размер; свою логику я описал в статье сколько товара держать на складе, чтобы оставались деньги.
Как связать оборачиваемость, выплаты и деньги на старт
Оборачиваемость показывает, насколько долго средства остаются внутри товарного запаса, но её нужно считать в сопоставимых величинах. Для оценки в днях я делю средний запас по себестоимости на себестоимость реализованного товара за период и умножаю на продолжительность этого периода. Сравнение закупочной стоимости остатка с розничной выручкой исказит результат, потому что в знаменатель попадёт наценка. Полученное значение помогает оценить скорость движения запаса, а не обещает дату продажи каждой партии. Связь такого расчёта с пополнением я подробно разобрал в статье как я считаю оборачиваемость и связываю её со сроками поставки.
Для денежного цикла я смотрю шире: когда оплатил поставщику, сколько ждал получения товара, сколько товар оставался запасом и когда получил деньги после продажи. Эти интервалы нельзя бездумно складывать, если выбранный показатель оборачиваемости уже включает товар в пути или другое учтённое состояние. Отсрочка поставщика сокращает время, которое я финансирую сам, а ранняя предоплата его увеличивает. Задержка поступления от площадки продлевает этот цикл даже при быстрой продаже. Поэтому улучшение оборачиваемости освобождает деньги только на том участке, где товар действительно стал проходить быстрее.
На вопрос «сколько денег нужно для старта на Озон» я не могу честно ответить универсальной суммой без условий закупки и модели продаж. Я строю календарь от первой оплаты поставщику до ожидаемых поступлений и следующего пополнения, включая подготовку товара, продвижение и обязательные расходы. Стартовая потребность определяется максимальным накопленным дефицитом в этом календаре плюс выбранный денежный резерв, а не только ценой первой партии. Отдельно проверяю сценарий, в котором товар продаётся медленнее, поступления сдвигаются, а закупку приходится оплачивать по прежнему графику. Пока истории нет, это допущения, и я помечаю их именно так, вместо того чтобы выдавать прогноз за факт.
Завтра я бы начал с выгрузки остатков, списка оплаченных поставок, расчётов с площадкой и банковской выписки на одну дату. Затем распределил бы суммы между авансами, запасом, неполученными выплатами и свободными деньгами, проверив переходы на конкретных заказах. После этого поставил бы в календарь ближайшую закупку и остальные обязательные платежи, а ожидаемые поступления привязал бы к подтверждённым условиям расчётов. Если денег не хватает, решение нужно принять до отправки оплаты: уменьшить партию, согласовать иной график или заранее оценить стоимость финансирования. Так вопрос о замороженных деньгах превращается из тревожной общей суммы в понятный список действий с датами и ответственными платежами.
Хотите увидеть эти цифры по своим товарам?
Попробовать SellOps бесплатно