
Между моментом, когда покупатель нажал «оплатить», и днём, когда сумма приходит на расчётный счёт магазина, у заказа пять отрезков пути и три места, где деньги задерживаются. Разбираем, что происходит на каждом и где у Serkl рамка.
Эта статья написана командой Serkl — мы заинтересованная сторона. Старались показать и сильные стороны, и места, где модуль заказов в Serkl пока не дотягивает. Если кажется, что недостаточно критичны — напишите, поправим.
Допустим, у магазина в отчёте банка за май — 187 350 ₽ поступлений на расчётный счёт. В админке за тот же месяц отгружено заказов на 234 100 ₽. Разница — 46 750 ₽ — не пропавшие деньги: часть стоит в клиринге у платёжного сервиса, часть ушла обратно после отказа покупателя в ПВЗ, часть закреплена за неотгруженной позицией из частичной отгрузки. Чтобы понять, где сейчас каждая из этих сумм, нужно знать путь денег внутри заказа.
Этот путь короче, чем кажется в первый раз, и устроен из пяти отрезков. От нажатия «оплатить» в корзине до зачисления на расчётный счёт деньги проходят: фиксацию суммы при оформлении, приём оплаты, состояние «оплачено, но ещё не отгружено», обратный путь при возвратах и обменах, клиринг до счёта. На каждом отрезке у магазина свой объём ответственности и свой набор данных, который видно в админке. Дальше — про каждый из них и про границу, после которой стартовой настройки не хватает.
Сумма заказа: что фиксируется при оформлении
Заказ — это не «корзина в момент покупки», а контракт между магазином и покупателем. В момент оформления у контракта появляются конкретные строки, и с этого момента они не пересчитываются: завтра в каталоге изменится цена — у заказа цена останется той, что была; закончится акция — скидка, попавшая в заказ, останется в нём.
В состав заказа фиксируются четыре вещи. Позиции — конкретные варианты из каталога: не «кружка Лето», а «кружка Лето, синяя, 350 мл», цена на момент оформления, количество. Скидки от активных акций — если заказ подошёл под условие, скидка попадает отдельной строкой; сумма после скидок и есть «выручка», с которой дальше считается комиссия платёжного сервиса. Стоимость доставки — по адресу и перевозчику, отдельной строкой. Итог — сумма позиций минус скидки плюс доставка; та цифра, которую покупатель попытается оплатить.
Подробнее про варианты — в «Как устроен Каталог на Serkl», про акции — в «Как устроен модуль Акций на Serkl», про доставку — в «Как устроена Доставка на Serkl».
И ещё одно, без чего заказ не собран. Заказ привязывается к профилю клиента: у первого гостя заводится новый профиль (email, телефон, имя, адрес), у постоянного — заказ ложится в существующий рядом с предыдущими. История заказов клиента — это и есть его профиль с другой стороны. Подробнее — в «Как устроен модуль CRM на Serkl».
К моменту оформления остатки уже изменились: на каждой позиции сработал резерв — отметка, что артикул занят под этот заказ и не может уйти через другой канал. Подробнее — в «Как устроен учёт Остатков на Serkl». Заказ оформлен, состав зафиксирован, остатки зарезервированы. Дальше — деньги.
Приём оплаты: ЮKassa, СБП, банковская карта
На странице оформления покупатель видит способы оплаты: карта, СБП по QR-коду или ссылке, иногда рассрочка. Под каждым способом стоит платёжный сервис, и в большинстве случаев это ЮKassa. Продавец подключает магазин к ней один раз — в админке, в разделе оплат — и дальше у него открыт доступ ко всем способам, которые ЮKassa предоставляет.
«Оплачено» в админке означает, что деньги ушли с карты или счёта покупателя в адрес платёжного сервиса. Это первый из трёх моментов: «у покупателя» → «у ЮKassa» → «на расчётном счёте магазина». На втором мы остановимся в последнем разделе — пока важно, что заказ уже считается оплаченным, и резерв на остатке превращается в обязательство магазина.
Рядом с приёмом оплаты стоит онлайн-чек. По 54-ФЗ продавец обязан выдать покупателю кассовый чек в момент расчёта — это делает подключённая онлайн-касса, не платёжный сервис и не админка. Интеграция с кассовым решением — в наших планах. На старте продавец подключает онлайн-кассу самостоятельно у выбранного оператора фискальных данных; подробный разбор — в отдельной гайд-статье.
Не все заказы приходят через корзину. Часть продаж в небольшом магазине идёт по телефону или в чате: «вы написали в Telegram, я уточнил наличие, согласовали состав, нужна оплата». Для таких сценариев в админке оформляется черновик заказа — продавец сам собирает состав, подставляет адрес, считает доставку. На выходе — ссылка на оплату, которую можно отправить покупателю в чат. Он оплачивает любым из тех же способов, и заказ переходит в статус оплаченного. Всё остальное (остатки, профиль, акции) — то же самое; отличие только в том, что собрал заказ продавец.
Что меняется при отгрузке: частичная отгрузка и неоплаченные обязательства
Между «оплачено» и «отгружено» — отдельный отрезок, который часто не замечают. Деньги уже у платёжного сервиса, но обязательство магазина не закрыто: товар ещё не уехал. На этом отрезке у заказа три состояния: ожидает сборки, собирается, передан перевозчику. Отгрузка — момент, когда продавец нажимает «отгрузить»: остатки списываются со склада, появляется трек-номер, физическая ответственность переходит к перевозчику. Подробнее — в «Как устроена Доставка на Serkl».
Неприятный класс случаев — когда отгрузить заказ целиком не получается. У одного товара пришла поставка, у второго задерживается. Покупатель оплатил оба и не хочет ждать. Тут продавец оформляет частичную отгрузку: одна позиция уезжает сейчас со своим трек-номером, вторая остаётся в заказе со статусом «ожидает». В личном кабинете покупателя видно: «синяя кружка — в пути, трек 1234567890; зелёная — отправим до 15 мая». Когда вторая дойдёт до отгрузки, у заказа будет два трек-номера и общий статус «отгружен полностью».
В учёте остатков частичная отгрузка читается как обычная: первая списывается в момент своей отгрузки, вторая остаётся в резерве, пока её тоже не отгрузят или пока заказ не закроется возвратом по этой позиции. Деньги уже у магазина, но обязательство по второй позиции открыто: если она не уедет, эта часть пойдёт обратно. То же самое — со сценариями возврата, замены, доплаты. Это уже следующий отрезок.
Обратный путь: возвраты, обмены, претензии
После того как деньги пришли, у них появляется обратное направление. У заказа в Serkl три формы обратного движения.
Полный возврат. Покупатель возвращает товар целиком — не подошёл размер, передумал, не успел забрать из ПВЗ. Продавец принимает товар, проверяет состояние, оформляет возврат в карточке заказа. Деньги уходят обратно через тот же канал, которым пришли (карта через ЮKassa — на ту же карту; СБП — на счёт по СБП). Товар возвращается на остаток, если в продаваемом состоянии, или помечается браком, если повреждён — решает продавец при приёмке. Связка с остатками — в «Как устроена Доставка на Serkl».
Частичный возврат. Покупатель возвращает одну позицию из нескольких. Из «синей кружки» и «зелёной кружки» зелёная не подошла — оформляется возврат только по ней. Деньги за зелёную возвращаются, синяя остаётся отгруженной, заказ остаётся открытым с пересчитанным итогом.
Обмен. Покупатель меняет один вариант на другой: «синяя не подошла, давайте зелёную». Состав меняется без расторжения: одна позиция выходит, другая входит. Разница в плюс — доплата отдельной ссылкой; в минус — частичный возврат. На остатках обе операции отыгрываются.
Претензия без возврата товара. Товар цел, но коробка помята, или у одной позиции некритичный дефект. Покупатель просит компенсацию без возврата товара. У операции своя строка в карточке заказа: компенсация на сумму X с причиной в свободном тексте. Заказ не закрывается, остатки не возвращаются — деньги частично уходят обратно, и история компенсации остаётся на карточке.
Возврат может закрывать не только сам заказ, но и связанные записи — отгрузку у перевозчика, позицию в учёте остатков, в редких случаях и применённую акцию (если на возвращаемую позицию шла специальная скидка, бюджет акции частично возвращается).
Когда деньги доходят до расчётного счёта
И теперь — третья форма движения, та самая, которая объясняет расхождение в открытии. Между «оплачено» и «деньги на расчётном счёте магазина» проходит клиринг. На этом отрезке деньги уже не у покупателя, но ещё не у магазина: они у платёжного сервиса, который их получает, удерживает свою комиссию и перечисляет остаток на расчётный счёт магазина по своему графику.
У ЮKassa график зависит от тарифа. Стандартный — T+1 или T+2: деньги, оплаченные сегодня, окажутся на расчётном счёте на следующий или второй рабочий день. У СБП через ЮKassa — близко к T+1; у банковских карт — чуть медленнее. Конкретные сроки видны в личном кабинете ЮKassa.
Возвраты в этот отрезок встраиваются особо. Если за день у магазина пришло поступлений на 50 000 ₽ и за тот же день оформились возвраты на 10 000 ₽, на расчётный счёт уйдёт 40 000 ₽: возвраты вычитаются из ближайшего поступления. Если возвратов оказалось больше, чем поступлений, разница переносится на следующий — это нормальный режим, и в отчёте видно, какие именно возвраты подтянулись к какому поступлению.
В админке видны три цифры по отдельности — выручка по периоду, статусы платежей и список выплат на расчётный счёт. Связать их в формулу «оплачено − возвраты − в клиринге = ожидаемая выплата» продавец сегодня делает руками. Сводный отчёт с готовой раскладкой — в наших планах. Расчётный счёт продавец сверяет с этими цифрами раз в неделю или раз в месяц — это часть финансовой гигиены, которая в небольшом магазине лежит на нём самом.
И именно здесь возвращаются 46 750 ₽ из открытия. На отгруженных 234 100 ₽ — порция в клиринге у ЮKassa, порция возвратов и компенсаций (деньги уже ушли назад), порция неотгруженных позиций из частичных отгрузок (деньги получены, но обязательство магазина не закрыто). Каждая сумма где-то стоит и куда-то движется; путь денег — способ её увидеть.
Когда стартовой настройки заказов не хватает
Стартовая настройка собрана под розничный сценарий: покупатель оформляет, оплачивает в момент покупки, продавец отгружает, иногда возвращает деньги. Этого хватает большей части небольших магазинов до 500 заказов в месяц. Но есть классы задач, где её не хватит.
Опт с отсрочкой платежа. Корпоративный покупатель получает счёт, оплачивает по факту через 7–30 дней. Порядок «оплачено → отгружено» меняется на «согласовано → отгружено → оплачено», стандартная связка «приём оплаты при оформлении» не подходит. Сейчас сценарий собирается вручную: продавец оформляет черновик заказа, выставляет счёт без приёма оплаты, после получения денег отмечает заказ оплаченным.
Корпоративный документооборот. Юридическое лицо ждёт счёта-фактуры, УПД, акта — документов с реквизитами организации. На старте в Serkl есть базовый счёт и кассовый чек; полноценный ЭДО — отдельная задача и сервисы (Контур.Диадок, СБИС, 1С:ЭДО), которые подключаются магазином самостоятельно.
Сложные сценарии частичной оплаты. Предоплата 30% при оформлении, остальные 70% при получении. Задаток, который не возвращается при отказе. Логика собирается двумя отдельными заказами или вручную; встроенного «оплата по этапам» нет.
Доплата при изменении состава после оформления. Покупатель оформил, оплатил, потом просит добавить ещё позицию. Сейчас удобнее оформить второй заказ — «дозаказа» к уже оплаченному в продукте нет.
Маркетплейс-заказы. WB, Ozon, Я.Маркет работают по своим правилам: состав, оплата, статусы, возвраты приходят со стороны маркетплейса в свои сроки. Передача в общий учёт — отдельная история, разобрана в «Маркетплейсы и Serkl» (планируется).
Куда смотреть: для опта и корпоративного документооборота — МойСклад, Контур.Эльба, 1С:Управление торговлей. Для сложной обработки заказов с большим объёмом — RetailCRM, Aplaut, Salesup. Это не «или Serkl, или они»: чаще всего такие сервисы подключаются рядом и работают со своей частью операций, а розница остаётся на Serkl.
Лимиты на тарифах: некоторые операции на младших тарифах ограничены или отключены — точные цифры на /pricing.
Заказ как точка сходимости
Заказ — единственное место в магазине, где сходятся четыре линии: товар (со склада), клиент (из профиля), скидка (из активной акции), деньги (к расчётному счёту). У каждой своя статья в серии, но на странице заказа в админке они оказываются в одном кадре.
Когда четыре линии собраны на одной странице, продавец отвечает на «где мой заказ?» за полминуты, а на «почему на счёте меньше, чем продано» — за минуту, сверив отчёт по поступлениям с банком. Когда они разнесены по четырём сервисам — на тот же вопрос уходит час, и в трёх случаях из десяти ответ оказывается с ошибкой: пропустили возврат, не учли клиринг, забыли частичную отгрузку.
На небольшом обороте разница в час кажется не критичной. На 200 заказов в месяц этот час повторяется ежедневно — сходимость лучше собрать один раз в архитектуре, чем каждый день в табличке.
Связанные статьи:
- «Как устроен модуль CRM на Serkl» — про привязку заказа к профилю клиента и историю заказов как срез профиля.
- «Как устроен модуль Акций на Serkl» — про скидки, попадающие в состав заказа в момент оформления.
- «Как устроен учёт Остатков на Serkl» — про резерв при оформлении, списание при отгрузке, восстановление или брак при возврате.
- «Как устроена Доставка на Serkl» — про передачу заказа перевозчику, трек-номер и закрытие заказа после возврата.
- «Как устроен Каталог на Serkl» — про варианты товаров, цены и карточки, из которых заказ берёт состав позиций.
- «Маркетплейсы и Serkl» — про обмен заказами между Serkl и WB / Ozon / Я.Маркет (планируется).
Артем Маршалкин — основатель Serkl Platform. Раньше запускал магазины с оборотом до 1 млн ₽/мес.