|
1 | | -# 세무 관리 모듈 (Tax Management) - Draft |
| 1 | +# 세무 준비 지원 기능 (Tax Preparation Support) - Draft |
2 | 2 |
|
3 | 3 | > **상태**: 초안 (Draft) / 외부 전문가(세무사) 검증 및 피드백 반영 필요 |
4 | | -> **최종 업데이트**: 2026-03-27 |
| 4 | +> **최종 업데이트**: 2026-08-16 |
| 5 | +> **위치**: Ledger/금융 모듈 내부 기능 |
| 6 | +> **역할**: 세금 신고 대행이 아닌 세무 준비 및 자료 정리 보조 |
5 | 7 |
|
6 | 8 | --- |
7 | 9 |
|
8 | 10 | ## 1. 개요 |
9 | | -Fieldstack의 가계부(Ledger) 데이터를 기반으로 개인사업자, 프리랜서, 유튜버/스트리머의 세무 신고 기초 자료를 생성하고 원천세 납부 일정을 관리하는 모듈입니다. |
10 | 11 |
|
11 | | -## 2. 핵심 설계 원칙 |
12 | | -1. **증빙 중심 기록**: 적격증빙(카드, 현금영수증)뿐 아니라 경조사비, 계좌이체 등 비적격증빙의 소명 자료를 체계화합니다. |
13 | | -2. **원천세 자동 계산**: 3.3%(사업소득), 8.8%(기타소득) 등 복잡한 세율 계산을 자동화하여 실지급액 관리를 돕습니다. |
14 | | -3. **크리에이터 특화**: 외화 수익(영세율), 방송 장비/소품 비용 처리 등 1인 미디어 환경에 최적화된 분류를 제공합니다. |
| 12 | +Fieldstack의 세금 관련 기능은 사용자의 수입, 지출, 급여, 원천징수, 증빙자료를 정리하고 예상 세금과 자금 상태를 파악할 수 있게 돕는 **세무 준비 도구**입니다. |
| 13 | + |
| 14 | +Fieldstack은 최종 신고, 세무 판단, 신고 대행을 수행하지 않습니다. 최종 신고와 세무 판단은 사용자 본인 또는 세무사가 처리합니다. |
| 15 | + |
| 16 | +이 문서는 향후 개발자가 금융 모듈 안에서 세무 보조 기능을 설계할 때 참고할 수 있도록 목적, 범위, 책임 경계, 검토 기능을 정리합니다. |
15 | 17 |
|
16 | 18 | --- |
17 | 19 |
|
18 | | -## 3. 데이터 구조 (Schema) |
19 | | - |
20 | | -### 3.1 세무 메타데이터 (`ledger_tax_details`) |
21 | | -가계부 항목(`ledger_entries`)과 1:1 또는 1:N으로 연결되어 세무 정보를 저장합니다. |
22 | | - |
23 | | -| 필드명 | 타입 | 설명 | 비고 | |
24 | | -| :--- | :--- | :--- | :--- | |
25 | | -| `id` | `UUID` | 고유 식별자 | PK | |
26 | | -| `entry_id` | `UUID` | 가계부 항목 ID | FK (ledger_entries) | |
27 | | -| `tax_category` | `string` | 세무상 계정과목 | 접대비, 복리후생비, 소품비 등 | |
28 | | -| `is_deductible` | `boolean` | 비용 인정 여부 | 사용자/AI 판단 | |
29 | | -| `evidence_type` | `enum` | 증빙 종류 | 카드, 현금영수증, 청첩장, 계좌이체 등 | |
30 | | -| `vat_amount` | `number` | 부가세 금액 | **[TBD]** 분리 입력 필요성 확인 중 | |
31 | | - |
32 | | -### 3.2 원천세 정보 (`withholding_tax_records`) |
33 | | -인건비 지급 시 발생하는 세금 정보를 관리합니다. |
34 | | - |
35 | | -| 필드명 | 타입 | 설명 | 비고 | |
36 | | -| :--- | :--- | :--- | :--- | |
37 | | -| `id` | `UUID` | 고유 식별자 | PK | |
38 | | -| `recipient_name` | `string` | 수령인 성함 | 암호화 권장 | |
39 | | -| `recipient_id_no` | `string` | 주민/사업자 번호 | **필수/암호화 저장** | |
40 | | -| `gross_amount` | `number` | 세전 금액 | 원천징수 전 전체 금액 | |
41 | | -| `withheld_tax` | `number` | 원천징수액 | 3.3% / 8.8% 등 자동 계산 | |
42 | | -| `net_amount` | `number` | 실지급액 | 통장 이체 금액 | |
43 | | -| `payment_date` | `date` | 실제 지급일 | 신고일 산정 기준 (익월 10일) | |
| 20 | +## 2. 확정 원칙 |
| 21 | + |
| 22 | +### 2.1 Fieldstack의 역할 |
| 23 | + |
| 24 | +Fieldstack은 사용자와 세무사 사이의 **징검다리이자 세무 준비 도구**입니다. |
| 25 | + |
| 26 | +지원하는 일: |
| 27 | +- 예상 세금 계산 |
| 28 | +- 자금 상태 파악 |
| 29 | +- 세금 대비 자금 관리 |
| 30 | +- 관련 자료 정리 |
| 31 | +- 증빙 누락 확인 |
| 32 | +- 신고 준비 체크 |
| 33 | +- 세무사와의 자료 공유 |
| 34 | + |
| 35 | +지원하지 않는 일: |
| 36 | +- 세금 신고 대행 |
| 37 | +- 세무대리 업무 |
| 38 | +- 법률 또는 세무 자문 대체 |
| 39 | +- 계산 결과를 확정 세액으로 보장 |
| 40 | + |
| 41 | +### 2.2 기능 위치 |
| 42 | + |
| 43 | +세금 기능은 별도 산업 모듈이 아니라 **Ledger/금융 모듈 내부 기능**으로 구성합니다. |
| 44 | + |
| 45 | +건설현장, ONEPMIS, 매장관리, 급여관리 등 특정 산업이나 업무 형태에 종속되지 않습니다. 향후 별도 업무 모듈이 만들어지는 경우 해당 모듈은 Event Bus 또는 공개 인터페이스를 통해 금융 모듈의 세금 계산, 증빙 분류, 자료 공유 기능을 재사용하는 구조를 권장합니다. |
| 46 | + |
| 47 | +### 2.3 대상 사용자 |
| 48 | + |
| 49 | +기본 대상: |
| 50 | +- 일반 사용자 |
| 51 | +- 프리랜서 |
| 52 | +- 부업 소득이 있는 사용자 |
| 53 | +- 개인사업자 |
| 54 | +- 직원을 고용한 개인사업자 |
| 55 | +- 스트리머 및 크리에이터 |
| 56 | + |
| 57 | +기본 범위에서 제외: |
| 58 | +- 일반 법인 |
| 59 | +- 중견·대형 사업자 |
| 60 | +- 전문 세무/회계 시스템이 필요한 조직 |
| 61 | + |
| 62 | +법인 또는 산업별 전문 요구사항은 향후 별도의 사업자용 모듈 또는 산업별 모듈에서 확장하는 방향으로 검토합니다. |
| 63 | + |
| 64 | +--- |
| 65 | + |
| 66 | +## 3. 예상 세금 계산 |
| 67 | + |
| 68 | +### 3.1 목적 |
| 69 | + |
| 70 | +예상 세금 계산의 목적은 사용자가 현재 수입, 비용, 공제, 원천징수, 부가가치세 관련 상태를 이해하고 필요한 자금을 미리 준비하도록 돕는 것입니다. |
| 71 | + |
| 72 | +계산 결과는 확정 세액이 아니며, 화면과 리포트에는 항상 **예상값**임을 표시해야 합니다. |
| 73 | + |
| 74 | +### 3.2 기준 데이터 |
| 75 | + |
| 76 | +계산 기준 데이터는 국세청, 공공데이터포털 등 공식 자료를 기반으로 수집·가공합니다. |
| 77 | + |
| 78 | +검토 대상 기준 데이터: |
| 79 | +- 세율 |
| 80 | +- 공제 기준 |
| 81 | +- 간이세액표 |
| 82 | +- 원천징수 기준 |
| 83 | +- 부가가치세 관련 기준 |
| 84 | +- 4대보험 연계에 필요한 기준 금액 |
| 85 | + |
| 86 | +세법과 세율은 변경될 수 있으므로 계산 로직과 기준 데이터는 버전 관리가 가능해야 합니다. |
| 87 | + |
| 88 | +### 3.3 계산 결과 표시 항목 |
| 89 | + |
| 90 | +가능하면 계산 결과에는 다음 정보를 함께 표시합니다. |
| 91 | + |
| 92 | +- 적용 기준 연도 |
| 93 | +- 사용된 세율 또는 계산 기준 |
| 94 | +- 기준 데이터 출처 |
| 95 | +- 데이터 최종 갱신일 |
| 96 | +- 계산에 포함된 수입 항목 |
| 97 | +- 계산에 포함된 비용 항목 |
| 98 | +- 계산에 포함된 공제 항목 |
| 99 | +- 누락되었거나 확인이 필요한 정보 |
| 100 | +- 확정 세액이 아니라는 안내 |
| 101 | + |
| 102 | +### 3.4 데이터 버전 관리 방향 |
| 103 | + |
| 104 | +계획: |
| 105 | +- 기준 연도별 세율/공제/간이세액표 데이터를 분리합니다. |
| 106 | +- 계산 실행 시 사용한 기준 데이터 버전을 결과에 기록합니다. |
| 107 | +- 기준 데이터 출처와 최종 갱신일을 함께 보관합니다. |
| 108 | +- 과거 계산 결과를 다시 열 때 당시 기준으로 계산되었음을 확인할 수 있게 합니다. |
| 109 | + |
| 110 | +검토: |
| 111 | +- 기준 데이터 자동 갱신 여부 |
| 112 | +- 수동 검수 후 반영하는 운영 방식 |
| 113 | +- 공식 데이터가 구조화되어 있지 않은 경우의 가공 절차 |
| 114 | +- 세무사 또는 전문가 검증 플로우 |
44 | 115 |
|
45 | 116 | --- |
46 | 117 |
|
47 | | -## 4. 유튜버/스트리머(크리에이터) 특화 기능 |
| 118 | +## 4. 초기 기능 범위 |
48 | 119 |
|
49 | | -### 4.1 수익 관리 (Income) |
50 | | -- **외화 수익(USD) 처리**: 구글 애드센스 등 외화 입금 시 환율 API 연동을 통한 원화 환산 기록. |
51 | | -- **영세율 증빙**: 송금 확인증 등 영세율 적용을 위한 증빙 이미지 첨부 필드 제공. |
| 120 | +초기에는 다음 영역을 우선 고려합니다. |
52 | 121 |
|
53 | | -### 4.2 비용 처리 (Expense) |
54 | | -- **방송 소품 관리**: 게임 타이틀, 의상, 음식 등 방송 콘텐츠와 연관된 지출의 '비용 인정' 가이드라인 UI 제공. |
55 | | -- **프로젝트별 손익**: 특정 영상/콘텐츠 프로젝트 태그를 통해 투자 대비 수익(ROI) 분석 지원. |
| 122 | +- 근로소득 관련 예상 세금 |
| 123 | +- 프리랜서 및 사업소득 관련 원천징수 |
| 124 | +- 기타소득 |
| 125 | +- 개인사업자 종합소득세 예상 |
| 126 | +- 개인사업자 부가가치세 예상 |
| 127 | +- 직원 급여 및 원천징수 관련 정보 |
| 128 | +- 필요 시 4대보험 관련 금액 연계 |
| 129 | +- 수입 및 지출 기반 세금 적립 권장액 계산 |
| 130 | + |
| 131 | +위 항목은 신고를 대신하기 위한 기능이 아니라 사용자가 신고 준비 상태와 예상 자금 부담을 확인하기 위한 보조 기능입니다. |
56 | 132 |
|
57 | 133 | --- |
58 | 134 |
|
59 | | -## 5. [TBD] 전문가 검증 필요 항목 (세무사 질문 리스트) |
| 135 | +## 5. 스트리머 및 크리에이터 수익 관리 |
| 136 | + |
| 137 | +스트리머와 크리에이터는 여러 수익원을 합쳐 관리할 수 있어야 합니다. |
60 | 138 |
|
61 | | -> 아래 항목들은 세무사 피드백 후 설계를 확정합니다. (`docs/local/tax_Q-a-A.md` 참조(미업로드 문서)) |
| 139 | +검토 대상 수익원: |
| 140 | +- YouTube 광고 수익 |
| 141 | +- 플랫폼 구독 및 후원 |
| 142 | +- 치지직 등 스트리밍 플랫폼 수익 |
| 143 | +- 광고 및 협찬 |
| 144 | +- 외주 |
| 145 | +- 기타 개인사업 또는 프리랜서 수익 |
62 | 146 |
|
63 | | -1. **VAT 분리**: 지출 입력 시 부가세 금액을 별도로 필드화하여 입력받아야 하는가? |
64 | | -2. **원천세 예외**: 8.8% 기타소득 등 세율이 변동되는 특수 케이스의 처리 로직. |
65 | | -3. **리포트 포맷**: 세무 신고 시 가장 선호되는 엑셀/PDF 양식의 표준 규격. |
66 | | -4. **유튜버 증빙**: 영세율 적용을 위해 반드시 보관해야 하는 구글/플랫폼 발행 문서의 종류. |
| 147 | +계획: |
| 148 | +- 수익원을 플랫폼, 계약, 프로젝트, 통화 기준으로 구분할 수 있게 합니다. |
| 149 | +- 외화 수익은 환율 기준일과 적용 환율을 함께 기록합니다. |
| 150 | +- 콘텐츠 제작 비용은 거래 항목과 증빙자료를 함께 관리합니다. |
| 151 | +- 영세율, 면세, 과세 여부 등은 사용자 확인 또는 세무사 확인이 필요한 상태로 표시할 수 있게 합니다. |
67 | 152 |
|
68 | 153 | --- |
69 | 154 |
|
70 | | -## 6. UI/UX 가이드라인 |
71 | | -- **경조사비 안내**: "경조사비는 건당 20만 원까지 비용 처리가 가능합니다. 청첩장 이미지를 꼭 첨부하세요." 알림 노출. |
72 | | -- **원천세 계산기**: 지급액 입력 시 3.3%가 자동 계산되어 "세금 떼고 줄 금액"을 한눈에 보여주는 위젯 배치. |
| 155 | +## 6. 세무사와의 자료 공유 |
| 156 | + |
| 157 | +Fieldstack은 사용자가 세무사에게 자료를 전달하는 과정을 쉽게 만드는 기능을 제공할 수 있습니다. |
| 158 | + |
| 159 | +계획: |
| 160 | +- 사용자가 특정 기간의 세무 자료 공유 페이지를 생성합니다. |
| 161 | +- 공유 페이지는 만료일이 있는 링크로 접근합니다. |
| 162 | +- 세무사는 공유 페이지에서 필요한 자료를 확인하거나 다운로드합니다. |
| 163 | +- 사용자는 공유 범위, 접근 기간, 다운로드 가능 여부를 관리합니다. |
| 164 | + |
| 165 | +공유 가능한 자료: |
| 166 | +- 매출 자료 |
| 167 | +- 매입 자료 |
| 168 | +- 비용 및 경비 자료 |
| 169 | +- 급여 내역 |
| 170 | +- 원천징수 관련 자료 |
| 171 | +- 각종 영수증 및 증빙 |
| 172 | +- 거래내역 |
| 173 | +- 세금 계산 참고자료 |
| 174 | +- 기타 신고에 필요한 파일 |
| 175 | + |
| 176 | +자료 상태 표시: |
| 177 | +- 준비 완료 |
| 178 | +- 자료 누락 |
| 179 | +- 확인 필요 |
| 180 | +- 추가 자료 필요 |
| 181 | + |
| 182 | +검토: |
| 183 | +- 파일별 선택 다운로드 |
| 184 | +- 전체 자료 일괄 다운로드 |
| 185 | +- 세무사 코멘트 또는 요청사항 기록 |
| 186 | +- 공유 페이지 접근 로그 |
| 187 | +- 민감정보 마스킹 및 다운로드 감사 기록 |
| 188 | + |
| 189 | +--- |
| 190 | + |
| 191 | +## 7. 신고자료 체크 기능 |
| 192 | + |
| 193 | +신고 시기에 맞춰 필요한 자료를 체크하는 기능을 검토합니다. |
| 194 | + |
| 195 | +예시: |
| 196 | +- 종합소득세 신고 준비 시 현재 Fieldstack에 등록된 수입, 지출, 증빙, 원천징수 자료를 기준으로 필요한 자료를 분류합니다. |
| 197 | +- 준비 완료, 자료 누락, 확인 필요 상태를 표시합니다. |
| 198 | +- 누락된 항목은 사용자가 직접 보완하거나 세무사에게 확인할 수 있도록 안내합니다. |
| 199 | + |
| 200 | +이 기능의 목적은 신고를 대신하는 것이 아니라 **자료 누락을 줄이는 것**입니다. |
| 201 | + |
| 202 | +--- |
| 203 | + |
| 204 | +## 8. 데이터 구조 검토 방향 |
| 205 | + |
| 206 | +아래 구조는 구현 확정 스키마가 아니라 향후 설계를 위한 검토 기준입니다. |
| 207 | + |
| 208 | +### 8.1 세무 메타데이터 |
| 209 | + |
| 210 | +가계부 항목(`ledger_entries`)과 연결되는 세무 메타데이터를 별도 구조로 관리하는 방식을 검토합니다. |
| 211 | + |
| 212 | +검토 필드: |
| 213 | +- 거래 항목 ID |
| 214 | +- 세무상 분류 |
| 215 | +- 비용 인정 여부 |
| 216 | +- 증빙 종류 |
| 217 | +- 부가가치세 관련 금액 |
| 218 | +- 과세/면세/영세율 구분 |
| 219 | +- 확인 상태 |
| 220 | +- 확인자 또는 확인 출처 |
| 221 | + |
| 222 | +### 8.2 원천징수 정보 |
| 223 | + |
| 224 | +인건비, 프리랜서 지급, 기타소득 지급 등 원천징수 대상 거래는 별도 정보로 관리하는 방식을 검토합니다. |
| 225 | + |
| 226 | +검토 필드: |
| 227 | +- 수령인 정보 |
| 228 | +- 지급 총액 |
| 229 | +- 원천징수액 |
| 230 | +- 실지급액 |
| 231 | +- 지급일 |
| 232 | +- 적용 세율 |
| 233 | +- 적용 기준 연도 |
| 234 | +- 개인정보 암호화 여부 |
| 235 | + |
| 236 | +주민등록번호, 사업자등록번호 등 민감정보가 필요한 경우 저장 최소화, 암호화, 접근 권한, 감사 로그를 별도 보안 기준으로 설계해야 합니다. |
| 237 | + |
| 238 | +--- |
| 239 | + |
| 240 | +## 9. UI/UX 원칙 |
| 241 | + |
| 242 | +세금 화면은 계산기보다 **준비 상태와 누락 정보**를 명확히 보여주는 방향을 우선합니다. |
| 243 | + |
| 244 | +원칙: |
| 245 | +- 계산 결과에는 항상 예상값 표시를 포함합니다. |
| 246 | +- 적용 기준 연도와 기준 데이터 출처를 사용자가 확인할 수 있게 합니다. |
| 247 | +- 누락 정보와 확인 필요 항목을 결과와 함께 표시합니다. |
| 248 | +- 세무 판단처럼 보이는 단정형 문구를 피합니다. |
| 249 | +- "신고 완료", "대리 신고", "확정 세액 보장"처럼 오해될 수 있는 표현을 사용하지 않습니다. |
| 250 | + |
| 251 | +참고: |
| 252 | +- `https://gosoyeon00.github.io/tax/`는 세금 계산 화면 구성, 입력 흐름, 항목 분류를 참고할 수 있습니다. |
| 253 | +- 해당 사이트의 구현 또는 계산 로직을 복제하지 않습니다. |
| 254 | +- 실제 계산 기준은 국세청 및 공식 자료를 기반으로 별도 구현합니다. |
| 255 | + |
| 256 | +--- |
| 257 | + |
| 258 | +## 10. 향후 확장 |
| 259 | + |
| 260 | +향후 별도 모듈에서 금융·세금 기능을 호출하는 구조를 검토합니다. |
| 261 | + |
| 262 | +예시: |
| 263 | +- 급여관리 모듈: 급여 내역과 원천징수 정보를 금융 모듈에 전달 |
| 264 | +- 매장관리 모듈: 매출/매입 자료를 금융 모듈에 전달 |
| 265 | +- 프로젝트·외주 모듈: 계약 수익, 외주 비용, 세금계산서 자료를 금융 모듈에 전달 |
| 266 | + |
| 267 | +연동 원칙: |
| 268 | +- 직접 모듈 내부 테이블을 참조하지 않습니다. |
| 269 | +- Event Bus 또는 공개 인터페이스를 사용합니다. |
| 270 | +- 세무 계산 기준 데이터는 금융 모듈에서 일관되게 관리합니다. |
| 271 | +- 산업별 모듈은 도메인 데이터를 제공하고, 금융 모듈은 공통 세무 준비 기능을 담당합니다. |
| 272 | + |
| 273 | +--- |
| 274 | + |
| 275 | +## 11. 전문가 검증 필요 항목 |
| 276 | + |
| 277 | +아래 항목은 세무사 또는 관련 전문가 피드백 후 확정합니다. |
| 278 | + |
| 279 | +1. 근로소득, 사업소득, 기타소득별 예상 계산 범위 |
| 280 | +2. 원천징수 예외 케이스와 세율 변경 처리 |
| 281 | +3. 부가가치세 입력/집계 방식 |
| 282 | +4. 종합소득세 예상 계산에서 공제 항목 입력 범위 |
| 283 | +5. 4대보험 금액 연계 범위 |
| 284 | +6. 세무사 공유용 엑셀/PDF/ZIP 자료 포맷 |
| 285 | +7. 크리에이터 외화 수익 및 영세율 증빙 관리 방식 |
| 286 | +8. 민감정보 저장 최소화 및 암호화 기준 |
| 287 | + |
| 288 | +--- |
| 289 | + |
| 290 | +## 12. 요약 |
| 291 | + |
| 292 | +Fieldstack의 세금 기능은 신고를 대신하는 서비스가 아닙니다. |
| 293 | + |
| 294 | +Fieldstack은 사용자가 수입, 지출, 급여, 원천징수, 증빙자료를 정리하고 예상 세금과 자금 상태를 파악한 뒤, 필요할 경우 세무사에게 자료를 전달하기 쉽게 만드는 **세무 준비 및 보조 도구**를 목표로 합니다. |
0 commit comments