# SAM ERP API 개발 작업 계획 - D1.0 변경사항

> **작성일**: 2025-12-19
> **기준 문서**: SAM_ERP_Storyboard_D1.0_251218 (38페이지)
> **이전 버전**: SAM_ERP_Storyboard_D0.8_251216 (85페이지)
> **상태**: ✅ Phase 5 완료 | ✅ Phase 6 완료 | ✅ Phase 7 완료 | ✅ Phase 8 완료

---

## 📚 참고 문서

### 핵심 참고 문서
| 문서 | 경로 | 용도 |
|------|------|------|
| **기존 개발 계획** | [`erp-api-development-plan.md`](./erp-api-development-plan.md) | D0.8 기준 Phase 1-4 |
| **개발 공통 정책** | [`../guides/PROJECT_DEVELOPMENT_POLICY.md`](../guides/PROJECT_DEVELOPMENT_POLICY.md) | 개발 표준 및 정책 |
| **D0.8 스토리보드** | [`SAM_ERP_Storyboard_D0.8_251216/`](./SAM_ERP_Storyboard_D0.8_251216/) | 이전 버전 UI 참조 |
| **D1.0 스토리보드** | [`SAM_ERP_Storyboard_D1.0_251218/`](./SAM_ERP_Storyboard_D1.0_251218/) | 최신 UI/UX 참조 |

### 기존 코드 참조
| 항목 | 경로 | 상태 |
|------|------|------|
| `Board` 모델 | `api/app/Models/Boards/Board.php` | ✅ 존재 |
| `BoardSetting` 모델 | `api/app/Models/Boards/BoardSetting.php` | ✅ 존재 |
| `BoardComment` 모델 | `api/app/Models/Boards/BoardComment.php` | ✅ 존재 |
| `Plan` 모델 | `api/app/Models/Tenants/Plan.php` | ✅ 존재 |
| `Subscription` 모델 | `api/app/Models/Tenants/Subscription.php` | ✅ 존재 |
| `PushNotificationSetting` | `api/app/Models/PushNotificationSetting.php` | ✅ 존재 |

---

## 📊 D1.0 개발 범위 요약

| Phase | 구분 | 항목수 | 신규 테이블 | API 수 | 상태 |
|-------|------|--------|------------|--------|------|
| Phase 5 | 기본 확장 | 4개 | 1개 | ~14개 | ✅ 완료 |
| Phase 6 | 핵심 신규 | 2개 | 4개 | ~17개 | ✅ 완료 |
| Phase 7 | 게시판 연동 | 2개 | 0개 | ~15개 | ✅ 완료 |
| Phase 8 | SaaS 확장 | 3개 | 1개 | ~10개 | ✅ 완료 |
| **합계** | | **12개** | **~5개** | **~71개** | |

---

## 🚀 Phase 5: D1.0 기본 확장 ✅ 완료

> 기존 테이블/모델 활용, API 추가 중심
> **완료일: 2025-12-22** (기존 구현 확인)

### 5.1 사용자 초대 기능 ✅
> 슬라이드: 2 | 경로: 인사관리 > 사원관리 > 사용자 초대
> **완료일: 2025-12-19**

- [x] **테이블 생성**
  - [x] `user_invitations` 마이그레이션 (2025_12_19_100001)
  - [x] 마이그레이션 실행 및 검증

- [x] **모델 생성**
  - [x] `UserInvitation` 모델 (BelongsToTenant)
  - [x] 관계 정의 (inviter, role, tenant)
  - [x] 토큰 생성 헬퍼 (`generateToken()`)
  - [x] 상태 상수 (pending, accepted, expired, cancelled)

- [x] **서비스 구현**
  - [x] `UserInvitationService` 생성
  - [x] 이메일 초대 발송 로직 (`invite()`)
  - [x] 초대 수락 로직 (`accept()`)
  - [x] 토큰 만료 처리 (`expirePendingInvitations()`)
  - [x] 초대 재발송 로직 (`resend()`)

- [x] **API 엔드포인트** (5개)
  - [x] `POST /v1/users/invite` - 사용자 초대 (이메일 발송)
  - [x] `GET /v1/users/invitations` - 초대 목록
  - [x] `POST /v1/users/invitations/{token}/accept` - 초대 수락
  - [x] `DELETE /v1/users/invitations/{id}` - 초대 취소
  - [x] `POST /v1/users/invitations/{id}/resend` - 초대 재발송

- [x] **Swagger 문서**
  - [x] `UserInvitationApi.php` 작성
  - [x] 스키마 정의 (UserInvitation, InviteRequest, AcceptRequest)

- [ ] **테스트**
  - [ ] Feature 테스트 작성
  - [ ] 수동 API 테스트

---

### 5.2 알림설정 확장 ✅
> 슬라이드: 19-22 | 경로: 기준정보 > 알림설정
> **완료일: 2025-12-19**

- [x] **테이블 확장**
  - [x] `notification_settings` 테이블 확인/생성

- [x] **모델 생성/수정**
  - [x] `NotificationSetting` 모델 (BelongsToTenant)
  - [x] 카테고리별 그룹화 메서드

- [x] **서비스 구현**
  - [x] `NotificationSettingService` 생성
  - [x] 카테고리별 조회/수정 로직
  - [x] 사용자별 기본값 생성 로직

- [x] **API 엔드포인트** (3개)
  - [x] `GET /v1/users/me/notification-settings` - 알림 설정 조회
  - [x] `PUT /v1/users/me/notification-settings` - 알림 설정 수정
  - [x] `PUT /v1/users/me/notification-settings/bulk` - 알림 일괄 설정

- [x] **Swagger 문서**
  - [x] `NotificationSettingApi.php` 작성

- [ ] **테스트**
  - [ ] Feature 테스트 작성
  - [ ] 수동 API 테스트

---

### 5.3 계정정보 수정 (탈퇴/사용중지) ✅
> 슬라이드: 24 | 경로: 계정정보
> **완료일: 2025-12-19**

- [x] **서비스 구현**
  - [x] `AccountService` 생성/확장
  - [x] 회원 탈퇴 로직 (`withdraw()`)
  - [x] 사용 중지 로직 (`suspend()`)
  - [x] 약관 동의 정보 관리 (`getAgreements()`, `updateAgreements()`)

- [x] **API 엔드포인트** (4개)
  - [x] `POST /v1/account/withdraw` - 회원 탈퇴
  - [x] `POST /v1/account/suspend` - 사용 중지 (특정 테넌트)
  - [x] `GET /v1/account/agreements` - 약관 동의 정보 조회
  - [x] `PUT /v1/account/agreements` - 약관 동의 정보 수정

- [x] **Swagger 문서**
  - [x] `AccountApi.php` 확장

- [ ] **테스트**
  - [ ] Feature 테스트 작성
  - [ ] 수동 API 테스트

---

### 5.4 매출 상세 확장 (거래명세서) ✅
> 슬라이드: 9 | 경로: 회계관리 > 매출관리 > 매출 상세
> **완료일: 2025-12-19**

**기존 구성요소:**
- `Sale` 모델, `SaleService` 존재
- `TaxInvoice` 모델 존재 (세금계산서)

- [x] **서비스 확장**
  - [x] `SaleService` 확장
  - [x] 거래명세서 조회 로직 (`getStatement()`)
  - [x] 거래명세서 발행 로직 (`issueStatement()`)
  - [x] 거래명세서 이메일 발송 로직 (`sendStatement()`)

- [x] **API 엔드포인트** (3개)
  - [x] `GET /v1/sales/{id}/statement` - 거래명세서 조회
  - [x] `POST /v1/sales/{id}/statement/issue` - 거래명세서 발행
  - [x] `POST /v1/sales/{id}/statement/send` - 거래명세서 이메일 발송

- [x] **Swagger 문서**
  - [x] `SaleApi.php` 확장 (거래명세서 관련 추가)

- [ ] **테스트**
  - [ ] Feature 테스트 작성
  - [ ] 수동 API 테스트

---

## 🔨 Phase 6: D1.0 핵심 신규 개발 (예상 2-3주)

> 신규 테이블 + API 전체 신규 구현

### 6.1 악성채권 추심관리 ✅
> 슬라이드: 10-13 | 경로: 회계관리 > 악성채권 추심관리
> **완료일: 2025-12-19** (commit: c0af888)

- [x] **테이블 생성** (3개)
  - [x] `bad_debts` 마이그레이션 (2025_12_19_160001)
  - [x] `bad_debt_documents` 마이그레이션 (2025_12_19_160002)
  - [x] `bad_debt_memos` 마이그레이션 (2025_12_19_160003)
  - [x] 마이그레이션 실행 및 검증

- [x] **모델 생성** (3개)
  - [x] `BadDebt` 모델 (BelongsToTenant, SoftDeletes)
    - 상태 상수: collecting, legal_action, recovered, bad_debt
    - 관계: client, assignedUser, creator, documents, memos
  - [x] `BadDebtDocument` 모델
    - 문서 유형: business_license, tax_invoice, additional
  - [x] `BadDebtMemo` 모델

- [x] **서비스 구현**
  - [x] `BadDebtService` 생성 (307줄)
  - [x] 악성채권 등록/수정/삭제 로직
  - [x] 상태 전이 로직 (추심중→법적조치→회수완료/대손처리)
  - [x] 요약 통계 (총 채권, 상태별 금액)
  - [x] 서류 첨부/삭제 로직
  - [x] 메모 추가/삭제 로직

- [x] **API 엔드포인트** (11개)
  - [x] `GET /v1/bad-debts` - 악성채권 목록
  - [x] `POST /v1/bad-debts` - 악성채권 등록
  - [x] `GET /v1/bad-debts/summary` - 상단 요약 (총 채권, 상태별 금액)
  - [x] `GET /v1/bad-debts/{id}` - 악성채권 상세
  - [x] `PUT /v1/bad-debts/{id}` - 악성채권 수정
  - [x] `DELETE /v1/bad-debts/{id}` - 악성채권 삭제
  - [x] `PATCH /v1/bad-debts/{id}/toggle` - 설정 ON/OFF
  - [x] `POST /v1/bad-debts/{id}/documents` - 서류 첨부
  - [x] `DELETE /v1/bad-debts/{id}/documents/{docId}` - 서류 삭제
  - [x] `POST /v1/bad-debts/{id}/memos` - 메모 추가
  - [x] `DELETE /v1/bad-debts/{id}/memos/{memoId}` - 메모 삭제

- [x] **Swagger 문서**
  - [x] `BadDebtApi.php` 작성 (433줄)
  - [x] 스키마 정의 (BadDebt, BadDebtDocument, BadDebtMemo, Summary)

- [ ] **테스트**
  - [ ] Feature 테스트 작성
  - [ ] 수동 API 테스트

---

### 6.2 팝업관리 ✅
> 슬라이드: 15-16 | 경로: 기준정보 > 팝업관리
> **완료일: 2025-12-19**

- [x] **테이블 생성** (1개)
  - [x] `popups` 마이그레이션
    ```sql
    -- popups (팝업)
    id, tenant_id, target_type, target_id,
    title, content, status,
    started_at, ended_at, options,
    created_by, updated_by, deleted_by,
    created_at, updated_at, deleted_at
    ```
  - [x] 마이그레이션 실행 및 검증

- [x] **모델 생성**
  - [x] `Popup` 모델 (BelongsToTenant, SoftDeletes)
    - target_type: all, department
    - status: active, inactive
    - 활성 팝업 스코프 (기간 + 상태 체크)

- [x] **서비스 구현**
  - [x] `PopupService` 생성
  - [x] 팝업 CRUD 로직
  - [x] 활성 팝업 조회 로직 (로그인 후 노출용)
  - [x] 기간 유효성 검사 로직

- [x] **API 엔드포인트** (6개)
  - [x] `GET /v1/popups` - 팝업 목록 (관리자용)
  - [x] `POST /v1/popups` - 팝업 등록
  - [x] `GET /v1/popups/active` - 활성 팝업 목록 (사용자용)
  - [x] `GET /v1/popups/{id}` - 팝업 상세
  - [x] `PUT /v1/popups/{id}` - 팝업 수정
  - [x] `DELETE /v1/popups/{id}` - 팝업 삭제

- [x] **Swagger 문서**
  - [x] `PopupApi.php` 작성

- [ ] **테스트**
  - [ ] Feature 테스트 작성
  - [ ] 수동 API 테스트

---

## 📋 Phase 7: D1.0 게시판 연동 ✅ 완료
> **완료일: 2025-12-19**

> 기존 Board 모델 활용, API 엔드포인트 추가

**기존 구성요소 (api 프로젝트):**
- `Board` 모델: is_system, board_type, board_code, name, extra_settings
- `BoardSetting` 모델: 커스텀 필드 정의
- `BoardComment` 모델: 댓글
- `Post` 모델: 게시글

### 7.1 게시판관리 ✅
> 슬라이드: 17-18 | 경로: 기준정보 > 게시판관리
> **완료일: 2025-12-19** (기존 구현 활용)

- [x] **기존 모델 확인/확장**
  - [x] `Board` 모델 확인
  - [x] `BoardSetting` 모델 확인
  - [x] 필요 필드 이미 존재

- [x] **서비스 구현**
  - [x] `BoardService` 존재 (테넌트별 게시판 CRUD 로직)

- [x] **API 엔드포인트** (5개)
  - [x] `GET /v1/boards` - 게시판 목록
  - [x] `POST /v1/boards` - 게시판 생성
  - [x] `GET /v1/boards/{id}` - 게시판 상세
  - [x] `PUT /v1/boards/{id}` - 게시판 수정
  - [x] `DELETE /v1/boards/{id}` - 게시판 삭제

- [x] **Swagger 문서**
  - [x] `BoardApi.php` 작성 완료

---

### 7.2 게시판 (사용자용) ✅
> 슬라이드: 3-7 | 경로: 게시판
> **완료일: 2025-12-19**

- [x] **기존 모델 확인/확장**
  - [x] `Post` 모델 확인
  - [x] 상단 노출 필드 (is_notice)
  - [x] 조회수 필드 (views)

- [x] **서비스 구현**
  - [x] `PostService` 존재
  - [x] 게시글 CRUD 로직
  - [x] 상단 노출 로직
  - [x] 조회수 증가 로직
  - [x] 나의 게시글 조회 로직 ✅ 추가됨

- [x] **API 엔드포인트** (10개)
  - [x] `GET /v1/boards` - 게시판 목록 (탭용)
  - [x] `GET /v1/boards/{code}/posts` - 게시글 목록
  - [x] `POST /v1/boards/{code}/posts` - 게시글 등록
  - [x] `GET /v1/boards/{code}/posts/{id}` - 게시글 상세
  - [x] `PUT /v1/boards/{code}/posts/{id}` - 게시글 수정
  - [x] `DELETE /v1/boards/{code}/posts/{id}` - 게시글 삭제
  - [x] `GET /v1/posts/my` - 나의 게시글 ✅ 신규 추가
  - [x] `GET /v1/boards/{code}/posts/{id}/comments` - 댓글 목록
  - [x] `POST /v1/boards/{code}/posts/{id}/comments` - 댓글 등록
  - [x] `PUT /v1/boards/{code}/posts/{id}/comments/{commentId}` - 댓글 수정
  - [x] `DELETE /v1/boards/{code}/posts/{id}/comments/{commentId}` - 댓글 삭제

- [x] **Swagger 문서**
  - [x] `BoardApi.php` 작성 완료
  - [x] `PostApi.php` 작성 완료

---

### 7.3 고객센터 → 게시판관리로 대체 ⏭️
> 슬라이드: 30-38 | 경로: 고객센터

**결정사항:** 고객센터 기능은 기존 게시판관리 시스템으로 구현
- 공지사항, 이벤트, FAQ, 1:1 문의 → 게시판 유형(board_code)으로 관리
- 별도 SupportAPI 불필요, 기존 Board/Post API 활용

---

## 💼 Phase 8: D1.0 SaaS 확장 (예상 1-2주)

> 기존 Plan/Subscription/Payment 모델 활용

### 8.1 구독관리 ✅
> 슬라이드: 28 | 경로: 구독관리
> **완료일: 2025-12-22** (기존 구현 확인)

**기존 구성요소:**
- `Plan` 모델: name, code, price, features(json)
- `Subscription` 모델: tenant_id, plan_id, started_at, ended_at, status
- `DataExport` 모델: 데이터 내보내기

- [x] **서비스 확장**
  - [x] `SubscriptionService` 확장 (432줄)
  - [x] 현재 구독 정보 조회 로직 (`current()`)
  - [x] 사용량 조회 로직 (`usage()`)
  - [x] 자료 내보내기 로직 (`createExport()`, `getExport()`)
  - [x] 서비스 해지 로직 (`cancel()`)

- [x] **API 엔드포인트** (5개 + 추가 6개)
  - [x] `GET /v1/subscriptions/current` - 현재 구독 정보
  - [x] `GET /v1/subscriptions/usage` - 사용량 조회
  - [x] `POST /v1/subscriptions/export` - 자료 내보내기 요청
  - [x] `GET /v1/subscriptions/export/{id}` - 내보내기 상태 조회
  - [x] `POST /v1/subscriptions/{id}/cancel` - 서비스 해지
  - [x] `GET /v1/subscriptions` - 구독 목록 (추가)
  - [x] `POST /v1/subscriptions` - 구독 등록 (추가)
  - [x] `GET /v1/subscriptions/{id}` - 구독 상세 (추가)
  - [x] `POST /v1/subscriptions/{id}/renew` - 구독 갱신 (추가)
  - [x] `POST /v1/subscriptions/{id}/suspend` - 일시정지 (추가)
  - [x] `POST /v1/subscriptions/{id}/resume` - 재개 (추가)

- [x] **Swagger 문서**
  - [x] `SubscriptionApi.php` 작성 (526줄)

- [ ] **테스트**
  - [ ] Feature 테스트 작성
  - [ ] 수동 API 테스트

---
### 8.2 결제내역 ✅
> 슬라이드: 29 | 경로: 결제내역
> **완료일: 2025-12-22** (기존 구현 확인)

**기존 구성요소:**
- `Payment` 모델: subscription_id, amount, payment_method, paid_at, status

- [x] **서비스 확장**
  - [x] `PaymentService` 확장 (357줄)
  - [x] 결제 내역 목록 조회 로직 (`index()`)
  - [x] 거래명세서 생성 로직 (`statement()`)
  - [x] 결제 요약 통계 (`summary()`)

- [x] **API 엔드포인트** (2개 + 추가 6개)
  - [x] `GET /v1/payments` - 결제 내역 목록
  - [x] `GET /v1/payments/{id}/statement` - 거래명세서 조회
  - [x] `GET /v1/payments/summary` - 결제 요약 통계 (추가)
  - [x] `GET /v1/payments/{id}` - 결제 상세 (추가)
  - [x] `POST /v1/payments` - 결제 등록 (추가)
  - [x] `POST /v1/payments/{id}/complete` - 완료 처리 (추가)
  - [x] `POST /v1/payments/{id}/cancel` - 취소 (추가)
  - [x] `POST /v1/payments/{id}/refund` - 환불 (추가)

- [x] **Swagger 문서**
  - [x] `PaymentApi.php` 작성 (455줄)

- [ ] **테스트**
  - [ ] Feature 테스트 작성
  - [ ] 수동 API 테스트

---

### 8.3 회사 추가 ✅
> 슬라이드: 25-27 | 경로: 회사정보
> **완료일: 2025-12-22**

- [x] **테이블 생성** (1개)
  - [x] `company_requests` 마이그레이션
    ```sql
    -- company_requests (회사 추가 신청)
    id, user_id, business_number, company_name, ceo_name,
    address, phone, email, status, message, reject_reason,
    barobill_response(json), approved_by, created_tenant_id,
    processed_at, created_at, updated_at
    ```
  - [x] 마이그레이션 실행 및 검증

- [x] **모델 생성**
  - [x] `CompanyRequest` 모델
    - 상태 상수: pending, approved, rejected
    - 관계: user, approver, createdTenant
    - 스코프: pending(), approved(), rejected()

- [x] **서비스 구현**
  - [x] `CompanyService` 생성
  - [x] 사업자등록번호 유효성 검사 (바로빌 연동 + 체크섬 검증)
  - [x] 회사 추가 신청 로직
  - [x] 신청 승인 로직 (테넌트 자동 생성 + 사용자 연결)
  - [x] 신청 반려 로직
  - [x] 신청 목록 조회 (관리자용/사용자용)

- [x] **API 엔드포인트** (7개)
  - [x] `POST /v1/companies/check` - 사업자등록번호 유효성 검사
  - [x] `POST /v1/companies/request` - 회사 추가 신청
  - [x] `GET /v1/companies/requests` - 신청 목록 (관리자용)
  - [x] `GET /v1/companies/requests/{id}` - 신청 상세
  - [x] `POST /v1/companies/requests/{id}/approve` - 승인
  - [x] `POST /v1/companies/requests/{id}/reject` - 반려
  - [x] `GET /v1/companies/my-requests` - 내 신청 목록

- [x] **Swagger 문서**
  - [x] `CompanyApi.php` 작성

- [ ] **테스트**
  - [ ] Feature 테스트 작성
  - [ ] 수동 API 테스트

---

## 📋 기획 확인 필요 항목

> ⚠️ API 구현 전 비즈니스 로직 확정 필요

### D1.0 신규 확인 필요
- [ ] 사용자 초대 시 권한 범위 (테넌트 단위 vs 전사)
- [ ] 악성채권 자동 판정 조건 (연체일수 기준, 기본 90일?)
- [ ] 팝업 노출 우선순위 (복수 팝업 시)
- [ ] 서비스 해지 시 데이터 보관 기간
- [ ] 자료 내보내기 포맷 (Excel, CSV, JSON)
- [ ] 상단 노출 게시글 최대 개수 (기본 5개)
- [ ] 1:1 문의 상담분류 목록 (문의하기, 신고하기, 건의사항, 서비스 오류)

### 기존 확인 사항 (D0.8)
- [ ] 테넌트: 신청→승인→만료→해지 전이 조건
- [ ] 전자결재→회계: 지출결의서 승인 시 출금 자동 생성?
- [ ] 바로빌 API 비용 확인

---

## 📝 작업 일지

### 2025-12-19
- [x] D1.0 스토리보드 분석 완료 (38페이지)
- [x] D0.8 대비 변경사항 식별 (신규 8개, 수정 4개)
- [x] D1.0 개발 계획 문서 작성 (Phase 5-8)
- [x] 기존 코드베이스 분석 (Board, Plan, Subscription 모델 확인)
- [x] Phase 6.1 악성채권 추심관리 API 개발 완료 (commit: c0af888)
- [x] Phase 6.2 팝업관리 API 개발 완료
- [x] Phase 7.1 게시판관리 - 기존 구현 확인 완료
- [x] Phase 7.2 게시판(사용자용) - 기존 구현 확인 + `/posts/my` API 추가 (commit: c15a245)
- [x] Phase 7.3 고객센터 → 게시판관리로 대체 결정
- [x] Phase 8 SaaS 확장 분석 시작

### 2025-12-22
- [x] Phase 8.1 구독관리 - 기존 구현 확인 완료
- [x] Phase 8.2 결제내역 - 기존 구현 확인 완료
- [x] Phase 8.3 회사 추가 API 개발 완료 (commit: 7781253)
  - company_requests 테이블 생성
  - CompanyRequest 모델 생성
  - CompanyService 생성 (바로빌 연동 + 테넌트 생성)
  - 7개 API 엔드포인트 구현
  - Swagger 문서 작성
- [x] Phase 5 전체 기존 구현 확인 완료
  - 5.1 사용자 초대: 5개 API (invite, invitations, accept, cancel, resend)
  - 5.2 알림설정: 3개 API (notification-settings, update, bulk)
  - 5.3 계정정보: 4개 API (withdraw, suspend, agreements)
  - 5.4 매출 거래명세서: 3개 API (statement, issue, send)
- [x] D1.0 Phase 5-8 전체 API 개발 완료!

---

## ✅ 완료 기준

### Phase 5 완료 조건 (기본 확장) ✅
- [x] 사용자 초대 API 구현 완료 ✅ 2025-12-19
- [x] 알림설정 API 확장 완료 ✅ 2025-12-19
- [x] 계정정보 API 확장 완료 ✅ 2025-12-19
- [x] 매출 거래명세서 API 구현 완료 ✅ 2025-12-19
- [x] Swagger 문서 완성 ✅ 2025-12-19
- [x] Pint 코드 포맷팅 완료 ✅

### Phase 6 완료 조건 (핵심 신규)
- [x] 악성채권 추심관리 전체 구현 ✅ 2025-12-18
- [x] 팝업관리 전체 구현 ✅ 2025-12-19
- [x] 마이그레이션 검증 완료
- [x] Swagger 문서 완성

### Phase 7 완료 조건 (게시판 연동) ✅
- [x] 게시판관리 API 구현 완료 ✅ 2025-12-19
- [x] 게시판 (사용자용) API 구현 완료 ✅ 2025-12-19
- [x] 고객센터 → 게시판관리로 대체 결정 ✅ 2025-12-19

### Phase 8 완료 조건 (SaaS 확장) ✅
- [x] 구독관리 API 구현 완료 ✅ 2025-12-22
- [x] 결제내역 API 구현 완료 ✅ 2025-12-22
- [x] 회사 추가 API 구현 완료 ✅ 2025-12-22
- [x] 자료 내보내기 기능 구현 ✅ (SubscriptionService에 포함)

### 전체 완료 조건
- [ ] 모든 D1.0 API 구현 완료 (~71개)
- [ ] Swagger 문서 100%
- [ ] 통합 테스트 통과
- [ ] 프론트엔드 연동 준비 완료

---

## 🔗 관련 링크

- **기존 개발 계획**: [`erp-api-development-plan.md`](./erp-api-development-plan.md)
- **API Swagger UI**: http://sam.kr/api-docs/index.html
- **개발 공통 정책**: [`../guides/PROJECT_DEVELOPMENT_POLICY.md`](../guides/PROJECT_DEVELOPMENT_POLICY.md)
- **D1.0 스토리보드**: [`SAM_ERP_Storyboard_D1.0_251218/`](./SAM_ERP_Storyboard_D1.0_251218/)