Airo 제작기 5화 — 같은 압축봉이 판매처마다 다른 이름일 때, 원가를 한 번만 적게 만든 이야기
- 맡긴 일
- 「찾아서 넣어줘」 (이카운트 품목 파일과 «원가 없는 옵션» 목록을 올리며)
- 결과
- 매출 0원짜리 세트 선택지에 원가를 매기지 않는 규칙 하나로 세트 마진이 -2%에서 +45%로 바로잡혔고, 9월에는 연결 안 된 옵션을 155개에서 67개로 줄였습니다.
- 전 → 후
- 세트 상품 마진 -2% → +45%
- 확인한 날
- 2026년 10월 20일 기준
3화에서 «기본코드(중심키)»라는 말을 꺼냈습니다. 물건마다 코드를 하나 정하고, 판매처마다 다른 이름은 그 코드에 연결만 하자는 생각이었죠. 5화는 그 코드 위에 원가를 붙인 이야기입니다. 말로는 간단한데, 실제로 붙여 보니 마진이 거꾸로 나오고, 엉뚱한 상품끼리 묶이고, 원가가 빈칸인 상품이 줄줄이 나왔습니다. 5월 말부터 9월 말까지, 숫자가 맞기까지 고친 기록입니다.
원가는 왜 이름이 아니라 코드에 적어야 하나요?
결론부터 말하면, 원가를 한 번만 적으려면 이름이 아니라 코드에 적어야 하기 때문입니다.
우리 회사 주력인 압축봉은 스마트스토어, 쿠팡, 11번가, G마켓에서 모두 팝니다. 같은 물건인데 판매처마다 옵션 이름이 다릅니다(3화에서 예로 든 «압축봉 110cm 화이트», «힘센 압축봉(화이트/110)», «압축봉_화이트_110»). 이름에 원가를 적으면 같은 물건 원가를 판매처 수만큼 따로 적어야 하고, 하나를 고치면 나머지는 옛 값으로 남습니다.
그래서 5월 30일 설계서에 원칙을 이렇게 적었습니다.
- 원가와 제품군은 기본코드에 딱 한 번 적는다
- 판매처의 옵션은 그 코드에 연결만 한다
- 마진 = 매출 − (옵션 수량 × 기본코드 원가) − 수수료 − 광고비
이 설계서에는 «장남님 승인: 2번 — 처음부터 중심키 구조»라는 줄이 있습니다. 클로드가 «지금 있는 연결을 고쳐 쓰는 길»과 «처음부터 코드 구조로 다시 세우는 길» 두 가지를 내놓았고, 저는 두 번째를 골랐습니다. 이유도 적혀 있습니다. 그전에 만들어 둔 연결표가 끼워팔기 옵션에 잘못 연결돼 있어서 믿을 수 없었기 때문입니다.
원가를 붙였더니 왜 세트 상품이 적자로 나왔나요?
5월 31일, 원가를 붙인 마진 화면을 처음 열었을 때 세트 상품 마진이 -2%로 찍혀 있었습니다. 잘 팔리는 세트가 적자라니 말이 안 됐습니다.
원인은 스마트스토어 세트 상품의 «꼭 선택» 옵션이었습니다. 세트를 사면 손님이 «꼭 선택» 칸에서 구성품을 고르는데, 주문서에는 이게 한 줄로 따로 찍힙니다. 이 줄의 매출은 0원입니다. 돈은 본품 줄에 다 잡히니까요. 그런데 시스템은 그 0원짜리 줄에도 구성품 원가를 매겼습니다. 본품 줄에 이미 세트 원가가 다 들어 있는데, 같은 원가를 한 번 더 뺀 겁니다. 원가 이중 계산이었습니다.
고친 규칙은 한 줄입니다.
매출 0원 옵션은 원가 0으로 계산한다. (본품 줄에 합산 원가가 이미 들어 있다)
이 규칙을 넣고 다시 계산한 결과가 그날 설계서에 남아 있습니다.
| 항목 | 고치기 전 | 고친 뒤 |
|---|---|---|
| 세트 상품 마진 | -2% | +45% |
| 전체 매출총이익률 | — | 58.5% |
| 원가가 반영된 매출 비율 | — | 99.9% |
-2%를 보고 «세트는 접어야 하나» 생각했다면 잘 팔리는 상품을 내릴 뻔했습니다. 숫자가 이상할 때는 상품보다 계산을 먼저 의심해야 한다는 걸 이때 배웠습니다.
어제 판 것의 마진은 바로 볼 수 있나요?
이것도 같은 날 정했습니다. 마진을 두 단계로 보여 주기로요.
- 잠정 마진(바로): 주문 매출 기준. 어제 판 것까지 바로 보입니다. 다만 아직 취소·반품이 반영되지 않았으니 화면에 «잠정»이라고 붙입니다.
- 확정 마진(나중): 판매처 정산이 끝나면 정산 금액으로 매출을 다시 맞춥니다. 수수료와 취소·반품이 정확해지고 «잠정 → 확정»으로 바뀝니다.
장사하는 입장에서는 정산을 2주씩 기다릴 수 없습니다. 그렇다고 잠정 숫자를 확정처럼 보면 반품이 많은 달에 크게 틀립니다. 그래서 둘을 나누고 어느 쪽 숫자인지 화면에 표시하게 했습니다. 원가는 두 단계 모두 같은 주문 자료에서 계산해서, 단계가 바뀌어도 원가가 흔들리지 않게 했습니다.
새로 팔린 옵션은 누가 연결하나요?
코드 구조의 약점은 새 옵션입니다. 새 상품을 올리거나 오랜만에 팔린 옵션이 생기면, 그 옵션은 아직 어느 코드에도 연결돼 있지 않습니다. 연결이 없으면 원가가 0으로 잡혀 마진이 실제보다 좋아 보입니다.
그래서 5월 31일 설계서 6번 항목에 운영 규칙을 적었습니다. 매일 자료가 들어올 때 연결 안 된 옵션을 자동으로 찾아 «신규 N개 원가 입력 필요»로 알려 주고, 그 N개만 입력하게 하자는 것이었습니다. 전체를 다시 볼 필요 없이 새로 생긴 것만 보면 됩니다. 원가가 반영된 비율은 게이지로 보여 주고요.
그날 밤 쿠팡 쪽에서 실제로 해 봤습니다. 연결이 안 돼 있던 쿠팡 옵션 15개와 추가분을 모두 연결해 쿠팡 옵션 연결 100%를 맞췄습니다.
넉 달 뒤에는 무엇이 쌓여 있었나요?
판매처가 늘면서 빈칸도 늘었습니다. 여름 동안 G마켓·옥션·롯데ON·11번가 같은 판매처가 붙었고(10화에서 씁니다), 그때마다 새 옵션이 생겼습니다. 9월 26일, 저는 이카운트에서 내려받은 품목 파일과 Airo가 뽑아 준 «원가 없는 옵션» 목록을 클로드에게 올리고 이렇게만 말했습니다.
「찾아서 넣어줘」
그날 기록에 남은 결과입니다.
| 항목 | 정리 전 | 정리 후 |
|---|---|---|
| 어느 코드에도 연결 안 된 옵션 | 155개 | 67개 |
| 최근 30일 팔렸는데 원가가 빈 옵션 | 93개 | 44개 |
| 이카운트 품목 동기화 | — | 1,072건(새 품목 99, 입고 단가 169) |
클로드가 쓴 짝 맞추기 방법은 세 가지였습니다. ① 옵션 글자를 다듬어서 이미 연결된 다른 옵션과 비교(여러 개가 같은 코드를 가리키면 그쪽으로) ② 이카운트 품목 이름과 글자가 완전히 같은 것 ③ 쿠팡 압축봉은 상품명에서 색상과 길이 범위를 읽어 코드 찾기. 이미 값이 있는 칸을 빈 값으로 덮어쓰지 않게 하는 것도 지켰습니다.
자동으로 짝을 맞추다 틀린 건 없었나요?
있었습니다. 그리고 이게 이 화에서 가장 쓸모 있는 이야기입니다.
옵션이 «색상: 블랙»처럼 색상 하나뿐인 경우, 글자 비교로 짝을 맞추면 전혀 다른 상품끼리 묶였습니다. 그날 찾은 잘못 연결이 4건이었습니다. 시장 가방이 3단 트롤리에, 같은 시리즈의 2칸짜리가 3칸짜리에, 파우치가 접이식 의자에 붙어 있었습니다. «색상: 블랙»은 수십 개 상품에 똑같이 붙어 있으니 글자만 보면 다 같아 보였던 겁니다.
그래서 안전핀을 정했습니다. 옵션 글자로 짝을 맞출 때는 숫자가 들어 있거나 6글자 이상인 것만 쓴다. «110cm 화이트»는 써도 되고 «블랙»은 안 된다는 뜻입니다. 이 조건은 다음 정리와 Airo의 자동 추천 기능에 넣어야 할 안전핀으로 그날 기록에 남겼습니다. 색상만 있는 G마켓·옥션 옵션 22건은 자동으로 맞추지 않고 상품명과 함께 사람이 정하기로 남겼습니다.
빈칸도 다 채우지는 못했습니다. 남은 것을 그대로 적어 두면 이렇습니다.
- G마켓·옥션 22건: 옵션이 색상뿐이라 사람이 정해야 함
- 롯데ON 9건: 옵션 이름이 숫자 코드라 단서가 없음
- 11번가 9건: 옵션도, 상품명 속 색상도 없음
- 코드는 있는데 원가가 0인 품목 8개: 최근 30일 기준 약 18만 원이 마진 계산에서 빠져 있음
마지막 줄이 중요합니다. 원가 0은 «아직 모름»인데, 계산에서는 «공짜»가 됩니다. 그만큼 마진이 실제보다 좋아 보입니다. 금액이 작다고 넘기지 않고 따로 적어 둔 이유입니다.
이 시기에서 따라 할 만한 것은 무엇인가요?
- 원가는 상품 코드에 한 번만 적으세요. 판매처가 두 곳 이상이면 판매처별 이름에 원가를 적는 순간 언젠가 어긋납니다. 회계 프로그램을 쓰고 있다면 그 품목코드를 그대로 쓰는 게 가장 빠릅니다.
- 마진이 이상하게 나오면 상품보다 계산을 먼저 의심하세요. 세트의 «꼭 선택»처럼 매출 0원짜리 줄이 원가를 한 번 더 빼고 있지 않은지 보세요.
- «잠정»과 «확정»을 나눠 보세요. 어제 마진은 바로 보되, 정산이 끝나면 다시 맞춘다는 표시를 붙이면 됩니다.
- 자동 짝 맞추기에는 안전핀을 거세요. 색상 하나뿐인 옵션처럼 흔한 글자로는 짝을 맞추지 말고, 사람이 정할 몫으로 남기세요.
- 원가 0은 «모름»으로 따로 세세요. 빈칸이 마진을 부풀리고 있는 금액을 한 줄로라도 적어 두면 우선순위가 보입니다.
돌아보면 원가를 붙이는 일은 한 번에 끝나는 설정이 아니었습니다. 판매처가 하나 늘 때마다, 상품이 하나 늘 때마다 빈칸이 생깁니다. 그래서 «다 채웠다»보다 «빈칸이 몇 개인지 매일 보인다»가 더 중요했습니다.
다음 화 예고: 6화에서는 판매처마다 엑셀을 내려받아 올리던 일을 없앤 이야기를 씁니다. 내 PC에서만 돌던 수집을 서버로 옮기고, 엑셀 없이 API로 매출을 바로 받아 오기까지(6월 11일 계획부터 7월 4일까지)입니다.
같은 주제의 다른 글
- 멈춤쿠팡 광고비가 갑자기 0원이 됐을 때 — 캠페인보다 먼저 볼 것은 «아이템위너», 30초 감별표
쿠팡 광고 지출과 노출이 하루아침에 0으로 떨어졌다면 캠페인 설정이 아니라 아이템위너를 잃은 것일 수 있습니다. 광고와 광고 없이 팔린 실판매를 나란히 보는 30초 감별법과, 저희가 나흘을 헛짚은 실제 기록을 정리했습니다.
- 고침클로드로 오픈마켓 광고비 새는 곳 점검하는 법 — 숫자부터 의심하는 4단계와 함정 3가지
11번가·G마켓 광고 리포트를 클로드에게 넘겨 광고비가 새는 곳을 찾는 순서를 정리했습니다. 광고비 대비 매출의 함정, 비어 있던 전환 숫자, 입찰을 올렸더니 객단가가 반토막 난 사례와 광고 제외 판정 기준까지.
- 고침광고 수익률 91%면 적자일까? — 광고 리포트 대신 «실판매 증가분»으로 다시 재 보니 정반대였던 기록
쿠팡 자동 캠페인을 광고 리포트의 광고 수익률(ROAS 91%)만 보고 «적자, 예산 인하»로 판정했다가, 광고비 증가분 대비 실판매 증가분(한계 ROAS)으로 다시 재 보니 239~504%였습니다. 사이즈를 고르는 상품일수록 광고 리포트가 매출을 놓치는 이유와 판정 순서를 정리했습니다.
매일 쓰는 이야기는 네이버 블로그에도 올립니다.