Initial commit: monorepo scaffold for ROLAC
- 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>
This commit is contained in:
@@ -0,0 +1,156 @@
|
||||
# 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. **稅務諮詢** — 建議每年收據發出前,讓持牌會計師審閱格式一次
|
||||
Reference in New Issue
Block a user