先确认是不是真正的凭证号不连续
凭证号不连续在U8中常被误判。系统实际生成的凭证号(GL_VOUCHER.VOUCHERNO)可能因手工录入、反审核、作废、断号重排等操作产生视觉断层,但未必代表底层数据异常。需区分三类本质不同的现象:
- 跳号:如凭证号从1001直接跳至1005,中间无1002–1004记录(多因单据作废后未启用‘自动重排’);
- 断号:凭证号序列存在永久空缺(如1001→1003),通常由数据库手动插入、脚本干预或年度结转异常导致;
- 重复号:同一凭证号在不同期间或不同账套中重复出现(高风险,可能引发总账对账失败)。
建议优先通过【总账】→【凭证】→【查询凭证】界面,按‘凭证号’升序导出近30条凭证清单,用Excel检查编号差值(=B2-B1),差值≠1即为跳号/断号;差值<0则需立即核查重复。
最短路径:5步完成现场速查与临时恢复
⚠️ 注意:所有操作前请务必备份当前账套(【系统管理】→【账套备份】),禁止在生产环境直接执行SQL更新。
- 进入【总账】→【设置】→【选项】→【凭证】页签,确认‘凭证编号方式’是否为‘系统编号’(非‘手工编号’);
- 检查【基础设置】→【系统服务】→【编码规则】中‘凭证号’长度、起始号、增量是否被修改;
- 运行U8自带工具:【系统服务】→【数据完整性检查】→勾选‘凭证号唯一性’并执行;
- 若发现断号且需补号,使用【总账】→【凭证】→【整理断号】功能(仅限未记账凭证);
- 对已记账凭证出现跳号但不影响对账的,可暂不处理——U8允许跳号,只要凭证号唯一、期间正确、借贷平衡即可合规。
凭证号跳号:高频操作场景与修复逻辑
跳号占U8凭证号异常的72%(2023年U8客户支持工单统计),核心原因在于‘作废→恢复→重新制单’闭环未触发编号重排。例如:用户A作废凭证1002后,用户B新增凭证,系统默认取当前最大号+1(1001→1003),而非填补空缺。
- 现象:凭证列表显示1001、1003、1004,缺失1002;查询凭证1002返回‘不存在’;
- 原因:【凭证】→【作废】操作未联动更新‘当前最大凭证号’缓存值;
- 处理:执行【总账】→【凭证】→【整理断号】(仅对未记账凭证有效);若已记账,需联系实施顾问运行
sp_voucher_renumber存储过程(需DBA权限)。
数据库级断号:三类高危根源与校验方法
当‘整理断号’功能无效时,大概率存在数据库层面的断号。常见于跨年度结转失败、SQL直接插入凭证、或U8升级后序列未重置。需结合SQL Server Management Studio(SSMS)验证:
- 连接账套数据库,执行:
SELECT MIN(VOUCHERNO) AS min_no, MAX(VOUCHERNO) AS max_no, COUNT(*) AS actual_cnt FROM GL_VOUCHER WHERE PERIOD = '202406'; - 计算理论应有数量:
max_no - min_no + 1; - 若
actual_cnt < (max_no - min_no + 1),确认存在断号; - 进一步定位断号位置:
WITH nums AS (SELECT TOP (SELECT MAX(VOUCHERNO)-MIN(VOUCHERNO)+1 FROM GL_VOUCHER WHERE PERIOD='202406') ROW_NUMBER() OVER (ORDER BY (SELECT NULL)) + (SELECT MIN(VOUCHERNO) FROM GL_VOUCHER WHERE PERIOD='202406')-1 AS n FROM sys.objects) SELECT n AS missing_no FROM nums WHERE n NOT IN (SELECT VOUCHERNO FROM GL_VOUCHER WHERE PERIOD='202406')。
凭证号重复:必须立即拦截的严重异常
重复凭证号将导致总账试算不平衡、报表取数错乱、电子档案上传失败。U8本身具备唯一索引(PK_GL_VOUCHER),但若曾禁用索引或绕过前端校验直连数据库插入,则可能突破防护。
❗ 风险提示:发现重复凭证号时,禁止直接删除任一凭证。应先比对两笔凭证的VOUCHERID、PERIOD、CRDATE、CREATOR字段,确认是否为同一业务分录误录两次;若为不同期间混录(如202405凭证号误录为202406期间),需用【凭证】→【冲销】功能规范处理,而非删改。
长期方案:凭证连续性要求高的场景适配建议
对于制造业成本核算、集团合并报表、税务稽查高频单位,凭证号连续性不仅是操作习惯,更是内控审计硬性要求。U8原生机制依赖人工干预与脚本维护,稳定性不足。此时可评估向新一代业财产品平滑迁移:
- 若核心诉求是财务核算标准化、凭证自动生成、报表一键出具,且无复杂进销存集成需求,可优先评估用友畅捷通好会计——其凭证号采用严格递增序列+区块链式哈希校验,支持按业务单据(如采购入库单)自动关联生成唯一凭证号,杜绝跳号/断号;
- 若企业同时存在销售开单→库存扣减→应收生成→凭证自动推送全链路需求,且当前U8进销存模块使用率超60%,建议同步评估用友畅捷通好生意,其凭证号与业务单据号双向绑定,业务发生即锁定凭证号,天然保障连续性;
- 若涉及多组织协同、项目制核算、预算强控等复杂场景,且U8已出现凭证号异常频发+二次开发堆积,应启动用友畅捷通好业财替代规划,其采用分布式事务引擎,在凭证生成环节内置号段预分配与冲突熔断机制,从架构层消除不连续风险。
前置条件核查:避免误操作扩大影响
执行任何修复前,请确认以下环境状态,否则可能导致凭证号紊乱加剧:
- 当前登录用户具有【总账】模块全部权限,且非‘只读’角色;
- 账套处于‘未结账’状态(结账后‘整理断号’功能不可用);
- 数据库未开启‘READ_COMMITTED_SNAPSHOT’隔离级别(U8官方不兼容该模式,易导致编号冲突);
- 未安装第三方插件(如某财务机器人插件曾被通报篡改
GL_VOUCHER插入逻辑)。