Создание возвратов в POS-терминале

В этой статье описывается, как инициировать возвраты для кассовых проводок или заказов клиентов в приложении Microsoft Dynamics 365 Commerce POS-терминала.

Примечание

В выпуске Commerce версии 10.0.20 и позднее доступна новая функция, которая называется Унифицированная обработка возвратов в POS-терминале. Эта функция обеспечивает более согласованную и универсальную процедуру возврата в POS-терминале, независимо от типа проводки (кассовая проводка или заказ клиента) или исходного канала, в котором был создан заказ. Мы рекомендуем всем организациям включить эту новую функцию, чтобы улучшить общую надежность обработки возвратов через POS-терминал.

После включения функции ее невозможно отключить.

Обработка возвратов с использованием операции проводки возврата

Рекомендуется добавить операцию проводки возврата в макет экрана POS-терминала. В выпусках до выпуска Commerce версии 10.0.20 операция проводки возврата правильно поддерживает обработку возвратов только для кассовых проводок. После включения функции единой обработки возвратов для POS-терминала в выпуске Commerce версии 10.0.20 или более поздней операция проводки возврата также поддерживает обработку возвратов, происходящих из заказов клиентов, таких как "самовывоз" или "доставка на дом", по которым уже были выставлены накладные.

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

  • Код прихода
  • Порядковый номер
  • Код ссылки на канал (также называемый кодом подтверждения заказа)
  • Код накладной

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

Для каждой строки заказа в списке возвращаемых продуктов POS-терминал отображает информацию о первоначальном количестве покупки и количествах из всех ранее обработанных возвратов. Возвращаемое количество, вводимое пользователем для строки заказа, должно быть меньше или равно значению поля Доступно для возврата.

Страница возвращаемых продуктов.

Если во время обработки возвратов у пользователя имеется физический продукт и этот продукт имеет штрих-код, пользователь может отсканировать штрих-код для регистрации возврата. Каждое сканирование штрих-кода увеличивает возвращаемое количество на одну номенклатуру. Однако если метка штрих-кода имеет встроенное количество, это количество вводится в поле Возвращается сейчас.

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

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

Для каждой строки, в которой указано количество Возвращается сейчас, пользователь должен выбрать код причины возврата с помощью панели сведений. Для возврата по кассовым проводкам коды причин возврата настраиваются как информационные коды в профиле функциональности магазина. Для возвратов по заказам клиента коды причин возврата настраиваются на странице Коды причин возврата в Dynamics 365 Commerce Headquarters.

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

Улучшения пользовательского интерфейса

Если в транзакции необходимо вернуть более одного товара и сотрудник магазина выбрал несколько товаров для возврата, в сетке возврата будет отмечена только последняя выбранная строка. Такое поведение может сбить с толку сотрудника и навести на мысль, что выбран только один элемент. Чтобы избежать таких проблем, начиная с версии 10.0.36 в Commerce можно включить функцию Улучшенный режим возвратов POS. Эта функция делает сетку возвращаемых продуктов сеткой с множественным выбором, в которой пользователи могут выбирать и очищать выборку возвращаемых продуктов. Сетка множественного выбора автоматически открывает диалоговое окно причины возврата. Таким образом, для открытия и закрытия диалогового окна причины возврата требуется меньше действий. Эта функция также добавляет настройку Пропускать выбор накладных по продаже при возвратах в профиле функциональности POS. Если эта настройка включена, система объединяет все возвратные товары из заказа, независимо от накладной, по которой они были переданы. Таким образом, сокращается число действий, которые должны быть выполнены кассирами, поскольку им не придется искать и выбирать нужную накладную для возврата номенклатуры.

Усовершенствования функции Улучшенный режим возвратов POS были бэкпортированы в версии Commerce 10.0.33–10.0.35, но для этих версий необходимо включить улучшения путем обновления файлов конфигурации в средах "песочницы", "разработка" или "тестирование", а затем связаться с корпорацией Майкрософт, чтобы включить их в производство. Для внутренних сред измените файл конфигурации bin\CommerceRuntime.config в физическом пути к Retail Server, добавив параметры "FeatureState.Dynamics.AX.Application.RetailUnifiedReturnUXImprovementFeature" value="true" и "FeatureState.Dynamics.AX.Application.RetailSkipInvoiceSelectionDuringReturnFlight" value="true". Если не нужно пропускать представление выбора накладных, не добавляйте второй параметр к файлу конфигурации.

Другие параметры возврата в POS-терминале

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

Примечание

Операция Возврат продукта в POS-терминале не предоставляет каких-либо проверок относительно исходных проводок и позволяет вернуть любой продукт. Майкрософт рекомендует вам разрешать только авторизованным пользователям выполнение этой операции, или обеспечить обязательное переопределение менеджера при использовании этой операции.

Когда функция Унифицированная обработка возвратов в POS включена, пользователи могут также использовать операцию Показать журнал в POS-терминале, чтобы начать возврат для кассовых проводок или заказов клиентов. Затем они могут выбрать проводку в журнале, а затем выбрать операцию Возврат на панели приложений POS-терминала. Эта операция доступна только в том случае, если в заказе имеются строки с возвратом. Она вызывает то же взаимодействие пользователя, что и при операции Возврат проводки.

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

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

Заказы на возврат разносятся в Commerce Headquarters как заказы на продажу

Когда функция Унифицированная обработка возвратов в POS включена, все возвраты, созданные в POS, записываются в Commerce Headquarters как заказы на продажу, имеющие отрицательные строки. В выпусках до выпуска Commerce версии 10.0.20 пользователи могут выбрать, должны ли заказы на возврат разноситься как заказы на продажу, имеющие отрицательные строки, или же они должны быть заказами на возврат, созданными в процессе авторизации возврата товаров (RMA).

В функции Унифицированная обработка возвратов в POS вариант использования процесса RMA для создания возвратов в POS-терминале была объявлена устаревшей. После включения этой функции все возвраты создаются как заказы на продажу, имеющие отрицательные строки.

Улучшения обработки возврата при обрыве соединения с headquarters

В большинстве случаев когда возврат обрабатывается в POS-терминале, система пытается выполнить вызов службы Real-time Service (RTS) в Commerce Headquarters для подтверждения текущих доступных для возврата количеств. Эта проверка помогает защитить от мошеннических ситуаций, в которых клиент пытается вернуть одну и ту же номенклатуру в нескольких местах.

Для обработки ситуаций, когда вызов службы RTS не может быть выполнен из-за проблем с сетью или подключением, процесс был установлен для периодической синхронизации данных о возвращенных количествах из Commerce Headquarters с базой данных канала магазина. Такое отслеживание возвратов на стороне канала позволяет гарантировать, что количества Доступно для возврата, отображаемые в POS-терминале, достаточно точны даже в том случае, когда соединение с headquarters установить невозможно. Это также гарантирует, что POS-терминал может продолжать проверять информацию на стороне канала, чтобы предотвратить мошеннические возвраты. Чтобы сократить вероятность неоднократного возврата той же номенклатуры, организации должны спланировать пакетное задание Обновить количества возврата в Commerce Headquarters, чтобы оно выполнялось часто. Рекомендуется, чтобы это задание выполнялось с той же частотой, что и P-задание, которое извлекает новые транзакции из каналов Commerce в Commerce Headquarters.

Задание Обновить количества возврата рассчитывает количество, доступное для возврата по всем заказам на продажу, имеющимся в Commerce Headquarters. Данные, которые рассчитывает задание, должны быть отправлены в базы данных канала, чтобы можно было обновить каналы магазина. Для этой цели используется задание распределения Количества по возврату (1200). Поскольку данные о возвращаемом количестве синхронизируются с Commerce Headquarters, если возврат обрабатывается в POS-терминале, но не удается выполнить вызов службы RTS, POS-терминал может использовать данные о возвратах со стороны канала, чтобы проверит количества Доступно для возврата для данной строки продаж.

Если не удается выполнить вызовы службы RTS и POS-терминал использует данные на стороне канала для проверки возврата, предупреждающее сообщение информирует пользователей о том, что они создают "автономный" возврат. Таким образом, они знают о том, что количество Доступно для возврата, отображаемое в POS-терминале, может быть устаревшим и неточным, в зависимости от того, когда задание Обновить количества возврата было в последний раз обработано и синхронизировано с каналом.

Например, клиент недавно выполнил возврат для строки заказа в другом канале, но данные еще не были синхронизированы с базами данных канала с помощью задания Обновить количества возврата. Клиент затем переходит в другой магазин и пытается снова вернуть ту же номенклатуру. В этом случае, если магазин не может сделать вызов службы RTS в Commerce Headquarters, чтобы получать данные о возвратах в реальном времени, POS-терминал позволяет снова вернуть номенклатуру. Однако пользователь получает предупреждение о том, что сведения, используемые для проверки возврата, могут быть устаревшими. Сообщение, которое получает пользователь, — это только предупредительное сообщение. Это не мешает пользователю продолжить обработку возврата.

Если информация на стороне канала по какой-либо причине не является актуальной, и при этом выполняется возврат для количества, которое превышает фактическое значение Доступно для возврата, может быть сформирована ошибка при выполнении разноски журнала операций, чтобы создать проводку в Commerce Headquarters.

Автономная обработка возвратов

Если POS-терминал находится в автономном режиме и не может подключиться к Commerce Scale Unit (CSU), возможности возврата ограничены. Только транзакции, созданные в автономном режиме и все еще доступные в автономной базе данных, могут быть возвращены в автономном режиме. Если транзакция была создана в автономном режиме, но POS выполнил подключение до попытки возврата транзакции, система показывает сообщение об ошибке. В этом сообщении об ошибке говорится, что операция недоступна в автономном режиме, поскольку система отправила исходную транзакцию в удаленную базу данных, и эта транзакция может быть возвращена с другого устройства POS (что может привести к избыточному возврату).

Примечание

Когда функция Унифицированная обработка возвратов в POS включена, становятся доступными новые дополнительные функции, которые поддерживают проверку возвратов продуктов с серийными номерами. Дополнительные сведения см. в разделе Возврат продуктов с контролируемыми серийными номерами в POS-терминале.

Сведения о версии

В следующем списке приведены минимальные требования к версии для различных компонентов.

  • Commerce headquarters: версия 10.0.20
  • Commerce Scale Unit (CSU): версия 9.30
  • POS-терминал: версия 9.30

Включить надлежащий расчет налога для возвратов с частичным количеством

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

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

Настройка местонахождений возврата для магазинов розничной торговли

Commerce позволяет настроить местонахождение возврата на основе инфокодов розничной торговли и кодов оснований для продаж и маркетинга. Когда клиенты возвращают покупки, кассиры часто указывают причину возврата. Можно указать, чтобы возвращаемые продукты должны назначаться разным местонахождениям возврата в запасах на основании инфокодов и кодов причины, выбираемых кассирами в POS в ККМ.

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

Расположением для возврата может быть склад, местонахождение на складе или даже определенная палета в зависимости от местонахождений запасов, настроенных в организации. Можно сопоставить каждое местонахождение возврата с одним или несколькими инфокодами розничной торговли и кодами причины продаж и маркетинга.

Необходимые условия

Перед настройкой местонахождений возврата необходимо настроить следующие элементы:

  • Инфокоды розничной торговли — запросы в ККМ POS, настроенные в модуле Розничная торговля. Дополнительные сведения см. в разделе Настройка инфокодов.
  • Коды причины продаж и маркетинга — запросы в ККМ POS, настроенные в модуле Продажи и маркетинг. Дополнительные сведения см. в разделе Настройка кодов причин.
  • Места хранения — области хранения запасов. Дополнительные сведения см. в разделе Настройка местоположений запасов.

Настройка расположений для возврата

Чтобы настроить местонахождения возврата, выполните следующие действия.

  1. Перейдите в раздел Retail и Commerce > Настройка каналов > Склады и выберите склад.

  2. На экспресс-вкладке Розница в поле Расположение возврата по умолчанию выберите местоположение запасов, которое будет использоваться для возвратов, в которых инфокоды или коды причин не сопоставляются с расположениями возврата.

  3. В поле Палета возврата по умолчанию выберите палету, которое будет использоваться для возвратов, в которых инфокоды или коды причин не сопоставляются с расположениями возврата.

  4. Перейдите в раздел Retail и Commerce > Управление запасами > Расположения для возврата.

  5. Выберите Создать для создания политики расположения для возврата.

  6. Введите уникальное имя и описание местонахождения возврата.

    Примечание

    Если для местонахождений возврата настроена номерная серия, имя вводится автоматически.

  7. На экспресс-вкладке Общие задайте для параметра Печать этикеток значение Да, чтобы печатать этикетки для всех продуктов, назначенных для расположений возврата.

  8. Задайте для параметра Блокирование запасов значение Да, чтобы исключить возвращенные продукты в местонахождении возврата по умолчанию из запасов и заблокировать их для продажи.

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

    1. На экспресс вкладке Инфокоды розничной торговли выберите Добавить.
    2. В поле Инфокод выберите инфокод для возвратов.
    3. В поле Дополнительный код выберите дополнительный код для причины возврата. В поле Описание отображается описание выбранного дополнительного кода.
    4. В поле Магазин выберите магазин, в котором используется инфокод.
    5. Для указания расположения возврата используются поля Склад, Местоположение и Код палеты. Например, чтобы указать местонахождение в магазине, выберите магазин в поле Магазин и местонахождение в поле Расположение.
    6. Установите флажок Блокирование запасов, чтобы исключить возвращенные продукты из запасов и заблокировать их для продажи.
  10. Для сопоставления кодов оснований для продаж и маркетинга с расположениями возврата выполните следующие действия:

    1. На экспресс-вкладке Коды оснований для продаж и маркетинга выберите Добавить.
    2. В поле Код причины выберите код причины для возвратов. В поле Описание отображается описание выбранного кода причины.
    3. В поле Магазин выберите магазин, в котором используется код причины.
    4. Для указания расположения возврата используются поля Склад, Местоположение и Код палеты. Например, чтобы указать определенную палету в местонахождении на складе, выберите склад в поле Склад, местонахождение в поле Расположение и палету в поле Код палеты.
    5. Установите флажок Блокирование запасов, чтобы исключить возвращенные продукты из запасов и заблокировать их для продажи.

    Примечание

    Если для номенклатуры используется политика местоположения возврата, но причина возврата, которую кассир выбирает, не совпадает ни с каким кодом, указанным на экспресс-вкладке Инфокоды розничной торговли или Коды оснований для продаж и маркетинга, номенклатура будет отправлена в расположение возврата по умолчанию, которое определено на странице Склад. Кроме того, установка флажка Блокирование запасов на экспресс-вкладке Общие на странице Расположения для возврата определяет, должна ли возвращенная номенклатура быть блокирована в запасах.

  11. Перейдите в раздел Retail и Commerce > Иерархия продуктов Commerce.

  12. На экспресс-вкладке Управление свойствами категории запасов в поле Местоположение возврата выберите расположение возврата. Так как для одного и того же магазина можно определить несколько политик расположений возврата, выбранное здесь значение определяет используемую политику расположений возврата.

Дополнительные ресурсы

Возврат продуктов с контролируемыми серийными номерами в POS-терминале

Связанные возвраты ранее утвержденных и подтвержденных проводок

Создание и обновление политик возврата и возмещения для канала

Визуальные конфигурации пользовательского интерфейса POS