DomainBilling Model

Billing Model

SPEC #002 (schema) + handoff 00-design-brief §2-4 정합. 결제 실행 자체는 후속 SPEC.

Overview

결제는 tenant 타입에 따라 단위가 분기한다. FRANCHISE 본사는 본사 단위 청구, INDEPENDENT 매장은 매장 단위. v1 schema 는 도입됐으나 결제 실행 (Invoice·BillingKey) 은 후속 SPEC.

결제 단위 분기

본사 type매장 type결제 단위billingAnchorDay 위치
FRANCHISEDIRECTHQ (본사 단위, 산하 매장 묶음)Hq.billingAnchorDay
FRANCHISEFRANCHISEHQHq.billingAnchorDay
INDEPENDENT (가상)INDEPENDENTStoreStore.billingAnchorDay

billingAnchorDay (결제 anchor)

  • 타입: Int (1~31)
  • 의미: 매월 결제 기준일. 가입 시 입력 (SPEC #005·#011 폼).
  • 28~31 일 처리:
    • 31일 anchor → 30일 / 28일 (2월) 자동 보정 (구현 후속 SPEC)
    • v1 schema 는 1~31 모두 허용, 표시 로직만 채택

경과일 색 4단계 (handoff §2-4)

미결 청구의 경과일에 따른 시각 분기. 현재는 packages/ui 의 기존 semantic 토큰 (--info·--warn·--danger) 을 매핑한다. billing 전용 ramp (--color-status-billing-*) 는 아직 없으며, 4단계를 더 세분화하려면 후속에서 추가한다:

경과일색 분류토큰
0~7정상 (대기)--info
8~14주의--warn
15~29경고--danger
30+심각--danger (강조 — 별도 ramp 는 후속 추가)

Plan 분기

Plan의미라이브러리
AI자체 음원 onlyAI 라이브러리
TRUSTAI + 신탁음원AI + TRUST 라이브러리

가격 분기 (구체 가격은 운영 정책, schema 미보유):

  • AI 가 기본가, TRUST 는 상위 plan
  • 가맹 본사 단위 통일 — 같은 본사 산하 모든 매장은 같은 plan

Spec — 결제 흐름 (후속 SPEC 예고)

ContractPlan (협약) → BillingKey (카드 빌링키 또는 계좌이체) → Invoice (월 청구)
                                                            → PaymentResult (성공/실패)
                                                            → TaxInvoice (세금계산서, 팝빌)

세부 SPEC 은 v1.0 직전 작성.

Constraints

  • 중복 청구 idempotency 차단Invoice 생성 시 unique 키 (tenantId, billingMonth).
  • 활성 협약 중복 차단 — 같은 본사·매장 활성 ContractPlan 2개 차단 (FR-20.7).
  • 세금계산서 — 발행 후 취소는 “취소 발행” (세법).

Roadmap

SPEC내용
후속 — Billing v1ContractPlan · BillingKey · Invoice · PaymentResult · TaxInvoice entity
후속 — Billing UI/billing · /billing/transfers · /billing/cards (Surface 10 PRD Page 10~12)
v1.1+Hq.billingMode (FRANCHISE 본사 직접결제 옵션)

References

  • SPEC #002 §2-4 (Hq.billingAnchorDay)
  • SPEC #002 §2-5 (Store.billingAnchorDay · INDEPENDENT 만)
  • handoff 00-design-brief.md §2-4
  • handoff 10-surface-ops-backoffice.md §3 (정산 라인 분리)