세금계산서(Tax Invoice)는 부가세(VAT) 문서로, 3.3% 원천징수 모델에서는 해당 없음.
현재 dpot의 크리에이터 정산 방식:
| 플랫폼 | 세금 관련 문서 제공 방식 |
|---|---|
| CHZZK | 정산내역에서 월별 내역 확인, 원천징수영수증은 홈택스에서 조회 |
| SOOP | 원천징수영수증 직접 미제공, 지급명세서 국세청 제출 후 홈택스에서 조회 |
| 투네이션 | 월별 정산 내역만 제공, 원천징수영수증은 홈택스에서 5월 이후 조회 안내 |
| 현재 | 변경 후 | 경로 |
|---|---|---|
| 계좌 관리 | 계좌 관리 (유지) | /studio/settlement/account |
| 세금계산서 | 원천징수 내역 | /studio/settlement/tax |
1. 계좌 관리 (/studio/settlement/account)
2. 원천징수 내역 (/studio/settlement/tax)
File: types/response/settlement/account.ts (NEW)
export interface SettlementAccountResponse {
hasAccount: boolean;
bankCode: string|null; // '004' (KB), '088' (신한) 등
bankName: string|null;
accountNumber: string|null; // 마스킹: '****5678'
accountHolder: string|null;
isVerified: boolean;
registeredAt: string|null;
updatedAt: string|null;
}
export interface SaveAccountRequest {
bankCode: string;
accountNumber: string;
accountHolder: string;
}
File: types/response/settlement/tax.ts (NEW)
export interface WithholdingTaxSummaryResponse {
year: number;
annualSummary: {
totalGrossAmount: number; // 연간 총 지급액
totalIncomeTax: number; // 연간 소득세 (3%)
totalLocalTax: number; // 연간 지방소득세 (0.3%)
totalNetAmount: number; // 연간 실수령액
};
monthlyList: WithholdingTaxMonthItem[];
}
export interface WithholdingTaxMonthItem {
month: number; // 1~12
grossAmount: number; // 해당월 총 지급액
incomeTax: number; // 소득세 (3%)
localTax: number; // 지방소득세 (0.3%)
netAmount: number; // 실수령액
paymentCount: number; // 정산 건수
}
File: app/studio/settlement/constants.ts (NEW)
export const BANK_LIST = [
{ code: '004', name: 'KB국민은행' },
{ code: '088', name: '신한은행' },
{ code: '020', name: '우리은행' },
{ code: '081', name: '하나은행' },
{ code: '011', name: 'NH농협은행' },
{ code: '023', name: 'SC제일은행' },
{ code: '027', name: '한국씨티은행' },
{ code: '071', name: '우체국' },
{ code: '031', name: 'DGB대구은행' },
{ code: '032', name: '부산은행' },
{ code: '039', name: '경남은행' },
{ code: '034', name: '광주은행' },
{ code: '035', name: '제주은행' },
{ code: '037', name: '전북은행' },
{ code: '007', name: '수협은행' },
{ code: '045', name: '새마을금고' },
{ code: '048', name: '신협' },
{ code: '090', name: '카카오뱅크' },
{ code: '092', name: '토스뱅크' },
{ code: '089', name: '케이뱅크' },
];
File: app/studio/settlement/layout.tsx (NEW)
File: app/studio/settlement/style.scss (NEW)
.settlementFile: app/studio/settlement/account/page.tsx (NEW)
Layout:
┌─────────────────────────────────────────────────┐
│ 계좌 관리 │
├─────────────────────────────────────────────────┤
│ │
│ ┌─ 등록된 계좌 ────────────────────────┐ │
│ │ KB국민은행 ****5678 (홍길동) │ │
│ │ ✓ 인증 완료 · 등록일 2026.03.15 │ │
│ │ [수정하기] │ │
│ └──────────────────────────────────────┘ │
│ │
│ ── OR (미등록 시) ── │
│ │
│ ┌─ 계좌 등록 ──────────────────────────┐ │
│ │ 은행 [KB국민은행 ▾] │ │
│ │ 계좌번호 [__________________] │ │
│ │ 예금주 [__________________] │ │
│ │ │ │
│ │ ※ 본인 명의 계좌만 등록 가능 │ │
│ │ ※ 출금 시 등록된 계좌로 입금됩니다 │ │
│ │ │ │
│ │ [등록하기] │ │
│ └──────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────┘
구현:
mode ('view' | 'edit') — 등록됨이면 view, 미등록이면 editGET /api/studio/settlement/accountPOST /api/studio/settlement/accountFile: app/studio/settlement/tax/page.tsx (NEW)
Layout:
┌─────────────────────────────────────────────────┐
│ 원천징수 내역 │
├─────────────────────────────────────────────────┤
│ 연도 선택: [2026 ▾] │
├───────────┬───────────┬───────────┬──────────────┤
│ 총 지급액 │ 소득세(3%)│지방세(0.3%)│ 실수령액 │
│ 1,520,000 │ -45,600 │ -4,560 │ 1,469,840 │
├───────────┴───────────┴───────────┴──────────────┤
│ │
│ 월별 상세 │
├──────────────────────────────────────────────────┤
│ 월 | 지급액 | 소득세 | 지방소득세 | 실수령 | 건수 │
│ 4 | 129,000 | -3,870 | -387 | 124,743 | 8 │
│ 3 | 250,000 | -7,500 | -750 | 241,750 | 15 │
│ ... │
├──────────────────────────────────────────────────┤
│ │
│ ℹ 종합소득세 신고 안내 │
│ ┌──────────────────────────────────────────┐ │
│ │ · 본 소득은 사업소득으로 분류됩니다. │ │
│ │ · 연말정산 대상이 아닙니다. │ │
│ │ · 매년 5월 종합소득세를 직접 신고해야 합니다. │ │
│ │ · 국세청 홈택스에서 지급명세서를 확인할 수 │ │
│ │ 있습니다. (My홈택스 > 지급명세서 제출내역) │ │
│ │ · 플랫폼은 매년 3/10까지 지급명세서를 국세청 │ │
│ │ 에 제출합니다. │ │
│ └──────────────────────────────────────────┘ │
│ │
└──────────────────────────────────────────────────┘
구현:
GET /api/studio/settlement/tax?year={year}File: app/studio/Sidebar.tsx (MODIFY)
세금계산서 → 원천징수 내역 으로 텍스트만 변경| File | Operation | Description |
|---|---|---|
types/response/settlement/account.ts |
Create | 계좌 관리 타입 |
types/response/settlement/tax.ts |
Create | 원천징수 내역 타입 |
app/studio/settlement/constants.ts |
Create | 은행 목록 등 상수 |
app/studio/settlement/layout.tsx |
Create | style import 레이아웃 |
app/studio/settlement/style.scss |
Create | 전체 settlement 스타일 |
app/studio/settlement/account/page.tsx |
Create | 계좌 관리 페이지 |
app/studio/settlement/tax/page.tsx |
Create | 원천징수 내역 페이지 |
app/studio/settlement/mock.ts |
Create | Mock 데이터 |
app/studio/settlement/page.tsx |
Delete | 기존 플레이스홀더 삭제 |
app/studio/Sidebar.tsx:L343 |
Modify | '세금계산서' → '원천징수 내역' |
| Risk | Mitigation |
|---|---|
| Backend API 미존재 | Mock 데이터로 UI 구현, API 후속 연동 |
| 1원 인증 미구현 | 기본 계좌 등록 폼만 우선 구현, 1원 인증은 Backend 연동 시 추가 |
| 사업자 크리에이터 지원 | 현재는 개인(3.3%) 전용, 타입에 사업자 유형 필드 예약 |
| 원천징수 금액 정확성 | Frontend는 표시만, 계산은 Backend 담당 |
| 유형 | 원천징수 3.3% | VAT 10% | 세금계산서 | 정산 금액 |
|---|---|---|---|---|
| 개인 비사업자 | O | X | 발행 불가 | 공급가액 - 3.3% |
| 면세 개인사업자 (940306) | O | X | 계산서(면세) | 공급가액 - 3.3% |
| 과세 개인사업자 (921505) | X | O | 세금계산서 필수 | 공급가액 + VAT 10% |
| 법인사업자 | X | O | 세금계산서 필수 | 공급가액 + VAT 10% |
1. 개인 비사업자 (현재 기본)
2. 면세 개인사업자 (940306: 1인 미디어 콘텐츠 창작자)
3. 과세 개인사업자 (921505: 미디어콘텐츠창작업)
4. 법인사업자
/studio/settlement/account 링크