3.9 KiB
3.9 KiB
Admin Finance Module Instructions
范围与入口
- 本文件适用于
src/modules/finance/。产品范围和状态读取../../../../../docs/财务管理/的产品确认与验收契约,后端读取../../../../../baiyue-firstleg/finance/AGENTS.md。 - 页面从
pages/进入,统一 API 从api/finance.ts进入;费用来源和柜次成本快照联查firstleg/,凭证与异步导出联查file/。 - 正式范围包括客户资金账户、充值申请审核、平台手工充值/扣款、授信额度维护、客户应收应付、应收款统计、客户对账单、应收结算单和应付结算单。业务冻结/结算/释放由服务端内部接口和跨区事件调用,不在 Admin 页面复制;第三方支付回调尚未接入,不要从历史原型自动扩大其他财务功能。
客户资金账户
pages/FinanceCustomerAccountsView.vue的列表和详情展示实际余额、冻结金额、授信额度、授信有效期、已用授信、冻结授信和总可用余额;操作列固定第一列。授信到期日必须晚于今天且不限制最远日期,到期日当天仍有效。客户上传的充值申请在详情内按待审核优先展示,审核、驳回及凭证预览以服务端申请版本和客户归属为准。- 平台手工充值、扣款和授信调整必须提交账户版本与幂等键;扣款及授信下限由服务端校验。页面只展示服务端余额、授信和流水结果,不在浏览器补算或回退静态数据。
客户筛选与统计
- 六个正式列表页统一加载全部
ACTIVE客户并使用可筛选下拉框;用户可见选项只显示tenantName,以customerId作为接口筛选值。 - 不恢复自由输入客户关键词,不把客户编码、联系人或手机号拼入下拉标签;业务单号和费用项目继续使用独立筛选字段。
- 应收款统计从
pages/FinanceReceivableStatisticsView.vue、api/finance.ts进入,只汇总指定生成月份的 CNY 正式应收结算单。 - 统计月份使用
yyyy-MM;当前页打印留在页面,Excel 通过FINANCE_RECEIVABLE_STATISTICS进入 File 下载中心异步导出。
费用付款与凭证快速入口
- 入库费用的应付/直接已付表单在
../unified-orders/components/InboundFeeDetailManager.vue,柜次费用在../loading-lists/components/ContainerFeesPanel.vue;柜级公共费用在同一面板按服务端返回的真实客户与订单分摊,入仓 ID/入仓码同时选填或同时为空;对应 API 分别为../unified-orders/api/inboundFeeDetails.ts、../loading-lists/api/containerFees.ts。 - 柜级分摊请求的各行金额之和必须精确等于公共费用总额;创建后使用
allocationGroupId整组审核、驳回、调整或作废,前端不得调用单行接口造成部分成功,也不得提交柜外客户、订单或入仓归属。 DIRECT_PAID必须提交已付时间、付款方式,以及付款流水号或至少一个付款凭证;凭证由费用 API 调用/platform/finance/v1/vouchers上传为FINANCE_VOUCHER,并绑定当前客户。- 后端事实入口为 Firstleg
FeePaymentSnapshotValidator、入库/柜次费用服务,文件元数据归 File;Finance 只消费已发布的费用来源快照,不在前端或 Finance 中重建付款事实。 - 财务与柜级公共费用分摊统一从
pages/和api/finance.ts进入;allocationGroupId整组审核、驳回、调整或作废,不允许按单条分摊明细绕过整组状态机。
权限与验证
- 列表和详情只读遵守
*:list统一语义;确认、审核、导出、上传等写入或产出文件的动作继续使用独立权限。 - 修改筛选、DTO 或请求参数时同步检查页面、API 类型、Mock/Fixture、测试、Finance OpenAPI 和实际消费者。
- 至少运行 Finance 模块受影响测试和
pnpm typecheck;交付前按项目指引运行pnpm test与pnpm build。