# 재무/자금관리 기능 ## 개요 SAM 프로젝트의 재무/자금관리 모듈은 회사의 자금 흐름을 종합적으로 관리하는 시스템입니다. 바로빌 API 연동을 통한 실시간 거래 조회, 계좌 관리, 자금 계획, 전표 관리 기능을 제공합니다. ## 메뉴 구성 | 메뉴 | 경로 | 설명 | UI 기술 | |------|------|------|---------| | [재무 대시보드](./finance-dashboard.md) | `/finance/dashboard` | 자금 현황 종합 요약 | Blade + JS | | [일일자금일보](./daily-fund-report.md) | `/finance/daily-fund` | 기간별 계좌 입출금 현황 보고서 | React 18 | | [자금계획일정](./fund-schedules.md) | `/finance/fund-schedules` | 입금/지급 예정 일정 관리 | Blade | | [보유계좌관리](./bank-accounts.md) | `/finance/accounts` | 회사 은행계좌 정보 관리 | Blade + HTMX | | [계좌입출금내역](./account-transactions.md) | `/finance/account-transactions` | 바로빌 연동 거래 조회 및 회계 분류 | React 18 | ## 아키텍처 ``` ┌─────────────────────────────────────────────────────────┐ │ 재무 대시보드 │ │ (총 잔액, 예정 수입/지출, 최근 거래, 계좌별 잔액) │ └──────────┬──────────────────┬──────────────────┬────────┘ │ │ │ ┌──────▼──────┐ ┌──────▼──────┐ ┌──────▼──────┐ │ 보유계좌관리 │ │ 자금계획일정 │ │ 계좌입출금내역 │ │ (계좌 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 푸시 발송 (간접 관련) |