쇼핑몰 구축 견적서에는 보통 '상품 등록·관리' 가 한 줄로 들어갑니다. 상품명, 가격, 재고, 이미지, 상세설명 정도를 넣는 화면으로 생각하기 쉽습니다. 실제로 많은 프로젝트가 그 다섯 칸으로 시작합니다.

그런데 온라인으로 상품을 파는 순간, 그 화면의 입력 칸 상당수는 개발사나 운영자가 정할 수 있는 항목이 아니게 됩니다. 공정거래위원회 고시가 품목군별로 무엇을 보여줘야 하는지 이미 정해 두었고, 그 항목 목록이 그대로 상품 데이터베이스의 필드가 됩니다.

상품 등록 칸의 절반은 법이 먼저 정해 둡니다

근거는 전자상거래법 제13조 제2항입니다. 소비자가 계약을 맺기 전에 거래조건을 정확히 이해하도록 재화의 정보를 표시·광고하거나 고지하라고 규정합니다. 같은 조 제4항은 그 내용과 방법을 공정거래위원회가 고시로 정할 수 있다고 위임합니다.

그 위임으로 만들어진 것이 '전자상거래 등에서의 상품 등의 정보제공에 관한 고시' 입니다. 고시 별표에는 품목군별로 제공해야 할 항목이 표로 적혀 있습니다. 실무에서는 이 표를 줄여서 '상품정보제공고시' 라고 부릅니다.

품목군이 40개 안팎이고, 품목군마다 칸이 다릅니다

별표의 품목군은 의류, 구두, 가방, 패션잡화, 침구류·커튼, 가구, 영상가전, 가정용 전기제품, 계절가전처럼 재화로 시작합니다. 뒤로 가면 호텔·펜션 예약, 여행패키지, 항공권, 자동차 대여, 디지털 콘텐츠, 상품권 같은 용역이 이어지고 마지막이 기타용역과 기타재화입니다.

생활화학제품과 살생물제품처럼 개정으로 뒤늦게 신설된 품목군도 있습니다. 그전까지 '기타재화' 로 뭉쳐 올리던 제품들입니다. 그래서 품목군 수는 고정값이 아니라 개정마다 늘어나는 숫자로 봐야 합니다.

의류는 9칸, 가공식품과 화장품은 11칸입니다

의류 품목군의 항목은 제품 소재, 색상, 치수, 제조자·수입자, 제조국, 세탁방법 및 취급 시 주의사항, 제조연월, 품질보증기준, A/S 책임자와 전화번호입니다. 아홉 칸이고, 그중 임의로 비워 둘 수 있는 칸은 없습니다.

식품·화장품·가전은 더 많습니다. 쇼핑몰 솔루션들이 실제로 입력란으로 들고 있는 항목은 이렇습니다.

  • 가공식품: 제품명, 식품의 유형, 생산자 및 소재지, 제조연월일·유통기한, 포장단위별 용량, 원재료명 및 함량, 영양성분, 유전자변형식품 여부, 소비자안전 주의사항, 수입식품 문구, 소비자상담 전화번호
  • 화장품: 용량 또는 중량, 제품 주요 사양, 사용기한 또는 개봉 후 사용기간, 사용방법, 제조업자·책임판매업자, 제조국, 모든 성분, 기능성 화장품 심사 여부, 사용 시 주의사항, 품질보증기준, 소비자상담 전화번호
  • 영상가전: 품명·모델명, KC 인증 여부, 정격전압·소비전력, 에너지소비효율등급, 동일 모델 출시년월, 제조자, 제조국, 크기, 화면 사양, 품질보증기준, A/S 책임자와 전화번호

이름이 비슷한 칸도 품목군마다 뜻이 다릅니다

세 목록을 나란히 놓으면 날짜 칸의 의미가 전부 다릅니다. 의류는 제조연월, 가공식품은 제조연월일과 유통기한, 영상가전은 동일 모델의 출시년월입니다. 하나의 날짜 컬럼으로 묶으면 어느 품목군에서도 맞지 않습니다.

전화번호 칸도 마찬가지입니다. 의류와 가전은 'A/S 책임자와 전화번호' 지만 식품과 화장품은 '소비자상담 관련 전화번호' 입니다. 화면에 찍히는 이름이 달라야 하므로, 값은 공용으로 저장하더라도 라벨은 품목군별로 따로 들고 있어야 합니다.

품목군을 고르면 입력 칸의 개수와 이름이 함께 바뀌어야 합니다. 상품 테이블에 컬럼을 수십 개 덧붙이는 방식으로는 끝나지 않습니다.

이미지에 글자로 박아 넣으면 검색도 수정도 안 됩니다

가장 흔한 처리 방식은 디자이너가 만든 상세페이지 이미지 안에 항목 표를 그려 넣는 것입니다. 보기에는 깔끔하지만 데이터베이스에는 값이 한 글자도 없습니다. 원산지로 상품을 걸러내거나 유통기한이 임박한 상품만 뽑아내는 일이 아예 불가능해집니다.

수정 비용도 다릅니다. A/S 전화번호가 바뀌면 필드 값은 한 번의 일괄 수정으로 끝나지만, 이미지는 상품 수만큼 다시 만들어 올려야 합니다. 2023년 1월 1일 시행된 개정 고시는 인증·허가번호를 소비자가 알아보기 쉬운 크기의 문자로 명확히 표시하라고 못 박았습니다.

오픈마켓은 항목별 값으로만 받습니다

자사몰만 하겠다고 시작해도 오픈마켓 입점은 대개 따라옵니다. 오픈마켓의 상품 등록 화면과 연동 규격은 고시 항목을 품목군 코드와 항목별 입력란으로 받습니다. 이미지 안에 들어 있는 글자는 전달할 방법이 없습니다.

G마켓·옥션은 2022년 12월 15일 오전 8시부터 개정 고시 내용대로 입력되지 않은 상품은 등록과 수정이 불가하다고 공지했습니다. 자사몰 데이터베이스에 이 값이 없으면 연동할 때마다 사람이 손으로 채워 넣게 됩니다.

위반하면 시정조치와 1천만원 이하 과태료입니다

전자상거래법 제32조는 제13조 제2항 위반을 시정조치 대상으로 넣어 두었습니다. 시정조치에는 위반행위의 중지, 법에 규정된 의무의 이행, 시정조치를 받은 사실의 공표, 소비자피해 예방과 구제에 필요한 조치가 포함됩니다.

과태료는 같은 법 제45조 제4항에 따라 1천만원 이하입니다. 다만 실무에서 먼저 체감되는 손실은 과태료가 아닙니다. 항목이 비어 있으면 오픈마켓에서 상품 등록 자체가 막히고, 막힌 기간만큼 매출이 발생하지 않습니다.

뒤늦게 넣으면 네 군데를 동시에 고쳐야 합니다

오픈한 뒤에 이 항목들을 넣으면 작업이 한 곳에서 끝나지 않습니다. 상품정보 저장 구조를 새로 만들고 기존 데이터를 옮기는 일, 품목군에 따라 칸이 바뀌는 관리자 입력 화면, 상세페이지 출력, 오픈마켓 연동 매핑이 모두 걸립니다.

견적에서 흔히 빠지는 쪽은 관리자 입력 화면입니다. 품목군을 선택하면 폼이 다시 그려져야 하고, 품목군을 바꿀 때 이미 입력한 값을 어떻게 처리할지도 정해야 합니다. 공개된 표준 단가는 없으니 금액은 업체 견적으로 확인하되, 작업이 네 덩어리라는 점은 알고 물어보는 편이 낫습니다.

정작 큰 비용은 이미 올려놓은 상품에서 나옵니다. 상품 3천 개를 운영하는 쇼핑몰이 가공식품 11개 항목을 뒤늦게 도입하면 3만 3천 개의 값을 어디선가 채워야 하고, 제조사에 다시 문의해야 하는 항목도 섞여 있습니다.

품목군 40개를 처음부터 다 만들 필요는 없습니다

취급 품목군이 한두 개라면 그 품목군의 항목만 넣으면 충분합니다. 대신 저장 구조는 상품·품목군·항목코드·값처럼 항목을 행으로 쌓는 형태로 잡아 두세요. 컬럼을 직접 늘리는 구조라면 품목군을 추가할 때마다 테이블을 다시 건드려야 합니다.

임대형 솔루션을 쓴다면 이 글의 비용 이야기는 해당되지 않습니다. 고시 항목 입력란이 이미 들어 있기 때문입니다. 직접 개발하는 쇼핑몰이거나, 자체 쇼핑몰에 취급 품목군을 새로 늘리는 경우에만 해당합니다.

관련 글은 실무 가이드와 개발 노트에 모아 두었습니다. 제재 기준은 공정거래위원회 전자상거래 소비자 보호 안내에서 확인할 수 있고, 쇼핑몰 구축 문의는 Codeforest로 주세요.

결론: 품목군을 먼저 정하고 상품 등록 화면을 설계하세요

상품 등록 화면에서 법으로 정해진 입력 칸은 전자상거래법 제13조와 상품정보제공고시가 품목군별로 지정한 항목입니다. 의류는 9개, 가공식품과 화장품은 11개 수준이고, 품목군이 바뀌면 칸의 개수와 이름이 같이 바뀝니다.

그러니 기획 단계에서 취급할 품목군을 먼저 확정하고, 그 품목군의 고시 항목을 필드로 옮긴 다음 화면을 그리세요. 이미지에 글자로 넣는 방식은 검색과 일괄수정과 오픈마켓 연동을 한꺼번에 막고, 나중에 되돌리는 비용이 가장 큰 선택입니다.