과금 단위가 바뀌었습니다.
빌링도 바뀌어야 합니다.
이제 값은 토큰 수, API 호출 횟수, 연산량으로 매겨집니다. 고객은 쓴 만큼만 내길 원하지만, 사용량 과금 인프라를 직접 만들면 요금제·중복 이벤트·청구 이력 관리로 로직은 계속 복잡해집니다.
MeterEngine은 이벤트만 받으면 집계·요금 계산·인보이스를 대신 처리합니다. 가격 정책을 제품 코드 바깥으로 분리해, 요금제만 갈아 끼우면 되도록 만듭니다.
하나의 파이프라인, 네 단계
이벤트 수집
REST API로 raw 사용량 이벤트를 받고, transaction_id로 멱등 처리합니다. 발생 시각과 수신 시각을 분리해 지연 이벤트도 정확히 반영합니다.
미터링 · 집계
COUNT·SUM과 속성별 다차원 집계로 Billable Metric을 정의하고, 종량제·구간별 요금제와 가격 정책 버전을 관리합니다.
요금 산정 · 인보이스
청구 주기가 끝나면 draft 인보이스를 확정합니다. 원화 정수 단위와 부가세를 계산해 line item까지 그대로 보존합니다.
결제 · 전자증빙
빌링키 결제와 웹훅을 멱등 처리하고, 증빙 정책에 따라 카드전표·전자세금계산서 발행 상태를 인보이스와 연결합니다.
빌링에 필요한 모든 조각
멱등 이벤트 수집
transaction_id 기반 중복 제거. 트랜잭션·Outbox·재시도로 수락한 이벤트의 유실을 막습니다.
Billable Metric
COUNT·SUM과 속성별 다차원 집계. 토큰·모델·지역·등급까지 원하는 축으로 사용량을 정의합니다.
가격 정책 · 버전
종량제·구간별 요금제를 버전으로 관리. 제품 코드를 건드리지 않고 요금제만 교체합니다.
인보이스 · 부가세
draft → finalize 흐름. 원화 정수 단위와 부가세를 1원까지 계산하고 line item을 보존합니다.
PG 결제 연동
포트원 단일 채널로 빌링키 결제. PG 요청·응답·웹훅을 멱등 처리합니다.
전자증빙
증빙 정책에 따라 카드전표·전자세금계산서 정발행/역발행을 분기하고 상태를 연결합니다.
이벤트 한 줄이면 시작
SDK로 사용량 이벤트를 보내면 집계·요금 산정·인보이스가 자동으로 이어집니다.
from meterengine import Meter
meter = Meter(api_key="sk_live_...")
meter.track(
event="llm.tokens",
customer="cus_8Fk2p",
value=12840,
occurred_at="2026-07-17T04:12Z",
transaction_id="evt_a91f3c",
)
# 200 OK · 집계·요금 산정·인보이스 자동요금제는 말로 설정하고,
계산은 엔진이 정확하게
LLM은 요금제 설정과 설명을 돕고, 실제 청구 계산은 결정론적 요금 산정 엔진이 맡습니다. 금액의 신뢰성과 설정의 편의성을 동시에.
자연어 요금제 설정
"토큰 100만 개까지 무료, 이후 1,000개당 3원" 같은 문장을 가격 정책 DSL/JSON으로 변환합니다. 검증·시뮬레이션·승인 후에만 배포됩니다.
이후 1K당 ₩3" → JSON
요금제 시뮬레이션
새 요금제를 발행하기 전, 실제 과거 사용량에 리플레이로 적용해 고객별 청구액 변화와 총매출 영향, 급증 고객을 미리 보여줍니다.
요금제 최적화 제안
사용량 분포를 근거로 무료 구간·경계값·단가 조정안을 제안하고, 각 안의 예상 매출 변화를 시뮬레이션 수치로 제시합니다.
금액은 근거가 있어야 합니다
무작위 요금제·경계값 10만 건을 기준 계산기와 대조해 검증합니다.
인보이스·결제·전자증빙 금액을 원 단위까지 일치시킵니다.
테넌트 간 데이터 접근과 금액 불일치를 0건으로 관리합니다.