山衡数据平台进销存 · 审批

进销存与审批流程:
一张单据改几张表,库存也对得上

进销存的难处不在录单,而在一张销售单出库要同时扣库存、记流水、改单据状态,还要经过审批。山衡把这些做成平台能力:一个事务里改多张表,单据按状态流转,审批逐级走,流程在画布上拖出来。

一个事务改多张表,失败整单回滚
1~5 级审批,支持转办、加签
17 张表进销存应用包,导入即用
01为什么进销存总是做得不可靠

为什么进销存总是做得不可靠

用表单工具或 Excel 管进销存,常见的毛病是:销售单出库只能一条一条改数据,中途出错就留下半截;两个人同时出同一个商品,都先看到“还剩 10 个”再各扣 8 个,库存变成负数;单据没有状态,已出库的单子谁都能改;采购单要老板批了才能入库,却没有地方批。

山衡的做法是把这几件事做成平台自带的能力,而不是靠页面上拼脚本:业务动作负责在一个事务里把多张表改对,状态流转决定单据什么时候能做什么,审批是流转上的一道人工关卡。三者可以单独用,也可以组合起来。

02业务动作:一个事务里改多张表

业务动作:一个事务里改多张表

管理员按表配置一个动作,比如“出库”,用户在单据页点一下按钮就执行。

整单成功或整单回滚

动作由校验、新增记录、修改记录、数值增减、调用另一个动作、通知这些步骤组成,在同一个事务里按顺序执行;任何一步失败,整单回滚,并告诉你是第几步、为什么。

例:销售出库 = 扣库存 + 记库存流水 + 单据改成已出库

库存不会超卖

对库存的增减先锁住那一行再计算,两个人同时出同一个商品,后面的会看到最新的余额;可以设“结果不得小于 0”,不够扣就拒绝。

锁行后再算

外部重试不重复执行

通过开放 API 调用动作时,请求头带 Idempotency-Key,同一个键重试只会执行一次,外部系统网络抖动重发也不会重复出库。

受控的写入授权

仓管员能点“出库”,但不能直接改库存余额表:管理员在动作上写明可以写哪几张表,执行时按这个范围放行,审计里记成“经动作『出库』”。

多个入口,同一个执行器

单据页按钮、页面按钮组件、开放 API、数字员工、AI 工具和 MCP 调用的都是同一个动作,权限、校验、审计口径一致。

提交后才通知

站内通知和邮件在事务提交成功后才发,回滚了就不会发出“已出库”的通知;动作里写的表,仍会触发盯着这些表的数字员工。

03自动编号、计算字段、汇总字段

自动编号、计算字段、汇总字段

单据上的单号、金额、合计,不用再靠页面脚本去算。

自动编号

单号规则可以写成“XS + 日期 + 4 位序号”这样的形式,序号按日、按月、按年重置或不重置;并发保存不会重号。回滚和作废会留下空号,不会重号。

例:XS20261030-0001

计算字段

用同一行的字段算出来,比如金额 = 数量 × 单价;每次新增或修改这一行时重算,字段只读,不能手改。

汇总字段

单头上的合计,可以对明细求和、计数、取最大或最小;明细新增、修改、删除时,在同一个事务里重算单头。

单头和明细一起保存

新建单据时就能直接填明细行,保存时单头和全部明细在一个事务里一起存,任何一行不对,整单不存,并指出是第几行的什么问题。

04单据状态流转与锁定

单据状态流转与锁定

销售单从草稿到出库、采购单从待审批到入库,每一步由谁来做、做完变成什么状态,都在表设置里配。

状态只能经流转改

选一个下拉字段做状态字段,它的选项就是各个状态。普通编辑、导入、开放 API 都改不了状态,只能点“提交”“出库”这样的流转按钮。

按状态锁定

每个状态可以锁定全部或指定的字段、设定能不能删除、选一个颜色。已出库的单据,既改不了也删不了,明细一起被锁定。

一次流转就是一个事务

一条流转可以绑定一个业务动作:执行动作、改状态、记流转历史在同一个事务里,要么全成,要么全不成。还能设谁有权操作、前置条件和必填备注。

流转历史

每次流转谁在什么时候从哪个状态到哪个状态、备注是什么,都显示在单据页,记录页上还有一张流程小图,高亮当前状态、加粗下一步。

05一个销售单的流转示例

一个销售单的流转示例

示例,按你自己的业务来配;状态、按钮、条件都能改。

流转从到绑定的动作是否审批
提交草稿已审核无金额超过设定值才要审批
出库已审核已出库出库:每行商品扣库存、写一笔库存流水不需要
作废草稿、已审核已作废无不需要
反审核已审核草稿无不需要
06审批:多级、或签、条件触发

审批:多级、或签、条件触发

在流转上勾“需要审批”,点这条流转时自动发起,审批通过后才真正执行。

条件审批

可以写触发条件,比如金额大于 1 万才审批;不满足条件的,直接流转,不打扰审批人。

1~5 级逐级审批

每一级的审批人可以是指定的人、某个角色的成员,或者单据上人员字段指向的人;每一级任意一位审批人通过即可(或签)。

驳回和撤回

审批人驳回必须填意见,单据回到配置好的状态;发起人在还没有人审批之前可以撤回。审批中的单据整条锁定,不能删,也不能走别的流转。

转办和加签

轮到我审批但我不合适:可以转办,这一级改由别人审;也可以加签,表示我同意,再请某个人一起审。

通过后执行,失败可重试

最后一级通过时,在同一个事务里执行绑定的动作并改状态。要是这时库存已不够,整个回滚,审批单标成“通过但执行失败”并通知相关的人,补完库存后点重试执行。

我的审批与通知

“我的审批”页列出待我审批的和我发起的单据,可以直接通过或驳回;每一级轮到时发站内通知,也可以同时发邮件。审批记录显示在单据页。

07单据转换:报价单转销售单

单据转换:报价单转销售单

上下游单据不用重新录一遍。

按字段对应生成新单据

流转可以配成“生成另一张单据”:按字段对应关系生成目标单据的单头和明细,设计器里可以按名称自动对应;原单改成终点状态,整个过程在一个事务里。

例:报价单 → 销售单

可以分批转

配上数量字段后,可以分几批转:每转一批,剩余数量相应减少;目标单作废或改小数量,剩余数量跟着恢复;全部转完可以改成指定的状态。

上下游单据一目了然

单据页有“上下游单据”区块,列出由它生成的和它来自的单据,分批转的进度也在这里。

08流程设计器与 AI

流程设计器与 AI

设计器画出来的,和表格里配的是同一份配置,两边随时可以切换。

画布上拖出流程

状态是节点,流转是连线:拖线新建流转,点选后在右侧改属性,支持撤销、重做、自动排版,有配置问题会标在画布上。

AI 帮你搭流程

用对话说出想要的流程,AI 给出整份方案,画布上预览新增、改动、删除了哪些,你确认后才套用保存。

AI 检查和讲解

AI 检查流程里业务上的问题并给出提醒,再用大白话把整个流程讲一遍,业务人员不用看懂连线也能知道流程怎么走。

AI 审查单据(只给建议)

流转后让一位 AI 员工把这张单据看一遍,给出“建议通过”或“建议驳回”、理由和要注意的点,写进单据记录,审批人能看到;它不拦流程。

AI 当审批的初审

审批的前几级可以交给 AI 员工:通过的进入下一级,有疑问的交给兜底审批人,AI 不能当最后一级。模型不可用或超时,同样转给兜底审批人。

外部 AI 也能提方案

通过 MCP,外部 AI 工具可以读取流程、检查流程、提交方案;方案只存成草稿,管理员在设计器里预览并套用后才生效。

09进销存应用包里有什么

进销存应用包里有什么

用以上这些能力搭好的一个完整应用,导入后就有可以用的表、动作、流程、报表和示例资料。

内容包里的东西
数据表17 张:商品、商品分类、仓库、供应商、客户,采购单、报价单、销售单、调拨单、盘点单(各带明细),库存余额、库存流水
业务动作入库、出库、调拨、盘点调整,带写入授权;库存余额按“商品 + 仓库”一条记录,每次进出同时写一笔库存流水
状态流转采购单(带一级审批,通过后入库)、销售单(出库扣库存,库存不够整单不动)、报价单(可分批转销售单)、调拨单、盘点单
报表和看板7 张报表(库存余额、出入库明细、采购汇总、销售汇总、销售毛利、滞销商品、库存预警)和 1 个进销存看板
数字员工1 位库存预警员工,每天 9 点检查低于安全库存的商品并通知采购;装好后先休息,要手动让它上岗
示例资料商品分类、仓库等基础示例数据,装完就能试着走一遍采购、入库、销售、出库
10怎么装、装完要做什么

怎么装、装完要做什么

应用包是一个文件,导入就能装好;装好的应用也可以发布到应用商店,各单位从商店一键安装,之后还能升级。

装完有两件事要自己做:采购单审批里的审批人,装的时候会临时设成安装的人,需要改成真正的审批人;库存预警数字员工装好是休息状态,需要手动开启。

11目前的限制

目前的限制

照实写在这里,选型时可以对照。

没有财务凭证和税务

山衡的进销存管到库存和单据,没有财务凭证、总账和税务模块。需要做账、报税的,用金蝶、用友这类财务软件,山衡通过开放 API 与它们对接。

手机端和企业微信、钉钉

手机上用的是响应式网页,没有原生 App;企业微信、钉钉里的登录、通知和批单正在做,目前审批提醒走站内通知和邮件。

事务只管同一个租户库

业务动作只能改本单位租户库里的表,不能改外部数据源的表;单个动作最多 2000 次写入、30 秒超时,年终结转这类大批量的活,交给数字员工分批处理。

审批没有组织架构

平台目前没有部门和上级,审批人按人、角色或单据上的人员字段来定,没有“发起人的直属上级”这类规则;每级是或签,没有会签,也没有超时自动催办。

自动编号允许断号

回滚和作废会留下空号,但不会重号。财务要求连号的单据,需要另外设计。

应用包里的简化

销售毛利按明细上的“成本单价”算,需要按商品进价填;盘点的账面数也是手填,库存按“实盘 − 账面”的差额调整。

FAQ常见问题

进销存与审批,常见的几个问题

山衡能做进销存吗?

能搭。采购、销售、库存、调拨、盘点的表、动作、审批流程和报表,已经做成了一个进销存应用包,导入就能用,再按自己的业务改。但它管到库存和单据为止,没有财务凭证和税务模块,财务对接金蝶、用友。

库存会不会超卖?

对库存的增减会先锁住那一行再计算,同时出同一个商品的两个人,后面的会看到最新的余额,不够就拒绝,并且整单回滚。这个保证限于同一个租户库里的平台表。

审批能做到哪一步?

支持条件触发、1~5 级逐级审批、每级或签、驳回、撤回、转办、加签,通过后自动执行流转。目前没有部门和上级、会签、超时催办,也没有“发起人自己选审批人”。详见 选型对比。

需要写代码吗?

建表、配动作、配流转、配审批、拖流程都在界面里完成,不用写脚本。前置条件和计算公式要写简单的表达式,比如金额大于 1 万、数量乘单价,由管理员配置,表达式里不能读写别的数据。数字员工的任务才需要写 JavaScript,见 数字员工。

手机上能用吗?能在企业微信、钉钉里审批吗?

手机上用的是响应式网页,在手机浏览器里登录使用,没有原生 App。企业微信、钉钉里直接登录、收通知和批单正在做,目前审批提醒走站内通知和邮件。

AI 做初审,会不会它说了算?

不会。AI 审查只给建议,不拦流程;AI 当初审时,通过的进入下一级,有疑问的转给兜底审批人,而且不能当最后一级,最终拍板的始终是人。AI 的调用用你配置的模型,用量计入额度,详见 AI 数据助手。

开始使用预约演示

用你自己的数据,
看一次演示

告诉我们你有哪些系统、老板最想看哪几个数字,我们用你的场景来演示,而不是放一套通用的样板。

预约演示