POS에서 반품 생성
이 문서에서는 Microsoft Dynamics 365 Commerce POS(Point of Sale) 앱에서 현금 처리 거래 또는 고객 주문에 대한 반품을 시작하는 방법에 대해 설명합니다.
참고
Commerce 버전 10.0.20 이상 릴리스에서는 POS에서 통합 반품 처리 환경이라는 새로운 기능을 사용할 수 있습니다. 이 기능은 트랜잭션 유형(현금 처리 거래 또는 고객 주문) 또는 주문이 생성된 원래 채널에 관계없이 POS에서 보다 일관되고 통합된 반품 프로세스를 제공합니다. POS를 통한 반품 처리의 전반적인 안정성을 개선하기 위해 모든 조직에서 이 새로운 기능을 켜는 것이 좋습니다.
이 기능이 켜진 후에는 끌 수 없습니다.
반품 트랜잭션 작업을 사용하여 반품 처리
POS 화면 레이아웃에 반품 거래 작업을 추가하는 것이 좋습니다. Commerce 버전 10.0.20 릴리스 이전 릴리스에서는 반품 거래 작업이 현금 및 휴대 거래에 대한 반품 처리만 올바르게 지원합니다. Commerce 버전 10.0.20 이상 릴리스에서 POS용 통합 반품 처리 환경을 설정하면 반품 거래 작업에서 이미 청구된 '픽업' 또는 '자택 배송' 주문과 같은 고객 주문에서 발생한 반품 처리도 지원됩니다.
반품 거래 작업에서 사용자는 다음 네 가지 검색 기준 중 하나를 입력하여 현금 처리 거래 또는 반품할 고객 주문을 검색할 수 있습니다. 사용자는 디바이스 키보드, 화면 키패드 또는 바코드 스캐너를 사용하여 이러한 기준을 입력할 수 있습니다.
- 수령 ID
- 주문 번호
- 채널 참조 ID(주문 확인 ID라고도 함)
- 송장 번호
검색 기준과 일치하는 거래 또는 주문이 발견되면 반품 가능 제품 페이지가 표시됩니다. 여기에서 사용자는 반환할 항목을 지정할 수 있습니다. 반품 수량과 사유 코드도 입력할 수 있습니다.
반품 가능한 제품 목록의 각 주문 라인에 대해 POS는 원래 구매 수량과 이전에 처리된 모든 반품의 수량에 대한 정보를 표시합니다. 사용자가 주문 라인에 입력하는 반품 수량은 반품 가능 필드 값보다 작거나 같아야 합니다.
반품 처리 중에 사용자가 실제 제품을 가지고 있고 해당 제품에 바코드가 있는 경우, 사용자는 바코드를 스캔하여 반품을 등록할 수 있습니다. 바코드를 스캔할 때마다 반품 수량이 한 품목씩 증가합니다. 단, 바코드 레이블에 수량이 내장되어 있는 경우 해당 수량은 지금 반품 필드에 입력됩니다.
사용자는 반품 가능한 제품 페이지에서 반품할 품목을 수동으로 선택한 다음 세부 정보 창을 사용하여 지금 반품하기 필드를 업데이트할 수도 있습니다.
거래에 사용 가능한 최대 지금 반품하기 수량이 지정되어 있는 경우 사용자는 POS 앱 표시줄에서 모두 선택 작업을 선택하여 모든 라인에서 반품 가능한 최대 수량을 설정할 수 있습니다
지금 반품하기 수량이 있는 각 라인에 대해 사용자는 세부 정보 패널을 사용하여 반품 사유 코드를 선택해야 합니다. 현금 및 휴대 거래 반품의 경우 반품 사유 코드는 스토어의 기능 프로필에 정보 코드로 구성됩니다. 고객 주문 반품의 경우 반품 사유 코드는 Dynamics 365 Commerce headquarters의 반품 사유 코드 페이지에서 설정할 수 있습니다.
반품해야 하는 각 품목에 대해 반품 수량과 사유 코드를 설정한 후 사용자는 POS 앱 바에서 반품 작업을 선택하여 처리를 진행할 수 있습니다. 이전 페이지에서 선택한 반품 가능 품목이 카트에 추가된 POS 거래 페이지가 표시됩니다. 품목의 지금 반품 수량은 거래에 음수 라인으로 표시되며 총 환불 금액이 계산됩니다.
사용자 경험 향상
거래에서 반품할 품목이 두 개 이상이고 스토어 직원이 반품할 품목을 여러 개 선택한 경우 반품 그리드에는 마지막으로 선택한 행만 체크된 상태로 표시됩니다. 이 동작은 직원을 혼란스럽게 하여 하나의 항목만 선택되었다고 믿게 만들 수 있습니다. 이 문제를 완화하기 위해 Commerce 버전 10.0.36부터 POS 반품에 대한 사용자 환경 개선 기능을 사용하도록 설정할 수 있습니다. 이 기능은 반품 제품 그리드를 다중 선택 그리드로 만들어 사용자가 반품 가능한 제품을 선택하고 선택을 취소할 수 있도록 합니다. 다중 선택 그리드는 반환 사유 대화 상자를 자동으로 엽니다. 따라서 반환 사유 대화 상자를 열고 닫는 데 필요한 단계가 줄어듭니다. 이 기능에는 POS 기능 프로필에서 반품 구성 중 판매 송장 건너뛰기 선택 기능도 도입되었습니다. 이 구성을 활성화하면 시스템에서는 주문 처리된 인보이스에 관계없이 주문에서 반품 가능한 모든 제품을 결합합니다. 따라서 계산원이 품목을 반품하기 위해 올바른 인보이스를 찾아 선택할 필요가 없으므로 완료해야 하는 단계의 수가 줄어듭니다.
POS 반품 기능 개선에 대한 향상된 사용자 환경은 Commerce 버전 10.0.33~10.0.35로 백포트되었지만 이러한 버전에서는 샌드박스/개발/테스트 환경에서 구성 파일을 업데이트하여 개선 사항을 활성화한 다음 운영 환경에서 활성화하려면 Microsoft에 문의해야 합니다. 내부 환경의 경우, 리테일 서버 실제 경로 아래의 bin\CommerceRuntime.config 파일을 수정하여 "FeatureState.Dynamics.AX.Application.RetailUnifiedReturnUXImprovementFeature" value="true"
및 "FeatureState.Dynamics.AX.Application.RetailSkipInvoiceSelectionDuringReturnFlight" value="true"
설정을 추가합니다. 송장 선택 보기를 건너뛰고 싶지 않다면 구성 파일에 두 번째 설정을 추가하지 마세요.
POS의 기타 반품 옵션
사용자는 교환 주문을 생성하는 경우 반품 거래에 라인을 추가할 수 있습니다. 사용자는 이미 추가된 양수 판매 라인에 대해 반품 제품 작업을 사용하여 반품 거래에 반품 품목을 더 추가할 수 있습니다.
참고
사용자는 이미 추가된 양수 판매 라인에 대해 반품 제품 작업을 사용하여 반품 거래에 반품 품목을 더 추가할 수 있습니다. Microsoft는 권한이 있는 사용자만 이 작업을 수행할 수 있도록 허용하거나 관리자 재정의가 필요하도록 하는 것이 좋습니다.
POS에서 통합 반품 처리 환경 기능이 켜져 있으면 사용자는 POS에서 분개장 표시 작업을 사용하여 현금 처리 거래 또는 고객 주문에 대한 반품을 시작할 수도 있습니다. 그런 다음 전표에서 거래를 선택한 다음 POS 앱 표시줄에서 반품 작업을 선택할 수 있습니다. 이 작업은 주문에 반품 가능한 라인이 있는 경우에만 사용할 수 있습니다. 반품 트랜잭션 작업과 동일한 사용자 환경을 시작합니다.
또한 POS에서 주문 리콜 작업을 사용하여 고객 주문을 검색하고 리콜할 수 있습니다. (이 작업은 현금 및 휴대 거래에는 사용할 수 없습니다). 이 경우 고객 주문을 선택한 후 POS 앱 바의 반품 작업을 사용하여 고객 주문에 대한 반품을 시작할 수 있습니다. 이 작업은 주문에 반품 가능한 라인이 있는 경우에만 사용할 수 있습니다. 반품 거래 또는 분개장 표시 작업과 동일한 사용자 환경을 시작합니다.
결제 시 환불해야 하는 경우 고객에게 환불하는 데 사용되는 결제 방법을 제한하는 환불 결제 정책을 구성할 수 있습니다. 원래 거래가 신용카드로 결제된 경우 결제 처리업체 및 시스템 구성에 따라 사용자가 원래 카드로 환불을 받을 수 있습니다. 원래 거래가 신용카드로 결제된 경우 결제 처리업체 및 시스템 구성에 따라 사용자가 원래 카드로 환불을 받을 수 있습니다.
반품 주문은 Commerce headquarters에 판매 주문으로 기장됩니다
POS의 통합 반품 처리 환경 기능이 켜져 있으면 POS에서 생성되는 모든 반품은 음수 라인이 있는 판매 주문으로 Commerce headquarters에 기록됩니다. Commerce 버전 10.0.20 릴리스 이전 릴리스에서는 반품 주문을 마이너스 라인이 있는 판매 주문으로 게시할지, 아니면 반품 승인(RMA) 프로세스를 통해 생성된 반품 주문으로 게시할지 선택할 수 있습니다.
POS의 통합 반품 처리 환경 기능에서 RMA 프로세스를 사용하여 POS에서 반품을 생성하는 옵션은 더 이상 사용되지 않습니다. 이 기능을 설정하면 모든 반품이 음수 라인이 있는 판매 주문으로 생성됩니다.
본사 연결이 중단된 경우 반품 처리 개선 사항
대부분의 경우 POS에서 반품이 처리되면 시스템은 Commerce headquarters에 실시간 서비스(RTS) 호출을 시도하여 현재 반품이 가능한 수량을 확인합니다. 이 유효성 검사는 고객이 동일한 품목을 여러 곳에서 반품하려고 시도하는 사기 시나리오를 방지하는 데 도움이 됩니다.
네트워크 또는 연결 문제로 인해 RTS 통화가 불가능한 상황을 처리하기 위해 Commerce headquarters의 반품 수량 데이터를 스토어의 채널 데이터베이스에 주기적으로 동기화하는 프로세스가 마련되었습니다. 이 채널 측 반품 추적 기능은 headquarters와 연결할 수 없는 경우에도 POS에 표시되는 반품 가능 수량이 상당히 정확한지 확인하는 데 도움이 됩니다. 또한 POS가 채널 측 정보를 지속적으로 검증하여 사기성 반품을 방지할 수 있도록 합니다. 동일한 품목이 두 번 이상 반품될 가능성을 최소화하려면 조직은 Commerce headquarters에서 반품 수량 업데이트 일괄 작업을 예약하여 자주 실행되도록 해야 합니다. 이 작업은 Commerce 채널의 새 거래를 Commerce headquarters로 가져오는 P 작업과 동일한 주기로 실행하는 것이 좋습니다.
반품 수량 업데이트 작업은 Commerce headquarters에 있는 모든 판매 주문에 대해 반품할 수 있는 수량을 계산합니다. 그런 다음 작업에서 계산한 데이터를 채널 데이터베이스로 전송해야 스토어 채널을 업데이트할 수 있습니다. 이를 위해 반품 수량(1200) 배포 작업이 사용됩니다. 반품 가능 수량에 대한 데이터는 Commerce headquarters에서 동기화되므로 POS에서 반품이 처리되었지만 RTS 호출을 할 수 없는 경우 POS는 채널 측 반품 정보를 사용하여 특정 판매 라인의 반품 가능 수량을 검증할 수 있습니다.
RTS 호출이 불가능하고 POS가 반품 유효성 검사를 위해 채널 측 데이터를 사용하는 경우 사용자에게 '오프라인' 반품이 생성되고 있음을 알리는 경고 메시지가 표시됩니다. 따라서 반품 수량 업데이트 작업이 마지막으로 처리되고 채널에 동기화된 시기에 따라 POS에 표시되는 반품 가능 수량이 오래되어 더 이상 정확하지 않을 수 있음을 알고 있습니다.
예를 들어, 고객이 최근에 다른 채널에서 주문 라인의 반품을 처리했지만 해당 데이터가 아직 반품 수량 업데이트 작업을 통해 채널 데이터베이스에 동기화되지 않은 경우입니다. 그런 다음 고객은 다른 스토어로 이동하여 동일한 품목을 다시 반품하려고 합니다. 이 경우 스토어에서 실시간 반품 데이터를 얻기 위해 Commerce Headquarters에 RTS 호출을 할 수 없는 경우 POS를 통해 항목을 다시 반품할 수 있습니다. 그러나 반품 확인에 사용되는 정보가 오래되었을 수 있다는 경고가 사용자에게 표시됩니다. 사용자가 수신하는 메시지는 경고 메시지일 뿐입니다. 사용자가 반품을 계속 처리하는 것을 방해하지는 않습니다.
어떤 이유로 채널 측 정보가 최신 상태가 아니며 실제 반품 가능 수량을 초과하는 수량에 대해 반품이 처리된 경우, Commerce headquarters에서 거래를 생성하기 위해 명세서 게시를 실행할 때 오류가 발생할 수 있습니다.
오프라인 반품 처리 중
POS가 오프라인 상태이고 CSU(Commerce Scale Unit)에 연결할 수 없는 경우 반품 옵션이 제한됩니다. 오프라인에서 생성되었고 오프라인 데이터베이스에서 여전히 사용할 수 있는 거래만 오프라인으로 반환할 수 있습니다. 거래가 오프라인에서 생성되었지만 거래 반환을 시도하기 전에 POS가 온라인 상태가 된 경우 시스템에서 오류 메시지를 표시합니다. 이 오류 메시지는 시스템이 원래 거래를 온라인 데이터베이스로 전송했기 때문에 오프라인에서 작업을 사용할 수 없으며 해당 거래가 다른 POS 장치에서 반품될 수 있음을 나타냅니다(초과 반품으로 이어질 수 있음).
참고
POS의 통합 반품 처리 환경을 설정하면 일련번호가 지정된 제품 반품의 유효성 검사를 지원하는 새로운 옵션 기능을 사용할 수 있습니다. 자세한 내용은 POS(Point of Sale)에서 일련 번호가 관리되는 제품 반품을 참조하세요.
버전 세부 정보
다음 목록에는 다양한 구성 요소에 대한 최소 버전 요구 사항이 나와 있습니다.
- Commerce headquarters: 버전 10.0.20
- Commerce Scale Unit(CSU): Version 9.30
- POS(Point of Sale): 버전 9.30
부분 수량이 있는 반품에 대해 적절한 세금 계산을 사용하도록 설정
이 기능을 사용하면 여러 인보이스를 사용하여 주문이 반품되는 경우 세금이 최종적으로 원래 부과된 세액과 동일하게 적용됩니다.
- 기능 관리 작업 영역에서 부분 수량이 있는 반품에 대해 적절한 세금 계산 사용을 검색합니다.
- 부분 수량 반품에 대해 적절한 세금 계산 사용 기능을 선택한 다음 사용을 선택합니다.
소매점의 반품 위치 설정
Commerce를 사용하면 소매점 정보 코드와 판매 및 마케팅 사유 코드를 기반으로 반품 위치를 설정할 수 있습니다. 고객이 구매한 제품을 반품할 때 계산원은 종종 반품 사유를 표시합니다. POS 등록기에서 계산원이 선택한 정보 코드 및 사유 코드를 기반으로 반품된 제품을 재고의 여러 반품 위치에 할당하도록 지정할 수 있습니다.
예를 들어, 고객이 결함이 있는 제품을 반품하면 계산원이 반품 거래를 처리합니다. Retail POS에 반품 정보 코드가 표시되면 계산원은 불량 반품에 대한 하위 코드를 선택합니다. 그러면 반품된 제품이 특정 반품 위치에 자동으로 할당됩니다.
반품 위치는 조직에서 설정한 재고 위치에 따라 창고, 창고 내 위치 또는 특정 팔레트가 될 수 있습니다. 각 반품 위치를 하나 이상의 소매점 정보 코드 및 판매 및 마케팅 사유 코드에 매핑할 수 있습니다.
전제 조건
반품 위치를 설정하려면 먼저 다음 요소를 설정해야 합니다.
- Retail 정보 코드 - Retail 모듈에 설정된 POS 등록기의 프롬프트입니다. 자세한 내용은 정보 코드 설정을 참조하십시오.
- 판매 및 마케팅 사유 코드 - 판매 및 마케팅 모듈에 설정된 POS 등록기의 프롬프트입니다. 자세한 내용은 반품 이유 코드 설정을 참조하세요.
- 재고 위치 – 재고가 보관되는 장소입니다. 자세한 내용은 재고 위치 설정을 참조하십시오.
반품 위치 설정
반품 위치를 설정하려면 다음 단계를 따르세요.
Retail 및 Commerce > 채널 설정 > 웨어하우스로 이동하여 웨어하우스를 선택합니다.
Retail 빠른 탭의 기본 반품 위치 필드에서 정보 코드 또는 사유 코드가 반품 위치에 매핑되지 않은 경우 반품에 사용할 재고 위치를 선택합니다.
기본 반품 팔레트 필드에서 정보 코드 또는 사유 코드가 반품 위치에 매핑되지 않은 반품에 사용할 팔레트를 선택합니다.
Retail 및 Commerce > 재고 관리 > 반품 위치로 이동합니다.
새로 만들기를 선택하여 반품 위치 정책을 생성합니다.
반환 위치의 고유 이름과 설명을 입력합니다.
참고
반납 위치에 번호 순서가 설정되어 있는 경우 이름이 자동으로 입력됩니다.
일반 빠른 탭에서 레이블 인쇄 옵션을 예로 설정하여 반품 위치에 할당된 모든 제품에 대한 레이블을 인쇄합니다.
기본 반품 위치의 반품 제품을 재고에서 제외하고 판매되지 않도록 하려면 재고 차단 옵션을 예로 설정합니다.
특정 소매점 정보 코드 및 하위 코드를 반품 위치에 매핑하려면 다음 단계를 따르세요.
- 소매점 정보 코드 빠른 탭에서 추가를 선택합니다.
- 정보 코드 필드에서 반품에 대한 정보 코드를 선택합니다.
- 하위 코드 필드에서 반품 사유에 대한 하위 코드를 선택합니다. 설명 필드에는 선택한 하위 코드에 대한 설명이 표시됩니다.
- 스토어 필드에서 정보 코드가 사용되는 스토어를 선택합니다.
- 웨어하우스, 위치 및 팔레트 ID 필드를 사용하여 반품 위치를 지정합니다. 예를 들어 스토어 내 위치를 지정하려면 스토어 필드에서 스토어를 선택하고 위치 필드에서 위치를 선택합니다.
- 재고 차단 확인란을 선택하여 반품된 제품을 재고에서 제거하고 판매되지 않도록 합니다.
특정 판매 및 마케팅 사유 코드를 반품 위치에 매핑하려면 다음 단계를 따르세요.
- 영업 및 마케팅 사유 코드 빠른 탭에서 추가를 선택합니다.
- 사유 코드 필드에서 반품 사유 코드를 선택합니다. 설명 필드에는 선택한 사유 코드에 대한 설명이 표시됩니다.
- 스토어 필드에서 사유 코드가 사용되는 스토어를 선택합니다.
- 웨어하우스, 위치 및 팔레트 ID 필드를 사용하여 반품 위치를 지정합니다. 예를 들어 창고 내 위치에 있는 팔레트를 지정하려면 웨어하우스 필드에서 창고를 선택하고 위치 필드에서 위치를 선택한 다음 팔레트 ID 필드에서 팔레트를 선택합니다.
- 재고 차단 확인란을 선택하여 반품된 제품을 재고에서 제거하고 판매되지 않도록 합니다.
참고
품목에 반품 위치 정책이 사용되었지만 계산원이 선택한 반품 사유가 소매 정보 코드 또는 판매 및 마케팅 사유 코드 빠른 탭에 지정된 코드와 일치하지 않는 경우 품목은 웨어하우스 페이지에 정의된 기본 반품 위치로 전송됩니다. 또한 반품 위치 페이지의 일반 빠른 탭에서 재고 차단 확인란을 설정하면 반품된 품목의 재고 차단 여부가 결정됩니다.
Retail 및 Commerce > 커머스 제품 계층 구조로 이동합니다.
재고 카테고리 속성 관리 빠른 탭의 반품 위치 필드에서 반품 위치를 선택합니다. 동일한 스토어에 대해 여러 반품 위치 정책을 정의할 수 있으므로 여기에서 선택하는 값에 따라 사용되는 반품 위치 정책이 결정됩니다.
알려진 문제
글로벌 반품을 수행하면 반품 거래에 이전에 반품된 수량이 반영되지 않습니다.
이슈: 글로벌 반품을 수행하면 반품 거래에 이전에 반품한 수량이 반영되지 않습니다.
예를 들어 다음 단계를 실행할 때 이 문제가 발생할 수 있습니다.
- A 스토어에서 수량이 5개인 품목의 판매를 수행합니다.
- A 스토어에서 이 판매에 대한 반품을 2개 수량으로 수행합니다.
- 거래를 본사로 가져옵니다.
- B 스토어에서 1단계의 원래 판매에 대한 반품을 시도합니다. 영수증 번호를 입력하면 POS에 예상 수량인 3개가 아닌 5개가 표시됩니다.
원인: 이 문제는 여러 CSU가 사용 중일 때 발생합니다. 이 예제에서 스토어 A는 하나의 CSU를 사용하고 스토어 B는 다른 CSU를 사용합니다. 각 CSU에는 자체 데이터베이스가 있으므로 스토어 A에는 스토어 B에서 이루어진 거래에 대한 정보가 없고, 스토어 B에는 스토어 A에서 이루어진 거래에 대한 정보가 없습니다.
완화 단계
이 문제를 완화하려면 다음 단계를 따르십시오.
- Commerce headquarters의 기능 관리 작업 영역(시스템 관리 > 작업 영역 > 기능 관리)에서 POS 반품에 대한 사용자 환경 개선 기능을 사용 설정합니다.
- 반품 수량 업데이트 작업을 자주 실행합니다.
- 반품 수량(1200) 배포 일정 작업을 실행하여 스토어를 자주 업데이트합니다.
이 단계를 실행하면 반품 수량이 CSU 간에 동기화되고 모든 반품에 다른 스토어에서 반품된 수량이 반영됩니다. 2단계와 3단계에서는 각 CSU의 정보가 실시간 서비스(RTS) 통화를 통해 본사로 수시로 전송되도록 합니다.