# ROLAC — 年度奉獻收據 (IRS Annual Giving Statement)

**文件版本:** v0.1 (2026-05-24)

> **重要提示:** 本文件為技術設計參考。正式收據的法律用語及符合性，請在發送前諮詢持牌會計師或稅務顧問。

---

## 法律背景

- ROLAC 為 IRS **501(c)(3)** 免稅組織
- **EIN:** `42-2682968`（儲存為環境變數 `CHURCH_EIN`，不 hardcode）
- 依 IRS 規定，單筆奉獻 **$250 或以上** 需提供書面確認
- 年度收據通常在每年 **1 月 31 日前** 寄出，供教友報稅使用
- **現金奉獻** 若無同時期的銀行記錄，IRS 要求有組織的書面記錄

---

## 收據必要欄位（IRS 要求）

| 欄位 | 說明 |
|------|------|
| 組織全名 | River Of Life Christian Church In Arcadia |
| EIN | 42-2682968 |
| 教友姓名 | 依登錄姓名 |
| 奉獻年度 | 例：January 1 – December 31, 2025 |
| 奉獻明細 | 日期、金額、類型（每筆逐一列出） |
| 年度奉獻總計 | 所有非匿名奉獻的 Net Amount 加總 |
| 免稅聲明語 | 見下方標準語句 |
| 未提供商品或服務聲明 | 見下方標準語句 |
| 組織代表簽名 | 財務同工姓名、職稱、日期 |

---

## 標準免稅聲明語（中英雙語）

**英文版（收據上必須包含）**
```
River Of Life Christian Church In Arcadia is a tax-exempt organization
under Section 501(c)(3) of the Internal Revenue Code.
EIN: 42-2682968

No goods or services were provided in exchange for this contribution.
This letter serves as your official receipt for income tax purposes.
```

**繁體中文版（附於英文後，供教友參考）**
```
River Of Life Christian Church In Arcadia 為依據美國國稅局
第 501(c)(3) 條款登記之免稅組織。
稅務識別號碼 (EIN)：42-2682968

貴教友所奉獻之款項未換取任何商品或服務。
本信函作為您申報所得稅之正式收據。
```

---

## PDF 收據版面設計

```
┌─────────────────────────────────────────────┐
│  [教會 Logo]                                │
│  River Of Life Christian Church In Arcadia  │
│  [教會地址]  |  EIN: 42-2682968             │
├─────────────────────────────────────────────┤
│  Annual Giving Statement / 年度奉獻收據      │
│  Tax Year: January 1 – December 31, {Year}  │
├─────────────────────────────────────────────┤
│  Prepared for:  {Member Full Name}          │
│  Date Issued:   {Issue Date}                │
├─────────────────────────────────────────────┤
│  Giving Detail / 奉獻明細                   │
│  ─────────────────────────────────────      │
│  Date        Type         Method    Amount  │
│  2025-01-05  Tithe        Check     $500.00 │
│  2025-01-05  Offering     Cash      $50.00  │
│  2025-02-02  Tithe        Zelle     $500.00 │
│  ...                                        │
│  ─────────────────────────────────────      │
│  Total Contributions:             $X,XXX.XX │
│  (PayPal fees are excluded)                 │
├─────────────────────────────────────────────┤
│  [免稅聲明語（英文）]                        │
│  [免稅聲明語（繁中）]                        │
├─────────────────────────────────────────────┤
│  Authorized by: {Finance Staff Name}        │
│  Title: Church Finance                      │
│  Date: {Issue Date}                         │
└─────────────────────────────────────────────┘
```

---

## 金額計算規則

| 支付方式 | 收據金額 | 備注 |
|----------|----------|------|
| 現金 | `Amount` | 以信封記錄為準 |
| 支票 | `Amount` | 以支票金額為準 |
| Zelle | `Amount` | 以轉入金額為準 |
| PayPal | `NetAmount`（= Amount − FeeAmount） | PayPal 手續費不計入可扣稅金額 |
| 匿名奉獻 | **不列入** 個人收據 | 匿名奉獻無法與個人對應 |

---

## 系統流程

```
財務同工觸發 → 選擇年度
    │
    ▼
系統查詢該年度所有
非匿名 Giving 記錄
    │
    ▼
依 MemberId 分組加總
    │
    ├── 產生個人 PDF（QuestPDF）
    ├── 上傳至 Azure Blob
    │   receipts/{year}/{memberId}.pdf
    └── Email 寄送給教友
        （含 PDF 附件 + 語言偏好）
    │
    ▼
記錄至 ReceiptLog
（誰產生、何時、寄送狀態）
```

---

## 資料模型補充

```
GivingReceipt
├── Id
├── MemberId
├── TaxYear             (int, e.g. 2025)
├── TotalAmount         (decimal)
├── PdfBlobPath         (Azure Blob 路徑)
├── GeneratedAt
├── GeneratedByUserId
├── SentAt              (Email 寄送時間，null = 未寄)
├── SentToEmail
└── IsVoided            (bool, 作廢旗標)
```

---

## 重要注意事項

1. **不要 hardcode EIN** — 存於環境變數 `CHURCH_EIN`，設定頁面可修改
2. **收據一旦發出即存檔** — 即使奉獻記錄事後修改，已發出的 PDF 不可覆蓋，只能補發新版
3. **補發流程** — 財務同工可為特定教友重新產生，系統記錄「重新發出」事件至 Audit Log
4. **作廢** — 設 `IsVoided = true`，但 PDF 原檔仍保留於 Blob，不可刪除
5. **稅務諮詢** — 建議每年收據發出前，讓持牌會計師審閱格式一次
