Inventory Visibility 预留
本文介绍软预留的典型用例,并说明如何在库存可见性中设置它们。 其中包括有关如何创建软预留、在实际消耗时抵销这些预留以及调整或取消预留指定库存数量的信息。
在 Microsoft Dynamics 365 Supply Chain Management 版本 10.0.33 或更高版本中,您可以从销售订单进行软预留。 当您从销售订单中进行软性预留时,预留请求会过帐到库存可见性,可用于预留数量将在库存可见性中验证。
重要提示
默认软件预留配置已通过各种版本迭代不断发展。 因此,您的沙盒环境最初可能是使用过时的默认配置设置的,而您的生产环境是使用最新版本的默认配置初始化的。 如果您基于过时的默认配置自定义了第三方系统,当您的生产环境上线时,它可能会遇到问题,尤其是在您尚未检查和调整配置的情况下。 为了帮助防止出现这种情况,我们建议您在转换生产环境之前彻底检查和更新您的草稿和运行时配置。
软预留的示例用例
软预留可帮助组织实现有一个单一的可用库存真实来源,尤其是在订单履行过程中。 此功能对于存在以下条件的组织很有用:
- 组织至少有两个不同的系统直接接收出站订单。
- 组织非常严格,希望防止重复预订产品库存,当多个系统能够超额预订最后一件库存产品时,会发生这种情况。 当所有订单系统都可以对库存可见性发起即时软预留 API 调用时,这种情况就可以避免,因为这将为库存可用性提供单一的真实来源。
上图显示了软预留的工作原理,突出显示以下操作:
- 您的初始库存水平从 Microsoft Dynamics 365 Supply Chain Management 同步到库存可见性。
- 您有两个并行运行的订单系统(电子商务系统和供应链管理)。 在实际情况中,您可以拥有更多系统。
- 软预留从您的每个订单渠道或系统发布到库存可见性。 库存可见性验证库存可用性并尝试进行软预留。 如果软预留成功,库存可见性将加上软预留数量,从可供预留 (AFR) 数量中扣减,并使用软预留 ID 响应。
- 当销售订单 A 在库存可见性中软保留时,您的实际库存数量在供应链管理中保持不变,因为销售订单 A 尚未同步到供应链管理。
- 现在,呼叫中心直接在供应链管理中输入销售订单 B,从而向供应链进行软预留呼叫。 尽管还原管理层仍然显示有 100 件可用,但库存可见性知道只有 90 件可用,因此软预订请求失败。 尽管如此,呼叫中心用户仍然可以选择在供应链管理中阻止或继续处理销售订单 B(如果允许超额销售)。
- 然后,您可以将单个或聚合的软预留订单(订单行)同步到 Supply Chain Management,以进行硬预留并发放到仓库或更新最终库存数量。
- 您可以将系统设置为在 Supply Chain Management 中更新实际库存时抵销软预留。
软预留通常通过使用对库存可见性服务的 API 调用来创建、使用和取消。
注释
可选择将 Supply Chain Management(和其他第三方系统)设置为自动抵销已使用库存可见性预留的数量。 将从库存可见性中的预留记录内删除抵销的数量。
默认情况下,当您启用软预留功能时,抵销功能会自动打开。
在 UI 版本 2 中打开并设置预留功能
当您使用库存可见性 UI 版本 2 时,本部分及其各小节适用。
开启预留功能
按照以下步骤在 UI 版本 2 中打开预留功能。
登录到您的 Power Apps 环境,然后打开库存可见性应用。
在导航窗格上,选择软性预留。
在数据源设置磁贴上,选择管理。
将启用功能选项设置为 True。
如果用户提交包括未在预留维度快速选项卡上指定的维度的预留请求,筛选未配置的维度选项可控制系统的行为方式。 (有关详细信息,请参阅本文的配置预留映射和维度部分。)选择以下值之一:
- True - 包含未在预留维度快速选项卡上定义的维度的预留请求会成功,但会忽略未定义的维度。
- False - 包含未在预留维度快速选项卡上定义的维度的预留请求会失败。
重要提示
如果您已在 Supply Chain Management 中启用库存可见性与销售订单行上软性预留的集成功能,则必须将筛选未配置的维度选项设置为 True。 有关详细信息,请参阅将软性预留和抵销与 Supply Chain Management 集成部分。
在工具栏上,选择保存。
如果您已更改筛选未配置的维度选项的设置,则必须冲销所有现有预留以保持数据一致性。 使用清理预留数据 API 以清理现有的软性预留记录。
配置预留映射和维度
进行预留时,可能希望了解现有库存当前是否可用于预留。 验证将链接到计算度量,计算度量表示实际度量组合的计算公式。
通过设置从实际度量到计算度量的映射,启用库存可见性服务,以根据实际度量自动验证预留可用性。
重要提示
必须已为您的系统定义您计划为每个数据源映射的所有实际度量和计算度量。 有关如何配置度量和数据源的信息,请参阅配置库存可见性。
默认预留映射开箱即用。 您可以直接查看和使用这些映射。 还可以按照以下步骤添加您自己的映射。
登录到您的 Power Apps 环境,然后打开库存可见性应用。
定义您计划与软性预留功能一起使用的所有数据源、实际度量和计算度量。 有关说明,请参阅配置库存可见性。 以下是有关通常所需的度量设置的一些指南:
- 定义用作软性预留度量的实际度量(例如 SoftReservPhysical)。
- 定义可用于预留计算度量,其中包含您将映射到实际度量的可用于预留计算公式。 例如,可以设置 AvailableToReserve(可用于预留),以使其映射到之前定义的 SoftReservPhysical 实际度量。 这样,您就可以找到哪些具有 SoftReservPhysical 库存状态的数量可用于预留。
下表显示可用于预留计算公式。
计算类型 数据源 物理度量 附加内容 fno AvailPhysical 附加内容 pos 传入 减 pos 传出 减 iv SoftReservPhysical 我们建议您设置预留度量所基于的实际度量作为计算度量的一部分。 这样,计算度量数量将受预留数量的影响。 例如,使用 iv 数据源的 SoftReservPhysical 实际度量作为 iv 数据源的 AvailableToReserve 计算度量的一部分。
在预留映射部分中,设置从实际度量到计算度量的映射。 对于上一个示例,您可以使用以下设置将 AvailableToReserve 映射到之前定义的 SoftReservPhysical 实际度量:
- 实际度量数据源:iv
- 实际度量:SoftReservPhysical
- 可用于预留数据源:iv
- 可用于预留计算度量:AvailableToReserve
现在,当在 SoftReservPhysical 上进行预留时,库存可见性将自动查找 AvailableToReserve 及其相关计算公式以执行预留验证。
在预留维度部分中,设置在进行预留时可能指定的所有产品维度。 每个预留维度都必须包含分区配置。
下面是预留维度的示例。
密钥 层次结构 SiteId 1 LocationId 2 ColorId 3 SizeId 4 StyleId 5 在此示例中,分区方案是 ByLocation,基本分区维度是 (SiteId, LocationId)。
在工具栏上,选择保存。
可用于预留计算示例
以下示例显示库存可见性 API 如何报告现有库存信息。
{
"productId": "D0002",
"dimensions": {
"SiteId": "1",
"LocationId": "11",
"ColorId": "Red"
},
"quantities": {
"iv": {
"SoftReservPhysical": 90
},
"fno": {
"availphysical": 70.0,
},
"pos": {
"inbound": 50.0,
"outbound": 20.0
}
}
}
在此情况下,以下可用于预留计算适用:
AvailableToReserve
=
fno.availphysical
+
pos.inbound
– pos.outbound
– iv.SoftReservPhysical
= 70 + 50 – 20 – 90
= 10
因此,如果您尝试对 iv.SoftReservPhysical
进行预留,并且数量小于或等于 AvailableToReserve
(10),软性预留请求将成功。
在 UI 版本 1 中打开并设置预留功能
当您使用库存可见性 UI 版本 1 时,本部分适用。
若要在 UI 版本 1 中打开并设置预留功能,请按照以下步骤操作。
- 登录到您的 Power Apps 环境,然后打开库存可见性应用。
- 在导航窗格底部的更改区域菜单上,选择旧版 UI。
- 在导航窗格上,选择配置。
- 在功能管理和设置选项卡上,使用该选项打开软性预留功能。
- 选择软性预留选项卡。
- 打开管理页面。
- 如果您计划从 Supply Chain Management 中接收软性预留数据,请选中在 FinOps 中使用销售订单的软性预留复选框。
- 在软性预留选项卡上,查看默认的软性预留层次结构。 根据需要向层次结构添加新维度。 有关如何使用软性预留层次结构的详细信息,请参阅配置预留映射和维度部分。
- 在设置软性预留映射部分中,查看默认设置。 有关软性预留映射和所需度量的详细信息,请参阅配置预留映射和维度部分。
使用库存可见性 API 创建软性预留
在调用预留 API 时,系统将标记指定货物和数量的预留。
例如,Contoso 公司从其电子商务网站销售产品 D0002(柜子)。 一位客户通过网站下了一个销售订单,购买红色小柜子。 Contoso 决定使用以下维度来履行此订单:
- 组织 ID = usmf
- 站点 = 1
- 仓库 = 11
- 产品 = D0002
- 颜色 = 红色
- 尺寸 = 小
Contoso 已经从其自己的电子商务系统设置了与库存可见性的 API 连接。 收到订单后,系统会立即触发 API 调用,在库存可见性中对柜子进行软预留。
在库存可见性服务中创建预留的方法是,向服务的 URL(如 /api/environment/{environmentId}/onhand/reserve
)提交 POST 请求。
对于预留,请求正文中必须包含组织 ID、产品 ID、预留数量和维度。
调用预留 API 时,可以通过在请求正文中指定 ifCheckAvailForReserv
布尔值参数来控制预留验证。 值为 True
表示需要验证,而值为 False
则表示不需要验证。 默认值为 True
。
如果要取消预留或撤消指定的库存数量,请将数量设置为负数,然后将 ifCheckAvailForReserv
参数设置为 False
以跳过验证。
下面是引用先前上下文中的销售订单的请求正文示例。
# Url
# Replace {endpoint} with your system endpoint.
{endpoint}/api/environment/{environmentId}/onhand/reserve
# Method
Post
# Header
# replace {access_token} with the one get from security service
Api-version: "1.0"
Content-Type: "application/json"
Authorization: "Bearer {access_token}"
# Body
{
"id": "Testrequest",
"organizationId": "usmf",
"productId": "D0002",
"dimensions": {
"SiteId": "1",
"LocationId": "11",
"ColorId": "red",
"SizeId": "small"
},
"quantityDataSource": "iv",
"modifier": "softreserved",
"quantity": 1,
"ifCheckAvailForReserv": true
}
所有维度都必须在预留维度配置中定义,并且包含产品的分区。 以下是使用默认配置的可行维度组合的示例:
(SiteId, LocationId)
(SiteId, LocationId, SizeId)
(SiteId, LocationId, ColorId, SizeId)
(SiteId, LocationId, ColorId, SizeId, StyleId)
注意
不同维度级别上的预留是独立的。 例如,您定义的预留维度是 (SiteId, LocationId, ColorId, SizeId)
。 如果您在维度级别 (SiteId, LocationId, ColorId)
上为一种产品预留一些数量,则其他级别(例如 (Site , Location , Color , Size)
或 (Site , Location)
)上的预留不会受影响。
成功的软预留请求为每个预留记录返回软预留 ID。 软预留 ID 不是单个软预留记录的唯一标识符,而是与软预留请求关联的产品 ID 和维度值的组合。 当您将成功预留的订单同步到 Supply Chain Management 或另一个 ERP 系统进行抵销时,您可以在订单行上记录软预留 ID。
将软性预留和抵销与 Supply Chain Management 集成
您可以从 Supply Chain Management 销售订单触发软预留,然后在订单行硬预留(即更改为预留实际数量、预留已订购数量、已领料状态等)时对库存可见性进行抵销。 流程略有不同,具体取决于您使用的软预留功能(库存可见性与预留抵销的集成或库存可见性与销售订单行上软预留的集成)。
库存可见性与销售订单行上的软预订集成 - 此功能可让您在供应链管理中创建销售订单行后通过进行软预订来避免重复预订。 当此行达到 预订预留、 实物预留、 提货等状态时,软预留会自动抵消。
库存可见性与预留偏移的集成 - 此功能可让您偏移在供应链管理之外进行的软预留。 您可以直接从软预留 API(或其他定制渠道)进行软预留,然后将预留 ID 输入到供应链管理中的相应销售订单行中。 一旦线路状态满足您设置的条件,该功能就会自动抵消软预留。
在 Supply Chain Management 中打开功能
登录供应链管理并确保您已在 功能管理中启用以下两个功能。
- 库存可见性与预留抵销的集成 - 此功能需要 Supply Chain Management 版本 10.0.22 或更高版本。
- 库存可见性与销售订单行上软性预留的集成 - 如果您运行的是 Supply Chain Management 版本 10.0.33 或更高版本,建议使用此功能。
从供应链 Management 版本 10.0.34 的构建 10.0.1591.98 和供应链 Management 版本 10.0.35 的构建 10.0.1627.63(以及版本 10.0.36 及更高版本的所有构建)开始,这些功能相互兼容。 在这些版本之前,这些功能彼此不兼容,因此您应该只启用您想要使用的功能。 如果您需要这两种功能,我们建议您升级到较新的版本。
在启用“库存可见性与销售订单行上预留抵销的集成”功能时配置其他设置
如果您启用了库存可见性与销售订单行上软预留的集成功能,请按照以下步骤配置其他设置。
在 Supply Chain Management 中,转到库存管理>设置>库存可见性集成参数。
在启用软性预留选项卡上,在默认软性预留块级字段中,选择以下值之一以指定如果您尝试处理库存可见性中不存在软性预留的销售订单行,系统行为如何。
- 块 - 您无法将销售订单行处理为硬性预留(预留实际数量)或其他,除非库存可见性已经为行记录了成功的软性预留。
- 警告 - 如果您尝试将销售订单行处理为硬性预留(预留实际数量),但在库存可见性中没有进行匹配的软性预留,您将收到一条警告消息。
- 忽略 - 当您尝试在 Supply Chain Management 中处理订单行时,系统不会在库存可见性中检查软性预留。
提示
您不必启用或设置抵销修饰符,因为软预留的抵销始终启用,将在销售行进入硬预留状态(如果硬预留步骤被跳过,为其他状态,)时触发。
在启用“库存可见性与预留抵销的集成”功能时配置其他设置
如果您启用了库存可见性与预留抵销的集成功能,请按照以下步骤配置其他设置。
在 Supply Chain Management 中,转到库存管理>设置>库存可见性集成参数。
在预留抵销选项卡上,设置以下字段:
启用预留抵销 - 将此选项设置为是以启用功能。
预留抵销修饰符 - 选择以下值之一以指定在库存可见性中所做的抵消预留的库存交易记录状态。 此设置决定触发抵销的订单处理阶段。 此阶段通过订单的库存交易记录状态跟踪。
- 在单 - 状态为在单的订单在创建时发送抵销请求。 抵销数量为所创建订单(行)的数量。
- 预留 - 当订单已预留或已实际预留时,状态为预留的订单发送抵销请求。 当您在预留状态下进行抵销时,订单将在最接近已预留领料量的任何新库存状态(例如,领料、装箱单已过帐或已开票)发送抵销请求。 即使您跳过 Supply Chain Management 中的预留,继续进入另一个库存状态(例如,您从发放到仓库跳到领料和装箱),也会发生此行为。 此请求只会触发一次。 如果它已在领料时触发,不会在过帐装箱单时重复抵销。 抵销数量与触发抵销时库存交易状态的数量相同(换言之,相应订单行上的已预留订购数量/预留实际数量,或后来的状态)。
当您使用“库存可见性与销售订单行上软预留的集成”功能时,创建软预留和抵销
当您使用库存可见性与销售订单行上软预留的集成功能时,您可以在 Supply Chain Management 中过帐软预留并抵销销售订单行的软预留。 此功能中的抵销功能同时支持内部和外部创建的销售行。
登录 Supply Chain Management
转到销售和市场营销>销售订单>所有销售订单。
在“操作窗格”中,选择新建创建销售订单。
按常规方式填写创建销售订单对话框,然后选择确定完成新订单的创建。
新订单将打开。 输入销售行。 确保指定产品 ID、站点、仓库和数量值。 指定任何其他适用的库存维度值。
有两种方法可以从销售订单进行软预留。 按以下步骤之一:
若要软性预留整个订单,包括所有行,请在操作窗格上选择库存可见性集成>软性预留。 然后选择以下选项之一:
- 直接预留整个订单 – 对库存可见性发起即时软预留 API 调用。
- 分批预留整个订单 – 将预留请求添加到与批处理作业关联的批处理队列中,该批处理作业大约每分钟一次将 Supply Chain Management 与库存可见性同步。
若要软性预留特定订单行,请选择销售行,然后在快速选项卡的工具栏上选择库存>库存可见性集成>软性预留,以打开库存服务预留详细信息对话框。 然后选择直接预留或将预留添加为批处理作业。 将显示以下信息:
- 未预留 – 未软预留的数量。
- 软预留成功 – 软预留成功的数量。
- 批处理预留正在进行中 – 添加到软预留批处理队列的数量。
- 直接预留正在进行中 – 触发对库存可见性的即时软预留 API 调用的数量。
- 失败 - 存货不足 – 由于没有可用存货而无法软预留的数量。
- 失败 - 其他原因 – 由于其他原因无法软预留的数量,如失败的 API 调用、连接问题或其他问题。
- 抵销数量 – 总抵销数量,包括抵销成功和进行中的数量。
- 待抵销的数量 – 跳过软预留、直接进入硬预留或其他实际库存数量消耗的数量。
要查看和编辑销售行的软预留状态,在销售订单行快速选项卡上选择该行,然后在行详细信息快速选项卡上,选择常规选项卡。如果您的系统设置为在无法进行软预留时阻止或发出警告,您可能会在此处看到阻止通知。 为帮助避免超额销售风险,我们强烈建议您不要选择替代软预留验证,除非您的业务允许预留。
软预留成功后,将自动返回并记录每个销售行的软预留 ID。
默认情况下,当行达到硬预留状态(预留实际数量或预留已订购数量)或进一步状态时触发软预留抵销。 显示有效软预留 ID 和合格触发状态的销售行将自动添加到抵销批处理队列。
注释
如果必须撤销成功的软预留,打开相关的销售订单,然后在销售订单或销售行级别选择直接还原预留或分批还原预留。
导入已在外部软预留的销售订单
您的公司可能还有其他订购渠道,这些渠道也会将软预留发布到库存可见性。 如果您将 Supply Chain Management 用作您的记录系统,您可能必须在其中导入在外部软预留的销售订单。 按照以下步骤导入已在外部软预留的销售订单。
登录 Supply Chain Management。
转到系统管理>工作区>数据管理。
选择框架参数磁贴。
在数据导入/导出框架参数页面,在实体设置选项卡上,选择刷新实体列表。
返回到系统管理>工作区>数据管理。
选择导出磁贴。
在新建记录页面的组名称字段中,输入一个名称。
在选定实体快速选项卡上,选择工具栏上的添加实体,然后在下拉对话框中框中,设置以下值:
- 实体名称 – 选择销售订单行 V2。
- 目标数据格式 – 选择 Excel。
- 选择字段 – 选择可导入字段。
选择添加应用您的设置,然后选择关闭关闭对话框。
新行将添加到网格中。 在新行中,选择筛选器列中的按钮。
在查询对话框中,范围选项卡上的网格应该已经有一行。 编辑行,使其具有以下值:
- 表 – 选择销售订单行 V2。
- 派生表 – 选择销售订单行 V2。
- 字段 – 选择销售订单。
- 条件 – 选择任意销售订单编号。
选择确定应用设置并关闭对话框。
在操作窗格上,选择导出。
在执行摘要页面上,在实体处理状态快速选项卡上,选择工具栏上的下载文件。
在 Excel 中打开下载的文件,删除所有数据行。 只保留标题行。
添加包含要导入到 Supply Chain Management 的销售订单行详细信息的新行。
对于每一行,除了通常的订单数据外,确保在以下列中包含软预留详细信息:
- INVENTORYSERVICERESERVATIONID – 输入来自外部预留的软预留 ID。
- ISSOFTRESERVEDEXTERNALY – 输入是。
导入完成的 Excel 文件。 完成后您将能够检查导入状态。
成功导入文件后,您可以通过在 Supply Chain Management 中打开这些订单来确认新销售订单具有软预留详细信息。
注释
导入包含软预留详细信息的销售订单后,您将无法修改软预留或从 Supply Chain Management 中将其还原。 如果您导入的数据不正确,删除受影响的销售行,然后重新导入。
当您使用“库存可见性与预留抵销的集成”功能时,创建软预留和抵销
当您使用库存可见性与预留抵销的集成功能时,您无法直接从 Supply Chain Management 触发软预留。 此功能仅支持从 Supply Chain Management 外部创建的销售订单行的抵销。 将外部创建的软预留销售行复制到 Supply Chain Management 时,可能需要 Supply Chain Management 到库存可见性的抵销。
在 Supply Chain Management 或另一个 ERP 系统中实际扣除订单上的数量后,您可以抵销软预留数量。 库存可见性提供现成的软预留抵销与 Supply Chain Management 的集成。
按照以下步骤抵销软预留。
登录 Supply Chain Management。
转到销售和市场营销>销售订单>所有销售订单。
在操作窗格上,选择新建。 创建新订单和新销售行。
重新创建外部销售订单,并添加使用相同的产品 ID、组织、站点、仓库和维度值的销售行。
在销售订单行快速选项卡上,选择您刚才输入的销售行,然后在工具栏上,选择库存>预留 ID。
按以下步骤之一:
- 复制软预留请求响应中的软预留 ID,将其粘贴到预留 ID 字段中。
- 保留预留 ID 字段为空,但选中库存服务自动抵销复选框。 系统将根据在选定行中输入的项目 ID 和维度值,自动确定要抵销的产品和产品维度。
选择确定。
仍然选择相同的销售行,通过在销售订单行快速选项卡的工具栏上选择库存>预留来实际预留订购数量。
如果您之前将预留抵销修饰符字段设置为已预留,当订单行的状态为预留实际数量或预留订购数量时,将触发抵销。 批处理作业每分钟运行一次,将来自 Supply Chain Management 的抵销请求同步到库存可见性。
注释
对于其中包含指定预留抵销修饰符的交易记录状态,如果满足下面的所有条件,交易记录更新将抵销相应的预留记录。
- 库存交易记录中的预留 ID 与库存可见性中的预留记录的预留 ID 匹配。
- 库存交易记录中的维度与库存可见性中的预留记录的维度匹配。
- 当库存交易记录状态反映订单流程已完成或已跳过的事实时,库存交易记录状态的更改将触发预留抵销。
抵销数量遵从相关库存交易记录中指定的库存数量。 只有预留数量在库存可见性中保持不变时,抵销才会生效。
检查失败的预留抵销
若要检查失败的预留抵销,请转到库存管理>定期任务>库存可见性集成。 失败的抵销可能是由不正确的软预留 ID、Internet 问题、系统连接断开等原因引起的。
取消或恢复软预留
如果原始订单行被取消或删除,并且您必须删除相应的软预留,请执行以下操作之一:
- 发布一个具有负数量的软预订事件,该负数量与 API 查询主体中的信息完全相同。
- 发布具有相同数量和预订 ID 的取消预订请求。 请参阅 反向预订事件 以了解更多信息。