Beancount.io LogoBeancount.io

Учет товарных запасов в электронной коммерции с 3PL и омниканальным выполнением заказов

14 мин чтенияMike ThriftMike Thrift
Учет товарных запасов в электронной коммерции с 3PL и омниканальным выполнением заказов

Среднестатистический продавец на Amazon ежегодно теряет от 1 500 до 3 000 долларов из-за невостребованных возмещений и ошибок сверки. Продавцы, работающие одновременно на Amazon, Shopify, Walmart и eBay, могут столкнуться с тем, что объем несверенных депозитов в пути превышает 500 000 долларов, если никто не следит за отчетами о расчетах. Тем не менее, большинство основателей e-commerce компаний рассматривают учет запасов как нечто второстепенное — до тех пор, пока аудит в конце года не выявит, что данные баланса разошлись с физической реальностью на десятки тысяч долларов.

Проблема не в отсутствии опыта. Современные операторы электронной коммерции жонглируют несколькими складами, сторонними логистическими провайдерами (3PL), фулфилмент-центрами Amazon (FBA), запасами в пути и комиссиями маркетплейсов, которые вычитаются еще до того, как деньги попадут на расчетный счет. Каждая из этих точек соприкосновения — это возможность для расхождения бухгалтерских записей с действительностью. Это руководство описывает, как поддерживать их в соответствии: как рассчитать истинную себестоимость с доставкой (landed cost), как отслеживать запасы по распределенным локациям, как построчно сверять отчеты маркетплейсов и как предотвратить корректировки «фантомной себестоимости» (COGS), которые бухгалтеры обнаруживают в кипе документов при закрытии года каждый январь.

Почему учет запасов в электронной коммерции принципиально отличается

Традиционный учет складских запасов в розничной торговле предполагает простую модель: вы закупаете товары, храните их на одном складе, продаете через один канал и признаете себестоимость реализованных товаров, когда покупатель производит оплату. В случае с современным брендом, работающим напрямую с потребителем (DTC), эта модель практически неприменима.

Типичный средний e-commerce бизнес может хранить 2 000 единиц товара на основном складе, 1 500 единиц в различных региональных фулфилмент-центрах FBA, 1 000 единиц у 3PL-провайдера, обслуживающего заказы Shopify, и еще 500 единиц в пути на морском судне от поставщика из Вьетнама. У каждой из этих единиц разное физическое местоположение, разная база себестоимости (в зависимости от того, в какую партию поставки она входила) и разная вероятность повреждения, утери или морального устаревания до момента продажи.

На физическую сложность накладывается финансовая сложность. Amazon вычитает реферальные комиссии, сборы за фулфилмент FBA, плату за хранение, надбавки за длительное хранение и сборы за утилизацию из валовой выручки еще до того, как продавец получит депозит. Заказы Shopify через MCF (Multi-Channel Fulfillment) имеют совершенно иную структуру комиссий. Каждый маркетплейс производит расчеты со своей периодичностью — Amazon обычно каждые 14 дней, Shopify ежедневно, Walmart дважды в месяц — и каждый отчет о расчетах содержит сотни или тысячи строк, которые необходимо сопоставить с операционным банковским счетом и разнести по правильным счетам главной книги.

В результате простые бухгалтерские упрощения, которые работают для небольшого ритейлера — запись чистых депозитов как выручки, учет доставки как расхода, объединение сборов FBA в «комиссии и услуги» — незаметно разрушают точность финансовой отчетности. К тому времени, когда основатель спрашивает: «Почему наша валовая маржа постоянно падает?», ответ уже погребен под горой накопленных за год неверных классификаций.

Landed Cost: правильный учет затрат прежде всего

Первое и самое важное решение, которое принимает оператор электронной коммерции в отношении учета запасов, — это то, что именно считается «стоимостью» товара. Общепринятые принципы бухгалтерского учета (GAAP) требуют, чтобы запасы учитывались по полной стоимости доставки до точки продажи, которая включает:

  • Инвойсную цену поставщика (самый очевидный компонент)
  • Международный фрахт (морской, воздушный или автомобильный транспорт от места происхождения)
  • Таможенные пошлины и тарифы (часто 5–25% в зависимости от страны и кода ТН ВЭД)
  • Сборы импортного брокера и расходы на таможенную очистку
  • Страхование груза в пути
  • Внутренний фрахт из порта на склад
  • Расходы на обработку, паллетирование и подготовку (prep fees)
  • Сборы за приемку товара на складе 3PL

Этот пакет затрат называется landed cost (себестоимость с доставкой), и для многих импортных товаров она на 15–30% превышает инвойсную цену поставщика. Основатель, который учитывает только цену поставщика как себестоимость реализации (COGS), будет систематически завышать валовую маржу, принимать неверные решения о пополнении запасов из-за заниженной стоимости и в конечном итоге столкнется с болезненной дооценкой запасов в конце года, когда аудитор переклассифицирует расходы на фрахт.

Распределение общих затрат по SKU

Сложность заключается не в признании важности фрахта, а в том, как разделить один счет за перевозку между несколькими SKU в одной поставке. Существует четыре распространенных метода распределения:

  1. По количеству единиц. Общая сумма фрахта делится поровну на количество единиц товара. Просто, но неверно, если товары сильно различаются по размеру или стоимости.
  2. По весу. Распределение на основе физического веса каждого SKU. Лучше всего подходит для морских перевозок, где ценообразование обычно коррелирует с весом или объемом.
  3. По объему (кубическим метрам). Подходит для объемных, но легких товаров, которые занимают непропорционально много места в контейнере.
  4. По стоимости. Распределение на основе инвойсной стоимости каждого SKU в процентах от общей суммы. Концептуально прозрачный метод, соответствующий тому, как обычно рассчитываются таможенные пошлины.

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

Учет полной стоимости приобретения (Landed Cost) в книгах

Шаблон журнальной записи для landed cost (полной стоимости приобретения) прост, но его легко испортить. Предположим, вы получаете партию товара стоимостью 50 000 посчетупоставщика,8000по счету поставщика, 8 000 за фрахт, 3 500 пошлини1000пошлин и 1 000 комиссий таможенного брокера. Правильная запись выглядит так:

Дт Запасы                        62 500 $
   Кт Кредиторская задолженность        50 000 $   (поставщик)
   Кт Начисленный фрахт                  8 000 $   (перевозчик)
   Кт Начисленные пошлины                3 500 $   (таможня)
   Кт Начисленные брокерские услуги      1 000 $   (брокер)

Распространенная ошибка — дебетовать «Расходы на фрахт» вместо «Запасов» на сумму 8 000 $. Это приводит к немедленному признанию расходов, которые должны были быть капитализированы в запасы и списаны через себестоимость реализации (COGS) только по мере продажи единиц товара. За квартал такая ошибка может занизить стоимость запасов на шестизначную сумму.

Отслеживание запасов по складам: реальность мультиканальных продаж

Как только landed cost за единицу зафиксирована, следующая проблема — отслеживание физического местонахождения этих единиц. У мультиканального продавца один и тот же SKU может одновременно находиться:

  • На собственном складе или в офисе компании
  • У отечественного 3PL-провайдера, обслуживающего канал Shopify (direct-to-consumer)
  • В нескольких центрах фулфилмента Amazon FBA (иногда более 30)
  • На складах Walmart Fulfillment Services (WFS)
  • В пути от поставщика
  • В «зарезервированном» статусе: единицы, закрепленные за заказами, но еще не отгруженные

Для каждого местоположения нужен собственный субсчет в главной книге, чтобы баланс можно было сверить с результатами физической инвентаризации. Отношение к «запасам» как к единому котлу — самая частая причина расхождений при аудите, поскольку ошибки в одном месте компенсируют ошибки в другом, и их становится невозможно расследовать постфактум.

Ловушка зарезервированных запасов FBA

Панель управления запасами Amazon различает «Fulfillable» (доступные для продажи единицы на складе), «Reserved» (зарезервированные под заказ клиента, находящиеся в процессе перемещения между центрами или во временной обработке), «Inbound» (в пути к FBA от продавца), «Researching» (Amazon расследует расхождение) и «Unfulfillable» (поврежденные, бракованные или застрявшие товары).

Для целей бухгалтерского учета все это по-прежнему ваши запасы — они отражаются в балансе по их landed cost, — но у них разные профили риска. Единицы в статусе «Researching» часто превращаются в списания или возмещения; «Unfulfillable» — почти всегда. Продавцы, которые сваливают все в один счет «Запасы FBA», упускают сигнал о том, что товар на несколько тысяч долларов тихо простаивает уже шестьдесят дней и срок подачи претензии на возмещение истекает.

Более чистый подход к плану счетов предполагает разделение запасов FBA как минимум на три субсчета:

  • Запасы — FBA Доступные (Fulfillable)
  • Запасы — FBA В пути/Зарезервировано (In-Transit/Reserved)
  • Запасы — FBA Непригодные/На проверке (Unfulfillable/Researching)

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

Запасы в пути (Inbound и In-Transit)

Запасы, которые были оплачены, но еще не получены, должны где-то числиться в балансе. Оптимальный вариант — выделенный счет «Запасы в пути», который дебетуется при отгрузке поставщиком и кредитуется (с соответствующим дебетом счета «Запасы — Склад») при прибытии товара. Обособление товаров в пути предотвращает две ошибки: признание товаром в наличии того, чем вы еще не владеете, и потерю из виду грузов, которым требуется восемь недель, чтобы пересечь океан.

Расчеты с маркетплейсами: где прячутся деньги

Распространенное заблуждение основателей заключается в том, что выручка равна сумме банковских депозитов от Amazon. Это не так. Депозит Amazon — это чистая сумма от валовых продаж за вычетом реферальных сборов, комиссий за фулфилмент FBA, сборов за хранение, транспортных расходов на входящие поставки FBA, возвратов, возмещений, чарджбэков, расходов на рекламу (если вы используете систему удержания Amazon), промо-акций и еще десятка других категорий. Запись только чистого депозита в качестве выручки делает отчет о прибылях и убытках бесполезным.

Как на самом деле выглядит сверка выплат (Settlement Reconciliation)

Правильная сверка выплат маркетплейса состоит из трех шагов:

  1. Разбор отчета о выплатах. Отчет Amazon о расчетах (settlement report) можно скачать из Seller Central в формате CSV или XML. Он содержит каждую транзакцию за расчетный период, помеченную типом (Order, Refund, FBA Inventory Fee, Service Fee, Adjustment и т. д.).
  2. Сопоставление каждого типа транзакции со счетом в книге. Заказы идут в валовую выручку; реферальные сборы — в «Расходы на комиссию маркетплейса»; комиссии за фулфилмент FBA — в «Расходы на фулфилмент»; сборы за хранение — в «Расходы на хранение»; возвраты отражаются как контра-выручка; возвращенные комиссии — как контра-расходы.
  3. Сверка итоговой чистой суммы с банковским депозитом. Сумма всех компонентов в отчете о выплатах должна быть равна денежному депозиту, поступившему на расчетный счет (с точностью до нескольких центов из-за округления). Если суммы не совпадают, значит, есть пропущенный тип транзакции или неверно классифицированная комиссия.

Дисциплина, которая заставляет это работать, — отказ от объединения комиссий в валовую маржу. Реферальные сборы, сборы за фулфилмент и хранение — это переменные расходы, которые идут после валовой маржи в структуре маржинального дохода. Если ставить их выше валовой маржи, показатели Amazon будут выглядеть хуже, чем у Shopify, даже при идентичной юнит-экономике, что лишает основателей возможности корректно сравнивать каналы продаж для принятия решений.

Антипаттерн «списание разницы»

Когда бухгалтер не может свести сверку до копейки, соблазнительным коротким путем становится списание разницы на общий счет «Корректировки маркетплейса». В разрезе четырех каналов продаж и двенадцати месяцев эти небольшие списания регулярно превращаются в пятизначные недостачи. Дисциплина, которая предотвращает это, — жесткое правило: каждая сверка должна сходиться с депозитом с точностью до 5 долларов, а любые более крупные расхождения должны расследоваться и документироваться до закрытия месяца. Заявки на возмещение за потерянный или поврежденный инвентарь FBA обычно имеют 60-дневное окно подачи, поэтому необъяснимое расхождение часто является упущенной возможностью получить компенсацию.

Фантомная себестоимость в конце года: проблема отрицательных запасов

Самая коварная проблема с запасами в конце года — это то, что пользователи NetSuite называют «фантомной себестоимостью» (phantom COGS). Это происходит, когда учетная система регистрирует продажу (и соответствующую запись о себестоимости — COGS) в момент, когда остатки инвентаря в системе равны нулю или ниже нуля. Система не может списать реальную сумму себестоимости, поэтому она ставит «заглушку» — иногда нулевую, иногда устаревшую стоимость из предыдущего периода. Недели или месяцы спустя корректировка запасов наконец выводит количество в плюс, и система «выравнивается», создавая догоняющую проводку себестоимости, часто с ценой, которая не имеет никакого отношения к первоначальной продаже.

Эти фантомные корректировки незаметно накапливаются в течение года. К декабрю строка себестоимости (COGS) в отчете о прибылях и убытках за год может отклоняться на десятки тысяч долларов в любую сторону, тренды валовой маржи выглядят хаотично, а баланс запасов в балансовом отчете тихо уходит в сторону от данных физического подсчета.

Предотвращение отрицательных запасов в первую очередь

Структурное решение — запретить отрицательные остатки запасов в системе. Это означает:

  • Своевременная сверка входящих поставок. Когда FBA получает поставку, в панели управления продавца отображаются принятые единицы, но пока оператор не зафиксирует поступление в своей учетной системе, система считает, что эти товары все еще находятся в пути.
  • Отражение реализации маркетплейса в реальном времени. Ежедневная синхронизация Amazon с бухгалтерией (через такие инструменты, как A2X, Webgility, Link My Books или Entriwise) предотвращает многонедельную задержку, из-за которой продажи опережают наличие на складе.
  • Осторожное обращение со смешанным инвентарем (commingled inventory). Программа смешанного инвентаря Amazon (где ваши SKU объединяются с идентичными SKU других продавцов) создает временные разрывы, которые выглядят как отрицательные запасы, даже если в реальности все в порядке. Самый чистый ответ — отказаться от смешивания для любых SKU, где важен контроль качества.

Инвентаризация и сверка в конце года

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

  • Физический подсчет на складе компании.
  • Загрузка отчета об инвентаризации из Amazon Seller Central (отчет Inventory Ledger).
  • Загрузка отчета об инвентаризации с портала 3PL-провайдера.
  • Подтверждение количества товаров в пути от поставщика и экспедитора.

Общая сумма должна совпадать со строкой запасов в балансовом отчете. Там, где она не совпадает, разница расследуется; то, что невозможно объяснить, списывается как недостача журнальной проводкой на счет «Расходы на недостачу инвентаря». Недостача свыше 2% от стоимости запасов обычно сигнализирует о проблеме в процессах (кража, ошибки подсчета у 3PL или постоянные пробелы в возмещениях FBA), а не о разовом расхождении.

Методы расчета себестоимости: FIFO, средневзвешенная стоимость и почему большинству продавцов стоит выбрать средневзвешенную

GAAP допускает три основных метода расчета себестоимости запасов: «первым пришел — первым ушел» (FIFO), «последним пришел — первым ушел» (LIFO) и средневзвешенная стоимость. LIFO редко используется за пределами США и несовместим с МСФО (IFRS), поэтому практический выбор стоит между FIFO и средневзвешенной стоимостью.

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

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

Для большинства брендов, работающих напрямую с потребителем (DTC) и продающих потребительские товары в умеренных объемах, средневзвешенная стоимость — правильный ответ. Этого достаточно для точной финансовой отчетности, это легко автоматизировать и это устойчиво к временным задержкам входящих/исходящих потоков, которые характерны для мультиканальных операций. FIFO стоит дополнительных сложностей только в тех случаях, когда стоимость продукта очень волатильна (литий, полупроводники, определенные сельскохозяйственные товары) или когда оператору необходимо отслеживать данные о партиях или сроках годности из соображений комплаенса.

Прибыльность каналов: главный результат правильного учета

Вся эта дисциплина важна потому, что бизнес в сфере электронной коммерции не может принимать правильные решения о росте без точного отчета о прибылях и убытках (P&L) по каналам. Стоит ли направлять больше запасов в FBA или вашему 3PL-провайдеру? Действительно ли ваш канал Shopify прибыльнее, чем Amazon, или Shopify просто выглядит лучше, потому что в учете комиссии FBA спрятаны не на том счете? Субсидирует ли опт прямые продажи потребителям или наоборот?

Ответы на эти вопросы требуют плана счетов, который разделяет выручку, возвраты, себестоимость (COGS), расходы на исполнение заказов (fulfillment), комиссии маркетплейсов и расходы на рекламу по каждому каналу. Большинство современных учетных платформ поддерживают это через комбинацию классов, местоположений, отделов или тегов — конкретный механизм зависит от инструмента, но принцип один и тот же: каждая транзакция должна быть помечена каналом, из которого она поступила, а отчет о прибылях и убытках должен иметь возможность фильтрации по каналу.

Результат значителен. Операторы, которые ведут чистые отчеты P&L на уровне каналов, регулярно обнаруживают, что их «лучший» канал на самом деле является худшим с точки зрения маржинальной прибыли, или что небольшой, заброшенный канал приносит избыточный денежный поток на каждый доллар оборотного капитала. Эти инсайты появляются только тогда, когда базовые данные чисты — то есть когда полная себестоимость (landed cost) распределена верно, сверки проведены правильно, а фантомная себестоимость не искажает общую картину.

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

Точный учет запасов — это разница между глубоким пониманием своего бизнеса и догадками о нем. По мере того как ваши операции масштабируются на склады, фулфилмент-центры и маркетплейсы, единственным устойчивым способом привести книги в соответствие с физической реальностью становится прозрачная, проверяемая система с контролем версий. Beancount.io предоставляет инструменты текстового бухгалтерского учета (plain-text accounting), созданные именно для этого: каждая транзакция — это читаемая запись с поддержкой сравнения (diff-able), любая иерархия счетов четко соотносится с многоуровневым отслеживанием запасов, а ваши исторические данные принадлежат вам навсегда без какой-либо привязки к конкретному вендору. Начните бесплатно и узнайте, почему финансовые команды, управляющие сложными многоканальными операциями, переходят на текстовый учет.