销售单
销售单是真正把货发出去的那一张:审核的同一个事务里完成出库记账、生成销售成本与应收凭证、登记客户余额、回写订单已出数量。它是销售链路里唯一同时动库存和动钱的单据,所以审核前要检查库存,反审核时如果凭证已经记了账,必须先到财务做红字冲销。
功能路径:销售 → 销售单

一、功能概述
菜单位置:销售 → 销售单(页面地址 /admin/Sales/billsalehead/)
| 用途 | 说明 |
|---|---|
| 出货 | 按明细从出库仓库扣减库存,审核时先检查库存是否足够 |
| 记账 | 生成销售成本、应收、代垫、折扣四类凭证,按系统选项决定立即记账 |
| 挂应收 | 登记客户应收余额;可当场点【收客户款】生成收款单 |
| 回写订单 | 引用订单出货的行,审核时把数量写回订单的已完成数量 |
二、界面布局说明
1. 列表页
| 区域 | 内容 |
|---|---|
| 工具栏 | 蓝色 新增、导出、刷新 |
| 查询条 | 单据日期(今天 / 昨天 / 本周 / 上周 / 本月 / 上月 / 自定义)、客户、销售员、仓库、⚙ 高级筛选 |
| 操作 | 查询、重置、导出、★ 方案 |
| 列表 | 单据号 / 单据日期 / 客户 / 仓库 / 制单人 / 单据金额 / 单据状态 / 过帐日期 / 单据摘要 |
| 分页 | 「共 N 条」+ 页码,默认 20 条/页 |
单据号前缀 Sa(零售 POS 生成的单是 Yn、No 开头,冲红单摘要里带「冲红单(4318-->431…)」字样)。点单据号进详情。
2. 新增与编辑态

| 部位 | 内容 |
|---|---|
| 工具栏 | 返回、保存、复制、删除;已保存且有客户时另出【收客户款】 |
| 基本信息 | 单据日期*、客户*、出库仓库*、销售人员、经营部门、默认税率、负责人、原始单号 |
| 明细页签 | 商品明细 / 物流信息 / 汇总信息 / 备注,右侧有 #付款方式 #商品定制细节 快捷标签 |
| 明细工具条 | + 添加行、选择商品、删除选中、清零、清空、导出、隐藏辅助面板 |
| 底部 | 单据金额、合计数量,随明细实时重算 |
页签里的字段分三组:
| 页签 | 字段 |
|---|---|
| 物流信息 | 联系人、电话、发货日期、送货时间、送货地址、送货方式、回款日期、检货员、送货员 |
| 汇总信息 | 单据金额、总数量、折扣金额(以上来自明细);成本金额、总重量、总体积、开票金额、已收款金额(只读,审核后回写);运输费用、代垫费用(可填) |
| 备注 | 单据摘要、自动摘要(只读) |
3. 商品明细列
| 列名 | 可编辑 | 说明 |
|---|---|---|
| 物料编号 | 是 | 必填;带出条码、名称、规格、单位 |
| 条码 / 物料名称 / 规格 | 否 | 随物料带出 |
| 单位 | 是 | 必填;切换后单价按换算率重取 |
| 数量 | 是 | 底部合计 |
| 不含税单价 | 是 | 与含税单价按行税率联动:不含税价 = 含税价 ÷ (1 + 税率) |
| 不含税金额 | 否 | 数量 × 不含税单价 |
| 含税单价 | 是 | 主录入口,取价结果落在这里 |
| 含税金额 | 否 | 数量 × 含税单价,底部合计即单据金额 |
| 原价 | 否 | 取价原值;折扣金额 = Σ(原价 − 含税单价)× 数量 |
| 行备注 | 是 | 行级说明 |
| 是否赠品 | 是 | 勾选后价格校验放行 |
| 保存价格 | 是 | 勾选后,本行成交价在审核时登记为该客户的专属价 |
「保存价格」是个有副作用的开关:勾了它的行,审核时会把本单这个成交价写进客户价。客户档案开启「老客户价」后,下次给这个客户开单就会优先取到这个价。只想这一单特价、不想留档的,别勾。
三、业务操作步骤
步骤 1:新增并填表头
销售 → 销售单 →【新增】。填 单据日期、客户、出库仓库 三个必填项。客户决定取价与应收对象;出库仓库是实际扣库存的仓,只列允许出库的仓库。
步骤 2:加明细
两种加法:选择商品 批量挑,或 + 添加行 逐行录。加行后按「老客户价 → 客户所挂策略价 → 标准售价」取价,价格类型可由取价结果判定。改了客户,整表价格按新客户重取;改了单位,单价按换算率重取。
步骤 3:要从订单出货就点引用
销售单在草稿态可以点【引用】选一张已审核的销售订单,弹窗列出还有剩余量的行,可引数量 = 订单数量 − 已完成数量。引入后:
- 表头的原始单号写成来源订单号,联系人、电话、送货地址按订单覆盖;
- 明细带上订单的价格、到货日期、原价等字段,并把「保存价格」默认为勾选;
- 同一源行在同一张销售单里只能引入一次;引入量超过可引量会提示「行号为 N 的记录超额引用!」,需要调小数量,或先反审核引用同一源行的其他单据。
步骤 4:保存与审核
- 【保存】后为 草稿,可继续改;
- 【审核】先跑校验(见第四章),再依次执行:回写订单已完成数量 → 检查库存并出库记账 → 勾选保存价格的行登记客户价 → 更新物料最近售价与表头成本金额 → 生成销售成本与应收凭证 → 按系统设置决定是否立即记账 → 登记客户余额;
- 库存不足时审核被拦下,提示里带物料与缺口数量(形如「物料编号 物料名称 缺(数量 单位)」),先把货补进来或改用其他仓库;
- 通过后状态翻 已生效,写入过账日期、记账人与会计期。
步骤 5:收客户款
已保存、有客户、状态为草稿或已生效的单上会出现【收客户款】。点它会按「单据金额 − 折扣金额」生成一张收款单,收款金额可改,保存后这张收款单进财务的收款流程。已经生成过收付款单的单再点会提示「单据已生效,不能重新生成收付款单,请先反审核」——需要改金额先反审核。
步骤 6:反审核
反审核把出库记账反掉、凭证删除、余额注销、订单已出数量减回去。两道闸:
| 情况 | 提示 |
|---|---|
| 关联凭证已经记账 | 关联凭证[凭证号]已记账,不能反审核。请先在财务模块对该凭证红字冲销后再反审核。 |
| 单据不在当前会计期 | 当前单据的会计期不是当前会计期无法反审核! |
所以跨月发现开错单,通常不是反审核,而是在当期开一张冲红单。
四、审核校验
| 提示 | 触发条件 |
|---|---|
| 单据明细不能为空,请至少添加一行商品 | 明细没有行 |
| 明细行必须选择商品 | 行内没有物料 |
| 明细行数量必须大于0 | 数量为 0 或负数 |
| 明细行价格必须大于0(赠品除外) | 非赠品行含税单价 ≤ 0 |
| 只有草稿状态可以审核(当前状态=…) | 对非草稿单点审核 |
| 只有已审核状态可以反审核(当前状态=…) | 对草稿点反审核 |
| 只有草稿状态的单据才能删除(当前状态:…) | 对已生效单点删除 |
审核过程中出库失败(缺货、成本价缺失、会计期未开)会整体回滚,单据仍是草稿,提示形如「审核失败: …」。
五、字段与状态
| 字段 | 含义与口径 |
|---|---|
| 单据日期 | 开单日期,必填;决定会计期与凭证日期 |
| 客户 | 必填;决定取价、应收对象与送货信息 |
| 出库仓库 | 必填;出库扣减的仓库 |
| 负责人 / 销售人员 | 内部责任人,用于统计与查询条件 |
| 汇总信息里的成本金额 | 审核时按明细成本价 × 数量回写,只读 |
| 已收款金额 / 开票金额 | 收付款与开票回写,只读 |
| 运输费用 / 代垫费用 | 随单发生的费用,参与应收口径 |
| 折扣金额 | Σ(原价 − 含税单价)× 数量,只用于展示,不再从单据金额里二次扣减 |
| 单据状态 | 草稿 / 已生效 / 已关闭(已被下游引用核销完毕);删除后不再出现在列表 |
权限:审核、反审核、删除、导出、收客户款都是独立动作权限。列表默认只看本人制的单。
六、常见问题
问:审核报缺货,但仓库里明明有? 答:库存检查按单据日期所属会计期、按出库单位折算后的数量算,不看「可用库存」以外的在途与锁定。先确认表头仓库选的是哪个仓、明细单位与库存单位换算率是否正确,再核对当期库存。
问:反审核提示「关联凭证已记账」,怎么办? 答:这张单的应收/成本凭证已经记账,反审核会破坏总账。正确路径是先去财务模块把该凭证红字冲销,再回来反审核;或者干脆在当期开一张冲红单冲掉,原单保留。
问:为什么销售单审核后订单变了状态? 答:这是订单收口的正常动作。销售单审核把出货数量写回订单,订单每行都出完时同一次审核里把订单置为「已关闭」。
问:单据金额与订单金额对不上? 答:引用只带订单的价格快照,带入之后仍可在销售单上改价、改数量、换单位。对账以销售单为准;差异大时用两张单的明细逐行比。
问:勾了「保存价格」会有什么后果? 答:本单成交价会被登记成该客户的专属价。客户开了「老客户价」时,下次开单优先取它——临时促销价勾上,就等于把这个价长期给了这个客户。
问:已生效的单想改送货地址? 答:送货信息属于单据内容,先反审核回草稿再改;凭证已记账的按上一条先冲销。只改联系方式这类不影响账的,也可以直接在客户档案上改,后续单据带出新的。
