카페24 재고 업로드 자동화

업무 자동화4분 읽기

카페24 재고 업로드 자동화 소개 영상

문제

이 고객은 헬멧과 라이더 의류를 파는 카페24 쇼핑몰 셀러였습니다. 재고는 도매상 7곳에서 오는데, 도매상마다 재고표 형식이 전부 달랐습니다. 어떤 곳은 "유/무"로, 어떤 곳은 "O/X"로, 어떤 곳은 수량 숫자로 표기하고 아예 재고 있는 품목만 행으로 내려 주는 곳도 있었습니다. 파일 형식도 CSV와 엑셀이 섞여 있고 인코딩도 제각각이었습니다.

셀러는 이 재고표들을 매번 엑셀로 열어 VLOOKUP과 IFERROR가 얽힌 함수 파일에 붙여 넣고 결과를 카페24 업로드 양식 두 종(품목 단위 양식, 상품 단위 상품수정)으로 옮겼습니다. 카페24는 업로드 파일에 행수 상한이 있어 1,000행 단위로 손으로 쪼개야 했고 수식이 남은 파일은 업로드가 거부됐습니다. 어느 단계 하나만 삐끗해도 재고 없는 상품이 진열 상태로 남아 주문이 들어오는 사고로 이어졌습니다.

접근

핵심은 셀러가 하던 전 과정을 프로그램 하나에 담되, 사용법은 "파일 고르고 버튼 누르기"로 끝나게 만드는 것이었습니다. 설치 없이 실행되는 데스크톱 프로그램(EXE)으로 만들고 도매상별 재고표 차이는 전부 프로그램 안의 규칙으로 내렸습니다.

기능

도매상 7곳의 재고표를 드롭다운 하나로

도매상별 컬럼 구조와 재고 표기 규칙(유/무, O/X, 수량, 행 존재 여부)을 프로그램에 내장했습니다. 사용자는 드롭다운에서 도매상을 고르고 파일을 선택하면 끝입니다. CSV 인코딩(UTF-8, CP949 등)도 자동 감지해 한글 깨짐 없이 읽습니다.

변환 로직은 고객이 쓰던 엑셀 함수 파일의 동작을 코드로 재현한 것입니다. 개발 과정에서 함수 파일과 프로그램 출력을 비교 검증하는 도구를 따로 만들어 기존 방식과 결과가 일치함을 확인한 뒤 전환했습니다. 익숙한 로직을 그대로 옮기되 수작업만 제거한 셈입니다.

기능

품목과 상품, 2단계 진열 자동 판정

품목(사이즈·색상) 단위로 재고를 매칭해 진열 여부를 정하고 상품 단위는 소속 품목 중 하나라도 재고가 있으면 진열로 판정합니다. 재고표에 없거나 품목코드가 비어 있는 품목은 예외 없이 미진열로 내려 재고 없는 상품이 팔리는 사고를 규칙으로 차단합니다.

기능

1,000행 자동 분할과 수식 검증

카페24 업로드 상한에 맞춰 결과 파일을 1,000행 단위로 자동 분할하고 저장 전에 모든 셀을 검사해 수식이 하나라도 남아 있으면 파일을 만들지 않습니다. 업로드 거부와 계산 잔재로 인한 오류를 저장 단계에서 원천 차단합니다.

기능

7건 일괄 배치와 결과 리포트

도매상 7곳 분량을 한 번에 처리하는 배치 모드를 GUI로 제공합니다. 작업 구성은 화면에서 추가·수정하고 설정으로 저장해 재사용합니다. 한 건이 실패해도 나머지는 계속 진행되고 건별 매칭 수와 성공 여부가 리포트로 남습니다.

처리 흐름은 다음과 같습니다.

도매상 재고표를 읽어 품목 매칭, 상품 진열 판정, 분할 검증을 거쳐 업로드 파일을 만드는 흐름도매상 재고표7종 형식로드 · 정규화인코딩 · 코드 정리품목 진열 T/F미매칭은 F상품 진열 Y/N하나라도 T면 Y분할 ·수식 검증

기술적으로는 파이썬과 Qt(PySide6)로 GUI를 만들고 엑셀 처리는 openpyxl만 사용해 실행 파일을 가볍게 유지했습니다. 빌드는 CI(GitHub Actions)가 자동으로 수행해 윈도우 EXE와 맥 실행 파일을 릴리스로 만들고 파이썬 테스트가 빌드 전에 매번 돌아 회귀를 막습니다.

결과

도매상별 재고표를 열어 함수를 돌리고 결과를 두 양식으로 옮기고 1,000행씩 쪼개던 반복 작업이 드롭다운 선택과 버튼 클릭으로 줄었습니다. 배치 모드로는 7곳 분량이 한 번에 처리됩니다. 무엇보다 미매칭 품목을 예외 없이 미진열로 내리는 규칙 덕에, 재고 없는 상품이 진열로 남아 주문이 들어오는 사고가 구조적으로 차단됐습니다.

운영 중 발견된 예외(특정 상품의 첫 품목만 보고 상품 전체를 미진열 처리하던 문제)는 원인을 잡은 뒤 같은 실수가 재발하지 않도록 테스트로 고정했습니다. 납품 후에도 안심할 수 있는 도구가 되는 것은 이런 테스트와 자동 빌드 구조 덕분입니다.

이 프로젝트에서 다룬 결정들은 아래 글에서 더 자세히 풀었습니다.

자주 묻는 질문

도매상이 새로 늘거나 재고표 형식이 바뀌면 어떻게 하나요?

도매상별 규칙이 프로그램 안에 타입으로 분리되어 있어 새 도매상은 규칙 하나를 추가하고 형식 변경은 해당 타입만 수정하면 됩니다. 사용자 화면에서는 드롭다운 항목이 하나 늘어나는 것뿐입니다.

기존에 쓰던 엑셀 함수 방식과 결과가 달라질 위험은 없나요?

전환 전에 함수 파일과 프로그램 출력을 같은 입력으로 비교 검증하는 도구를 만들어 결과 일치를 확인했습니다. 로직 자체를 새로 설계한 것이 아니라 검증된 기존 로직을 코드로 옮기고 수작업 구간만 없앤 것입니다.

카페24가 아닌 다른 쇼핑몰에도 적용할 수 있나요?

가능합니다. 핵심 구조(공급사별 재고표 정규화, 품목·상품 2단계 판정, 업로드 양식 생성)는 쇼핑몰과 무관하게 동일하고 출력 양식과 행수 상한 같은 규칙만 대상 플랫폼에 맞춰 바꾸면 됩니다.

프로그램 사용에 파이썬 설치가 필요한가요?

필요 없습니다. 단일 실행 파일(윈도우 EXE, 맥 바이너리)로 배포되어 더블클릭으로 바로 GUI가 열립니다. 내부 자동화나 예약 실행이 필요한 경우를 위해 명령줄 실행도 함께 지원합니다.

도입 결과

도매상별 재고표를 열어 함수를 돌리고 행을 쪼개던 반복 작업이 드롭다운 선택과 버튼 클릭으로 줄었고, 재고 없는 상품이 진열 상태로 남는 사고가 규칙으로 차단되었습니다.
#카페24#재고자동화#엑셀변환#데스크톱앱

비슷한 업무 자동화가 필요하신가요?

무료 상담 신청