9b28fbcfb6
- Add .gitignore covering C#/.NET and Angular/Node - Add placeholder structure for API (C#) and APP (Angular) - Add project docs Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
157 lines
6.0 KiB
Markdown
157 lines
6.0 KiB
Markdown
# 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. **稅務諮詢** — 建議每年收據發出前,讓持牌會計師審閱格式一次
|