인보이스 및 원장
관리자 위치: Finance › Billing (
/billing) (Overview, Transactions (/billing/ledger), Invoices (/billing/invoices), Top-ups (/billing/deposits), Payouts (/billing/payouts), Vouchers (/billing/vouchers), Reports (/billing/reports) 탭 포함). 포털 위치: Billing (/billing).
작동 내용
NexCMP의 모든 금액은 USD 센트로 저장되며 한 번 기록됩니다. 핵심 개념: 지갑 원장이 잔액의 단일 진실 공급원이며 인보이스, 충전 결제 및 보고서는 이를 바탕으로 생성되는 뷰입니다. 원장은 **추가 전용(append-only)**입니다. 실수는 역분개 항목을 추가하여 수정하며, 기록을 직접 편집하지 않습니다.
요구 사항
| 항목 | 요구 사항 |
|---|---|
| 역할 | 관리자. |
| 판매자 세부 정보 | System › Settings › General의 Seller & invoicing 탭 (/settings?tab=seller), Seller details (printed on invoices) 카드에서 법인명, 사업자 등록번호, 주소, 연락처 이메일 및 인보이스 번호 접두사를 설정합니다. |
| 의존성 | 들어오는 자금을 위한 Payment channels. |
구성 요소
| 관리자 탭 | 목록 내용 | 권장 용도 |
|---|---|---|
| Overview | 오늘 및 이번 달 매출, 종류별 원장 합계(예치금, 청구, 환불, 조정, 쿠폰), 상태별 인보이스, 대기 중인 환불, 바로가기, 최근 30일간 서비스별 지출 | 일일 점검 |
| Transactions | 지갑 원장, 변동당 한 줄 | 고객의 잔액 설명 |
| Invoices | 인보이스 및 모든 서비스의 모든 구매 내역을 보여주는 두 번째 뷰 Orders | 문서 찾기, 재발송, 결제 완료 처리 |
| Top-ups | 결제 게이트웨이를 통해 수취한 금액 | 결제 확인 및 환불 |
| Payouts | 카드 환불, 제휴사 정산, 리셀러 출금 | 출금 승인 |
| Vouchers | 충전 코드 | Promotions 참조 |
| Reports | 서비스별, 리셀러별 매출 | 회계 |
거래(원장)
열: 시간, 고객, 종류, 서비스, 금액(부호 포함), VM, 참조, 주체, 메모. 필터: 종류, 서비스, 고객 ID, 사이트(리셀러가 있는 경우), 날짜 범위 및 VM 링크.
| 종류 | 의미 |
|---|---|
deposit | 게이트웨이를 통한 충전 |
charge | 서비스에 대해 청구된 금액(주문, 갱신, 시간제 사용 등) |
refund | 지갑으로 반환된 금액 |
adjust | 관리자 크레딧 또는 데비트, 그리고 충전 코드(vch:으로 시작하는 참조) — 개요에는 쿠폰이 별도의 행으로 표시됩니다. |
모든 행에는 dep:stripe:<payment-id>과 같은 참조가 있으며, 동일한 참조를 두 번 기록할 수 없으므로 중복 웹훅으로 인해 크레딧이 두 번 적립되지 않습니다. 수동 조정을 추가하려면 Customers › List › customer › Credit / debit을 사용합니다. 사유는 필수이며, 양수 금액은 잔액 부족으로 잠긴 VM의 잠금 해제도 시도하고, 작업은 두 단계로 확인됩니다.

인보이스
고객이 지갑에서 결제되는 항목을 구매 또는 갱신하거나 충전할 때 인보이스가 자동으로 생성됩니다. 번호는 <prefix><YYYYMM>-<000001> 형식(예: NX202610-000042)입니다. 리셀러 사이트는 자체 접두사와 일련번호를 사용합니다. 접두사를 변경해도 기존 번호는 변경되지 않습니다.
| 필드 | 값 |
|---|---|
| 종류 | 영수증, 갱신, 충전, 수동, 환불 |
| 상태 | 미결제, 결제완료, 연체, 취소됨, 환불됨 |
행에서의 작업:
| 작업 | 효과 |
|---|---|
| View / Print | 인보이스를 엽니다. 포털에서 인쇄하거나 PDF로 저장할 수도 있습니다. |
| Mark paid(미결제 또는 연체 상태인 경우만) | 지갑 잔액을 이동하지 않고 결제 완료로 표시합니다. 고객이 NexCMP 외부에서 결제한 경우에 사용하세요. 사유는 필수입니다. 갱신 인보이스의 경우 잠긴 VM을 연장하고 잠금 해제합니다. |
| Cancel(미결제 또는 연체 상태인 경우만) | 인보이스를 취소합니다. 사유는 필수입니다. |
| Resend | 인보이스를 이메일로 다시 보냅니다. |
Create manual invoice (탭 상단의 버튼): 고객 ID, 1~50개의 라인(설명, 수량, 단가), 선택 사항인 VM ID, 선택 사항인 납부 기한(0~365일, 기본값 7), 선택 사항인 메모. 미결제 상태로 생성되며 고객은 Billing › Invoice History에서 확인할 수 있습니다.
서비스의 미결제 인보이스는 잔액이 충전되는 즉시 지갑에서 자동으로 정산되므로, 고객은 잔액만 충전하면 됩니다.
Top-ups (payments)
시도당 1개 행: 시간, 고객, 게이트웨이 및 수단, 유형(충전 또는 자동 충전), 상태(대기 중, 완료됨, 실패함, 환불됨, 분쟁 중, 취소됨), 고객 결제 금액, 수수료, 지갑 충전 금액, 게이트웨이 참조 번호 및 완료 시간. 완료된 Stripe 및 PayPal 결제에는 Refund 작업이 있습니다. 웹훅을 확인하려면 게이트웨이 이벤트 페이지(Payment channels)를 사용하세요.
Payouts
세 개의 하위 탭: Card refunds(환불 요청 승인 또는 거부, 요청은 완료된 결제에서 생성됨), Affiliate payouts(수수료 인출) 및 Reseller withdrawals. 모든 결정은 감사 대상이 됩니다.
Reports
Revenue (30일 추이, 월별, 우수 고객), By service 및 By reseller.

고객 화면
Billing에서 고객은 Balance, Deposit, Redeem code, Settings(자동 충전) 및 Invoice History, Payment Order, Ledger, Orders(서비스 및 유형별 필터가 포함된 단일 목록의 모든 서비스) 탭이 있는 내역을 확인할 수 있습니다. 각 인보이스에는 View, Print 및 Save as PDF가 있으며, 금액은 USD 기준이고 표시 통화로 선택 전환하여 볼 수 있습니다.
확인
- 테스트 고객으로 소액을 충전합니다.
- Transactions에는
deposit라인이 표시되고, Top-ups에는 결제 상태가 Completed로 표시되며, Overview의 수익이 증가합니다. - 서비스를 구매하면
charge라인이 나타나고 Invoices에 설정한 판매자 세부 정보가 포함된 Receipt 또는 Renewal 인보이스가 표시됩니다.
한도 및 참고 사항
- 추가 전용. 원장 라인은 수정하거나 삭제할 수 없으며, 사유를 기재하여 조정 항목을 추가해야 합니다.
- 통화. 금액은 USD이며, 표시 통화는 보기 위한 용도일 뿐입니다(Currency and exchange rates 참조).
- 카드로 환불은 2단계(요청 후 Payouts에서 승인)로 진행되며, USDT 및 은행 송금은 원 출금처로 환불되지 않습니다.
- 입력한 사유와 함께 System › Logs › Admin actions에서 모든 내역이 감사됩니다.
- 주문 대 인보이스. 시간당 사용량은 시간별로 청구되지 않으며, Orders 뷰에서는 여전히 확인할 수 있도록 일별로 그룹화합니다.
Troubleshooting
| 증상 | 원인 | 해결 방법 |
|---|---|---|
| 고객 잔액이 올바르지 않은 경우 | 예상치 못한 청구, 조정 또는 바우처 | Transactions을 고객 ID로 필터링하고 참조 번호와 메모를 확인합니다. |
| "인보이스가 이미 결제되었습니다" (409) | 이미 결제된 인보이스에 결제 완료 표시 | 조치할 필요가 없습니다. |
| 인보이스를 취소할 수 없음 | 미결제 또는 연체된 인보이스만 취소 가능 | 결제된 인보이스의 경우 환불 또는 조정을 사용하세요. |
| 인보이스에 판매자 정보가 누락됨 | 입력되지 않음 | System › Settings › General › Seller & invoicing에서 Seller details를 완료하세요. |
| 신용/직불카드 거부됨 | 금액이 0이거나 $100,000를 초과함 | 1센트에서 $100,000 사이의 금액을 사용하세요. |
| 결제 상태가 오랜 시간 Pending으로 표시됨 | 웹훅 누락 | Gateway events를 확인하고 다시 재생하세요. |