docs: [finance] 계정코드 마이그레이션 이력 + 손익계산서 API 명세 업데이트
- 더존 3자리→KIS 5자리 코드 마이그레이션 기록 (832건) - 손익계산서 월별 API 명세 추가 - 당기/전기 토글, 월별 보기 화면 요구사항 추가
This commit is contained in:
107
changes/20260319_account_code_migration_and_income_statement.md
Normal file
107
changes/20260319_account_code_migration_and_income_statement.md
Normal file
@@ -0,0 +1,107 @@
|
||||
# 계정과목 코드 마이그레이션 + 손익계산서 개선
|
||||
|
||||
**날짜:** 2026-03-19
|
||||
**작업자:** Claude Code
|
||||
|
||||
## 변경 개요
|
||||
|
||||
1. 전표/홈택스 분개의 더존 3자리 계정코드를 KIS 5자리 표준코드로 마이그레이션
|
||||
2. 손익계산서 기수(期數) 수정 및 당기/전기 토글 + 월별 보기 기능 추가
|
||||
3. 서비스 API에 월별 손익계산서 엔드포인트 추가
|
||||
|
||||
---
|
||||
|
||||
## 1. 계정코드 마이그레이션 (DB 데이터)
|
||||
|
||||
### 배경
|
||||
|
||||
- `account_codes` 테이블: KIS 5자리 표준 코드 (40100, 81100 등)
|
||||
- `journal_entry_lines` / `hometax_invoice_journals`: 더존 3자리 코드 (401, 811 등) 사용 중
|
||||
- 코드 불일치로 손익계산서의 `sub_category` 매칭이 안 되어 금액이 0으로 표시됨
|
||||
|
||||
### 매핑 (36개)
|
||||
|
||||
| 더존 3자리 | KIS 5자리 | 계정명 | 비고 |
|
||||
|-----------|----------|--------|------|
|
||||
| 401 | 40100 | 상품매출 | |
|
||||
| 402 | 40400 | 제품매출 | |
|
||||
| 501 | 45100 | 상품매출원가 | 더존 `상품매입` → KIS `상품매출원가` |
|
||||
| 801 | 80200 | 직원급여 | 더존 `급여` → KIS `직원급여` |
|
||||
| 805 | 81100 | 복리후생비 | |
|
||||
| 807 | 81300 | 접대비 | |
|
||||
| 811 | 81700 | 세금과공과금 | |
|
||||
| 812 | 81900 | 지급임차료 | 더존 `임차료` → KIS `지급임차료` |
|
||||
| 838 | 83100 | 지급수수료 | 더존 `용역비` → KIS에 없어 `지급수수료`로 매핑 |
|
||||
| 901 | 90100 | 이자수익 | |
|
||||
| ... | ... | ... | 자산/부채/자본 계정 포함 총 36개 |
|
||||
|
||||
### 적용 결과
|
||||
|
||||
| 테이블 | 업데이트 건수 |
|
||||
|--------|------------|
|
||||
| `journal_entry_lines` | 700건 |
|
||||
| `hometax_invoice_journals` | 132건 |
|
||||
| 잔여 3자리 코드 | **0건** |
|
||||
|
||||
---
|
||||
|
||||
## 2. 손익계산서 개선
|
||||
|
||||
### 기수 수정
|
||||
|
||||
- 변경 전: `baseYear = 2005` (제22기 = 2026년)
|
||||
- 변경 후: `baseYear = 2024` (제2기 = 2026년)
|
||||
- 근거: 코드브릿지엑스 설립일 2025-09-13, 1기 = 2025년
|
||||
|
||||
### 당기/전기 토글 (MNG)
|
||||
|
||||
- `[당기만]` / `[당기+전기]` 토글 버튼
|
||||
- 전기 컬럼을 동적으로 표시/숨김
|
||||
|
||||
### 월별 보기 (MNG + API)
|
||||
|
||||
- 연도 선택 → 1~12월 개별 손익 조회
|
||||
- 전체 보기: 월별 가로 비교 테이블
|
||||
- 개별 월 선택: 해당 월만 상세 표시
|
||||
|
||||
### 서비스 API 엔드포인트
|
||||
|
||||
| Method | Path | 설명 |
|
||||
|--------|------|------|
|
||||
| `GET` | `/api/v1/income-statement` | 기간 손익계산서 (기존) |
|
||||
| `GET` | `/api/v1/income-statement/monthly` | 월별 손익계산서 (신규) |
|
||||
|
||||
---
|
||||
|
||||
## 수정된 파일
|
||||
|
||||
### API (`sam/api`)
|
||||
|
||||
| 파일 | 변경 내용 |
|
||||
|------|----------|
|
||||
| `app/Services/IncomeStatementService.php` | monthly() 추가, buildSections 분리, 기수 수정 |
|
||||
| `app/Http/Controllers/Api/V1/IncomeStatementController.php` | monthly() 엔드포인트 추가 |
|
||||
| `routes/api/v1/finance.php` | monthly 라우트 추가 |
|
||||
|
||||
### MNG (`sam/mng`)
|
||||
|
||||
| 파일 | 변경 내용 |
|
||||
|------|----------|
|
||||
| `app/Http/Controllers/Finance/IncomeStatementController.php` | monthly() 추가, buildSections 분리, 기수 수정 |
|
||||
| `resources/views/finance/income-statement.blade.php` | 당기/전기 토글, 월별 보기 UI |
|
||||
| `routes/web.php` | monthly 라우트 추가 |
|
||||
|
||||
### DB (직접 업데이트)
|
||||
|
||||
| 테이블 | 변경 내용 |
|
||||
|--------|----------|
|
||||
| `journal_entry_lines` | account_code 3자리→5자리 (700건) |
|
||||
| `hometax_invoice_journals` | account_code 3자리→5자리 (132건) |
|
||||
|
||||
---
|
||||
|
||||
## 관련 문서
|
||||
|
||||
- [dev/dev_plans/account-ledger-income-statement-plan.md](../dev/dev_plans/account-ledger-income-statement-plan.md) — 기획서
|
||||
- [frontend/api-specs/account-ledger-income-statement-api.md](../frontend/api-specs/account-ledger-income-statement-api.md) — API 명세
|
||||
- [changes/20260317_account_code_migration_mapping.md](20260317_account_code_migration_mapping.md) — 이전 코드 변경 매핑
|
||||
Reference in New Issue
Block a user