yudao-cloud 开发指南 yudao-cloud 开发指南
  • 萌新必读
  • 后端手册
  • 微服务手册
  • 工作流手册
  • 大屏手册
  • 支付手册
  • 商城手册
  • 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、瀚高)
    • 内网穿透
    • 面试题、简历模版、简历优化
    • 项目外包
  • 后端手册

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

    • 微服务调试(必读)
    • 注册中心 Nacos
    • 配置中心 Nacos
    • 服务网关 Spring Cloud Gateway
    • 服务调用 Feign
    • 定时任务 XXL Job
    • 消息队列(内存)
    • 消息队列(Redis)
    • 消息队列(RocketMQ)
    • 消息队列(RabbitMQ)
    • 消息队列(Kafka)
    • 消息队列(Cloud)
    • 分布式事务 Seata
    • 服务保障 Sentinel
  • 工作流手册

    • 工作流演示
    • 功能开启
    • 工作流(达梦适配)
    • 审批接入(流程表单)
    • 审批接入(业务表单)
    • 流程设计器(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 辅助核算与科目余额
        • 2.3 摘要库与凭证模板
        • 2.4 审核与反审核
        • 2.5 打印
      • 3. 查凭证
        • 3.1 列表
        • 3.2 附件
        • 3.3 批量操作
        • 3.4 打印与导出
        • 3.5 导入
        • 3.6 移动与整理
      • 4. 凭证汇总表
        • 4.1 查询与汇总
        • 4.2 打印、导出与钻取
    • 【账簿】账簿管理
    • 【报表】财务报表
    • 【结账】期末结账
    • 移动端 FMS
  • IM即时通讯手册

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

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

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

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

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

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

    • 开发规范
    • 菜单路由
    • 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 后端模块的 voucher 包实现,前端实现在 @/views/fms/voucher 目录。

凭证是 FMS 记录经济业务的核心单据。每张凭证由一张主表和多条分录组成,分录记录摘要、会计科目、辅助核算以及借方或贷方金额;账簿、报表和结账都以凭证分录作为期间发生额来源。日常账务围绕「录凭证 → 查凭证 → 审核 → 凭证汇总」形成闭环。

  • 录凭证:填写凭证字、凭证号、日期、摘要、科目、辅助核算和借贷金额。
  • 查凭证:按期间、凭证字、凭证号、摘要、科目、金额、制单人和审核状态查询,并执行审核、反审核、删除、打印、导入导出等操作。
  • 凭证汇总表:按会计期间和科目级次汇总借方、贷方发生额,可打印、导出并跳转到科目明细账。

本文涉及表如下图所示:

凭证和凭证分录表关系

# 1. 凭证

凭证,由 FmsVoucherController 提供接口(/fms/voucher)。凭证分录没有独立 Controller,随凭证保存、修改和删除,由 FmsVoucherServiceImpl 在同一事务中差量维护。

# 1.1 主表表结构

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

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

  `account_set_id` bigint DEFAULT NULL COMMENT '账套编号',
  `voucher_word_id` bigint DEFAULT NULL COMMENT '凭证字编号',
  `reviewer_user_id` bigint DEFAULT NULL COMMENT '审核人后台用户编号',

  `voucher_number` int DEFAULT NULL COMMENT '凭证号',
  `voucher_time` datetime DEFAULT NULL COMMENT '凭证日期',
  `voucher_period` int GENERATED ALWAYS AS (EXTRACT(YEAR_MONTH FROM `voucher_time`)) STORED COMMENT '凭证期间',
  `attachment_urls` json DEFAULT NULL COMMENT '附件地址数组',
  `attachment_count` int NOT NULL DEFAULT 0 COMMENT '附件数',
  `debit_amount` decimal(18,2) NOT NULL DEFAULT 0.00 COMMENT '借方金额',
  `credit_amount` decimal(18,2) NOT NULL DEFAULT 0.00 COMMENT '贷方金额',
  `total` decimal(18,2) NOT NULL DEFAULT 0.00 COMMENT '合计金额',
  `status` int DEFAULT NULL COMMENT '状态',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB COMMENT='FMS 凭证';

① voucher_word_id 关联 fms_voucher_word 表的 id 字段,reviewer_user_id 关联 system_users 表的 id 字段,account_set_id 关联 fms_account_set 表的 id 字段。

② voucher_period 是根据 voucher_time 生成的 yyyyMM 期间字段。凭证号唯一性按「账套 + 凭证字 + 会计月份 + 凭证号」判断,不同月份可以重复使用同一凭证号。

③ attachment_urls 保存附件地址数组(最多 100 个),attachment_count 保存凭证上的附单据张数。附件可以在凭证保存后由 updateVoucherAttachments 独立维护,允许的附件类型由 FMS_VOUCHER_ATTACHMENT_FILE_TYPES 控制。

④ debit_amount、credit_amount、total 由后端根据分录汇总写入,前端不应直接修改主表合计。

⑤ 枚举 status 凭证状态(FmsVoucherStatusEnum)。详见 §1.3 状态流转。


该表包含一个子表:

  • fms_voucher_entry(凭证分录):在录凭证页面的分录表格中维护,一张凭证至少两条有效分录。

# 1.2 子表结构

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

  `account_set_id` bigint DEFAULT NULL COMMENT '账套编号',
  `voucher_id` bigint DEFAULT NULL COMMENT '凭证编号',
  `subject_id` bigint DEFAULT NULL COMMENT '科目编号',
  `assist_combination_id` bigint DEFAULT NULL COMMENT '辅助核算组合编号',

  `digest` varchar(500) DEFAULT NULL COMMENT '摘要内容',
  `subject_code` varchar(64) DEFAULT NULL COMMENT '科目编码',
  `subject_name` varchar(255) DEFAULT NULL COMMENT '会计科目内容',
  `quantity` decimal(18,4) NOT NULL DEFAULT 0.0000 COMMENT '数量',
  `unit_price` decimal(18,6) NOT NULL DEFAULT 0.000000 COMMENT '单价',
  `debit_amount` decimal(18,2) NOT NULL DEFAULT 0.00 COMMENT '借方金额',
  `credit_amount` decimal(18,2) NOT NULL DEFAULT 0.00 COMMENT '贷方金额',
  `auxiliaries` json DEFAULT NULL COMMENT '辅助核算项目数组',
  `sort` int DEFAULT NULL COMMENT '显示顺序',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB COMMENT='FMS 凭证分录';

① voucher_id 关联 fms_voucher 表的 id 字段,subject_id 关联 fms_subject 表的 id 字段,assist_combination_id 关联 fms_assist_combination 表的 id 字段。

② subject_code、subject_name 是保存时从当前科目复制的快照,digest 是分录摘要。凭证列表直接读取分录展示摘要和科目,不需要逐行再查科目名称。

③ 每条分录只能填写借方或贷方其中一侧,不能同时填写,也不能两边都为空;整张凭证至少两条有效分录,借方合计必须等于贷方合计。

④ 数量核算科目可以填写数量和单价,两者必须同时大于 0,且 数量 × 单价(按金额精度截取)等于该行金额;未启用数量核算的科目不能填写数量或单价。

⑤ 科目配置了辅助核算类别时,分录必须按科目配置顺序完整选择启用中的辅助项目。保存时写入项目名称快照,并由 FmsAuxiliaryCombinationService 复用或创建辅助核算组合。

auxiliaries JSON 字段结构
[
  {
    "type": 1,
    "typeId": 12,
    "itemId": 105,
    "name": "杭州芋道科技"
  }
]

① type 辅助核算类别(FmsAuxiliaryTypeEnum):1 客户、2 供应商、3 职员、4 项目、5 部门、6 存货、7 自定义。

② typeId 指向 fms_auxiliary_type,itemId 指向 fms_auxiliary_item,name 是项目名称快照。项目后续改名或停用,历史分录仍展示当时的名称。

③ 这份数组与 assist_combination_id 描述的是同一组核算维度:数组用于凭证自身展示,组合编号用于核算项目账簿的聚合查询,详见 《【设置】币别、科目、辅助核算、初始余额》。

# 1.3 状态流转

凭证生命周期由 FmsVoucherServiceImpl 控制。状态枚举 FmsVoucherStatusEnum 定义了 9 个值,当前管理后台只使用其中两个:

状态值 枚举 说明 可执行操作
0 PENDING_REVIEW 待审核(初始状态) 编辑、审核、删除、维护附件、打印
1 APPROVED 已审核 反审核、打印、查询

状态流转说明

新建凭证 ──→ 待审核(0) ──审核──→ 已审核(1)
               ↑                  │
               └──── 反审核 ───────┘
  • 新建(createVoucher):Service 强制设置为待审核,创建请求不能自行传入状态。
  • 审核 / 反审核(updateVoucherReviewStatus):待审核与已审核之间双向流转,审核时记录 reviewer_user_id。
  • 编辑 / 删除(updateVoucher / deleteVoucherList):已审核凭证必须先反审核才能编辑或删除。删除后会产生凭证断号,可通过整理凭证补齐。
  • 期间锁定:凭证所在会计期间已结账时,新增、修改、删除、审核、反审核、移动和整理都会被 validatePeriodOpen 拦截。
  • 结账生成的凭证:由 validateClosingVoucherEditable 保护,在凭证页面只读,不能编辑、审核或删除,只能通过结账模块重新生成,详见 《【结账】期末结账》。

代码中还保留 REJECTED、REVIEWING、WITHDRAWN、UNSUBMITTED、CREATED、DELETED、VOIDED 等枚举值,用于兼容更完整的审批状态模型,当前页面不会产生这些状态。

# 1.4 保存校验

保存、修改和批量操作均先校验账套成员权限,再锁定账套行,串行生成同一账套的凭证号。主要校验如下:

校验项 规则 失败场景
账套 当前用户必须拥有账套写权限 查看者尝试录入、审核或删除
会计期间 凭证日期所在期间必须开放 期间已结账
凭证字 必须属于当前账套 使用其他账套凭证字
凭证号 同账套、同凭证字、同月份不能重复,且必须为正整数 号段已存在或输入 0
分录数量 至少两条有效分录 只填写一行
科目 必须启用且为末级科目 选择停用科目或父级科目
金额 单行只能借或贷,整张凭证借贷平衡 同行两边都有金额或总额不平
数量和辅助 按科目配置满足数量金额关系和辅助项目完整性 缺少数量、单价或辅助项目

接口权限由菜单按钮控制,例如 fms:voucher:create、fms:voucher:update、fms:voucher:review、fms:voucher:delete、fms:voucher:print、fms:voucher:import、fms:voucher:export、fms:voucher:move 和 fms:voucher:tidy。

# 2. 录凭证

对应 [财务管理 -> 凭证管理 -> 录凭证] 菜单,对应 yudao-ui-admin-vue3 项目的 @/views/fms/voucher/create 目录。

# 2.1 新增

进入页面后,系统加载当前账套的凭证字、科目、辅助类别和当前会计期间,默认选择默认凭证字,并调用 getNextVoucherNumber 取得当前月份下一个凭证号。

表单包括凭证字、凭证号、凭证日期、附单据张数,以及分录表格中的摘要、会计科目、数量 / 单价、借方金额和贷方金额。摘要输入框聚焦时会沿用上一条摘要,也可以点击【摘要库】选择常用摘要;科目选择后,按科目配置显示辅助核算项目。

点击【保存】创建凭证,点击【保存并新增】保存后清空表单继续录入。保存前前端会检查凭证字、凭证号、日期、至少两条有效分录、每行摘要 / 科目 / 金额和借贷平衡,后端仍会再次完整校验。

管理后台 - 录凭证

# 2.2 辅助核算与科目余额

选中的末级科目配置了辅助核算类别时,分录行内会出现对应的项目下拉框。项目变更后,页面读取该辅助组合的余额并显示在分录下方;科目余额则按当前月份加载,方便录入时确认科目当前的借贷方向和金额。

管理后台 - 凭证辅助核算

# 2.3 摘要库与凭证模板

【摘要库】由 FmsDigestLibrary.vue 打开,读取当前账套的常用摘要并回填当前分录摘要。

【更多 -> 使用模板】由 FmsVoucherTemplateSelect.vue 打开模板选择;【更多 -> 保存为模板】先复用凭证分录校验,再由 FmsVoucherTemplateSaveForm.vue 保存模板。模板保存同样要求至少两条分录、科目可用、金额平衡、数量与辅助核算合法,详见 《【设置】凭证字、常用摘要、凭证模板》。

管理后台 - 录凭证摘要库与模板入口

# 2.4 审核与反审核

保存后页面带上凭证编号,并显示【审核】【打印】【复制】等操作。

  • 审核:待审核凭证点击【审核】,确认后状态变为已审核并记录审核人。
  • 反审核:已审核凭证点击【反审核】,状态回到待审核,之后才可以编辑或删除。
  • 删除:仅未审核、非结账生成且所在期间开放的凭证可以删除;删除会产生凭证断号,页面会二次确认。
  • 复制:点击【复制】以 copyFrom 打开新的录入页,只复制分录和基础内容,不复制凭证编号和主键,用户确认后重新保存。
  • 上一张 / 下一张:从列表打开详情时会带上当前查询结果的编号列表,可使用页面两侧按钮浏览相邻凭证。

管理后台 - 凭证审核与反审核

# 2.5 打印

管理后台 - 凭证打印设置

点击【打印】打开 FmsVoucherPrintForm.vue,可设置 A4、B5 或自定义纸张、横向 / 纵向、纸张边距和字体大小,确认后通过隐藏 iframe 打印 HTML。打印设置按账套缓存,缓存键为 fmsVoucherPrintSetting:{accountSetId},不同账套互不影响。打印在浏览器端完成,不新增持久化表。

# 3. 查凭证

对应 [财务管理 -> 凭证管理 -> 查凭证] 菜单,对应 yudao-ui-admin-vue3 项目的 @/views/fms/voucher/list 目录。

# 3.1 列表

支持按会计期间、凭证字、凭证号、摘要、科目、金额范围、制单人和审核状态筛选。表格展示日期、凭证字号、附件数量、摘要、科目、借方金额、贷方金额、制单人、审核人和状态。

点击凭证字号进入录入页查看或编辑;查看者和结账生成凭证为只读,主管或会计在权限和状态允许时显示编辑。

管理后台 - 凭证列表

# 3.2 附件

点击附件数量打开 FmsVoucherAttachmentForm.vue。待审核凭证且当前用户有写权限时可以上传、删除和保存附件;已审核、结账生成或查看者只显示附件,不允许修改。

管理后台 - 凭证附件

# 3.3 批量操作

行操作支持审核、反审核、打印和删除;勾选多张凭证后支持批量审核、批量反审核和批量删除。批量审核会先过滤不符合当前状态的凭证,批量删除包含已审核凭证时前端直接提示,后端仍会校验凭证状态、期间和结账生成标记。

# 3.4 打印与导出

【更多 -> 打印凭证】读取当前选中凭证,未选择时读取当前筛选条件下全部数据,由 FmsVoucherPrintForm.vue 生成打印 HTML。

【更多 -> 打印列表】在新窗口预览当前筛选范围的列表;【更多 -> 导出】下载 凭证列表.xls,选中凭证时导出只包含选中数据。

管理后台 - 查凭证列表打印入口

# 3.5 导入

点击【更多 -> 导入凭证】打开 FmsVoucherImportForm.vue,按「上传文件 → 导入数据 → 导入完成」三步操作:

① 点击【下载《凭证导入模板》】,模板由 getVoucherImportTemplateData 按当前账套的科目和辅助核算生成。

② 按模板填写凭证日期、凭证字、凭证号、摘要、科目、金额、数量和辅助项目,上传一个 Excel 文件。

③ 点击【开始导入】,importVoucher 按日期 + 凭证字 + 凭证号分组,先校验每行科目、金额、辅助核算,再校验同组的分录数量、摘要和借贷平衡。

④ 导入完成后展示总分录数、成功 / 失败分录数、总凭证数和成功 / 失败凭证数;存在错误行时可下载错误数据文件,修正后继续导入。

管理后台 - 导入凭证

# 3.6 移动与整理

管理后台 - 移动凭证

【更多 -> 移动凭证】打开 FmsVoucherMoveForm.vue,选择期间、凭证字、原凭证号和目标号,把目标凭证移动到目标号之前,并将中间凭证号顺延。目标号必须小于原凭证号,期间必须开放,原凭证必须存在。

【更多 -> 整理凭证】打开 FmsVoucherTidyForm.vue,选择期间、凭证字(为空表示全部凭证字)、起始编号和整理方式。枚举 FmsVoucherTidyTypeEnum:

值 枚举 说明
1 FILL_GAPS 按凭证号顺次前移,补齐断号
2 REORDER_BY_TIME 按凭证日期重新顺次编号

两项操作都先锁定账套,使用临时负号批量更新再写入最终号码,避免唯一键冲突;操作只改变凭证号,不改变分录内容。

管理后台 - 整理凭证

# 4. 凭证汇总表

对应 [财务管理 -> 凭证管理 -> 凭证汇总表] 菜单,对应 yudao-ui-admin-vue3 项目的 @/views/fms/voucher/statistics 目录。

# 4.1 查询与汇总

按会计期间范围、凭证字、凭证号范围和科目级次范围查询。getVoucherStatisticsList 先按凭证分录聚合末级科目的直接发生额,再沿科目树向上累加下级科目,返回科目编码、科目名称、级次、借方金额和贷方金额;页面底部按最小科目级次展示合计行。

查询校验包括:开始期间不能晚于结束期间;最小级次不能大于最大级次;最小凭证号不能大于最大凭证号;凭证字必须属于当前账套。

管理后台 - 凭证汇总表

# 4.2 打印、导出与钻取

点击科目编码,在有 fms:ledger:detail:query 权限时跳转到科目明细账,并携带当前科目和期间范围,详见 《【账簿】账簿管理》。

点击【打印】由 FmsPrintPreview.vue 将当前表格渲染为打印预览;点击【导出】下载以期间命名的 Excel 文件。

管理后台 - 凭证汇总打印入口

【设置】凭证字、常用摘要、凭证模板
【账簿】账簿管理

← 【设置】凭证字、常用摘要、凭证模板 【账簿】账簿管理→

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