Commit Graph

  • 4b949dff9b 更新支票列印 main Chris Chen 2026-06-27 21:37:40 -07:00
  • 773d38d838 update view. Chris Chen 2026-06-25 21:55:16 -07:00
  • d987ddea0e Merge: 1099 Recipient Tracking feature (sub-project B) Chris Chen 2026-06-25 18:29:29 -07:00
  • a4ded78442 feat(1099): show payer EIN on church profile page and 1099-NEC PDF Chris Chen 2026-06-25 18:23:49 -07:00
  • 831b868d9d feat(1099): add payer EIN to ChurchProfile (entity, DTO, migration) Chris Chen 2026-06-25 18:23:40 -07:00
  • 771889a99a feat(1099): default Is1099Tracked from tax classification Chris Chen 2026-06-25 18:11:44 -07:00
  • 4d396601f7 feat(1099): add reveal-full-TIN button (write-gated) to recipient dialog Chris Chen 2026-06-25 18:11:32 -07:00
  • d29de83116 feat(1099): wire W-9 document upload/view for recipients Chris Chen 2026-06-25 18:11:11 -07:00
  • ad276c01f3 docs(1099): document Payee1099s/Form1099Boxes schema and seed Form1099 permissions Chris Chen 2026-06-25 17:56:09 -07:00
  • fb95bf0048 feat(1099): add 1099 recipient picker to expense form Chris Chen 2026-06-25 17:50:25 -07:00
  • d8e6f3ed61 feat(1099): add 1099 box dropdowns to category admin page Chris Chen 2026-06-25 17:50:12 -07:00
  • 402826ee3d feat(1099): round-trip Form1099BoxId through expense category DTOs/service Chris Chen 2026-06-25 17:46:31 -07:00
  • 82096e7e6f feat(1099): 1099 year-end report page with drill-in, CSV, Copy B Chris Chen 2026-06-25 17:39:20 -07:00
  • 6ffaaf37ac feat(1099): add authenticated blob downloads to report API service Chris Chen 2026-06-25 17:38:47 -07:00
  • d1747b510e feat(1099): 1099 recipients master page with nav + route Chris Chen 2026-06-25 17:31:48 -07:00
  • bf247726e1 feat(1099): frontend models, API services, and permission module entry Chris Chen 2026-06-25 17:26:57 -07:00
  • 8cb6245560 feat(1099): add 1099 Copy B + filing CSV download endpoints Chris Chen 2026-06-25 17:21:14 -07:00
  • b7eb95056d feat(1099): add I1099FormService with filing CSV export + Copy B PDF Chris Chen 2026-06-25 17:20:52 -07:00
  • 556abba687 feat(1099): EF migration for Payee1099, Form1099Box, mapping columns Chris Chen 2026-06-25 17:14:57 -07:00
  • 1a8002015a feat(1099): seed Form1099Box catalog and default subcategory mappings Chris Chen 2026-06-25 17:13:44 -07:00
  • 7c63f6c9ba feat(1099): carry PayeeId through expense create/update/read Chris Chen 2026-06-25 17:08:01 -07:00
  • 7c5348969b feat(1099): add recipient and report controllers Chris Chen 2026-06-25 17:06:49 -07:00
  • 0a9b82544d feat(1099): register Form1099 permission module and services Chris Chen 2026-06-25 17:06:03 -07:00
  • 6080946e74 feat(1099): add Payee1099Service recipient CRUD with TIN protection Chris Chen 2026-06-25 17:02:45 -07:00
  • 560fb79bf0 feat(1099): add recipient DTOs Chris Chen 2026-06-25 17:02:33 -07:00
  • 0767a3fe94 refactor(1099): materialize report query for Npgsql safety; deterministic year + ordering Chris Chen 2026-06-25 16:58:28 -07:00
  • 0754ed8d69 feat(1099): add Form1099ReportService cash-basis annual aggregation Chris Chen 2026-06-25 16:53:28 -07:00
  • 9aa64b5f4c feat(1099): add report and recipient DTOs Chris Chen 2026-06-25 16:53:15 -07:00
  • 5e2fbe800c feat(1099): add ITinProtector with Data Protection encryption + last-4 helper Chris Chen 2026-06-25 16:47:49 -07:00
  • 89238bba99 fix(1099): pin max-lengths on Payee1099/Form1099Box columns to match codebase Chris Chen 2026-06-25 16:45:02 -07:00
  • 225e64b992 feat(1099): configure Payee1099, Form1099Box, and mapping FKs in DbContext Chris Chen 2026-06-25 16:40:49 -07:00
  • 7809ba9741 feat(1099): add Form1099BoxId mapping FKs and Expense.PayeeId Chris Chen 2026-06-25 16:40:40 -07:00
  • 48ae014def feat(1099): add Payee1099 recipient master entity Chris Chen 2026-06-25 16:40:34 -07:00
  • 89f02d020b feat(1099): add Form1099Box catalog entity Chris Chen 2026-06-25 16:40:30 -07:00
  • 3b76ff43fc feat(1099): add Form1099 constants (threshold, box codes, W9 statuses) Chris Chen 2026-06-25 16:40:22 -07:00
  • a0b96b056a docs(1099): implementation plan for sub-project B Chris Chen 2026-06-25 16:21:17 -07:00
  • 93374c3c0a docs(1099): design spec for sub-project B — 1099 recipient tracking Chris Chen 2026-06-25 16:16:04 -07:00
  • 55543af5e1 checks Chris Chen 2026-06-25 15:51:52 -07:00
  • d32eea3523 Merge: Vendor Payment Snapshot feature Chris Chen 2026-06-25 15:26:59 -07:00
  • 099303995b fix(expense-snapshot): gate page on Expenses:write to match the write-only API Chris Chen 2026-06-25 15:21:11 -07:00
  • 44a7dcf089 refactor(expense-form): remove dead empty per-line AI assist scaffold Chris Chen 2026-06-25 15:18:28 -07:00
  • a8f5547c3c feat(expense-snapshot): route + sidebar nav for snapshot management Chris Chen 2026-06-25 15:15:20 -07:00
  • 41dce076d6 feat(expense-snapshot): snapshot management page (rename/delete) Chris Chen 2026-06-25 15:14:16 -07:00
  • 315d85ddcc feat(expense-snapshot): load/save snapshot in vendor payment form Chris Chen 2026-06-25 15:13:09 -07:00
  • bc827e8b60 feat(expense-snapshot): frontend model + api service with tests Chris Chen 2026-06-25 15:11:32 -07:00
  • 8922bb69de fix(expense-snapshot): validate functional class + stamp DeletedBy on soft delete Chris Chen 2026-06-25 15:07:55 -07:00
  • 4877fec1da feat(expense-snapshot): REST controller + DI registration Chris Chen 2026-06-25 15:01:38 -07:00
  • 73c52ded88 feat(expense-snapshot): snapshot service with creator-name resolution + tests Chris Chen 2026-06-25 15:00:36 -07:00
  • f1de8d7ab7 feat(expense-snapshot): add snapshot DTOs Chris Chen 2026-06-25 14:58:53 -07:00
  • 5957d0f45e feat(expense-snapshot): register snapshot tables + EF migration Chris Chen 2026-06-25 14:58:18 -07:00
  • c5405a95c3 feat(expense-snapshot): add ExpenseSnapshot + ExpenseSnapshotLine entities Chris Chen 2026-06-25 14:55:50 -07:00
  • 5d03e42302 docs(expense-snapshot): implementation plan + spec read-time creator-name refinement Chris Chen 2026-06-25 14:45:08 -07:00
  • d4c20df34f docs(expense-snapshot): design spec for vendor payment snapshot Chris Chen 2026-06-25 14:37:00 -07:00
  • 73077295a4 feat(expense-categories): AI 建議 for group/sub name + 990 line Chris Chen 2026-06-25 14:18:09 -07:00
  • c5b1a9372a test(ai): cover config-provider default fallback when no profile row Chris Chen 2026-06-25 13:34:20 -07:00
  • ece2676e38 style(church-profile): lead AI tab title with English for consistency Chris Chen 2026-06-25 13:32:53 -07:00
  • 26259c252d feat(church-profile): AI 設定 tab (provider/model/key) with masked keys Chris Chen 2026-06-25 13:29:52 -07:00
  • 120240ad0c feat(ai): DB-only config + runtime provider selection via factory Chris Chen 2026-06-25 13:23:13 -07:00
  • ece9938bfb feat(ai): add DB-backed church AI config provider Chris Chen 2026-06-25 13:18:04 -07:00
  • a16e21dbfd feat(church-profile): masked-read + leave-unchanged write for AI keys Chris Chen 2026-06-25 13:13:42 -07:00
  • 75905e7036 feat(church-profile): add AI provider/model/key columns + migration Chris Chen 2026-06-25 13:07:30 -07:00
  • bcaa3e2f25 Add implementation plan: Church Profile AI Settings tab Chris Chen 2026-06-25 13:03:53 -07:00
  • 5448a9ff85 Add design spec: Church Profile AI Settings tab Chris Chen 2026-06-25 12:55:39 -07:00
  • bdccb79029 WIP Chris Chen 2026-06-25 12:38:13 -07:00
  • a89e936f4d Implement AI Chris Chen 2026-06-25 11:11:26 -07:00
  • fa3e75a333 add approve. Chris Chen 2026-06-25 10:22:01 -07:00
  • 8bdb942a49 update detail. Chris Chen 2026-06-25 09:33:49 -07:00
  • 609ce6a439 WIP Chris Chen 2026-06-24 21:47:22 -07:00
  • 46a4298a71 WIP Chris Chen 2026-06-24 21:37:41 -07:00
  • 9f91683633 docs: sync DB_SCHEMA with Form 990 functional-expense schema Chris Chen 2026-06-24 19:54:00 -07:00
  • 5aaac3246d feat(web): Form 990 functional-expenses report page, route, and nav Chris Chen 2026-06-24 19:49:02 -07:00
  • 677cb8f054 feat(web): default functional class on the ministry form Chris Chen 2026-06-24 19:45:40 -07:00
  • f79dab163d feat(web): functional-class override on the expense form Chris Chen 2026-06-24 19:43:03 -07:00
  • 4438c351e2 feat(web): map expense categories to Form 990 lines in the category admin page Chris Chen 2026-06-24 19:38:17 -07:00
  • 1a03a1cbba feat(finance): expose Form 990 line catalog endpoint Chris Chen 2026-06-24 19:36:01 -07:00
  • 3f61e9ceaf feat(web): add Form990Report permission and expense functional-class/line fields Chris Chen 2026-06-24 19:33:37 -07:00
  • b41297f972 feat(finance): Form 990 functional-expenses report endpoint Chris Chen 2026-06-24 19:30:33 -07:00
  • a5de2dbbb1 feat(finance): Form 990 Part IX functional-expense aggregation service Chris Chen 2026-06-24 19:26:59 -07:00
  • 1fa36ae62f fix(finance): make Form990 row DTO use properties (System.Text.Json skips fields) Chris Chen 2026-06-24 19:23:54 -07:00
  • 1353b5571f feat(finance): add Form 990 report DTOs and permission module Chris Chen 2026-06-24 19:23:05 -07:00
  • 4e83f27703 feat(seed): default Administration ministry to Management & General Chris Chen 2026-06-24 19:21:04 -07:00
  • d5e1732505 feat(seed): seed Form 990 line catalog and default subcategory mappings Chris Chen 2026-06-24 19:17:51 -07:00
  • ae757bee3d test(seed): use Assert.Single predicate overload (xUnit2031) Chris Chen 2026-06-24 19:15:10 -07:00
  • 6e04b64466 feat(seed): add IT/Professional/Finance categories and rename overlapping subcategories Chris Chen 2026-06-24 19:12:57 -07:00
  • f70a7b5a58 feat(db): migration for Form 990 lines, category mapping, functional class Chris Chen 2026-06-24 19:09:00 -07:00
  • b6b110254a feat(expense): add per-expense FunctionalClass override Chris Chen 2026-06-24 19:05:07 -07:00
  • d3e6b5aed5 feat(ministry): add DefaultFunctionalClass for Form 990 functional split Chris Chen 2026-06-24 19:00:36 -07:00
  • ac84097254 test(expense): assert Form990LineCode projection resolves Chris Chen 2026-06-24 18:57:14 -07:00
  • 971bf165cc feat(expense): map category group/subcategory to Form 990 lines Chris Chen 2026-06-24 18:53:13 -07:00
  • f1faa0d435 feat(expense): add Form990ExpenseLine catalog entity and functional-class constants Chris Chen 2026-06-24 18:47:42 -07:00
  • 9dbb1d38d8 WIP Chris Chen 2026-06-24 18:45:22 -07:00
  • e908e35530 docs: implementation plan for sub-project A (Form 990 functional expenses) Chris Chen 2026-06-24 18:41:35 -07:00
  • b51f22cfba docs: expand 990 expense-line catalog and add categories to cover gaps Chris Chen 2026-06-24 18:30:49 -07:00
  • 764464e785 docs: spec for sub-project A — expense 990 functional expenses (Part IX) Chris Chen 2026-06-24 18:24:17 -07:00
  • cfd344f48c Update dashboard.component.html Chris Chen 2026-06-24 12:34:56 -07:00
  • 4dc7ff7df7 Update member.model.ts Chris Chen 2026-06-24 12:07:02 -07:00
  • e9aad74df6 update quick add. Chris Chen 2026-06-24 12:01:55 -07:00
  • e768f53ccc feat(giving): show Sunday attendance per session and add edit action Chris Chen 2026-06-24 11:40:44 -07:00
  • b0e2e112fc feat(giving): add sundayAttendanceCount model field and attendance setCounts API Chris Chen 2026-06-24 11:26:16 -07:00
  • 28eba8a3ea feat(giving): include Sunday attendance total in offering session list Chris Chen 2026-06-24 11:21:49 -07:00