# monthly-settlement

매월 1일에 후잉 잔액을 스냅샷으로 저장하고, 전월 스냅샷과 비교해 자산 변동을 리포트한다.

## When to use

- 매월 1일 05:00 KST cron 자동 호출 (`agent: budget`)
- 관리자님이 "이번달 결산", "월간 결산", "자산 변동 요약" 요청할 때

## How

```bash
python3 /Users/snowoyh/.openclaw/agents/budget/workspace/skills/monthly-settlement/scripts/monthly_settlement.py
```

기본 동작:
1. `whooing_balance.py --json` 호출해 현재 순자산/자산/부채 스냅샷 생성
2. `state/monthly_snapshots.json` 에서 전월 스냅샷 로드
3. 계정별 증감 계산 (신규/청산 포함)
4. 메일 발송: `gog gmail send --to mini.snowoyh@gmail.com`
   - 제목 `[월간결산] YYYY년 M월 자산 변동`
   - 모든 계정 증감을 절대값 내림차순으로 정렬
5. 골디 텔레그램 발송: 순자산 변동 한 줄 + ±100만원 이상 변동 top 5
6. 이번달 스냅샷을 `monthly_snapshots.json` 에 저장

첫 실행(비교 대상 없음)은 스냅샷만 저장하고 "첫 결산" 안내만 발송.

## Flags

- `--dry-run` — 전송·저장 없이 메일/텔레그램 본문만 stdout 출력
- `--no-send` — 전송 생략, 스냅샷 저장과 stdout 출력만 수행 (복구/재실행용)
- `--as-of YYYY-MM-DD` — 기준일 강제 지정 (기본: 오늘)

## Output

마지막 한 줄 요약:

```
✅ 월간결산 2026-04: 순자산 +1,234,567원, 메일+텔레그램 전송 완료
```

## 데이터

- 스냅샷 저장: `state/monthly_snapshots.json` (키: `YYYY-MM` = 스냅샷 시점의 월)
- 리포트 대상 월: 전월 (스냅샷 시점 기준 직전 달)
