BigQuery 정산 자동화
매일 3명이서 수동으로 약 30분씩 걸리던 고객사 정산 확인 작업을 없앴습니다.
| 항목 | 내용 |
|---|---|
| 이전 방식 | 고객사별 엑셀 수식 입력과 장부 대조 |
| 사용 도구 | BigQuery, GitHub Actions |
| 맡은 일 | 계산식 분리, 원본 적재와 자동 실행 구성 |
| 결과 | 일일 수작업 검증 제거 |
고객사가 늘 때마다 일이 늘었습니다
계약 조건에 맞는 수식을 엑셀에 넣고 장부와 대조하는 데 매일 약 30분이 걸렸습니다. 고객사가 추가되면 시트와 수식도 새로 만들어야 했습니다. 계산식이 여러 곳에 복사되니 수정할 곳과 확인할 곳도 함께 늘어났습니다. 시간보다 더 큰 문제는 휴먼 에러였습니다. 복붙을 조금만 잘 못해도 통계가 틀어졌습니다.

기존에는 DB 파일을 내려받아 엑셀로 가공하고 공유 시트에서 다시 확인했습니다. 고객사가 늘수록 작업 인원과 파일도 함께 늘어나는 방식이었습니다.
수식과 고객사 조건을 나눴습니다
원본 데이터는 BigQuery에 그대로 적재했습니다. 계산식은 모든 고객사에 쓰는 공통 로직으로 두고, 최소 사용료와 커미션처럼 계약마다 다른 값은 설정값으로 뺐습니다. GitHub Actions가 데이터 수집, 계산과 장부 대조를 실행하도록 연결했습니다.
원본 수집 → BigQuery 적재 → 공통 계산 → 고객사 설정값 적용 → 장부 대조

원본과 고객사별 데이터셋을 나눠 저장하고, Google Cloud Scheduler와 GitHub Actions가 수집 및 적재 작업을 실행하도록 구성했습니다.

GitHub Actions가 고객사 운영에 필요한 22개 테이블을 순서대로 적재하고 성공 여부와 처리 행 수를 남긴 기록입니다.

원본 데이터와 고객사별 데이터셋을 나누고, 일자별 제휴 커미션 등 정산에 필요한 테이블을 BigQuery에서 확인한 화면입니다.
새 고객사가 들어오면 수식을 복사하지 않고 설정값만 추가했습니다. 원본은 별도로 남겨 계산 결과가 달라졌을 때 다시 확인할 수 있게 했습니다.
자동화 후
매일 약 30분씩 하던 검증 작업이 없어졌습니다. 프로세스 자체를 자동화하여 고객사가 추가돼도 raw data 는 계속 한 곳에 적재하고 기존 계산식을 손대지 않고 계약 조건만 등록하면 됐습니다.