Files
sam-docs/features/finance/README.md

116 lines
5.5 KiB
Markdown
Raw Normal View History

# 재무/자금관리 (Finance)
> **최종 갱신**: 2026-02-27
## 개요
SAM 프로젝트의 재무/자금관리 모듈. 입출금, 급여, 가지급금, 세금계산서, 어음, 악성채권 추심, CEO 대시보드까지 재무 전 영역을 관리한다. 바로빌 API 연동을 통한 실시간 거래 조회 및 전자세금계산서 발행을 지원한다.
## 문서 목록
### 자금관리 (기존)
| 문서 | 설명 |
|------|------|
| [finance-dashboard.md](./finance-dashboard.md) | 재무 대시보드 |
| [daily-fund-report.md](./daily-fund-report.md) | 일일자금일보 |
| [fund-schedules.md](./fund-schedules.md) | 자금계획일정 |
| [bank-accounts.md](./bank-accounts.md) | 보유계좌관리 |
| [account-transactions.md](./account-transactions.md) | 계좌입출금내역 (바로빌 연동) |
### 입출금·카드 (신규)
| 문서 | 설명 |
|------|------|
| [deposits-withdrawals.md](./deposits-withdrawals.md) | 입금/출금 관리 |
| [cards.md](./cards.md) | 카드관리 + 카드거래내역 |
### 급여·채권·비용 (신규)
| 문서 | 설명 |
|------|------|
| [payroll.md](./payroll.md) | 급여관리 (급여대장 + 급여관리) |
| [loans.md](./loans.md) | 가지급금 관리 (이자계산, 세금시뮬레이션) |
| [expected-expenses.md](./expected-expenses.md) | 미지급비용 관리 |
| [receivables-ledger.md](./receivables-ledger.md) | 채권현황·거래처원장·은행거래 |
| [bad-debts.md](./bad-debts.md) | 악성채권 추심관리 |
### 세금·어음 (신규)
| 문서 | 설명 |
|------|------|
| [tax-invoices.md](./tax-invoices.md) | 세금계산서 (바로빌 발행 연동) |
| [bills.md](./bills.md) | 어음관리 |
### 경영진 대시보드 (신규)
| 문서 | 설명 |
|------|------|
| [ceo-dashboard.md](./ceo-dashboard.md) | CEO 대시보드·종합분석·부가세·접대비·복리후생비 |
## 아키텍처
```
┌─────────────────────────────────────────────────────────┐
│ 재무 대시보드 │
│ (총 잔액, 예정 수입/지출, 최근 거래, 계좌별 잔액) │
└──────────┬──────────────────┬──────────────────┬────────┘
│ │ │
┌──────▼──────┐ ┌──────▼──────┐ ┌──────▼──────┐
│ 보유계좌관리 │ │ 자금계획일정 │ │ 계좌입출금내역 │
│ (계좌 CRUD) │ │ (일정 CRUD) │ │(바로빌 연동) │
└──────┬──────┘ └──────┬──────┘ └──────┬──────┘
│ │ │
┌──────▼──────────────────▼──────────────────▼──────┐
│ 데이터베이스 │
│ bank_accounts, fund_schedules, │
│ barobill_bank_transactions, journal_entries │
└──────────────────────────────────────────────────────┘
```
## 주요 기술 스택
| 기술 | 용도 |
|------|------|
| Laravel 11 (PHP 8.3) | 백엔드 프레임워크 |
| Blade + Tailwind CSS | 서버 렌더링 UI (대시보드, 계좌관리, 자금일정) |
| React 18 + Babel | 클라이언트 렌더링 UI (자금일보, 입출금내역) |
| HTMX | 부분 페이지 업데이트 (계좌 목록 등) |
| Barobill SOAP API | 은행 거래 실시간 연동 |
| MySQL 8.0 | 데이터 저장 |
## 데이터 흐름
```
바로빌 SOAP API ──→ barobill_bank_transactions ──→ 계좌입출금내역
──→ 일일자금일보
──→ 재무 대시보드
사용자 입력 ──→ bank_accounts ──→ 보유계좌관리
──→ 재무 대시보드
사용자 입력 ──→ fund_schedules ──→ 자금계획일정
──→ 재무 대시보드
```
## 공통 모델
| 모델 | 테이블 | 역할 |
|------|--------|------|
| `Finance\BankAccount` | `bank_accounts` | 보유 계좌 정보 |
| `Finance\FundSchedule` | `fund_schedules` | 자금 일정 |
| `Finance\DailyFundTransaction` | `daily_fund_transactions` | 일일자금 거래 |
| `Finance\DailyFundMemo` | `daily_fund_memos` | 일일자금 메모 |
| `Barobill\BankTransaction` | `barobill_bank_transactions` | 바로빌 거래내역 |
| `Barobill\BankTransactionOverride` | `barobill_bank_transaction_overrides` | 거래 수정 |
| `Barobill\BankTransactionSplit` | `barobill_bank_transaction_splits` | 거래 분개 |
| `Barobill\AccountCode` | `account_codes` | 계정과목 |
## 서비스 클래스
| 서비스 | 파일 | 주요 역할 |
|--------|------|----------|
| `BankAccountService` | `app/Services/BankAccountService.php` | 계좌 CRUD, 통계, 바로빌 연동 |
| `FundScheduleService` | `app/Services/FundScheduleService.php` | 일정 CRUD, 캘린더, 월별 요약 |
| `FcmApiService` | `app/Services/FcmApiService.php` | FCM 푸시 발송 (간접 관련) |