참고
Dynamics 365 Commerce의 소매 관심 그룹이 Yammer에서 Viva Engage로 이동했습니다. 새 Viva Engage 커뮤니티에 액세스할 수 없는 경우 이 양식(https://aka.ms/JoinD365commerceVivaEngageCommunity)을 작성하여 추가하고 최신 토론에 계속 참여하세요.
이 문서에서는 Microsoft Dynamics 365 상거래 판매 시점(POS)에서 현금 거래 및 직접 운반이나 고객 주문에 대한 반품을 시작하는 방법을 설명합니다.
참고
상거래 버전 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 트랜잭션 페이지가 나타납니다. 여기서 이전 페이지에서 사용자가 선택한 반환 가능한 항목이 카트에 추가됩니다. 품목의 지금 반품 수량은 거래에 음수 라인으로 표시되며 총 환불 금액이 계산됩니다.
사용자 경험 향상
트랜잭션에 반환할 항목이 2개 이상 있을 경우, 매장 직원이 여러 항목을 선택하면, 반환 그리드에는 선택한 마지막 행만 체크된 것으로 표시됩니다. 이 동작은 동료를 혼동하고 단일 항목만 선택되었다고 믿게 만들 수 있습니다. 이 문제를 완화하기 위해 Commerce 버전 10.0.36부터 POS 반품에 대한 사용자 환경 개선 기능을 사용하도록 설정할 수 있습니다. 이 기능은 반품 제품 그리드를 다중 선택 그리드로 만들어 사용자가 반품 가능한 제품을 선택하고 선택을 취소할 수 있도록 합니다. 다중 선택 그리드는 반환 사유 대화 상자를 자동으로 엽니다. 따라서 반환 사유 대화 상자를 열고 닫는 데 필요한 단계가 줄어듭니다. 이 기능에는 POS 기능 프로필에서 반품 구성 중 판매 송장 건너뛰기 선택 기능도 도입되었습니다. 이 구성을 활성화하면 시스템에서는 주문 처리된 인보이스에 관계없이 주문에서 반품 가능한 모든 제품을 결합합니다. 따라서 계산원이 품목을 반품하기 위해 올바른 인보이스를 찾아 선택할 필요가 없으므로 완료해야 하는 단계의 수가 줄어듭니다.
POS 반환 기능 향상에 대한 향상된 사용자 환경은 상거래 버전 10.0.33부터 10.0.35까지 백포팅되지만, 이러한 버전의 경우 샌드박스, 개발 또는 테스트 환경에서 구성 파일을 업데이트한 다음 Microsoft에 문의하여 프로덕션 환경에서 이를 사용하도록 설정하여 향상된 기능을 사용하도록 설정해야 합니다. 내부 환경의 경우, Retail Server의 물리적 경로에 있는 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에서 반환을 처리할 때 시스템은 RTS(실시간 서비스)를 상거래 본사에 호출하여 반환에 사용할 수 있는 현재 수량의 유효성을 검사하려고 합니다. 이 유효성 검사는 고객이 동일한 품목을 여러 곳에서 반품하려고 시도하는 사기 시나리오를 방지하는 데 도움이 됩니다.
네트워크 또는 연결 문제로 인해 RTS 호출이 차단되는 상황을 처리하기 위해 프로세스는 상거래 본사의 반환 수량 데이터를 저장소의 채널 데이터베이스로 주기적으로 동기화합니다. 이 채널 쪽 반환 추적은 본사에 대한 연결을 사용할 수 없는 경우에도 POS에 표시된 반환 수량이 합리적으로 정확한지 확인하는 데 도움이 됩니다. 또한 POS가 채널 측 정보를 지속적으로 검증하여 사기성 반품을 방지할 수 있도록 합니다. 동일한 항목이 두 번 이상 반환될 가능성을 최소화하려면 자주 실행되도록 상거래 본사에서 업데이트 반환 수량 일괄 처리 작업을 예약합니다. 상거래 채널에서 상거래 본사로 새 트랜잭션을 가져오는 P 작업과 동일한 빈도로 이 작업을 실행합니다.
업데이트 반환 수량 작업은 상거래 본사에 있는 모든 판매 주문에 대해 반환할 수 있는 수량을 계산합니다. 저장소 채널을 업데이트할 수 있도록 작업이 계산하는 데이터를 채널 데이터베이스에 보내야 합니다. 이 목적을 위해 반환 수량 (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): 버전 9.30
- POS(Point of Sale): 버전 9.30
부분 수량이 있는 반품에 대해 적절한 세금 계산을 사용하도록 설정
이 기능을 사용하면 여러 송장을 사용하여 주문이 반환되면 세금이 원래 청구된 세금 금액과 같아집니다.
- 기능 관리 작업 영역에서 부분 수량이 있는 반품에 대해 적절한 세금 계산 사용을 검색합니다.
- 부분 수량 반품에 대해 적절한 세금 계산 사용 기능을 선택한 다음 사용을 선택합니다.
소매점의 반품 위치 설정
Commerce를 사용하면 소매점 정보 코드와 판매 및 마케팅 사유 코드를 기반으로 반품 위치를 설정할 수 있습니다. 고객이 구매한 제품을 반품할 때 계산원은 종종 반품 사유를 표시합니다. POS 레지스터에서 계산원이 선택하는 정보 코드 및 이유 코드에 따라 반환된 제품이 인벤토리의 다른 반환 위치로 이동하도록 지정할 수 있습니다.
예를 들어, 고객이 결함이 있는 제품을 반품하면 계산원이 반품 거래를 처리합니다. Retail POS에 반품 정보 코드가 표시되면 계산원은 불량 반품에 대한 하위 코드를 선택합니다. 그러면 반품된 제품이 특정 반품 위치에 자동으로 할당됩니다.
반환 위치는 조직에서 설정한 인벤토리 위치에 따라 창고, 창고의 위치 또는 특정 팔레트일 수 있습니다. 각 반품 위치를 하나 이상의 소매점 정보 코드 및 판매 및 마케팅 사유 코드에 매핑할 수 있습니다.
전제 조건
반환 위치를 설정하려면 다음 요소를 설정합니다.
- 소매 정보 코드 – 소매 모듈에서 설정한 POS 레지스터의 메시지를 표시합니다. 자세한 내용은 정보 코드 설정을 참조하십시오.
- 영업 및 마케팅 이유 코드 – 영업 및 마케팅 모듈에서 설정한 POS 레지스터의 프롬프트입니다. 자세한 내용은 반품 이유 코드 설정을 참조하십시오.
- 재고 위치 – 재고가 보관되는 장소입니다. 자세한 내용은 재고 위치 설정을 참조하십시오.
반품 위치 설정
반환 위치를 설정하려면 다음 단계를 수행합니다.
Retail 및 Commerce > 채널 설정 > 웨어하우스로 이동하여 웨어하우스를 선택합니다.
Retail 빠른 탭의 기본 반품 위치 필드에서 정보 코드 또는 사유 코드가 반품 위치에 매핑되지 않은 경우 반품에 사용할 재고 위치를 선택합니다.
기본 반품 팔레트 필드에서 정보 코드 또는 사유 코드가 반품 위치에 매핑되지 않은 반품에 사용할 팔레트를 선택합니다.
Retail 및 Commerce > 재고 관리 > 반품 위치로 이동합니다.
새로 만들기를 선택하여 반품 위치 정책을 생성합니다.
반환 위치의 고유 이름과 설명을 입력합니다.
참고
반환 위치에 대해 숫자 시퀀스가 설정되면 이름이 자동으로 입력됩니다.
일반 빠른 탭에서 레이블 인쇄 옵션을 예로 설정하여 반품 위치에 할당된 모든 제품에 대한 레이블을 인쇄합니다.
기본 반품 위치의 반품 제품을 재고에서 제외하고 판매되지 않도록 하려면 재고 차단 옵션을 예로 설정합니다.
특정 소매점 정보 코드 및 하위 코드를 반품 위치에 매핑하려면 다음 단계를 따르세요.
- 소매점 정보 코드 빠른 탭에서 추가를 선택합니다.
- 정보 코드 필드에서 반품에 대한 정보 코드를 선택합니다.
- 하위 코드 필드에서 반품 사유에 대한 하위 코드를 선택합니다. 설명 필드에는 선택한 하위 코드에 대한 설명이 표시됩니다.
- 스토어 필드에서 정보 코드가 사용되는 스토어를 선택합니다.
- 웨어하우스, 위치 및 팔레트 ID 필드를 사용하여 반품 위치를 지정합니다. 예를 들어 스토어 내 위치를 지정하려면 스토어 필드에서 스토어를 선택하고 위치 필드에서 위치를 선택합니다.
- 재고 차단 확인란을 선택하여 반품된 제품을 재고에서 제거하고 판매되지 않도록 합니다.
특정 판매 및 마케팅 사유 코드를 반품 위치에 매핑하려면 다음 단계를 따르세요.
- 영업 및 마케팅 사유 코드 빠른 탭에서 추가를 선택합니다.
- 사유 코드 필드에서 반품 사유 코드를 선택합니다. 설명 필드에는 선택한 사유 코드에 대한 설명이 표시됩니다.
- 스토어 필드에서 사유 코드가 사용되는 스토어를 선택합니다.
- 웨어하우스, 위치 및 팔레트 ID 필드를 사용하여 반품 위치를 지정합니다. 예를 들어 창고 내 위치에 있는 팔레트를 지정하려면 웨어하우스 필드에서 창고를 선택하고 위치 필드에서 위치를 선택한 다음 팔레트 ID 필드에서 팔레트를 선택합니다.
- 재고 차단 확인란을 선택하여 반품된 제품을 재고에서 제거하고 판매되지 않도록 합니다.
참고
반품 위치 정책이 항목에 사용되지만 계산원이 선택하는 반환 이유가 소매 정보 코드 또는 판매 및 마케팅 이유 코드 FastTab에 지정한 코드와 일치하지 않는 경우 항목은 웨어하우스 페이지에서 정의한 기본 반환 위치로 이동합니다. 또한 반품 위치 페이지의 일반 빠른 탭에서 재고 차단 확인란을 설정하면 반품된 품목의 재고 차단 여부가 결정됩니다.
Retail 및 Commerce > 커머스 제품 계층 구조로 이동합니다.
재고 카테고리 속성 관리 빠른 탭의 반품 위치 필드에서 반품 위치를 선택합니다. 동일한 저장소에 대해 여러 반환 위치 정책을 정의할 수 있으므로 여기에서 선택하는 값에 따라 사용되는 반환 위치 정책이 결정됩니다.
알려진 문제
글로벌 반품을 수행하면 반품 거래에 이전에 반품된 수량이 반영되지 않습니다.
이슈: 글로벌 반품을 수행하면 반품 거래에 이전에 반품한 수량이 반영되지 않습니다.
예를 들어 다음 단계를 실행할 때 이 문제가 발생할 수 있습니다.
- 수량이 5인 항목의 스토어 A에서 판매를 수행합니다.
- 매장 A에서 수량 2개의 이 판매를 반품 처리하세요.
- 거래를 본사로 가져옵니다.
- 매장 B에서 1단계의 원래 판매를 반환해 보십시오. 영수증 번호를 입력하면 POS에 예상했던 3개 대신 5개의 수량이 표시됩니다.
원인: 이 문제는 여러 CSU가 사용 중일 때 발생합니다. 이 예제에서 스토어 A는 하나의 CSU를 사용하고 스토어 B는 다른 CSU를 사용합니다. 각 CSU에는 자체 데이터베이스가 있으므로 스토어 A에는 스토어 B에서 이루어진 거래에 대한 정보가 없고, 스토어 B에는 스토어 A에서 이루어진 거래에 대한 정보가 없습니다.
완화 단계
이 문제를 완화하려면 다음 단계를 수행합니다.
- Commerce headquarters의 기능 관리 작업 영역()에서> 기능을 사용 설정합니다.
- 반품 수량 업데이트 작업을 자주 실행합니다.
- 반품 수량(1200) 배포 일정 작업을 실행하여 스토어를 자주 업데이트합니다.
이 단계를 실행하면 반품 수량이 CSU 간에 동기화되고 모든 반품에 다른 스토어에서 반품된 수량이 반영됩니다. 2단계와 3단계에서는 각 CSU의 정보가 실시간 서비스(RTS) 통화를 통해 본사로 수시로 전송되도록 합니다.