- 이름: 마케팅 정산 계산기 (Marketing Settlement Calculator)
- 목적: 월별 마케팅 정산서 엑셀 파일을 업로드하면 고객사별 정산 금액을 자동으로 계산
- 주요 기능:
- 엑셀 파일(.xlsx, .xls) 업로드
- 고객사 계정명별 정산 금액 자동 계산
- 정산율: 기본 10%, 네이버 성과형 애드부스트는 5%
- 고객사별 상세 내역 표시
- 정산 금액 순위별 정렬
- 샌드박스: https://3000-if25wspaah39tuxdzmtsf-de59bda9.sandbox.novita.ai
- GitHub: (배포 후 업데이트 예정)
- Cloudflare Pages: (배포 후 업데이트 예정)
-
엑셀 파일 업로드 및 파싱
- .xlsx, .xls 형식 지원
- B열(매체사), G열(계정명), J열(합계금액) 자동 추출
-
정산 계산 로직
- K열(수수료율)을 기준으로 정산율 결정
- K열 0.09 → 정산 5%
- K열 0.14 → 정산 10%
- 고객사별 합계 자동 집계
-
결과 표시
- 전체 광고비 합계 및 전체 정산 금액 표시
- 고객사별 순위 표시 (1위: 금, 2위: 은, 3위: 동)
- 고객사 클릭 시 상세 내역 표시
-
상세 내역
- 매체사별 광고비 및 정산율 표시
- 정산 금액 자동 계산
- 시각적 정산율 배지 (5%: 주황, 10%: 초록)
- 엑셀 파일 다운로드 기능
- 월별 정산 내역 저장 기능
- 정산 비교 (전월 대비) 기능
- B열: 매체사 (예: 네이버 성과형DA, 네이버 쇼핑, 네이버 성과형 애드부스트 등)
- G열: 고객사 계정명 (예: 주식회사 삼십일, 데디투스 등)
- J열: 합계금액 (광고비 총액)
- K열: 수수료율 (0.14 또는 0.09) - 정산율 결정에 사용
{
summary: [
{
계정명: string,
합계금액: number,
정산금액: number,
내역: [
{
매체사: string,
합계금액: number,
정산금액: number
}
]
}
],
total: {
전체광고비: number,
전체정산금액: number
}
}- "파일 선택" 버튼 클릭
- 정산서 엑셀 파일 선택 (.xlsx 또는 .xls)
- "파일 업로드 및 계산" 버튼 클릭
- 상단 요약: 전체 광고비 및 정산 금액 표시
- 순위 테이블: 고객사별 정산 금액 순위
- 상세 내역: 고객사 클릭 시 매체사별 상세 내역 표시
- K열이 0.14 (14%)인 경우: 광고비의 10% 정산
- K열이 0.09 (9%)인 경우: 광고비의 5% 정산
- 네이버 성과형 애드부스트는 자동으로 5% 적용됨
- 백엔드: Hono (TypeScript)
- 프론트엔드: Vanilla JavaScript + Tailwind CSS (CDN)
- 파일 처리: XLSX (SheetJS)
- 배포: Cloudflare Pages
- 프로세스 관리: PM2
- 샌드박스: ✅ 활성
- GitHub: ⏳ 준비 중
- Cloudflare Pages: ⏳ 준비 중
# 개발 서버 시작
npm run dev:sandbox
# 빌드
npm run build
# 배포
npm run deploy:prod
# 포트 정리
npm run clean-port
# 서버 테스트
npm run test# 패키지 설치
npm install
# 빌드
npm run build
# PM2로 서버 시작
pm2 start ecosystem.config.cjs
# 서버 확인
curl http://localhost:3000
# 로그 확인
pm2 logs marketing-settlement --nostream- ✅ 기본 기능 구현 완료
- ⏳ GitHub 저장소에 푸시
- ⏳ Cloudflare Pages 배포
- ⏳ 추가 기능 구현 (엑셀 다운로드, 내역 저장 등)
- 모든 계산은 소수점 둘째 자리까지 정확하게 표시
- 실적보정(음수 값) 정확하게 반영
- 매체사별 정산율 자동 적용 (오차 없음)
- 날짜: 2026-02-26
- 버전: 1.0.0
- 상태: 개발 완료, 배포 준비 중