本模块用于采购订单新建、变更、收发货、退货、质检等过程;
【新建订单】创建订单,需由采购方与供应商双方确认;订单来源:新建、采购任务、合同;
【订单变更】供应商确认订单后,提供订单变更入口;
【订单发货】供应商确认后,由供应商维护发货功能;
【订单收货】供应商发货后,采购方管理收货功能;
【订单入库】收货质检后,采购方入库管理;
【订单质检】收货后,采购方质检管理;
【订单退货】订单收货后,采购方退货管理;
【终止订单】针对已生效订单终止;
【关闭订单】针对已生效订单关闭;
【订单执行】统计个订单明细执行情况;
1. 采购方创建订单,内部审批后由供应商审批确认,审批状态为审批中,执行状态为未执行;审批退回到创建节点,审批状态更新为审批退回;审批通过归档则审批状态为审批通过,执行状态为执行中;当供应商不协同时,供应商审批节点自动提交,无需供应商审批;
2. 订单结算类型为订单收货结算,需要供应商发货,支持分批发货;当供应商不协同时,自动生成发货单,无需供应商操作;
3. 供应商发货后,由采购方收货,支持分批收货;
4. 收货后生成待质检的数据,支持针对收货单免检或质检;
5. 质检完成或免检,生成待入库的数据,支持分批入库;
6. 收货后支持发起退换货,退货无需再次发货,换货时,更新待发货数据;
采购方创建订单通过内部审批后需要供应商审批通过方可生效,订单创建来源支持手工新建、采购任务、合同;
【采购员】默认当前登录人,有权限查看订单信息;
【需求类型】枚举值:服务、物资、设备、劳务;切换需求类型可联动带出结算类型默认值,支持修改;
【结算类型】枚举值:订单直接结算、订单验收结算、订单收货结算、无需结算;订单直接结算,订单审批通过后,订单标的行直接进入结算池;订单验收结算,订单审批通过后,订单表弟行进入待验收,审批通过的验收单进入结算池;订单收货结算,需要收发货,审批通过的收货单进入结算池,对应类型的退货单也需要进入结算池;无需结算,订单审批通过即完成,无收发货流程和结算流程;
【供应商名称】采购订单要求提供货物或服务的法人或其他组织,只能选择到注册和合格的供应商,不可选择淘汰的供应商;
【供应商是否协同】枚举值:协同、不协同;选择供应商时联动带出供应商档案中的系统方式,协同时,供应商需要对订单进行确认并发货,不协同指无需供应商审批确认订单以及发货;
【收货联系人】有订单收货权限;
【物料信息】订单标的信息,包含物料、品类、单位、数量、需求日期、价格等;订单执行根据物料需求日期统计剩余天数;
一、订单创建
订单由采购方创建,内部审批通过后由供应商确认;
1、手工新建:
【采购订单管理】页面点击新建,进入订单创建节点,需维护订单基本信息、供应商信息、收货信息、物料信息;
2、合同转订单:
①可以转订单的合同:具体规则可参照采购全模块默认规则;
a. 非框架合同,选择了跟订单相关的结算,则系统需要转订单;
b. 设备类的并且选择验收结算时,默认转订单;
c. 其他情况都不转订单(补充合同是否转订单与“主合同”一致);
②合同转订单操作:
【采购订单管理】页面点击【合同转订单】,列表展示可以转订单的合同明细
选择合同明细,确定后将合同信息带入到订单创建节点;
3、任务转订单:
【需求任务】列表勾选采购任务,点击转订单;
无论对应物料在价格库有无价格,都可以转订单;
当物料在价格库无有效价,或只匹配到一条结算类型为订单的有效价格,转订单时,默认进入订单创建页面;
当物料在价格库匹配到多条价格或只匹配到一条结算类型为合同的有效价,转订单时,默认进入价格库中间表,选择对应供应商价格,转订单进入批量订单页面;转订单时校验价格来源结算类型不为合同(结算类型为订单直接结算、订单验收结算、订单收货结算,无需结算或无结算类型为空可以转订单;结算类型为合同验收结算、合同直接结算不可转订单);
批量订单提交后根据不同供应商、需求类型、结算类型生成不同的订单;可在【采购订单管理】列表查看;
4、上下游逻辑:
采购订单默认占用上游数据,当订单来源为采购任务或合同时,校验本次采购数量不可超过来源单据的需求数量,回写采购任务执行流水或合同执行流水;同时校验本次采购数量不可超过价格来源单据的待处理数量,回写价格来源单据执行流水;
5、供应商确认
供应商可在【采购订单】审批中列表查看并审批;
二、创建订单默认值
1、订单来源为手工新建或采购任务:
任务转订单,带入需求类型,联动带出结算类型默认值;
需求类型 | 是否占用上游数据 | 结算类型 | 有无收发货 |
服务 | 是 | 订单验收结算 | 否 |
物资 | 是 | 订单收货结算 | 是 |
设备 | 是 | 订单收货结算 | 是 |
劳务 | 是 | 订单验收结算 | 否 |
2、订单来源为合同:
合同转订单,带入合同需求类型,若合同选择的结算类型与订单相关,则默认带入订单的结算类型,与订单不相关,则订单默认无需结算;
需求类型 | 是否占用上游数据 | 结算类型 | 有无收发货 |
物资 | 是 | 订单收货结算 | 是 |
设备 | 是 | 无需结算 | 否 |
三、订单结算逻辑
结算类型 | 期望结果 | 关于收发货 | 关于退货 |
订单直接结算 | 供应商确认后,物料行形式展示在结算池待处理 | 不需要收发货 | / |
订单验收结算 | 供应商确认后,物料行形式展示在待验收,验收单进入结算池 | 不需要收发货 | / |
订单收货结算 | 收货单进入结算池 | 需要收发货 | 退货单进入结算池 |
无需结算 | 不进结算池,不进待验收 | 不需要收发货 | / |
四、是否收发货
值为“是”、“否”,默认为“是”,即订单都需要收发货。当订单未启用“交货计划”时,“是否收发货”为是,则供应商有订单“待发货”数据,当订单启用“交货计划”时,“是否收发货”为是,则采购有订单“待创建交货计划”数据。若“是否收发货”为“否”,则订单无收发货过程,无交货计划。
是否需要订单发货根据结算类型是否为订单收货结算判断;只有结算类型为订单收货结算时,供应商才需要发货,当供应商不协同时,自动生成发货单;
【待发货数量】采购数量-发货中数量-已发货数量+换货数量;
【占用发货数量】审批中的发货单本次发货数量之和;
【已发货数量】审批通过的发货单本次发货数量之和;
【收货人】默认带出订单的收货人;
【收货人联系方式】默认带出订单的收货人联系方式,无业务逻辑;
【地址】默认带出订单的收货地址,无业务逻辑;
【详细地址】默认带出订单的收货详细地址,无业务逻辑;
【发货人】填写供应商发货人,无业务逻辑;
【发货人联系方式】填写供应商发货人联系方式,无业务逻辑;
【承运人】填写承运人,无业务逻辑;
【承运人联系方式】填写承运人联系方式,无业务逻辑;
【送货方式】维护送货方式,枚举值:自送、自提;无业务逻辑;
【快递/物流单号】维护物流信息,无业务逻辑;
【预计发货日期】维护预计发货日期,无业务逻辑;
【预计到货日期】维护预计到货日期,无业务逻辑;
【待发货数量】订单待发货数量;
【本次发货数量】当前发货单发货数量,校验不可超过待发货数量;
一、发货
1、协同发货:
①供应商选择待发货数据,点击发货进入发货单,默认带出订单上的收货信息,维护发货信息,和本次发货数量;
②部分发货时,待发货列表状态显示发货中;
③提交发货单,发货单审批状态为审批中,执行状态为发货中,本次发货数量更新至占用发货数量;
审批退回只创建节点,审批状态为审批退回,执行状态为发货中,本次发货数量回到待发货数量;
审批通过后执行状态为已发货,将本次发货数量更新至已发货数量;
审批通过的发货单展示在待收货列表;
2、不协同发货:
供应商不协同时,不产生待发货数据,不生成发货单,采购方可直接在待收货列表收货;
二、撤销发货
①点击撤销按钮,弹窗显示审批通过且执行状态不等于已撤销的发货单,选择发货单,点击确定,即可撤销,撤销后执行状态更新为已撤销;
②供应商发货单审批通过后,若采购方未收货,可以撤销发货单;审批中的发货单不可撤销,已撤销的发货单不可撤销;撤销的发货单不在待收货列表展示,撤销的发货单本次发货数量回到待发货;
采购方可对供应商的发货单进行收货,支持分批收货;
【待收货数量】默认等于发货数量-占用发货数量-收货数量;收货终止时,直接更新待收货数量为0;
【占用收货数量】审批中的收货单本次收货数量之和;
【收货数量】审批通过的收货单本次收货数量之和;
【收货日期】默认带出当前日期,可编辑;
【附件】上传收货相关附件信息
【备注】收货单相关备注;
【操作类型】枚举值:引用发货单收货、引用订单收货;勾选待收货数据收货时,默认引用发货单收货;对接SRM接口可引用订单收货;
【待收货数量】默认待收货列表待收货数量带出;
【本次收货数量】当前收货单收货数量;校验不可超过待收货数量;
一、收货:
①供应商发货单审批通过后生成待收货数据,展示在待收货列表;供应商协同发货的显示发货单号,供应商不协同的无发货单号;
②勾选待收货数据,点击收货,进入收货单创建页面,填写本次收货数量,提交时校验本次收货数量不可超过待收货数量;
③部分收货时,待收货列表状态更新为收货中;
④提交收货单,审批状态为审批中,执行状态为收货中,本次收货数量更新至占用发货数量;
审批退回时,审批状态为审批退回,执行状态为收货中,本次收货数量回到待收货数量;
审批通过后审批状态为审批通过,执行状态为已收货,本次收货数量更新至已收货数量;
审批通过的收货单展示在待入库列表和待质检列表,状态为待质检;
二、终止收货
①勾选待发货列表的数据点击终止,更新待收货数量为0,终止收货后,不展示在待收货列表,无后续业务,不影响已发货数据;
三、撤销收货:
①点击撤销,弹窗展示审批通过且执行状态不等于已撤销的的收货单,选择收货单可撤销,撤销后执行状态更新为已撤销;
②审批中的收货单不可以撤销;已撤销的收货单不可以撤销;收货单已入库的不可以撤销、收货单已参与结算的不可以撤销;
③已撤销的收货单不展示在待入库列表和待质检列表;已撤销的收货单,本次收货数量回到待收货数量;
订单入库前需要进行质检,支持免检和批量质检;
【检验名称】自定义检验的名称;
【检验开始时间】质检开始时间
【检验结束时间】质检结束时间
【送检数量】本次质检的数量;
【检验合格数量】本次质检合格数量
【检验不合格数量】本次质检不合格数量,默认等于送检数量-检验合格数量;
【处理措施】质检处理方案,枚举值:接收、让步接收、退回;目前暂无逻辑,默认质检后全部入库;
【检验结果】质检结果,枚举值:合格、不合格;目前暂无逻辑,默认质检后全部入库;
一、免检
1、待质检列表展示未质检状态的收货单;勾选待质检的数据,点击【免检】按钮,提示执行成功,不在待质检列表展示;
2、质检任务列表该单据质检状态更新为免检,质检结果更新为合格;
3、免检后,待入库列表状态从未质检更新为待入库;
二、质检
1、勾选未质检数据,点击【质检】按钮,默认将勾选数据带入明细行,编辑送检数量、检验合格数量、处理措施、检验结果等;
v
2、质检提交后,生成审批状态为审批中的质检单,质检任务列表质检状态更新为质检中;
3、质检单审批通过后,质检单审批状态更新为审批通过;质检任务列表质检状态更新为质检完成,质检结果同步更新物料选择内容;
4、质检单审批通过后,待入库列表状态更新为待入库;
5、收货单质检,目前无论选择合格或者不合格,接收、让步接收、退回,目前均做入库处理,不支持自动发起退货功能;
收货后,对于不合格的物料,采购方可以选择退换货,退货无需供应商发货,换货需要采购方发重新发货;
【退货类型】枚举值:退货、换货;退货无需供应商重新发货,换货需要供应商重新发货;
【退货总数量】明细行退货数量之和;
【退货总金额】明细行含税行金额之和;
【收货单号】选择退货的来源单据,只能选择到未入库的收货单号;
【退货数量】自定义退货数量,退货数量不可超过收货数量-已入库数量-占用入库数量;
1、点击新建按钮,进入退货创建页面;
2、选择收货单号,填写收货数量、退货类型,提交;收货单号只能选择未入库的收货单号,提交校验退货数量<=收货数量-已入库数量-占用入库数量-已退货数量-占用退货数量;
3、提交后审批状态更新为审批中,审批通过后,审批状态更新为审批通过;审批退回到创建节点,状态更新为审批退回;
4、审批通过后的退货单,若退货类型为换货,则退货数量更新至供应商待发货数量;若退货类型为退货,则不生成待发货数量;
5、审批通过的退货单流转至结算池参与后续结算;
6、审批通过的退货单,退货数量同步至待入库退货数量,待入库数量=收货数量-占用入库数量-已入库数量-退货数量;
收货单质检完成后可入库,支持分批操作,只有待入库状态的数据可入库;
【收货数量】列表收货数量对应当前收货单的本次收货数量,默认带入入库单页面;
【待入库数量】列表待入库数量默认等于收货数量-占用入库数量-已入库数量-退货数量,默认带入入库单页面;
【占用入库数量】列表占用入库数量默认等于所有审批中的入库单的本次收货数量之和;
【已入库数量】列表已入库数量默认等于所有审批通过的入库单的本次收货数量之和;
【退货数量】引用当前收货单的退货单本次退货数量;
【本次入库数量】校验本次入库数量不可超过待入库数量;
【入库仓库】自定义入库仓库,暂无逻辑;
一、入库
1、勾选待入库状态的收货单点击【入库】按钮,进入入库单创建页面;编辑本次入库数量,提交;校验本次入库数量不可超过待入库数量;
2、部分入库时,状态更新为入库中;
3、提交入库单,审批状态为审批中,执行状态为入库中,本次入库数量更新至占用入库数量;审批退回时,审批状态为审批退回,执行状态为入库中,本次入库数量回到待入库数量;审批通过后审批状态为审批通过,执行状态为已入库,本次收货数量更新至已入库数量;目前仅配置发起节点、结束节点,可自行配置审批节点;
二、撤销入库
①点击撤销,弹窗展示审批通过且执行状态不等于已撤销的的收货单,选择入库单可撤销,撤销后执行状态更新为已撤销;
②审批中的入库单不可以撤销;已撤销的入库单不可以撤销;
执行中的订单支持订单变更,可修改可变更需求数量、需求日期、税率、不含税单价、收货人;
【订单编号】可选择执行中的订单;结算类型为订单收货结算、无需结算;
【收货信息】收货联系人相关信息;默认带出原订单收货信息,支持修改;
【变更采购数量】变更后的订单需求数量;默认带出原订单需求数量,支持修改;
【不含税单价】变更后的不含税单价;默认带出原订单不含税单价,支持修改;
【税率编码】变更后的税率编码;默认带出原订单税率编码,支持修改;
【需求日期】变更后的需求日期;默认带出原订单需求日期,支持修改;
1、点击【新建】按钮进入订单变更创建页面,选择需要变更的订单编号,默认带出原订单信息,修改后提交;
3、提交后,审批状态更新为审批中,退回到创建节点时,审批状态更新为审批退回,审批通过后审批状态更新为审批通过;审批通过后同步更新对应订单信息;
4、订单变更相关逻辑:
执行状态 | 结算类型 | 订单变更逻辑 |
未执行 | / | 不可变更 |
执行中 | 订单直接结算 | 不可变更 |
订单验收结算 | 不可变更 | |
订单收货结算 | 1、未发货:可变更需求数量、需求日期、税率、含税单价、收货人; | |
无需结算 | 可变更 | |
已完成 | / | 不可变更 |
变更中 | / | 不可变更 |
已关闭 | / | 不可变更 |
5、订单变更影响:
变更中的订单不可以发货;
变更中的订单不可以关闭和终止;
如果来源单据为采购任务或者采购合同,订单变更数量时,需校验变更采购数量不可超过上游数量和价格来源数量;订单变更采购数量需回写任务执行流水和合同执行流水;订单变更数量变多时,提交订单变更产生占用数量;订单变更数量减少时,订单变更流程审批通过,需释放减少的数量至上游待处理数量;
执行中的订单支持关闭,关闭流程审批通过订单即关闭,关闭订单则下游单据待处理无需再处理,关闭订单的关闭数量需释放至上有单据;
【关闭原因】记录关闭订单的原因;
1、点击【关闭订单】按钮,弹窗显示可关闭的订单,选择订单后,默认将订单信息带入订单关闭创建页面,填写关闭原因;
2、关闭订单流程提交,订单执行状态:关闭中;
关闭订单审批通过,订单执行状态:已关闭;
关闭订单审批拒绝,订单执行状态:执行中;
3、订单来源为采购任务或合同时,已关闭的订单,需将关闭数量回写至来源单据待处理数量和其价格来源的单据;
4、关闭订单相关逻辑:
执行状态 | 结算类型 | 能否关闭订单&影响范围 | 关闭逻辑 |
未执行 | / | 不可关闭 | / |
执行中 | 订单直接结算 | 1、结算池有结算,不可以关闭; 2、全部未结算,可以关闭,订单数量回写上游来源单据 | 1、订单提交关闭(关闭中/已关闭),结算池不展示待结算数据; 3、关闭订单流程审批拒绝,结算池展示待结算数据,结算状态:未开始; |
订单验收结算 | 1、存在待验收的数量,可关闭; 2、待验收=0,校验不可关闭; | 1、订单提交关闭(关闭中/已关闭),关闭数量=待验收数量,待验收列表不展示待验收数据;已有验收单不可被撤销; 2、关闭订单流程审批拒绝,关闭数量释放至待验收数量,待验收列表展示待验收数据; | |
订单收货结算 | 1、存在待发货数量,可以关闭; 2、待发货数量=0,校验不可关闭; | 1、订单提交关闭(关闭中/已关闭),关闭数量=待发货数量,待发货列表不展示待发货数据;已有发货单不可被撤销; 2、关闭订单流程审批拒绝,关闭数量释放至待发货数量,待发货列表展示待发货数据; | |
无需结算 | 不可关闭 | / | |
已完成 | / | 不可关闭 | / |
变更中 | 不可关闭 | / | |
已关闭 | 不可关闭 | / |
执行中的订单支持终止,终止流程审批通过订单即终止,终止订单则下游单据待处理无需处理,终止订单数量不回写至上游单据;
【终止原因】记录终止订单的原因;
1、点击【终止订单】按钮,弹窗显示可终止的订单,选择订单后,默认将订单信息带入订单终止创建页面,填写终止原因;
2、终止订单提交,订单执行状态:终止中;
终止订单审批通过,订单执行状态:已终止;
终止订单审批拒绝,订单执行状态:执行中;
3、终止订单,终止数量无需释放到上游来源单据;
4、终止订单相关逻辑:
执行状态 | 结算类型 | 能否终止订单(对下游结算) | 终止逻辑 |
未执行 | / | 不可终止 | / |
执行中 | 订单直接结算 | 1、存在待结算数据,可以终止订单; 2、待结算=0,校验不可终止; | 1、订单提交终止(终止中/已终止),结算池数据结算状态为已终止,终止含税金额=原待处理含税金额;已有结算单不可被撤销; 2、终止订单审批拒绝,结算池数据结算状态为未开始/进行中,终止含税金额释放至结算池待处理含税金额; |
订单验收结算 | 1、存在待验收数量,可以终止,终止待验收的数据,订单终止不需要回写到任务; 2、待验收=0,校验不可终止; | 1、订单提交终止(终止中/已终止),终止数量=待验收数量,待验收列表不展示待验收数据;已有验收单不可被撤销; 2、终止订单流程审批拒绝,终止数量释放至待验收数量,待验收列表展示待验收数据; | |
订单收货结算 | 1、存在待发货数量,可以终止; 2、待发货数量=0,校验不可终止; | 1、订单提交终止(终止中/已终止),终止数量=待发货数量,待发货列表不展示待发货数据;已有发货单不可被撤销; 2、终止订单流程审批拒绝,终止数量释放至待发货数量,待发货列表展示待验收数据; | |
无需结算 | 不可终止 | / | |
已完成 | / | 不可终止 | / |
变更中 | 不可终止 | / | |
已关闭 | 不可终止 | / |
采购订单执行从订单行维度记录了每个订单明细行的收发货执行情况;
【状态】枚举值:待发货、执行中、已完成、变更中、已关闭、已终止;待发货数量=采购数量时,状态为待发货;
【剩余天数】物料行上需求日期减去当前日期,为正数显示剩余天数,等于0时显示进入到期,为负数时,显示逾期天数;
【待发货数量】采购数量-占用发货数量-已发货数量-已关闭/终止数量+换货数量;
【占用发货数量】审批中状态的发货单上本次发货数量之和;
【发货数量】审批通过状态的发货单上本次发货数量之和;
【待收货数量】发货数量-占用收货数量-已收货数量-终止收货数量;
【占用收货数量】审批中状态的收货单上本次收货数量之和;
【收货数量】审批通过状态的收货单上本次收货数量之和;
【退货数量】审批通过的退货单上本次退货数量之和;
1、新建订单,结算类型为订单收货结算,审批通过后,供应商未发货,订单执行状态显示待发货,待发货数量默认等于采购数量;
2、供应商发货提交,订单执行状态显示执行中,更新待发货数量、占用发货数量;发货单审批通过后,更新占用发货数量、发货数量、待收货数量;
3、采购方收货提交,更新待收货数量、占用收货数量;收货单审批通过后,更新占用收货数量、收货数量;当待发货数量和占用发货数量等于0,且所有发货数量全部收货完成,订单执行状态更新为已完成;
4、采购方发起换货,审批通过后,更新本次发货数量至退货数量,待发货数量,订单执行状态更新为执行中;
5、如果发起采购订单变更,处于审批中,订单执行状态显示变更中,订单变更审批通过根据以上列举判断状态;
6、如果采购订单关闭或终止,处于审批中,订单执行列表状态不变,审批通过后,所有物料行状态更新为已关闭或已终止,更新待发货数量=0;