CR #838
open[CR-063] 會計科目缺口解除:GL 會計(科目表/傳票/事件規則)
0%
Description
【缺口】GAP-001 G-05:會計科目未定義(clearing→posting/rewards→posting/dispute→posting 三條同步分錄未實作,SDD-003 §13/14/15);原判定為「業務事實不可自建」。
【來源】米粿 2026-10-20 提供 taiwan-bank-card-accounting-subjects.md(台灣本國銀行信用卡發卡與收單會計科目,962 行),已複製入 repo:docs/00-governance/reference/。
【規格先行】SCS-007 新增 §7.3 GL 會計(v1.9):五張表、科目代碼規則、三條同步分錄(REWARD_REDEEM/CLEARING_ISSUER_PRESENT/ACQ_CHARGEBACK)、六項設計要點;§10 新增 #14 揭露仍缺。★ 文件自身不一致已揭露:ACCT_CLASS 標 CHAR(2) 但值域含 OBS(3 字元),實作採 CHAR(3) 並保留完整值域。
【實作】posting-service:V11__gl_accounting.sql(GL_ACCOUNT/GL_JOURNAL_ENTRY/GL_JOURNAL_LINE/ACCT_EVENT_RULE/GL_ACCT_BALANCE + GL_JE_NO_SEQ);V12__gl_seed.sql 由 tools/gen_gl_seed.py 產生(科目 90 筆/事件規則 17 筆,不手打);JournalEntry/JournalLine/AccountRule + GlRepository + JournalEntryService(借貸平衡/冪等/沖銷以反轉傳票/未知事件 fail-closed)+ JdbcGlRepository + GlController(POST/GET/reversals)。
【結果】JournalEntryServiceTest 5 測全綠;GlRepositoryIntegrationTest(Testcontainers 真實 Oracle + Flyway)驗證三條分錄規則、傳票號格式、寫回查、冪等唯一鍵、沖銷回填與原傳票標記 R。
【進度(2026-10-20 更新,commit b00e161)】三條同步分錄全數接線:①rewards 點數兌換(SCS-010 §7.5,169 測)/②clearing 請款認列(SCS-013 §7.2 v1.5,56 測)/③dispute 爭議扣款(SCS-012 §7.6,58 測)。
【仍缺(不假綠)】
-
端到端真機驗證受阻:
POST /api/v1/clearing/runs受服務間 ACL 保護(ACL 已放行cc-clearing-service,仍缺 M2M 權杖)→ 三條分錄皆未真機驗證。 -
結算/交割分錄未接:
NCCC_SETTLE_ISSUER(貸方=現金/同業存款)來源文件未給科目,V12種子 fail-closed 略過——外部會計輸入(決策D-034)。 -
零費用組織(
feeTotal=0且totalAmount>0)→CC-POST-4000→ 整批清算回滾(刻意大聲失敗,決策D-035/SCS-013 §10 #7)。 -
多幣別(
FX_RATE/匯兌損益)未實作(SCS-013 §10 #8)。 -
GL_ACCT_BALANCE日終結轉未實作(SCS-007 §10 #14)。
→ 依假綠判例 G3,本議題不結案(有殘項)。