公司只有财务和出借收款经理两名办理人,新增限定公司、出借人和借款范围的关联方确认模式。 仅豁免指定公司代表的收款人关联;经办、自审、证据、交易归属、资金占用及 Q6 限制保留。 贯通付款、人工回单、银行对账、补证恢复、晚到补记与追回;电脑和手机显示实际确认身份。 授权版本、付款与对账停用事件及历史决定只增不改,新增迁移 20261009010000_loan_related_approval。 本地合成验证:82 迁移、HTTP 109 组、浏览器 33 组、数据库约束 9 组通过;13 个有效资金守卫变异均捕获。 已有服务端全量 4519 项通过、1 项原有跳过,后续定向 77 项通过;提示收尾另有 908 项合同测试及前端构建通过。 按用户授权提交后对干净候选运行正式 verify-candidate,不沿用旧候选回执。 限制:独立代码复核待完成(inline 模式);真实回单待验。本次仅本地提交,不推送、不部署。 生成关联决定后不能直接降回不理解该模式的旧代码;真实授权、录入、生产核实和付款仍须明确批准。
22 KiB
公司借款台账与本金归还
2026-10-08 两人办理关联方还款(本地实施与合成验证完成,已授权本地提交及正式验证)
- 用户确认:实际经办为一名财务兼人事行政;马经理为股东、个人出借收款人,且有权代表公司批准还款。技术员工不参与复核、审批或见证,不增加财务权限,不作为候选、任务接收人或业务验收所需人员。
- 按用户“按照这个思路规划”的要求,采用“财务经办 + 马经理代表公司作关联方确认”。公司授权已明确,不再列为待决问题;其授权范围和真实身份在业务启用时留存。该模式具有两名操作者的分工,不具备无利益关联的独立审批,页面、凭据和审计必须如实标明。
- 原独立模式在创建时排除出借收款人,按实际人员配置无法办理该笔还款;该默认规则保留。新增关联模式覆盖正常付款及归属、人工回单、提交清单、失败/终态释放、补证恢复、晚到成功、追回和误报关闭,实施验证记录见 implement 顶部。
- 新模式只豁免指定确认人的“收款人关联”冲突,不豁免制单、提交、导出、上传、录入或提案等经办冲突。财务可承担多项经办工作;同一真实身份不能通过多个账号或角色自审。Q6“人工确认未提交”在此模式下不启用,原双独立复核条件不降低。
- 回单 OCR 已实现,普通回单按实际文件识别和匹配,无需先向银行咨询。银行终态证据与普通 OCR 验收分开;OCR 或两人的确认均不能补足缺失的交易归属,也不能从“没有回单”推断没有付款。
- 用户已明确“开始实施”,本轮已完成 RP1–RP4 的本地实现及可执行验证;随后明确授权将 39 项本地改动提交,并运行新候选正式门禁,执行安排见 implement 顶部。AC20–AC26 有本轮合成证据;AC27 的数据库部分已验,独立代码复核及真实材料验收仍待完成。新候选门禁结论以该候选回执为准,旧候选
4c37fcee的通过回执不用于证明新模式;未授权推送、部署或本轮生产查询。
2026-10-07 本地阶段状态(历史时点,现状见 Current Status)
S4–S8 已本地提交 431c36ea;补齐剩余界面后合成回归为 81 迁移、HTTP 95、浏览器 19、数据库约束 9 组通过。应用代码沿用修复后的同模型只读静态复核,本轮只补测试与记录。S0 生产只读查询确认 OA 借款模块当前记录为 0,73 个已应用迁移校验值一致,待执行 8 个;不代表银行或线下没有付款。人员、真实建行材料和业务独立验收仍未完成,正式发布门禁尚待执行;不据此勾选整体真实还款验收或声明已部署。完整证据与限制见 implement.md 顶部。
2026-09-17 实施接续
用户明确要求借款尽快完成,沿本PRD与design既有个人出借人/CNY本金范围推进本地T1–T4,取代此前暂缓实施的优先级;不扩大为利息、备用金或通用付款。真实资料、余额和账户仍须正式录入核实,本地只用合成样例。风险与独立复核在交付/上线前保持未完成,不通过读取生产密钥或重跑旧恢复为本地开发解阻。
Goal
让财务能按已核实凭据查清公司向个人借入的未还本金,并完成申请、有权审批、网银付款、回单留存和业务本金核销。默认保留独立审批;本公司已授权、身份及借款范围明确的关联方还款,按 R3 采用财务经办与公司有权人的关联方确认。OA管理业务台账及付款证据,代账系统负责原负债科目记账,不把借款还本变成费用报销。
Background
- 用户提出历史两笔借入合并一次归还的真实需求;聊天提供的历史日期、金额和“本年无借还”尚未由本任务核验原始凭据,不据此创建真实余额或付款。
- 立项时仅有 reimbursement/travel_order 付款来源,创建依赖已有来源单;本任务后来新增借款还本来源,仍不开放自由填写收款人和用途的通用付款。
- 立项时建行用途/备注按报销生成,回单 OCR 及人工核对未覆盖借款。本地已有显式适配,实际材料的识别与银行接受性仍须分别验证。
- 本 task 于 2026-09-17 获准规划,独立于报销收尾任务;后续实施授权与证据见 design/implement。目前为 in_progress,本轮已本地实现关联方模式,不扩大真实录入或付款授权。
Scope
首期仅个人出借人(可为股东、非员工)的公司借入本金台账和人民币本金归还,沿现有建行付款支持范围;一张还款申请关联同一公司、同一出借人、同币种的一条或多条已确认借款,对应一笔银行付款。支持部分偿还,不建设任意用途的通用付款平台。
Requirements
R1 历史及后续借入登记
财务登记出借人、公司主体、借入本金、实际到账日期、协议/确认资料、原入账凭证及核对截止时点。历史登记与当前收款分开,不产生虚假的新增现金流。余额未经财务与代账确认时只能标待核实,不能用于还款;已在系统外偿还的本金须有依据并单列确认,不能重复冲减。出借人不必是员工,银行资料沿现有加密/授权查看/审计要求。
R2 余额与还款申请
列表区分未还本金、已占用待付款额、可申请额及核对截止日期,资料覆盖不全时不得回答“已结清”。财务选择借款及本次分配金额,正数、两位小数且合计等于付款额;不得跨公司/出借人/币种合并。并发申请不能超额,已付、取消及有银行在途的状态必须分别处理。
R3 有权审批与明确的关联方例外
财务创建并提交,沿付款批次完成决定,不新增重复的通用审批链。默认 independent 模式沿现有经理/CEO独立复核,排除制单/提交人和出借收款人对应的OA身份,无合格人时阻止提交。不得使用 admin 通配、虚建非员工出借人或按姓名猜身份绕过。
新增 related_party 模式,限定公司、真实个人出借人、其关联员工及授权覆盖的已确认借款。财务登记实际公司授权与范围,指定有权的马经理确认;不要求技术员工或第三名员工参与。还款创建时由服务端核定并冻结模式、授权版本和身份;客户端不能自行切换,历史独立批次不能自动转为关联模式。
马经理作出每个新决定时,须当前在职、有相应经理/CEO业务权限、具备覆盖该事项的公司授权;仅豁免其作为本笔收款人的利益关联。经办、提交、导出、证据上传、人工录入和提案冲突继续拒绝,按真实员工身份判断,同一人兼任角色也不能消除冲突。关联模式的经办入口提前禁止指定确认人参与这些经办动作;其公司授权确认或债权/收款声明不记作独立复核。
付款申请可由公司代表填写理由退回;退回决定与授权留痕不可改,原申请不得继续批准或导出。退回不直接释放占用,由财务按未发送取消规则取消后重新申请,不修改原申请的付款快照。
付款前核对当前权限、授权、版本与启用状态;付款后的原审批与出借人资格按当时快照判断。新的银行事实确认仍核对当前确认人的资格。停止新付款不抹掉历史授权、不阻止银行事实留存或符合条件的已付核销;停止后续对账决定单独记录。具体时点及最终动作检查见 design 顶部。
R4 付款与回单证据
审批只占用额度,不减少未还本金。财务在网银实际付款,用途为“还款”,短备注按借款年份/本金语义生成,受现有银行长度校验;详细原借款对应关系留在OA,不硬塞进银行备注。原件可先留存,但金额、币种、付款/收款账户、交易成功状态及唯一身份不满足时不得登记已付。
复用现有回单核对的自动匹配/人工例外边界,显式支持借款来源;真实样本未验证前不宣称真实识别已验收。普通回单直接沿已有 OCR 处理实际文件,不先向银行询问字段。OCR不清或不可用时,原件留存、经办录入和按 R3 模式作出的人工决定不能伪称机器核实或银行验真;明确失败、受理中、账户/金额不符及重复交易不得靠普通理由放行。独立模式排除收款人和提案人;关联模式仅豁免指定收款人关联,上传/录入/提案等经办冲突继续排除,读取及最终消费人工证据同样执行该规则。
R5 核销、异常与会计交接
只有符合既有付款登记证据门禁并由财务明确登记成功时,才在同一事务内占用交易身份、核销分配本金并更新付款事实;同一请求重试幂等,跨批次/跨报销复用交易拒绝。取消须满足相应安全取消或逐提交终态证据门禁;有导出或银行提交后,不能凭口头“没有付款”释放额度。银行状态未知/在途时不能直接释放后重付。付款已登记后的错误处置保留原事实,另审纠错,不删除或覆盖记录。
付款成功与代账记账分开,记录凭证编号/记账确认及材料交接,不由OA自动生成会计分录。材料包括原借入凭证、协议/确认书、余额核对、审批及还款回单;本金不要求费用发票,不进入费用报销统计或费用预算。关键材料按适用访问权限留存,历史余额/分配不得无审计改写。
R6 关联方模式的对账接续与留痕
R3 的模式同时作用于付款审批、提交清单、成功/失败归属、人工回单、银行终态、失败确认、SR补证、晚到成功、误报关闭和追回;需要人工决定的事项由财务登记、马经理作关联方确认,最终核销/释放/补记/解冻仍重验各自证据和资金条件。成功回单完全满足自动核验时,不增加一次无必要的人工回单确认。两人确认、时间相近、金额或账户相同均不能替代指令归属、终态或到账证据。
每次决定记录模式、公司授权及版本、实际决定人与关联身份、材料快照和理由;后续读取、重建、最终消费均使用同一语义。Q6保持两名独立复核人的现有合同,在关联模式下服务端拒绝发起、复核和释放,页面说明不可用;无可用终态证据仍保持占用。旧独立记录及报销/差旅权限不因此放宽。
2026-10-07 S4–S8 本地接续(历史时点)
用户要求沿已确定工作直接执行。S4–S8 的本地实现和验证继续推进,阶段证据在 implement 顶部;AC9–AC19 不因后端或合成测试通过而自动勾为整体验收通过。新银行事件均标明人工核对,不伪称真实银行/OCR 已验;生产查询、推送、部署仍未执行。
Acceptance Criteria
勾选仅表示相应本地合成验收完成,不能代替真实材料、独立代码复核或生产启用。原勾选项保留独立模式基线,AC20–AC26 另有本轮关联模式证据;AC27 的数据库部分已验证,独立代码复核及固定候选正式门禁仍待完成。AC9–AC19 中一般“复核/确认”按 R3 区分独立复核与关联方确认,具体消费者见 design;AC12 的双独立复核不适用此转换。
-
AC1:合成历史两笔借入可登记并确认余额;未确认/重复登记/无凭据不进入还款,历史录入不被统计成当天新增收款。
-
AC2:同一出借人两笔借款合并一笔付款、部分偿还正确;超额、跨主体/出借人/币种、重复提交和并发占用均拒绝或幂等,金额用精确小数。
-
AC3(既有独立模式):财务不能自审,收款人即使持CEO/manager或多角色也不能批准自己的还款;无合格审批人、身份关联缺失/变动拒绝,无管理通配旁路。新关联模式的限定例外另按 AC20–AC27 验收,不以此勾选代替。
-
AC4:审批/导出/上传回单均不会单独减少本金;处理中保持占用,确定失败/安全取消释放,明确成功登记与分配核销原子完成,数据库异常整体回滚。
-
AC5:正确回单可匹配新来源,错金额/账户/币种、失败/受理、同额歧义、重复交易、晚到版本及人工自审分别受阻;真实样本未覆盖的自动识别仍明确待验。
-
AC6:付款完成可追到原借款分配和会计交接状态;余额查询标明截止/核对状态,不把OA无记录说成银行无还款,不把本金计入费用。
-
AC7:报销/差旅既有付款、独立复核、制单、回单和权限回归通过;PC/手机沿既有交互,机密字段默认脱敏,普通员工不能读全台账。
-
AC8:迁移与回退影响、独立只读复核、恢复风险处置和发布前条件完整;本地合成通过不替代真实银行接受性或部署,真实录入/付款另批。
-
AC9(对账,design 3.1/3.3):制单导出与银行提交尝试分别落表并关联;提交清单须经相应模式的确认;确认失败只计未作废附件,但作废的成功或处理中回单仍按事实阻断;确认失败按批次冻结快照核对,出借员工离职不阻断原审批效力;新的事实决定仍须有当前合格确认人;一条指令的终态不能推定其他提交已结束。
-
AC10(失败归属,3.1):存在同金额候选时,确认失败须有已复核、写明覆盖哪些指令的失败归属;未确认时保持占用。
-
AC11(银行终态释放,3.2;2026-10-07 补充:同一指令的终态事实可了结该指令此前的处理中回单,其他提交不能代替;最终取消释放的事务须重验全部条件,并与新提交、晚到回单串行;终态证据与付款回单分开存放,作废或被替换后不能继续作为依据):每次已登记提交均有能唯一定位指令、经相应模式确认的终态证据,且无未解决的成功或处理中事实,才可转
confirmed_not_paid并释放;对账单、截图、时间依据与等待期均不能单独放行;释放后禁止再导出。 -
AC12(人工确认未提交,3.2a,用户 2026-10-06 确认支持):仅独立模式在全部证据加两名不同的独立复核人满足时转
confirmed_not_submitted,记录与页面标为人工确认;人员不足或材料缺失时继续占用。关联模式不启用 Q6。 -
AC13(冻结,3.5):冻结按原因记录;拦截新申请及其他在途申请的复核与导出,不拦事实登记;误报经相应模式确认后关闭不补记;证据不确定继续冻结;全部原因关闭才解冻。
-
AC14(晚到成功,3.4):只增不改并标记原结论被推翻;按冻结快照与历史审批核对;覆盖已释放与已确认失败未释放;逐笔先处理占用冲突再按差额结清,余额列待追回;补记不生成可导出指令,整笔超额也完整记录;同一交易不能两次使用。
-
AC15(追回,3.5):凭到账证据经相应模式确认登记,支持部分追回;仅登记不解冻;本期不支持冲抵。
-
AC16(存量):历史批次保留已知的导出次数,新增“历史导出汇总”标明已知与待核实信息;它不是一次真实导出或银行提交,不能据此放行额度;上线前须核实生产存量(S0)。
-
AC17(补证恢复,SR1–SR3;既有实现验证见 implement):已确认失败或未付款且本金仍全部占用时,可补充有效证据并重新按相应模式确认;原结论与依据不可改,旧证据/复核可追溯;恢复不得重开付款、导出或改变本金,不适用于已释放/已结清、成功事实或 Q6 人工未提交。
-
AC18(恢复批准有效性,SR2–SR4;既有实现验证见 implement):材料、核验版本、提交清单、归属或同额候选变化使旧恢复批准失效;新建再撤回、换回同一流水号、撤回/驳回恢复均不能复活旧批准或回退原释放依据;补证后能重新送审,不永久卡死;当前确认人合格且不属于任何相关经办身份,关联模式仅例外允许指定收款人身份。
-
AC19(最终恢复释放,SR3–SR5;后端验证见 implement):确认与最终取消均满足 S3 全部条件及等待期;最终事务重验最新恢复批准与证据,释放、取消、消费批准、审计原子且幂等;与证据/提交/核验/候选变化确定性交错时不错误释放;成功事实转对账、未知继续占用。PC/手机完整操作与真实银行接受性分别验收。
-
AC20(关联范围):仅经登记确认的公司、个人出借人、关联员工及借款范围可新建关联模式还款;模式由服务端核定并冻结,伪造模式/授权/公司/借款、身份未核实或范围不符均拒绝;旧独立批次、报销与差旅不变。
-
AC21(两人分工):财务可合并经办角色;指定马经理可以代表公司确认本人的还款,但不能兼任本批经办/提交/导出/上传/录入/提案人。分别测试各冲突与多角色、多账号;不能把其从所有排除列表整体删除,技术员工始终无审批及敏感读取权限。
-
AC22(真实留痕):所有人工决定及审计记录模式、授权版本、确认人的关联身份和证据快照;详情、待办和最终证据重建一致,不把关联方确认显示为独立复核;已决定记录不可改、不可删除、不可事后换模式或授权。
-
AC23(完整接续):以财务和收款经理两个合成身份贯通付款、提交清单、成功/失败归属、人工回单、失败/终态释放、SR、晚到补记、误报关闭及部分/全额追回;确认入口、材料读取与最终消费均可执行。缺证、同额归属不明、冲突或重复交易仍拒绝,拒绝后本金、占用和冻结保持正确。
-
AC24(Q6边界):关联模式的 Q6 发起、双审及最终释放均由服务端拒绝,页面说明不启用;直接调用或伪装旧独立批准也不能绕过。原独立模式双审反例仍通过,无回单不能释放占用。
-
AC25(资格时点与并发):新申请/批准/导出校验当前付款授权;新的对账决定及最终释放校验当前对账授权;已付核销/已确认银行事实入账使用有效的历史审批与证据,不因停止新付款或原审批人事后离职而失败。新授权不能改写旧模式;授权停止、材料变化与确认/导出/释放按确定性交错验证,先后结果有明确语义。
-
AC26(页面与访问):电脑和手机以现有组件走通两人流程;财务无自审按钮,经理无经办按钮,必要材料按本批范围及用途审计读取;技术员工不获候选、待办、通知或材料。前端隐藏不能替代服务端鉴权。
-
AC27(数据与回退):仅新增型迁移,历史记录明确归为独立模式且不伪造授权;新字段、外键、模式/关联身份及不可变约束在数据库验收。新增关联决定后禁止不经评估降回不理解该模式的旧代码;最终候选重新验证并按规则只读复核,不沿用旧门禁宣称通过。
Out of Scope
- 不处理利息、工资/分红、员工向公司借备用金、资本金、债转股、机构借款、外币、一般退款或债务冲销;仅保留本任务已定义的超额还款实际追回,不做冲抵后续本金。
- 不做银行直连、流水自动导入、AI自然语言财务问答、自动会计凭证/税务、跨系统重复审批或全量ERP。
- 不伪造报销单承载本金,不改现有报销一单一笔付款规则,不解冻其他低频模块,不引入新视觉设计体系。
- 不索取聊天中的完整账号或真实凭证,不读取/轮换生产密钥,不沿用旧恢复/部署/真实付款授权。
Test Plan
真实Fastify路由与隔离PostgreSQL覆盖资金、身份、并发和事务回滚;前端沿现有Vitest/Playwright验证PC/手机。独立模式保留合成财务、独立审批人、收款人的基线;关联模式使用财务与收款经理两名真实角色的合成身份,技术员工只作无权访问反例,不让实际员工参与财务复核。跨业务重复交易与报销回归单列;OCR沿真实识别/归一化/匹配链,仅替换云端返回,不用预签身份替代正式认证全链。关键资金守卫配定向变异和确定性交错,按 implement 的 RP1–RP4 执行。执行端承担软件验证,不让用户制造真实还款来代测。
Current Status
本地已有 A/B/C、S1–S8、SR恢复及电脑/手机界面,本轮另完成关联方模式 RP1–RP4 的实现与可执行验证,已获准本地提交及新候选正式验证。最新借款专项为82迁移、HTTP 109、浏览器33、数据库约束9组通过;关联模式单列14组HTTP及电脑/手机各7组浏览器,13个有效守卫变异均捕获。报销付款、付款权限和导航35项通过,现行差旅冻结保护另2项通过;一次误选封存差旅整链的403失败保留,未恢复差旅权限。服务端全量4519通过、1项原有跳过,后续小改的77项定向验证通过,详细先后和证据见implement。AC20–AC26仅完成本地合成验收;AC5、AC8、AC27及其余整体业务验收保持开放。
较早候选 4c37fcee 的正式门禁 PASS 只证明旧独立模式;本轮提交后单独生成 verify-candidate 回执,不提前宣称通过,主会话检查也不等同独立代码复核。不得以测试数字推定真实银行接受性或生产已经应用。
生产曾于2026-09-27上线早期版本;上述后续本地提交尚未推送或部署。2026-10-07 22:08–22:09获准只读核实时,OA借款相关记录为0,已应用73迁移;这不是银行/线下无付款的结论,发布前仍需重新获准核对存量及迁移差集。人员条件现已明确为本节两人安排,独立模式无人可办理本笔还款;后续为本轮独立代码复核、真实材料及授权录入验收、固定候选门禁和获准发布,不再将关联模式、S8或SR列为未实现。
Planning Status(历史时点,已由顶部实施接续替代)
本task已形成PRD/design/implement待审方案,本日追加源码消费者地图与T1–T4技术切片,无产品实现。实际借款余额、收款账户、审批人资格及银行样本属于录入/上线前的证据门禁,不把聊天转述视作已核实。08-23关键恢复及09-05治理的准入判断见09-08顶部优先级表;未取得本task方案实施批准前不得start。无必须现在向用户索取的秘密或真实资料。