블로그 목록으로
인공지능

같은 거래처가 ERP에 다섯 번 등록돼 있다: AI 기반 마스터 데이터 중복 탐지·정제 가이드

같은 거래처와 품목이 여러 코드로 등록되면 매출·재고 집계가 어긋나고 AI·BI 프로젝트가 정제 단계에서 멈춥니다. 블로킹, 유사도·임베딩·분류 모델 조합, 3구간 임계값, 병합 이력 관리까지 마스터 데이터 중복을 정리하고 재발을 막는 방법을 설명합니다.

POLYGLOTSOFT 기술팀2026-10-187분 소요3
마스터 데이터중복 제거엔티티 매칭ERP 데이터 품질머신러닝

중복 마스터가 만드는 조용한 손실

ERP를 몇 년 운영하면 같은 거래처가 "(주)한국정밀", "한국정밀 주식회사", "Hankook Precision"처럼 서로 다른 코드로 등록되기 마련입니다. 오류 메시지가 뜨지 않으므로 아무도 문제로 인식하지 못하지만, 집계는 조용히 어긋납니다.

  • 매출·재고 집계 왜곡: 연 매출 5억 원인 거래처가 다섯 개 코드로 나뉘면 코드당 1억 원으로 보여 주요 고객 순위에서 빠집니다. 여신 한도와 미수금도 코드별로 따로 관리됩니다.
  • 중복 발주: 같은 부품이 다른 품목 코드로 등록돼 있으면 한쪽 재고가 남아 있어도 다른 코드로 발주가 나가고, 안전재고도 코드마다 따로 쌓입니다.
  • AI·BI 프로젝트 지연: 수요 예측이나 대시보드를 만들려면 "이 코드들이 같은 대상인가"부터 정리해야 합니다. 많은 프로젝트가 모델링이 아니라 이 정제 단계에서 일정을 소진합니다.
  • 규칙만으로는 왜 안 되는가

    가장 먼저 떠올리는 방법은 치환 규칙입니다. "(주)"와 "주식회사"를 지우고 공백을 없앤 뒤 정확히 일치하는 것끼리 묶는 방식입니다. 효과는 있지만 곧 한계에 부딪힙니다.

  • 표기 변형: 영문 표기, 약칭, "정밀"과 "정밀공업", 오탈자는 규칙으로 다 열거할 수 없습니다.
  • 자유 서술 품명: "육각볼트 M8x25 SUS304"와 "BOLT HEX SUS M8*25L"은 같은 품목이지만 문자열로는 거의 겹치지 않습니다. 규격·재질·단위가 품명 한 칸에 섞여 있기 때문입니다.
  • 임계값의 딜레마: 문자열 유사도 하나에 기준을 0.9로 잡으면 실제 중복을 놓치고, 0.7로 낮추면 "대한전기"와 "대한전자"처럼 전혀 다른 회사가 묶입니다.
  • 엔티티 매칭 파이프라인 설계

    정규화와 블로킹

    먼저 법인 표기, 공백, 특수문자, 전각·반각을 통일합니다. 그다음 비교 대상을 줄입니다. 거래처 2만 건을 모두 서로 비교하면 약 2억 쌍이 나오므로, 상호 앞 두 글자, 전화번호 뒷자리, 주소의 시·군·구처럼 같은 블록에 속한 레코드끼리만 비교해 후보를 수십만 쌍 수준으로 낮춥니다. 블록 키는 여러 개를 함께 써야 오탈자로 인한 누락을 줄일 수 있습니다.

    매칭 점수 조합

    단일 지표 대신 여러 신호를 조합합니다.

  • 문자열 유사도: 편집 거리, 자모 단위 n-gram으로 오탈자와 띄어쓰기 차이를 잡습니다.
  • 임베딩 유사도: 한글·영문 표기나 어순이 다른 품명처럼 글자는 달라도 의미가 같은 경우를 잡습니다.
  • 분류 모델: 위 점수와 주소·대표자·전화번호 일치 여부를 입력으로 받아 "같은 대상일 확률"을 냅니다. 담당자가 판정한 수백 쌍의 라벨로도 시작할 수 있습니다.
  • 확정 키와 추정 매칭의 구분

    사업자등록번호가 일치하면 추정이 아니라 확정입니다. 이런 건은 모델에 넣지 않고 먼저 묶습니다. 다만 번호가 같아도 사업장과 납품처가 여럿일 수 있으므로, 거래처는 하나로 합치되 납품처는 하위 속성으로 남겨야 합니다. 번호가 비어 있거나 잘못 입력된 레코드만 추정 매칭으로 넘깁니다.

    LLM을 판정 보조로 쓸 때

    LLM은 "M8x25"와 "M8*25L"이 같은 규격임을 읽어 내는 데 강합니다. 그러나 후보 쌍 전체에 호출하면 비용과 시간이 감당되지 않고, 같은 쌍에 대한 답이 실행마다 달라질 수 있습니다. 점수가 애매한 구간에만 적용하고, 판정 결과와 근거를 저장해 재사용하며, 출력은 "동일/상이/판단 불가"로 고정하는 편이 안전합니다.

    사람이 결정해야 하는 부분

    3구간 임계값

    점수를 하나의 선이 아니라 세 구간으로 나눕니다. 예를 들어 0.92 이상은 자동 병합, 0.70~0.92는 검토 대기, 그 미만은 유지로 두는 식입니다. 경계값은 표본을 직접 검수해 정해야 하며, 잘못된 병합의 비용이 큰 거래처 마스터는 자동 병합 구간을 품목보다 좁게 잡는 것이 좋습니다.

    대표 코드와 과거 이력

    어느 코드를 남길지는 원칙이 필요합니다. 최근 거래가 있고, 거래 건수가 많으며, 필수 항목이 가장 충실한 코드를 대표로 삼는 방식이 일반적입니다. 과거 전표의 코드는 덮어쓰지 않고, 구 코드 → 대표 코드 매핑 테이블을 두어 조회·집계 시점에 변환하는 편이 감사 대응에 유리합니다.

    되돌리기와 이력 보존

    병합은 틀릴 수 있습니다. 구 코드는 삭제하지 않고 사용 중지 상태로 두며, 누가 언제 어떤 근거로 병합했는지 남겨 건 단위로 되돌릴 수 있어야 합니다.

    다시 더러워지지 않게 하는 운영

    한 번의 정제로 끝나지 않습니다. 등록 경로를 그대로 두면 중복은 다시 쌓입니다.

  • 실시간 유사 항목 경고: 신규 등록 화면에서 입력 중인 상호·품명과 비슷한 기존 항목을 보여 주고, 그래도 등록하려면 사유를 남기게 합니다.
  • 권한과 승인: 마스터 등록 권한을 줄이고, 현업이 요청하면 담당자가 승인하는 절차를 둡니다.
  • 데이터 책임자 지정: 거래처는 영업관리, 품목은 구매·생산기술처럼 마스터별 책임 부서를 정하고 검토 대기 건의 처리 기한을 운영 지표로 관리합니다.
  • POLYGLOTSOFT와 함께 시작하기

    POLYGLOTSOFT는 거래처·품목 마스터의 중복 진단부터 매칭 파이프라인 구축, 검토 화면 개발, ERP 코드 매핑 연동, 신규 등록 시 유사 항목 경고 기능까지 한 흐름으로 지원합니다. 기존 ERP를 교체하지 않고 연동 방식으로 적용할 수 있으며, 구독형 개발 서비스로 진단과 시범 정제부터 작게 시작하실 수 있습니다. 마스터 데이터 때문에 집계와 분석이 막혀 있다면 POLYGLOTSOFT에 문의해 주시기 바랍니다.

    기술 상담이 필요하신가요?

    스마트공장, AI, 물류자동화 분야의 전문 컨설턴트가 귀사의 요구사항을 분석해 드립니다.

    무료 상담 신청