청구서 배치 흐름

청구 데이터 수집부터 청구서 생성, 고객사 상태 변경까지의 배치 처리 흐름을 정리한다.

1. 청구서 배치 전체 개요


2. 청구 데이터 수집: NHN Cloud → Backend

2.1 프로젝트 목록 동기화 (2시간마다)

참고: 새 프로젝트가 추가되고 현재 날짜가 매월 5일 00:00 KST (UTC 4일 15:00) 이후인 경우, 해당 프로젝트의 청구서를 즉시 생성하기 위해 nhn_invoice_task를 트리거한다. 이는 정규 청구서 생성 시점(매월 5일) 이후에 추가된 프로젝트를 보완하기 위한 로직이다.


3. 청구서 생성

3.1 일괄 생성 (매월 5일)

3.2 청구서 복사 (Origin → Unissued)

3.3 BillingCustom 적용 상세


4. 즉시 생성 (고객사 계정 연동)


5. 청구서 상태 흐름

상태한국어설명
Origin원본NHN Cloud에서 수집한 원본 데이터. 배치 전용.
Unissued미발행BillingCustom 적용 후 발행 대기 상태. MSP가 수정 가능.
Invoiced청구고객사에 발행된 상태.
Paid납부고객사가 납부 완료.
Overdue연체납입일 경과 후 미납.

6. 사용량 데이터 계층 구조

NHNInvoiceModel.data 구조:
└─ services[]
   ├─ service_name (Service)
   ├─ total_cost
   └─ regions[]
      ├─ region_code (Region)
      ├─ total_cost
      └─ products[]
         ├─ product_name (Product)
         ├─ total_cost
         └─ resources[]
            ├─ resource_name (Resource)
            ├─ total_cost
            └─ counters[]
               ├─ counter_name (Counter)
               ├─ usage, unit, unit_price
               └─ price