손으로 주문 확인하던 시절의 문제점
비즈니스가 커지면서 매일 100개 이상의 주문이 구글 시트에 들어온다. 바이어가 같은 상품을 여러 번 주문할 때가 있는데, 이게 의도한 재주문인지, 실수로 두 번 클릭한 건지 구분하기 어렵다. 손으로 하나하나 확인하면 시간이 너무 오래 걸리고, 피로도로 인해 놓치는 경우도 생긴다.
어느 날 바이어에게서 항의 이메일이 왔다. 이미 받은 주문과 똑같은 내용인데 또 배송해주냐는 것. 그제서야 중복 주문을 발견했고, 환불 처리까지 하게 됐다.
Claude Code로 중복 감지 봇 만들기
1단계: 주문 데이터 준비
구글 시트에 다음과 같은 정보가 있다고 가정하자.
주문 ID | 바이어명 | 상품명 | 수량 | 주문날짜 | 상태
001 | ABC Co | 셔츠 | 100 | 2024-01-15 | 대기
002 | ABC Co | 셔츠 | 100 | 2024-01-15 | 대기
003 | DEF Ltd | 바지 | 50 | 2024-01-15 | 배송
2단계: Claude Code 스크립트 작성
Python으로 다음 로직을 구성한다.
import pandas as pd
from datetime import datetime, timedelta
# 구글 시트 데이터 불러오기
df = pd.read_csv('orders.csv')
# 지난 24시간 주문만 필터링
today = datetime.now()
df['order_date'] = pd.to_datetime(df['order_date'])
recent_orders = df[df['order_date'] > today - timedelta(days=1)]
# 중복 감지: 같은 바이어 + 같은 상품 + 같은 수량
duplicates = []
for buyer in recent_orders['buyer_name'].unique():
buyer_orders = recent_orders[recent_orders['buyer_name'] == buyer]
for product in buyer_orders['product_name'].unique():
product_orders = buyer_orders[buyer_orders['product_name'] == product]
if len(product_orders) > 1:
duplicates.append({
'buyer': buyer,
'product': product,
'count': len(product_orders),
'order_ids': product_orders['order_id'].tolist()
})
# 알림 생성
if duplicates:
alert_message = f"중복 주문 {len(duplicates)}건 발견!\n"
for dup in duplicates:
alert_message += f"- {dup['buyer']}: {dup['product']} ({dup['count']}건)\n"
print(alert_message)
else:
print("중복 주문 없음")
3단계: 자동화 실행 설정
Windows 디바이스에서 작업 스케줄러(Task Scheduler)를 이용해 매일 오전 9시에 실행되도록 설정한다.
• 프로그램: `python.exe`
• 인수: `C:\automation\duplicate_check.py`
• 빈도: 매일 9시
실제 효과
봇 도입 후 지난 3주간의 결과:
• 감지된 중복 주문: 7건
• 처리 시간 단축: 매일 15분 (손 작업) → 30초 (봇)
• 중복으로 인한 분쟁 감소: 0건
가장 좋은 점은 새벽에 들어오는 주문도 자동으로 확인된다는 것. 아침에 일어나면 이미 중복 목록이 정리되어 있다.
추가 팁: 알림 채널 연동
더 빠른 대응을 위해 Discord나 Slack에 직접 알림을 보낼 수 있다.
import requests
# Discord 웹훅 URL
WEBHOOK_URL = "https://discord.com/api/webhooks/..."
if duplicates:
message = f"중복 주문 {len(duplicates)}건!\n"
for dup in duplicates:
message += f"{dup['buyer']} - {dup['product']}\n"
requests.post(WEBHOOK_URL, json={"content": message})
마치며
중복 주문 감지는 작지만 효과적인 자동화다. 사람이 놓치기 쉬운 반복 작업을 봇에게 맡기면, 팀은 더 중요한 일에 집중할 수 있다.