ruoyi-vue-pro 开发指南 ruoyi-vue-pro 开发指南
  • 萌新必读
  • 后端手册
  • 中间件手册
  • 工作流手册
  • 大屏手册
  • 支付手册
  • 会员手册
  • 商城手册
  • ERP 手册
  • CRM 手册
  • MES 手册
  • WMS 手册
  • HRM 手册
  • FMS 手册
  • IM 即时通讯手册
  • AI 大模型手册
  • IoT 物联网手册
  • 公众号手册
  • 系统手册
  • 运维手册
  • 前端手册 Vue 3.x
  • 前端手册 Vben 5.x
  • 前端手册 Vue 2.x
  • 前端手册 Admin Uniapp
  • 工作流手册
  • 大屏手册
  • 支付手册
  • 会员手册
  • 商城手册
  • ERP 手册
  • CRM 手册
  • MES 手册
  • WMS 手册
  • HRM 手册
  • FMS 手册
  • IM 即时通讯手册
  • AI 大模型手册
  • IoT 物联网手册
  • 公众号手册
  • 系统手册
视频教程
  • Vue3 + element-plus (opens new window)
  • Vue3 + vben5(ant-design-vue、element-plus) (opens new window)
  • Vue2 + element-ui (opens new window)
微服务版 (opens new window)
作者博客 (opens new window)
GitHub (opens new window)
  • 萌新必读
  • 后端手册
  • 中间件手册
  • 工作流手册
  • 大屏手册
  • 支付手册
  • 会员手册
  • 商城手册
  • ERP 手册
  • CRM 手册
  • MES 手册
  • WMS 手册
  • HRM 手册
  • FMS 手册
  • IM 即时通讯手册
  • AI 大模型手册
  • IoT 物联网手册
  • 公众号手册
  • 系统手册
  • 运维手册
  • 前端手册 Vue 3.x
  • 前端手册 Vben 5.x
  • 前端手册 Vue 2.x
  • 前端手册 Admin Uniapp
  • 工作流手册
  • 大屏手册
  • 支付手册
  • 会员手册
  • 商城手册
  • ERP 手册
  • CRM 手册
  • MES 手册
  • WMS 手册
  • HRM 手册
  • FMS 手册
  • IM 即时通讯手册
  • AI 大模型手册
  • IoT 物联网手册
  • 公众号手册
  • 系统手册
视频教程
  • Vue3 + element-plus (opens new window)
  • Vue3 + vben5(ant-design-vue、element-plus) (opens new window)
  • Vue2 + element-ui (opens new window)
微服务版 (opens new window)
作者博客 (opens new window)
GitHub (opens new window)
  • 萌新必读

    • 简介
    • 交流群
    • 视频教程
    • 功能列表
    • 快速启动(后端项目)
    • 快速启动(前端项目)
    • 接口文档
    • 技术选型
    • 项目结构
    • 代码热加载
    • 一键改包
    • 迁移模块(适合新项目)
    • 删除功能(以租户为例)
    • 表结构变更(版本升级)
    • 国产信创数据库(DM 达梦、大金、OpenGauss、瀚高)
    • 如何去除 Redis 缓存
    • 内网穿透
    • 面试题、简历模版、简历优化
    • 项目外包
  • 后端手册

    • 新建模块
    • 代码生成【单表】(新增功能)
    • 代码生成【主子表】
    • 代码生成(树表)
    • 代码生成(移动端)
    • 功能权限
    • 数据权限
    • 用户体系
    • 三方登录
    • OAuth 2.0(SSO 单点登录)
    • SaaS 多租户【字段隔离】
    • SaaS 多租户【数据库隔离】
    • WebSocket 实时通信
    • 异常处理(错误码)
    • 参数校验、时间传参
    • 分页实现
    • VO 对象转换、数据翻译
    • 文件存储(上传下载)
    • Excel 导入导出
    • 操作日志、访问日志、异常日志
    • MyBatis 数据库
    • MyBatis 联表&分页查询
    • 多数据源(读写分离)、事务
    • Redis 缓存
    • 本地缓存
    • 异步任务
    • 分布式锁
    • 幂等性(防重复提交)
    • 请求限流(RateLimiter)
    • HTTP 接口签名(防篡改)
    • HTTP 接口加解密
    • 单元测试
    • 验证码
    • 工具类 Util
    • 配置管理
    • 数据库文档
  • 中间件手册

    • 定时任务
    • 消息队列(内存)
    • 消息队列(Redis)
    • 消息队列(RocketMQ)
    • 消息队列(RabbitMQ)
    • 消息队列(Kafka)
    • 限流熔断
  • 工作流手册

    • 工作流演示
    • 功能开启
    • 工作流(达梦适配)
    • 审批接入(流程表单)
    • 审批接入(业务表单)
    • 流程设计器(BPMN)
    • 流程设计器(钉钉、飞书)
    • 选择审批人、发起人自选
    • 会签、或签、依次审批
    • 流程发起、取消、重新发起
    • 审批通过、不通过、驳回
    • 审批加签、减签
    • 审批转办、委派、抄送
    • 执行监听器、任务监听器
    • 流程表达式
    • 流程审批通知
    • 移动端审批
  • 大屏手册

    • 报表设计器
    • 大屏设计器
  • 支付手册

    • 功能开启
    • 支付宝支付接入
    • 微信公众号支付接入
    • 微信小程序支付接入
    • 支付宝、微信退款接入
    • 支付宝转账接入
    • 微信转账接入
    • 钱包充值、支付、退款
    • 模拟支付、退款
    • 移动端支付管理
  • 会员手册

    • 功能开启
    • 微信公众号登录
    • 微信小程序登录
    • 微信小程序订阅消息
    • 微信小程序码
    • 会员用户、标签、分组
    • 会员等级、积分、签到
    • 移动端会员管理
  • 商城手册

    • 商城演示
    • 功能开启
    • 商城装修
    • 在线客服
    • 【商品】商品分类
    • 【商品】商品属性
    • 【商品】商品 SPU 与 SKU
    • 【商品】商品评价
    • 【交易】购物车
    • 【交易】交易订单
    • 【交易】售后退款
    • 【交易】快递发货
    • 【交易】门店自提
    • 【交易】分销返佣
    • 【营销】优惠劵
    • 【营销】积分商城
    • 【营销】拼团活动
    • 【营销】秒杀活动
    • 【营销】砍价活动
    • 【营销】满减送活动
    • 【营销】限时折扣
    • 【营销】内容管理
    • 【统计】会员、商品、交易统计
    • 移动端商城管理
  • ERP手册

    • ERP 演示
    • 功能开启
    • 【产品】产品信息、分类、单位
    • 【库存】产品库存、库存明细
    • 【库存】其它入库、其它出库
    • 【库存】库存调拨、库存盘点
    • 【采购】采购订单、入库、退货
    • 【销售】销售订单、出库、退货
    • 【财务】采购付款、销售收款
    • 移动端 ERP
  • CRM手册

    • CRM 演示
    • 功能开启
    • 【线索】线索管理
    • 【客户】客户管理、公海客户
    • 【商机】商机管理、商机状态
    • 【合同】合同管理、合同提醒
    • 【回款】回款管理、回款计划
    • 【产品】产品管理、产品分类
    • 【通用】数据权限
    • 【通用】跟进记录、待办事项
    • 移动端 CRM
  • AI大模型手册

    • AI 大模型演示
    • 功能开启
    • AI 聊天对话
    • AI 绘画创作
    • AI 知识库(RAG)
    • AI 音乐创作
    • AI 写作助手
    • AI 思维导图
    • AI 工具(function calling)
    • AI 工作流
    • Dify 工作流
    • FastGPT 工作流
    • Coze 智能体
    • 推理模式(thinking)
    • 联网搜索
    • MCP Client 客户端
    • MCP Server 服务端
    • 【模型接入】Claude
    • 【模型接入】OpenAI
    • 【模型接入】通义千问
    • 【模型接入】DeepSeek
    • 【模型接入】字节豆包
    • 【模型接入】腾讯混元
    • 【模型接入】硅基流动
    • 【模型接入】MiniMax
    • 【模型接入】月之暗面
    • 【模型接入】百川智能
    • 【模型接入】文心一言
    • 【模型接入】LLAMA
    • 【模型接入】智谱 GLM
    • 【模型接入】讯飞星火
    • 【模型接入】微软 OpenAI
    • 【模型接入】谷歌 Gemini
    • 【模型接入】Stable Diffusion
    • 【模型接入】Midjourney
    • 【模型接入】Suno
    • 【模型接入】Grok
    • 【模型接入】阶跃星辰
    • 移动端 AI 大模型
  • IoT物联网手册

    • 功能开启
    • 产品管理
    • 设备管理
    • 物模型配置
    • 设备网关与子设备
    • 设备动态注册
    • 设备接入(概述)
    • 设备接入(HTTP 协议)
    • 设备接入(MQTT 协议)
    • 设备接入(EMQX 协议)
    • 设备接入(TCP 协议)
    • 设备接入(UDP 协议)
    • 设备接入(WebSocket 协议)
    • 设备接入(CoAP 协议)
    • 设备接入(Modbus Client 模式)
    • 设备接入(Modbus Server 模式)
    • 设备接入(自定义协议)
    • 场景联动
    • 数据流转
    • 告警配置
    • OTA 固件升级
    • 移动端 IoT 物联网
  • MES手册

    • MES 演示
    • 功能开启
    • 【基础】物料产品、分类、计量单位
    • 【基础】客户管理、供应商管理
    • 【基础】车间设置、工作站设置
    • 【基础】编码规则
    • 【生产】工序设置、工艺流程
    • 【生产】生产工单
    • 【生产】生产排产、工序流转卡
    • 【生产】生产报工
    • 【生产】安灯配置、安灯呼叫
    • 【生产】工作记录
    • 【仓库】仓库与库区库位、条码赋码、SN码
    • 【仓库】批次管理、库存现有量、库存事务
    • 【仓库】到货通知、采购入库、采购退货
    • 【仓库】生产领料、生产退料、物料消耗
    • 【仓库】产品产出、产品入库
    • 【仓库】发货通知、销售出库、销售退货
    • 【仓库】外协发料、外协入库
    • 【仓库】其他入库、其他出库
    • 【仓库】调拨单、装箱管理
    • 【仓库】库存盘点
    • 【质量】检测项设置、常见缺陷
    • 【质量】质检方案
    • 【质量】来料检验(IQC)
    • 【质量】过程检验(IPQC)
    • 【质量】出货检验(OQC)
    • 【质量】退货检验(RQC)
    • 【质量】待检任务、检验结果、缺陷记录
    • 【设备】设备类型、设备台账
    • 【设备】点检保养项目、点检保养方案
    • 【设备】点检记录、保养记录、维修单
    • 【工具】工具类型、工装夹具台账
    • 【排班】班组设置、节假日设置
    • 【排班】排班计划、排班日历
    • 移动端 MES
  • WMS手册

    • WMS 演示
    • 功能开启
    • 【基础】仓库
    • 【基础】商品、SKU、分类、品牌
    • 【基础】往来企业(供应商、客户)
    • 【库存】库存记录、流水、统计
    • 【单据】入库
    • 【单据】出库
    • 【单据】移库
    • 【单据】盘库
    • 【其它】WMS、MES、ERP 对比
    • 移动端 WMS
  • HRM人力资源

    • HRM 演示
    • 功能开启
    • 【组织】工作台、组织架构
    • 【员工】员工管理
    • 【招聘】招聘管理
    • 【考勤】考勤管理
    • 【社保】社保管理
    • 【薪资】计薪设置、薪资档案
    • 【薪资】月度工资、工资条
    • 【绩效】绩效模板、绩效计划
    • 【绩效】绩效考核、绩效档案
    • 移动端 HRM
  • FMS财务管理

    • FMS 演示
    • 功能开启
    • 【设置】账套管理、财务参数、财务指标
      • 1. 账套管理
        • 1.1 主表表结构
        • 1.2 子表结构
        • 1.3 状态流转
        • 1.4 管理后台
      • 2. 财务参数
        • 2.1 表结构
        • 2.2 管理后台
      • 3. 财务指标
        • 3.1 表结构
        • 3.2 管理后台
        • 3.3 财务首页
    • 【设置】币别、科目、辅助核算、初始余额
    • 【设置】凭证字、常用摘要、凭证模板
    • 【凭证】凭证管理
    • 【账簿】账簿管理
    • 【报表】财务报表
    • 【结账】期末结账
    • 移动端 FMS
  • IM即时通讯手册

    • IM 演示
    • 功能开启
    • 【好友】好友关系、好友申请
    • 【群聊】群组、群成员、入群申请
    • 【消息】私聊、群聊、频道消息
    • 【频道】频道、频道素材
    • 【内容】表情、敏感词
    • 【通话】语音通话、视频通话、共享屏幕
    • 【WebSocket】实时推送与离线消息
    • 移动端 IM 即时通讯
  • 公众号手册

    • 功能开启
    • 公众号接入
    • 公众号粉丝
    • 公众号标签
    • 公众号消息
    • 模版消息
    • 自动回复
    • 公众号菜单
    • 公众号素材
    • 公众号图文
    • 公众号统计
    • 移动端公众号管理
  • 系统手册

    • 短信配置
    • 邮件配置
    • 站内信配置
    • Webhook(钉钉、飞书、企微)
    • 数据脱敏、字段权限
    • 敏感词
    • 地区 & IP 库
  • 运维手册

    • 开发环境
    • Linux 部署
    • Docker 部署
    • Jenkins 部署
    • 宝塔部署
    • 1Panel 部署
    • HTTPS 证书
    • 服务监控
    • Tomcat WAR 部署
  • 前端手册 Vue 3.x

    • 开发规范
    • 菜单路由
    • Icon 图标
    • 字典数据
    • 系统组件
    • 通用方法
    • 配置读取
    • CRUD 组件
    • 国际化
    • IDE 调试
    • 代码格式化
  • 前端手册 Vben 5.x

    • 开发规范
    • 菜单路由
    • 图标、主题、国际化
    • 字典数据
    • 系统组件
    • 通用方法
    • 配置读取
    • IDE 调试
    • 代码格式化
  • 前端手册 Vue 2.x

    • 开发规范
    • 菜单路由
    • Icon 图标
    • 字典数据
    • 系统组件
    • 通用方法
    • 配置读取
  • 前端手册 Admin Uniapp

    • 开发规范
    • 菜单路由
    • 图标、主题、国际化
    • 字典数据
    • 系统组件
    • 通用方法
    • IDE 调试
    • 代码格式化
    • 运行发布
  • 更新日志

    • 【v2026-07】
    • 【v2026-06】
    • 【v2026-05】
    • 【v2026-04】
    • 【v2026-03】
    • 【v2026-01】
    • 【v2025-12】
    • 【v2025-11】
    • 【v2025-10】
    • 【v2025-09】
    • 【v2025-08】
  • 开发指南
  • FMS财务管理
芋道源码
2026-08-13
目录

【设置】账套管理、财务参数、财务指标

账套管理、财务参数和财务指标属于设置管理,由 yudao-module-fms 后端模块的 config、home 包实现,前端实现在 @/views/fms/config 和 @/views/fms/home 目录。

账套是 FMS 的业务数据边界。同一个后台账号可以加入多个账套;凭证、科目、账簿、报表、结账等数据都归属于一个账套,用户进入 FMS 后先通过页面顶部的账套切换器选择当前账套,再在该账套下开展财务工作。

  • 账套管理:维护企业资料、账套成员和权限,并完成【开始记账】初始化。
  • 财务参数:维护会计制度、科目级次、编码规则、账簿余额方向和结账前审核要求。
  • 财务指标:配置财务首页指标的名称、取数报表和公式。

本文涉及表如下图所示:

账套、财务参数和财务指标表关系

# 1. 账套管理

账套,由 FmsAccountSetController 提供接口(/fms/config/account-set);账套成员和默认账套,由 FmsAccountUserController 提供接口(/fms/config/account-user)。

# 1.1 主表表结构

省略 creator/create_time/updater/update_time/deleted/tenant_id 等通用字段

CREATE TABLE `fms_account_set` (
  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',

  `company_code` varchar(64) DEFAULT NULL COMMENT '公司编码',
  `company_name` varchar(255) DEFAULT NULL COMMENT '公司名称',
  `company_profile` varchar(500) DEFAULT NULL COMMENT '公司简介',
  `industry` varchar(255) DEFAULT NULL COMMENT '所在行业',
  `location` varchar(255) DEFAULT NULL COMMENT '所在地',
  `legal_representative` varchar(255) DEFAULT NULL COMMENT '法人代表',
  `legal_representative_id_number` varchar(255) DEFAULT NULL COMMENT '身份证号',
  `business_license_number` varchar(255) DEFAULT NULL COMMENT '营业执照号',
  `organization_code` varchar(255) DEFAULT NULL COMMENT '组织机构代码',
  `remark` varchar(500) DEFAULT NULL COMMENT '备注',

  `contact_name` varchar(255) DEFAULT NULL COMMENT '联系人',
  `office_telephone` varchar(32) DEFAULT NULL COMMENT '办公电话',
  `mobile` varchar(32) DEFAULT NULL COMMENT '手机号码',
  `fax_number` varchar(32) DEFAULT NULL COMMENT '传真号码',
  `qq_number` varchar(255) DEFAULT NULL COMMENT 'QQ 号码',
  `email` varchar(255) DEFAULT NULL COMMENT '邮箱',
  `other_contact` varchar(255) DEFAULT NULL COMMENT '其他',
  `address` varchar(255) DEFAULT NULL COMMENT '详细地址',

  `currency_id` bigint DEFAULT NULL COMMENT '币种编号',
  `start_time` datetime DEFAULT NULL COMMENT '启用期间',
  `standard` int DEFAULT NULL COMMENT '会计制度',
  `initialized` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否已初始化',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_business` (`company_code`, `deleted`, `tenant_id`)
) ENGINE=InnoDB COMMENT='FMS 账套';

① company_code 公司编码在同一租户内唯一,由 FmsAccountSetServiceImpl 的 validateAccountSetCompanyCodeUnique 校验。公司简介、行业、法人、证照和联系方式属于账套的企业资料,账套不提供删除操作,避免误删后破坏凭证、账簿和报表的归属关系。

② currency_id 关联 fms_currency 表的 id 字段,标识本位币;start_time 启用期间保存为所选月份第一天零点;standard 会计制度对应枚举 FmsAccountingStandardEnum,当前只提供 1 小企业会计准则(2013 年颁)。这三个字段在点击【开始记账】时写入。

③ initialized 标识账套是否完成初始化。详见 §1.3 状态流转。


该表包含一个子表:

  • fms_account_user(账套用户):在【授权】弹窗中维护,保存后台账号在该账套中的成员身份。

# 1.2 子表结构

CREATE TABLE `fms_account_user` (
  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',

  `account_set_id` bigint DEFAULT NULL COMMENT '账套编号',
  `user_id` bigint DEFAULT NULL COMMENT '后台用户编号',

  `default_status` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否默认账套',
  `founder` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否账套创建人',
  `level` int NOT NULL DEFAULT 2 COMMENT '成员权限级别',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB COMMENT='FMS 账套用户';

① account_set_id 关联 fms_account_set 表的 id 字段,user_id 关联 system_users 表的 id 字段。一条记录表示一个后台用户在一个账套中的成员身份。

② 创建账套时,系统自动把当前登录用户加入该账套,并设置 founder = 1、level = 1。如果该用户尚无默认账套,同时设置 default_status = 1。

③ default_status 是当前用户维度的默认账套。切换账套时,系统先清除该用户原默认账套,再将目标账套设置为默认,不影响其他用户的选择。

④ founder 标识账套创建人。授权时创建人不能被移出,避免账套失去固定负责人。

⑤ 枚举 level 成员权限级别(FmsAccountUserLevelEnum),对应字典 fms_account_user_level:

值 枚举 说明 账套读权限 账套写权限 管理账套及成员
1 OWNER 主管 ✓ ✓ ✓
2 READ 查看者 ✓ — —
3 WRITE 会计 ✓ ✓ —

后端不会只依赖前端按钮隐藏:查询业务数据时校验账套读权限,维护凭证和设置时校验账套写权限,修改账套资料和成员时校验主管权限。菜单、按钮和接口的功能权限仍由 System 模块统一分配,账套成员级别不替代菜单授权。

# 1.3 状态流转

账套生命周期由 FmsAccountSetServiceImpl 控制。状态字段为 initialized:

状态值 页面状态 说明 可执行操作
0 待初始化 只有企业资料和成员关系,不能进入日常财务处理 编辑、授权、开始记账
1 已启用 已建立本位币、科目、财务参数等基础数据 编辑、授权、切换使用

状态流转说明

新增账套 ──→ 待初始化(0) ──开始记账──→ 已启用(1)(终态)
  • 新增账套(createAccountSet):只保存企业资料,并把创建人写入账套成员表。此时账套不能录凭证。
  • 开始记账(initializeAccountSet):在同一事务中依次初始化本位币、财务参数、默认凭证字、系统预置辅助核算类别、会计科目、结账模板与默认结账方案、首页财务指标,最后回写会计制度、启用期间、本位币和 initialized = 1。
  • 已初始化的账套不能重复执行【开始记账】;初始化过程中任一步失败,整个事务回滚。
  • 账套没有停用和删除操作,initialized = 1 是终态。

# 1.4 管理后台

对应 [财务管理 -> 设置管理 -> 账套管理] 菜单,对应 yudao-ui-admin-vue3 项目的 @/views/fms/config/account-set 目录。

# 列表

只展示当前用户已加入的账套,展示账套名称、公司编码、联系人、手机号、启用期间、账套状态和创建时间。当前用户的默认账套以「默认」标签标识,未初始化账套以「待初始化」标签标识。

主管可以【编辑】【授权】,主管或会计可以对待初始化账套执行【开始记账】;查看者只能查看账套和业务数据。

管理后台 - 账套列表

# 新增

点击【新增】打开 FmsAccountSetForm.vue,表单分为「基本信息」和「联系方式」两组。公司编码、公司名称必填,邮箱填写时会校验格式;其余企业资料可按实际情况补充。创建成功后,系统同时把创建人写入账套成员表。

管理后台 - 账套资料表单

# 修改

主管点击【编辑】,复用同一个 FmsAccountSetForm.vue 回显企业资料。保存时后端再次校验主管权限和公司编码唯一,不修改账套初始化结果及成员关系。

# 删除

账套管理不提供删除操作。凭证、账簿、报表和结账数据都以账套为归属边界,不能通过删除账套清理业务数据。

# 开始记账

待初始化账套点击【开始记账】,打开 FmsAccountSetInitializeForm.vue,设置本位币、启用期间、会计制度、科目级次、科目编码规则和账簿余额方向。

当前提供人民币(RMB)和「小企业会计准则(2013 年颁)」;科目级次最大 8 级,各级编码长度必须为 2 至 5 位,默认规则为 4-2-2-2。确认前应仔细核对启用期间,初始化后不能再次执行。

初始化完成后,建议按「币别 → 辅助核算 → 科目 → 初始余额 → 凭证 → 账簿 → 报表 → 结账」继续配置和使用。凭证字、常用摘要和凭证模板不参与建账,只服务于录凭证。

管理后台 - 开始记账

# 账套授权

主管点击【授权】打开 FmsAccountSetMemberForm.vue。点击【添加成员】,使用 System 模块的 UserSelectV2.vue 选择一个或多个后台用户,并分配主管、会计或查看者权限;列表中也可调整非创建人的权限或将其移出。

保存时后端按本次完整成员列表进行差量新增、修改和移出,并再次校验用户存在。账套创建人带有「创建人」标签,不能移出。

管理后台 - 账套授权

# 切换账套

FMS 页面顶部的账套切换器(FmsAccountSetSwitch.vue)展示当前账套和当前会计期间。下拉列表中,默认账套带「默认」标签,未初始化账套带「未初始化」标签且不可选择。

首次进入 FMS 时,前端按「本地缓存账套 → 后端默认账套 → 第一条已初始化账套」的顺序选择可用账套。切换时会提示「未保存内容不会保留」;确认后调用 FmsAccountUserController 的 updateDefaultStatus 更新默认账套,关闭旧账套的 FMS 标签页并进入新账套首页,避免不同账套的数据同时停留在页面中。该操作不改变账套资料,只更新当前用户的默认账套。

管理后台 - 切换账套

# 账套开通引导

进入 FMS 时,如果当前账号没有账套,或者只有未初始化账套,FmsAccountSetGuide.vue 会弹出「账套开通引导」。有对应权限的用户可以直接前往账套管理;无权限用户会被提示联系管理员创建账套、加入已有账套或完成初始化。

管理后台 - 账套开通引导

# 2. 财务参数

财务参数,由 FmsFinanceParameterController 提供接口(/fms/config/finance-parameter)。每个已初始化账套只有一条财务参数记录,在【开始记账】时由 initializeFinanceParameter 自动创建,不提供独立的新增和删除操作。

# 2.1 表结构

CREATE TABLE `fms_finance_parameter` (
  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',

  `account_set_id` bigint NOT NULL COMMENT '账套编号',

  `level` int NOT NULL COMMENT '科目层级',
  `subject_code_rule` varchar(64) NOT NULL COMMENT '科目编码规则',
  `ledger_balance_mode` int NOT NULL COMMENT '账簿余额方向模式',
  `deficit_check` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否检查现金及银行存款科目赤字',
  `voucher_review_required` bit(1) NOT NULL DEFAULT b'1' COMMENT '结账前是否要求凭证审核',
  `asset_period_locked` bit(1) NOT NULL DEFAULT b'0' COMMENT '生成折旧凭证后是否锁定以前期间资产卡片',
  `taxpayer_name` varchar(255) DEFAULT NULL COMMENT '纳税人名称',
  `taxpayer_number` varchar(64) DEFAULT NULL COMMENT '纳税人识别号',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_business` (`account_set_id`, `deleted`, `tenant_id`)
) ENGINE=InnoDB COMMENT='FMS 财务参数';

① account_set_id 关联 fms_account_set 表的 id 字段,并通过唯一索引保证同一账套只有一条有效财务参数。

② level 和 subject_code_rule 共同定义科目结构。例如 level = 4、subject_code_rule = 4-2-2-2,表示一级科目 4 位、后三级各 2 位。

③ 财务参数允许增加科目级次、扩大各级编码长度,不允许缩小。保存时,FmsFinanceParameterServiceImpl 调用 FmsSubjectServiceImpl 的 expandSubjectCodes 扩展已有科目编码,避免存量科目失效。

④ 枚举 ledger_balance_mode 账簿余额方向模式(FmsLedgerBalanceModeEnum):1 与科目方向相同、2 与科目方向相反。它决定账簿页面余额列的显示口径,详见 《【账簿】账簿管理》。

⑤ voucher_review_required = 1 时,期末结账要求该期间凭证已经审核;关闭后,未审核凭证不再作为该项结账阻断条件,详见 《【结账】期末结账》。

⑥ deficit_check、asset_period_locked 和纳税人信息属于领域预留参数,当前财务参数页面不维护,保存页面可见字段时会保留原值。

# 2.2 管理后台

对应 [财务管理 -> 设置管理 -> 财务参数] 菜单,对应 yudao-ui-admin-vue3 项目的 @/views/fms/config/finance-parameter 目录。

# 修改

页面分为三组:

  • 基础参数:公司名称、本位币、启用期间只读展示,会计制度可维护。
  • 科目参数:维护科目级次和每一级编码长度,只能调大不能调小。
  • 账簿:维护账簿余额方向,以及「凭证审核后才允许结账」。

查看者进入页面时整个表单只读,主管和会计可保存。未选择账套、账套未初始化或初始化数据缺失时,页面展示对应提示,不提交空参数。

管理后台 - 财务参数

# 3. 财务指标

财务指标,由 FmsFinanceIndicatorController 提供接口(/fms/config/finance-indicator)。财务首页只读取当前账套中已启用的指标,并按 sort 顺序展示指标卡片和最近 12 期趋势。

# 3.1 表结构

CREATE TABLE `fms_finance_indicator` (
  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',

  `account_set_id` bigint NOT NULL COMMENT '账套编号',

  `name` varchar(100) NOT NULL COMMENT '指标名称',
  `code` varchar(64) NOT NULL COMMENT '指标编码',
  `type` tinyint NOT NULL COMMENT '取数报表类型',
  `formula` varchar(2000) NOT NULL COMMENT '指标公式',
  `sort` int NOT NULL DEFAULT 0 COMMENT '显示顺序',
  `status` tinyint NOT NULL DEFAULT 0 COMMENT '状态',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_account_set_code` (`account_set_id`, `code`, `deleted`, `tenant_id`)
) ENGINE=InnoDB COMMENT='FMS 首页财务指标';

① account_set_id 关联 fms_account_set 表的 id 字段,code 在同一账套内唯一。指标编码创建后不可修改,避免首页标识发生无意变化。

② 枚举 type 取数报表类型(FmsFinanceIndicatorTypeEnum),对应字典 fms_finance_indicator_type:1 资产负债表、2 利润表。

③ formula 支持两种格式:报表行次公式,例如 L1+L2-L3;报表科目公式 JSON。保存科目公式时,后端会绑定当前账套的科目编号,无效格式不能保存。

④ status 使用通用状态:0 正常、1 停用。停用指标仍保留配置,但不参与首页指标卡和趋势计算。

⑤ 账套初始化时,FmsFinanceIndicatorServiceImpl 从 fms/config/finance-indicator-presets.json 加载预置指标,并绑定当前账套科目。已存在指标时不会重复初始化。

# 3.2 管理后台

对应 [财务管理 -> 设置管理 -> 财务指标] 菜单,对应 yudao-ui-admin-vue3 项目的 @/views/fms/config/finance-indicator 目录。

# 列表

展示指标名称、编码、取数报表、公式、排序和状态。主管、会计可以新增、编辑、删除,查看者只能查看。

管理后台 - 财务指标列表

# 新增

点击【新增】打开 FmsFinanceIndicatorForm.vue,填写指标名称、编码、取数报表、指标公式、排序和状态。行次公式可直接填写 L1+L2-L3,科目公式按报表公式 JSON 填写。

管理后台 - 新增财务指标

# 修改

点击【编辑】回显指标,指标编码只读,名称、取数报表、公式、排序和状态可以调整。保存时后端重新校验指标公式和账套内编码唯一。

# 删除

点击【删除】并二次确认后,首页不再展示该指标。如果只需暂时隐藏,应将状态修改为停用,以便后续恢复。

# 3.3 财务首页

财务指标的消费方是财务首页,由 FmsHomeController 提供接口(/fms/home),对应 [财务管理 -> 首页] 菜单和 @/views/fms/home 目录。

# 指标卡与趋势

FmsHomeMetricCards.vue 展示当前期间的指标金额,FmsHomeMetricCharts.vue 展示最近 12 期趋势。getHome 逐月计算指标,账套启用期间之前的月份返回空值,最后一期作为当前指标卡数据。

管理后台 - 财务首页

# 指标明细

点击某个指标卡,调用 getMetricDetail 查看该指标的最近 12 期趋势和当期科目构成。系统预置的指标口径由枚举 FmsHomeMetricEnum 定义:收入取利润表第 1 行,成本取第 2、3 行,费用取第 11、14、18 行,利润取第 30 行,其余归入「其他」。

管理后台 - 首页指标明细(管理费用)

# 常用功能

FmsHomeShortcuts.vue 提供【录凭证】【查凭证】【科目余额表】【明细账】四个快捷入口,点击后跳转到对应页面。

功能开启
【设置】币别、科目、辅助核算、初始余额

← 功能开启 【设置】币别、科目、辅助核算、初始余额→

Theme by Vdoing | Copyright © 2019-2026 芋道源码 | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式
×