SCM 품목 코드 정규화 검수SKU NFC NFKC 충돌전각 품목 코드 중복채널 품목 코드 충돌

SCM 품목 코드 정규화 검수, 전각 문자는 합쳐도 될까

SCM 품목 코드의 원문·NFC·NFKC 키를 가상 표본 7쌍으로 비교합니다. 한글 자모, 전각 문자, 대소문자와 원천 범위가 조인 후보에 미치는 영향을 검수합니다.

이 글을 쓴 알파카랩스카카오·네이버·쿠팡 출신, 재하청 0%, 대기업·공공기관 등 18개사+ 레퍼런스

발행 ·알파카랩스

2026년 11월 기준, SCM 품목 코드는 원문과 원천 범위를 보존합니다. 정규화 뒤 다른 코드가 같은 키에 모이면 원천 기준을 확인할 때까지 자동 연결을 보류합니다.

판매 채널에는 전각 A로 시작하는 품목 코드가 있고 ERP에는 일반 A로 시작하는 코드가 있다고 가정해 보겠습니다. 화면에서는 비슷해도 입력 문자가 다릅니다. 두 코드를 무조건 합치면 다른 품목의 주문을 같은 줄에 붙일 수 있고, 모든 차이를 그대로 두면 원천이 같은 코드로 취급하는 한글 조합도 별개로 남을 수 있습니다.

이 글은 쇼핑몰·ERP의 품목별 운영 조회를 대조하는 IT·운영 책임자를 위한 검수 기준입니다. JSON 숫자로 받은 긴 식별자의 변형은 SCM 주문번호 정밀도 검수, 여러 속성과 근거로 품목의 동일성을 판단하는 방법은 온톨로지 엔터티 해소에서 다룹니다.

NFC와 NFKC는 무엇을 같게 만드나요?#

NFC는 정준 동등한 표기를 같은 형태로 정리합니다. 예를 들어 완성형 한글 ‘가’와 초성·중성 자모로 표현한 ‘가’는 같은 결과가 됩니다. NFKC는 호환 문자의 차이까지 접으므로 전각 A와 일반 A도 같은 결과가 될 수 있습니다. Unicode UAX #15 정규화 형식

정규화 형식만 선택해도 대소문자나 끝의 일반 ASCII 공백이 없어지는 것은 아닙니다. 대소문자 변환, 공백 제거, 코드 치환은 별도 규칙으로 합의합니다. 원천이 이미 정규화한 값을 내려준다면 어느 단계에서 원문을 보존할 수 있는지도 확인합니다.

어떤 표본으로 품목 키 충돌을 확인하나요?#

정규화는 코드에만 적용하고, 비교 키에는 가상 원천 범위와 코드를 함께 넣습니다. 마지막 표본은 코드를 고정하고 원천 범위만 바꿨습니다. 아래 ‘같음’은 비교 키의 문자열이 일치했다는 뜻입니다. 원천 A는 하나의 코드 체계를 뜻하며, 실제 범위는 판매 계정·카탈로그·공급사 등 계약에 따라 정합니다.

가상 코드 쌍원문 / NFC / NFKC검수할 내용
동일 원천의 A-01과 A-01같음 / 같음 / 같음같은 원천 키. 거래 행 중복은 별도 판정
완성형 가-01과 초성·중성 자모형다름 / 같음 / 같음정준 동등 표기의 연결 정책 확인
일반 A-01과 전각 A로 시작하는 코드다름 / 다름 / 같음전각을 구분하는 원천이라면 NFKC 자동 연결 보류
ITEM-1과 원문자 ①로 끝나는 코드다름 / 다름 / 같음호환 문자 차이를 접을지 확인
A-01과 a-01다름 / 다름 / 다름대소문자 변환은 별도 계약
A-01과 끝에 일반 공백이 있는 코드다름 / 다름 / 다름공백 제거는 별도 계약
원천 A의 A-01과 원천 B의 A-01다름 / 다름 / 다름원천 간 공통 품목 매핑 없이는 별도 키
2026년 11월 9일 Node.js 25.2.1의 Unicode 17.0 런타임에서 가상 코드 쌍 7개를 키 방식 3가지로 총 21회 비교했습니다. Unicode 18.0 문서는 정의 확인에 사용했습니다. 위 결과는 이 표본의 문자열 비교이며 다른 런타임이나 DB 비교 규칙의 적합성을 검증한 값은 아닙니다.
function key(scope, rawCode, form) {
  const code = form ? rawCode.normalize(form) : rawCode;
  return JSON.stringify([scope, code]);
}

이 코드는 두 후보 키를 비교하기 위한 예제입니다. 연동에서 다른 원문이 같은 후보 키에 모이면 후보에 속한 원문과 원천 행을 함께 남깁니다. 같은 원천에서 정규화 키 하나에 다른 품목을 가리키는 코드가 모일 수 있으므로, 확인 전에는 조회 합계나 출고 연결에 반영을 보류합니다.

원천이 전각과 일반 문자를 같은 코드로 취급한다면요?#

원천의 코드 계약에 그 규칙이 있다면 합의한 범위에서 변환을 적용할 수 있습니다. 원문은 보관하고 코드 체계, 적용할 정규화 형식과 버전, 충돌 때 검토할 담당자를 남깁니다. 서로 다른 채널의 코드가 우연히 같다면 공통 품목 매핑을 별도로 관리합니다.

전환 때는 기존 키와 새 후보 키를 병행 산출하고, 후보 하나에 모인 원문 수와 화면에서 달라지는 품목별 합계를 검수합니다. 코드가 연결됐다고 같은 주문 행을 재전송으로 볼 수는 없습니다. 주문과 재고의 쓰기 기준, DB의 문자열 비교 규칙, 정규화 형식을 바꾸는 절차는 실제 환경에서 별도로 시험합니다. 원천 범위, 런타임 또는 정규화 형식이 바뀌면 같은 표본으로 키와 충돌 보류 결과를 다시 확인합니다.

어떤 근거를 확인했나요?#

원문과 알파카랩스 SCM 운영대시보드 서비스는 2026년 11월 9일 확인했습니다. 공개 서비스는 원천별 기준을 정하고 표본을 화면과 대조하는 검수와 운영 인수를 협의한다고 안내합니다. 위 코드는 연동 범위를 논의하기 위한 가상 예시입니다.

SCM 품목 코드 정규화 FAQ#

전각 A와 일반 A는 NFC로 같아지나요?

표의 예제에서는 NFC에서 구분되고 NFKC에서 같아졌습니다. NFKC 결과가 같아도 원천이 두 코드를 다른 품목으로 쓰는지는 확인해야 합니다.

같은 원천에서 다른 코드가 하나의 정규화 키로 모이면요?

각 원문을 함께 보존하고 검토할 충돌로 표시합니다. 원천의 코드 계약이나 승인된 품목 매핑을 확인한 뒤 연결합니다.

채널 두 곳이 같은 품목 코드를 쓰면 바로 합쳐도 되나요?

같은 문자열이어도 원천 범위가 다르면 별도 키로 보존합니다. 채널 간 연결은 확인된 공통 품목 매핑을 기준으로 합니다.

NFC나 NFKC를 적용하면 끝의 일반 공백도 사라지나요?

표의 일반 ASCII 공백은 두 형식에서 그대로 남았습니다. 공백을 제거할지와 어느 위치를 검사할지는 별도 규칙으로 정합니다.

같은 품목 키가 반복되면 주문도 중복인가요?

한 품목에 정상 주문이 여러 건 들어올 수 있습니다. 품목을 찾는 키와 주문·행 또는 재처리 중복을 판정하는 키를 구분합니다.

품목 키 충돌 인수표 초안 협의#

업체명과 실제 코드를 뺀 충돌 전후 표본을 준비해 주세요. 첫 범위 협의에서 어떤 원천 범위를 붙이고 어떤 경우에 자동 연결을 보류할지 인수표로 정리합니다. 소요 시간은 표본과 검수 범위를 확인한 뒤 협의합니다.

품목 키와 연결 보류 기준을 정리합니다

첫 범위 협의에서 비식별 표본으로 원천별 품목 키와 보류 기준을 정리합니다. 소요 시간은 자료와 검수 범위를 확인한 뒤 협의합니다.

품목 키 충돌 인수표 초안 협의