Существующие статусы заказов - надо что-то менять

Надо менять заложенную изначально логику в статусы заказов. Давно надо, то, что было хорошо 10 лет назад - сейчас изжило себя, и отстает от современности лет этак на тысячу. Что у нас есть? У нас есть заказы, и статусы его пути от витрины до географического местоположения. Есть отгрузки - собран/не собран.
Не буду говорить о возможных и необходимых реализациях. Приведу только несколько примеров.

  1. Заказ оплачен на сайте. Получает статус Обработан (кажется так). Потом он ставится в работу, потом на доставку, потом выполнен… И хрен уже поймет, кто оплачен а кто нет в итоге. С кого надо курьерской компании брать наложку, а с кого нет. Решение - статус оплаты должен быть самостоятельной отдельной сущностью.У себя я привязал метку к способам оплаты, и если это предоплата - вывожу в списке заказов - “предоплачен” (это пока, потом - в заказах завел два поля - тип оплаты, оплаченная сумма).
  2. Частичный отказ при получении. И как вы предлагаете мне это сделать? заказ покупатель принял, но из трех товаров от одного отказался. Удалить из заказа? Но тогда товар сразу появится в магазине, а вернется он ко мне издалека только через месяц. Да и забудут работники через месяц отследить приход возврата. Вернуть весь заказ? Да вы что? Правильно - разделить заказ на два отправления, одно вручить покупателю, а второе - что оно возвращается. А, да, отгрузкам конечно можно добавить новые статусы, но… вот только они ни на что не влияют. Ну и терминология: отгрузка - это процесс передачи отправлений, а отправления - это то, что мы передаем курьеру для доставки.
  3. Не существует никаких зависимостей между статусами заказов. Невозможно разбить один артикул на несколько отправлений. Нетривиален процесс разбиения на “отгрузки”. Про отслеживание - вообще молчу. Статусы отгрузок - это просто “слова” для обозначения.
  4. Давно когда-то попытался воспользоваться отгрузками (которые те самые 10 лет кажется пребывают в “стабильности”) - и был абсолютно уверен, что когда я ставлю все отправления по заказу в статус Отгружен - то и заказ переходит в статус Доставляется. Каково же было мое удивление…

Вообще не сочтите зазорным, посмотрите, как это реализовано у других. Когда заказ приходит в статус Новый - это заказ. Все хорошо - он в работе. Далее заказ переходит в отправление - в одно, если это один товар, или в несколько, если в одну коробку положить не получится. И начиная с этого момента - отгрузка становится основной сущностью, дочерней от заказа, а заказ отходит на второй план.
В общем, тяжко это всё сознавать. Потому что конечно со статусами завязано всё. И менять придется много чего и где. Но это нормальная цена за “быть в ногу со временем”.

6 лайков

Считаю что должны быть:

  • статусы заказов, в которых можно настроить зависимость от отгрузок;
  • отгрузки, со своими статусами;
  • А так же нужна отдельная сущность привязанная к заказу - документ оплаты. В котором обозначено - что оплатил(срез товаров, по сути содержимое товарного чека), когда, каким способом, какая скидка-акция использована при этом.

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

В отгрузке надо хранить следовательно все данные о доставке(что отдают логистические службы), а так же статусы отгрузки.

Для каждой сущности - заказ, отгрузка, документ оплаты - свой набор статусов. И в идеале иметь возможность настраивать зависимость изменения статусов, в зависимости от изменений статусов в следствии изменения содержимого в каждой из сущностей.

Это позволит во-первых настроить корректные интеграции с внешними системами, во-вторых информировать клиента и хранить актуальную историю для отображения клиенту, показывать актуальную информацию. Во-вторых на начальном этапе настроить хоть какие-то простые но понятные бизнес-процессы. Сейчас, даже если установить модуль истории изменения статусов заказов не понятно - а каким был заказ в момент оплаты, не изменил ли его кто? А что именно оплатили, если изменили? А куда загрузить данные от логистической системы? А почему данные от платежных систем все хранятся по-разному… ну и т.д. В детили можно углубиться, но в целом проблема давно есть. Сейчас статусы - довольно бесполезная штука. Как и отгрузки в их сегодняшнем виде лишь зачаточный функционал, который нужно допиливать.

Даже можно не читать, просто эта тема уже лет 5 минимум обсуждается, помню как тут доходило до “драк” и люди просто отказывались от продукта из-за этого, но уверен, что ничего и не поменяется.

Надо просто смирится с тем, что CS Cart будет хронически отставать от развития рынка года на 2-3

1 лайк