공급사가 올린 상품을 시스템이 기존 그룹 상품과 자동 매칭·자동채움한 뒤, 사람은 매칭 실패분(후보군·신규·오류)만 본다. 공급사 화면과 MD 어드민은 권한으로 자동 분기되는 별개 화면.
문제의 뿌리는 "공급사는 자기 상품이 오더히어로에 이미 있는지 모른다"는 것.
공급사는 자기가 파는 상품을 오더히어로에 등록한다. 그런데 그 상품이 오더히어로에 이미 등록돼 판매 중인 상품인지, 완전히 새로운 상품인지 공급사는 알 수 없다. 같은 "요쿠르트 1000ml 냉장"을 A 공급사가 이미 올려놨어도, B 공급사는 그걸 모른 채 또 올린다.
그대로 두면 같은 상품이 중복 등록되거나, MD가 검수할 때마다 "이거 우리한테 이미 있는 거 아닌가?"를 수동으로 하나하나 찾아야 한다. 1,000줄짜리 엑셀을 올리면 그 수고가 1,000번 반복된다.
두 주체가 등장한다. 각자 하는 일과 보지 않아도 되는 일이 명확히 갈린다.
| 역할 | 하는 일 | 보지 않는 것 |
|---|---|---|
| 공급사 외부 |
상품 등록(단건 또는 엑셀 업로드). 상품명·용량·보관상태·단위·개수·단가 등 조건값 입력. 신규 상품일 때만 이미지 업로드. | 자기 상품이 기존 상품인지 신규인지 판단할 필요 없음. 히어로코드·그룹코드 등 내부 식별자 몰라도 됨. |
| MD 내부 |
자동 매칭이 못 붙인 것 — 후보군(확인 필요)·신규·오류 — 만 검수. 후보군에서 맞는 것 선택, 신규 정보 보완, 최종 확정. 자동 매칭 건은 사후 수정만. | 자동으로 붙은 건(후보 1개=완전일치)의 매칭 과정. 내부에서 확정되므로 목록에서 굳이 안 봐도 됨. |
공급사 포털과 어드민(MD)은 데모 토글이 아니라 별개의 화면이다. 로그인 계정의 권한(공급사 / MD)에 따라 자동으로 분기되며, 한 사용자가 두 화면을 오가지 않는다.
어드민 상품 관리 아래에서, 기존 메뉴는 그대로 두고 이 프로젝트를 별도 메뉴로 추가한다. 둘은 공존한다(기존 메뉴 대체 아님).
| 메뉴 | 경로 | 상태 |
|---|---|---|
| 공급사 상품 관리 (기존) | product/manage | 그대로 유지 |
| 신규 공급사 상품 관리 (이 프로젝트) | 신규 메뉴 | 별도 추가 · 공존 |
MD만 다루는 자동/숨김 항목은 v2에서도 공급사에게 노출하지 않는다.
히어로코드 · MFC노출기준 · 총량피킹 · 검수필요여부 등 — 시스템이 매칭·확정 시 내부 처리.net공급가 · 유통사 상품명 · 유통사 상품코드. 이 세 값만 공급사 몫이고, 나머지 상품 정보는 매칭 시 그룹 상품에서 자동으로 채워진다(§2-2 참조).net공급가는 공급사가 입력하는 값이다(숨김 아님). 실제 엑셀 양식에서도 필수 컬럼(§실제 양식). 반대로 유통사명은 자동채움에서 제외돼 공급사가 직접 적는다.
공급사가 로그인하면 자기 공급사에 귀속된 모든 상품이 리스트로 먼저 뜬다(남의 상품은 안 보임).
리스트의 상품 노출·구분은 기존 공급사 상품 관리(product/manage)와 동일한 방식·컬럼을 따른다. 새 표 형식을 만들지 않고 이미 익숙한 리스트를 그대로 재사용한다.
| 그룹 ID | 그룹핑 갯수 | 상품 이미지 | 그룹 상품명 | 상품명 | 카테고리 | 총 중량 | 중량 | 수량 | 원산지 | 제조사 | 브랜드 | 특성 | 등급 | 크기 | 색상 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| GRP-… | 3 | 🖼 | 감귤(10~11과),1kg,국산 | 감귤 | 과일>감귤 | 1KG | 1KG | 1 | 국내산 | — | — | — | — | — | — |
컬럼 목록은 회의 피드백 ⑤에서 지정된 그대로. 예시 행 값은 실제 엑셀 양식 예시(§실제 양식)에서 가져온 설명용이며 개발DB 실측 아님.
v2의 뼈대. 매칭 · 자동채움 · 검색 · 양식/정규화 · 이미지 승계.
매칭 키는 하나의 코드가 아니라 조건값 묶음이다.
상품명 + 용량/중량 + 보관상태 + 단위 ( + 개수 ) 등 조건값을 다 걸어서 후보를 뽑는다.
예시 — 1,000줄 업로드 시 대략: 자동 매칭 650 + 자동 통과 250 + 확인 필요(후보군) 나머지 + 신규(매칭 0) + 오류. (수치는 v13 예시 배분을 참고한 가정, 실측 아님)
공급사가 등록할 때 필수값을 입력하거나 상단 검색창에 입력하면, 시스템이 동일 그룹 상품을 추천한다. 추천을 선택하면 대부분의 값이 그룹 상품에서 그대로 자동 채워진다 — 공급사가 다시 적을 필요가 없다.
net공급가 · 유통사 상품명 ( + 유통사 상품코드 ) 뿐. 나머지는 그룹 상품 값으로 자동 노출·채움.
| 구분 | 필드 | 출처 |
|---|---|---|
| 공급사 입력 직접 | net공급가 · 유통사 상품명 · 유통사 상품코드 |
공급사만 아는 값(단가·자사 코드) — 자동채움 제외 |
| 자동 채움 그룹 상속 | 상품 이미지 · 그룹 상품명 · 상품명 · 카테고리(대/중/소분류) · 중량/총중량 · 보관상태 · 과세여부 · 원산지 · 브랜드 · 제조사 · 특성 · 등급 · 배송유형(MFC/허브) · 배송예정일수 · 주문 배수 단위 · 최소 주문 수량 등 | 선택한 그룹 상품에서 동일하게 상속 → 공급사 재입력 불필요 |
추천/매칭이 하나도 없으면 → 🔴 신규 상품으로 넘어가 전체 값을 직접 입력한다(§3·§4).
후보를 뽑는 검색은 상품 전체가 아니라 "그룹이 만들어지는 데이터"를 기준으로 한다.
그룹 상품·그룹코드 중심으로 좁히면, 조건값 매칭과 자연스럽게 맞물려 후보가 1개(자동) 또는 소수(확인 필요)로 수렴한다.
1KG)·주문 배수 단위·상품단위·라벨용 엑셀 다운로드 수량 단위 등 단위성 필드를 양식에서 규정해 정규화. 단위/필수가 없거나 안 맞으면 ⛔ 오류로 걸러진다.공급사가 감귤 · 1KG · 냉장 · 국내산을 올렸다고 하자. 조건값을 순서대로 걸면:
| 거는 조건 | 남는 후보(가정) | 판정 |
|---|---|---|
| 그룹 상품명 "감귤" | 수십 개 | — |
| + 보관 "냉장" | 여러 개 | — |
| + 중량 "1KG", 원산지 "국내산" | 2~3개 | 🟡 확인 필요(후보군) |
| + 규격 "10~11과" 완전 일치 | 1개 | 🟢 자동 매칭 → 자동채움 |
조건을 다 걸어 1개로 수렴하면 자동, 다 걸었는데도 여럿이면 확인 필요. 이 표의 후보 수는 설명용 가정이다.
등록 양식은 상품 등록 양식_필수,선택_260901.xlsx의 실제 필드로 고정한다. 아래는 그 실측 목록 — 임의 필드가 아니다.
| 필드 | 비고 |
|---|---|
| 유통사 상품코드 · 유통사 상품명 | 공급사 직접 입력 자동채움 제외 |
net공급가 | 공급사 직접 입력 예시 감귤 400 / 단감 700 |
| 그룹 상품명 · 상품명 | 예: "감귤(10~11과),1kg,국산" / 감귤 — 매칭 키 |
| 과세여부 | 면세 / 과세 |
| 보관상태 | 냉장 / 냉동 / 상온 — 매칭 키 |
| 중량 | 예: 1KG — 매칭 키 |
| 배송예정일수 | 예: D-1 |
| 대분류 · 중분류 · 소분류 | 카테고리 |
| 특성 · 원산지 · 브랜드 · 등급 | 원산지 예: 국내산 |
| 주문 배수 단위 | 주문 단위 규정 |
| 배송유형 | MFC / 허브 — 예시 감귤 MFC / 단감 허브 |
| 외부 적재 | 가능 / 불가능 |
| 최소 주문 수량 | |
| 라벨용 엑셀 다운로드 수량 단위 |
| 필드 |
|---|
| 제조사 · 수량 · 할인기준가 · 상품상세 · 원산지 세부사항 · 색상 · 상품단위 · 크기 · 수치 · 일시품절 · 장기품절 · 재고수량 · 수량제한 · 단위당 상품 개수 · 총량피킹 |
net공급가·유통사 상품코드·유통사 상품명만 공급사가 채우고, 나머지(그룹 상품명·상품명·중량·보관·과세·카테고리·원산지·브랜드·등급·배송유형·배송예정일수·주문 배수·최소 주문 수량 등)는 그룹 상품에서 자동으로 상속된다(§2-2).
업로드된 각 줄은 아래 넷 중 하나로 판정된다. 사람이 손대는 건 🟡🔴⛔ 셋뿐.
| 상태 | 조건 | 후보 노출 | 사람 개입 | 다음 액션 |
|---|---|---|---|---|
| 🟢 자동 매칭 | 조건값 완전 일치 · 후보 1개 | 안 함(내부 확정) | 사후 수정만 | 바로 확정 |
| 🟡 확인 필요 | 덜한 필터로 후보군 여러 개 | 함 | 후보 선택 | 선택 후 확정 |
| 🔴 신규 | 매칭 0건 | 없음(매칭 대상 없음) | 정보 입력 | 입력 후 확정 |
| ⛔ 오류 | 단위·필수 누락, 그룹ID 오류 | — | 양식 교정 | 제외·재업로드 |
공급사가 상품 하나를 등록할 때. 초안 → (자동 매칭) → 확정.
1,000줄 대량 업로드. 자동으로 최대한 처리하고, 나머지만 사람 앞에 남긴다.
100~1,000건을 업로드하면서 전 건을 기존 그룹과 즉시 비교 매칭하면 로딩이 오래 걸려 화면이 멈춘다. 동기 즉시 처리는 지양한다.
| 구분 | 대략 | 사람 개입 |
|---|---|---|
| 🟢 자동 매칭 | ~650 | 없음 |
| 🟢 자동 통과 | ~250 | 없음 |
| 🟡 확인 필요(후보군) | 나머지 | 후보 선택 |
| 🔴 신규(매칭 0) | 일부 | 정보 입력 |
| ⛔ 오류 | 소수 | 재업로드 |
수치는 v13 예시(자동통과 650 / 확인 250 / 신규 92 / 오류 8)를 참고한 가정이며 개발DB·운영 실측이 아니다.
| 상황 | 처리 |
|---|---|
| 단위 누락/불일치 (예: 중량 단위 없음) | ⛔ 오류로 제외 → 재업로드. 자동 매칭 대상에서 빠짐. |
| 필수 항목 누락 | ⛔ 오류. 확정 불가. |
| 그룹ID 오류 | ⛔ 오류. 그룹 매핑 실패. |
| 기존 그룹에 매칭됐는데 공급사가 이미지 안 올림 | 그룹 이미지 자동 승계 → 문제없음. |
| 신규(매칭 0)인데 이미지 없음 | 이미지 직접 업로드/Zip 필요. 없으면 보완 대상. |
| 후보군 중 어느 것도 안 맞음 | 🟡에서 "해당 없음" 선택 → 🔴 신규로 전환 정책 확정 필요 |
| 자동 매칭이 틀렸음(오매칭) | MD 사후 수정으로 교정. 자동 확정을 되돌리는 UX 범위는 미정. |
스키마 실측 없이(개발DB 금지) 요구사항으로부터 세운 가정. 확정 아님 — 착수 전 검증 필요.
| 개념 | 가정 | 검증 포인트 |
|---|---|---|
| 그룹 / 그룹코드 | 조건값(품명+용량+보관+단위)의 특정 조합이 하나의 그룹으로 묶이는 상위 개념이 이미 존재한다. | 그룹을 실제로 결정하는 컬럼이 무엇인지(M-1) — 화면에 안 보이는 값이 그룹을 가른다는 제보 있음. |
| 조건값 필드 | 상품명·용량/중량·보관상태·단위·개수가 각각 정규화된 컬럼으로 존재하거나 만들 수 있다. | 단위가 자유 입력인지 코드값인지. 자유 입력이면 정규화 계층 필요. |
| 이미지 승계 | 그룹 단위 대표 이미지가 있어 하위 상품이 참조로 물려받을 수 있다. | 이미지가 상품별인지 그룹별인지 — 그룹별이 아니면 승계 로직에 매핑 규칙 필요. |
| 자동 확정 | 매칭 결과를 사람 승인 없이 확정 상태로 쓸 수 있는 경로가 있다. | 확정=상태 플래그인지 별도 승인 레코드인지(M-3). |
회의(음성) 결론으로 무엇이 바뀌었나. 가장 큰 변화는 매칭을 앞단으로 뺀 것.
product/manage를 두고 "신규 공급사 상품 관리"를 별도 메뉴로 추가·공존(§1-3). 공급사 로그인 시 자기 상품 리스트를 기존과 동일 컬럼으로 노출(§1-5).문서에 미정으로 남긴다. 확정 없이는 구현 스펙이 못 나오는 것들.
product_group(또는 상당 개념)에 조건값(중량·보관·규격·단위 등) 컬럼이 실제로 있느냐에 달려 있다. 개발DB 스키마 실측 없음 — 착수 전 가장 먼저 확인해야 할 P0.
product_group 조건값 컬럼 실존(P0)과 M-1 그룹 생성 로직이 먼저 정리돼야 조건값 매칭·자동채움·이미지 승계 스펙이 확정된다. 선행 조사 1순위 · 개발DB 실측 없음.