안녕하세요, 와탭랩스 개발팀장 서영일입니다. 이번 포스팅에서는 SaaS 기반의 빌링 시스템 개발 과정을 공유해보고자 합니다.
SaaS의 빌링이 어떻게 구성이 되고, 내부는 어떤 흐름으로 진행되는지 이해하는 데 도움이 되었으면 합니다.
우선 와탭의 빌링 플로우를 설명드리겠습니다.
와탭의 SaaS 빌링은 다음의 핵심 흐름을 가지게 됩니다.
회원 가입 ⇒ 프로젝트 생성 ⇒ 에이전트 설치 ⇒ 결제수단 등록 ⇒ 유료 전환
청구데이터 생성 ⇒ 청구서 생성 ⇒ 청구서 발송 ⇒ 세금계산서 발행 ⇒ 카드 결제 ⇒ 정산 완료
사용자의 서비스 이용 상태는 크게 4가지(트라이얼, 유료 구독, 제한* 그리고 종료)로 구분합니다.
* 제한은 서비스를 유료 구독하지 않거나, 사용료를 납부하지 않아 사용이 제한된 상태입니다.과금액을 결정하기 위해서는 과금 정책이 있어야 합니다.
클라우드 서비스는 기본적으로 임대 형식을 띠고 있습니다. 어떤 스펙의 장비를 얼마의 기간 동안 사용했는지 여부를 기준으로 과금 정책을 정하기도 합니다.
SaaS 서비스 또한 임대 형식으로 제공한다고 볼 수 있습니다.
어떤 서비스를 어떤 규모로 얼마의 기간동안 사용했는지가 기준이 될 수 있습니다.
혹은 서비스 유형 (제품별 과금 정책)에 따라 상이하게 정책을 수립할 수도 있습니다.
과금 기준을 결정했다면, 적정 단위 가격도 결정하게 됩니다.
적정 단위 가격에는 사용자의 지불 가용 범위 역시 고려 대상에 포함하게 됩니다.
과금 정책이 결정되었다면, 다음은 과금에 필요한 기초 데이터를 수집할 필요가 있습니다. 이를 미터링이라 합니다.
대표적인 종량제로 전기료, 가스비, 수도세를 들 수 있습니다.
계량기는 미터링을 수행하고 있다고 볼 수 있습니다.
과금 정책이 월 평균 사용량 기반의 종량제 정책으로 결정되었다면, 우선 단일 시점(Spot) 사용량을 측정합니다.
그리고 특정 주기로 측정한 사용량을 수집합니다.
수집한 사용량을 기반으로 월 평균 사용량을 산출할 수 있습니다.
수집 주기를 짧게 조정할수록 정밀하게 산출할 수 있습니다.
청구액 산출에 필요한 요소는 다음과 같습니다. 이를 기반으로 합산을 통해 청구액을 산출합니다.
청구액 = 단위 과금액 * 집계된 미터링 단위 합 * 미터링 단위 시간 / 총 시간
미터링의 집계 단위와 청구서가 발행되는 단위의 상이합니다.
미터링 집계 단위의 청구액을 합산하여 전체 청구액을 산출합니다.
산출된 청구액을 기반으로 청구서를 생성합니다.
청구서를 생성한 이후에는 발송하기 전에 청구 상태를 관리해야 합니다.
SaaS 기반의 빌링 시스템이 어떻게 이루어지는지 이해가 되셨나요?
추가적인 내용은 [와탭의 SaaS 빌링 시스템 기획과정과 개발 경험](https://youtu.be/h3GcbJsiABM) 유튜브에서 확인해보세요 😉
SaaS 빌링 시스템의 기능적 요구 사항, 어려운 점, 활용 기술에 대해 알려드리겠습니다.