# BD9 Sell from Stock — 销售出库
**模块**：SD | **版本**：S/4HANA Cloud 2602 | **来源**：BD9_S4CLD2602_BPD_EN_CN.docx | **CN 本地化**：是
**上层引用**：SA KB `SAP_Scope_Item_Catalog_RAG.md` → `## SCOPE-ITEM: BD9`（ID/名称/依赖/角色权威）；`FSD_04_Sales_Capabilities.md`（功能边界）

## 流程概述
Sell-from-Stock 是基于现有库存的精简订单履约流程。起点：客户主数据 + 标准销售订单创建。终点：发货过账 + 财务确认收入与销售成本。

## 前置条件

### 所需角色（来源：SA Catalog `## SCOPE-ITEM: BD9` / BPD §2.2）
| 角色 | 说明 |
|------|------|
| Internal Sales Representative | 创建销售订单 |
| Shipping Specialist | 创建交货单、拣配、发货过账 |
| Billing Clerk | 创建发票、CN 负过账冲销 |
| Master Data Specialist - Business Partner Data | 客户主数据维护（含 POD 相关） |
| Credit Controller | 信用额度（可选） |

### 所需主数据（BPD §2.3）
| 数据类型 | 示例值 | 说明 |
|---------|-------|------|
| 物料 | TG11 | Trading Good, Reg. Trading (MRP), 无 serial/batch |
| 物料 | TG12 | Trad.Good 12, Reorder Point |
| 物料 | TG20 | 仅 Serial Number 启用时用 |
| 物料 | TG21/TG22 | 仅 Batch Management 启用时用 |
| Sold-to Party | 13100003 | Domestic CN Customer 3 |
| Sold-to Party | 13100005 | 信用管理测试用 |
| Sold-to Party | 13100008 | 物料 listing/exclusion 测试用 |
| Sold-to Party | 13100009 | customer material record + POD 测试用 |
| MDS 引用 | BNF/BND/2YX/6N3 | 主数据脚本 ID（Product/Customer/Customer-Material Info/Hierarchy） |

### 组织架构参数
- 销售组织：1310
- 分销渠道：10
- 产品组：00
- 工厂：1310
- 库存地点：131A
- 发货点：1310

## 操作步骤

### 步骤 1：Create Sales Order（必选）
**App**：Manage Sales Orders (F1873) | **角色**：Internal Sales Representative | **URL Hash**：原文未列
1. 登录 SAP Fiori launchpad 以 Internal Sales Representative 身份
2. 打开 Manage Sales Orders (F1873)
3. 在 Manage Sales Order 界面选 Create → Create Sales Orders - VA01
4. 在 Create Sales Order 界面输入并 Enter：Order Type=OR；Sales Organization=1310；Distribution Channel=10；Division=00
5. 在 Create Standard Order: Overview 输入：Sold-to Party=13100003；Ship-to Party=13100003；Customer References=`<PO number>`；Material Number=`<Material Number>`；Quantity=`<Quantity>`
6. （可选）启用销售订单审批时：Order Reason=005
7. 选 Save，记下销售订单号
**预期结果**：订单保存；订单确认（ORDER_CONFIRMATION）输出可预览

### 步骤 2：Create Delivery（必选）
**App**：Create Outbound Deliveries - From Sales Orders (F0869A) | **角色**：Shipping Specialist | **URL Hash**：原文未列
1. 登录 SAP Fiori launchpad 以 Shipping Specialist 身份
2. 打开 Create Outbound Deliveries - From Sales Orders (F0869A)
3. 输入并 Go：Shipping Point=1310；Planned Creation Date=`<Delivery selection date>`；Sales Document=`<步骤1的销售订单号>`
4. 勾选销售订单行项目，选 Create Deliveries
5. 选 Display Log
**预期结果**：交货单创建成功，交货单号在 Deliveries tab 显示

### 步骤 3：Execute Picking（必选）
**App**：Manage Outbound Deliveries - VL06O (VL06O_CLOUD) | **Tab/子页面**：**For Picking** | **角色**：Shipping Specialist | **URL Hash**：原文未列
1. 登录 SAP Fiori launchpad 以 Shipping Specialist 身份
2. 打开 Manage Outbound Deliveries - VL06O (VL06O_CLOUD)
3. 选 For Picking
4. 输入并 Execute：Shipping Point=1310；Picking Data tab 勾选 Only Picking Without WM=X
5. 选交货单行 → Change Outbound Deliveries
6. 在 Picking tab 检查 Batch Split Indicator
7. 若有 batch split：展开子项在 Picked Qty 字段填 `<等于 Deliv. Qty>`；否则直接在主项填
8. 选 Enter → Save
**预期结果**：交货单 has been decided

### 步骤 4：Post Goods Issue（必选）
**App**：Manage Outbound Deliveries - VL06O (VL06O_CLOUD) | **Tab/子页面**：**For Goods Issue** | **角色**：Shipping Specialist | **URL Hash**：原文未列
1. 登录 SAP Fiori launchpad 以 Shipping Specialist 身份
2. 打开 Manage Outbound Deliveries - VL06O (VL06O_CLOUD)
3. 选 For Goods Issue；输入并 Execute：Shipping Point/Receiving Pt=1310
4. 勾选交货单行 → Post Goods Issues；选今日日期 → Continue
**预期结果**：确认 goods issue 已过账。财务影响（Trading Good HAWA）：Debit 54083000 Inv Chg COGS w/CE / Credit 13600000 Inventory TradingGd

### 步骤 5：Create Billing Document（必选）
**App**：Create Billing Documents (F0798) | **角色**：Billing Clerk | **URL Hash**：原文未列
1. 登录 SAP Fiori launchpad 以 Billing Clerk 身份
2. 打开 Create Billing Documents (F0798)
3. 选 Billing Settings，设置：Set billing date and type before billing=ON；Create separate billing document for each item=OFF；Automatically post billing documents=ON；Display billing documents after creation=ON；Choose delivery items to be billed=OFF
4. 在搜索条件中查得待开票 SD 文档
5. 勾选 SD 文档行 → Create Billing Documents
6. Billing Type=Invoice (F2)，Billing Date=`<当前日期>`，选 OK
7. 在 Manage Billing Document 界面选 Save；TMP 临时号变为正式 billing document 号
**预期结果**：发票生成。财务 Trading Good → Credit 41000000 Rev Domestic Prod

### 步骤 6：Allow Negative Posting in Cancel Billing for China（必选）[CN]
**App**：Change Billing Documents (VF02) | **角色**：Billing Clerk | **URL Hash**：原文未列
1. 登录 SAP Fiori launchpad 以 Billing Clerk 身份
2. 打开 Change Billing Documents (VF02)
3. 输入 Billing Document=`<步骤5的发票号>` → Continue
4. 在 Overview of Billing Items 界面：More → Billing Document → Cancel
5. 在 Default Data tab：Billing Date=`<当前日期>`；Reversal Reason=01
6. 在 Docs to Be Processed tab 选中文档 → Save
**预期结果**：billing document 取消，提示 "Document XXXXXXXX saved"

## 已知弹窗与处理
| 弹窗原文 | 处理 |
|---------|------|
| Minimum quantity 1.000 PC of free goods has not been reached | 选 Enter 跳过（仅启用 Free Goods Processing 且用 TG11 + 13100001 时） |
| Reorder point for item 000010 has been exceeded: 10 PC | 选 Enter 跳过（用 TG12 测试时） |
| Material TG12 has been excluded | 移除该物料（listing/exclusion 场景） |
| Material TG20 is not listed and therefore not allowed | 移除该物料 |

## 后续流程（BPD §5 Succeeding Processes）
- 完成后可触发：`KB_FI_J59_Accounts-Receivable.md`（Accounts Receivable / 入账）
- 完成后可触发：`KB_SD_BKK_*.md`（Sales Order Fulfillment Monitoring and Operations，可选）

## 注意事项（BPD 的 Warning/Caution/Note 原文）
- BPD docx 为 U.S. 标准格式（decimal / date）；不同区域系统需按本地化输入
- 库存不足时交货单无 confirmed quantity，不启动 WM 拣配；可调 replenishment lead time 或改 delivery-item-category 的 Check quantity 0 字段为 B
- 启用 IFRS15 Bundling Functionality 时需建两行项目（第一行物料，第二行参考），参考 SAP Note 2524569
- 启用 Free Goods Processing 且用 TG11 + 13100001 时会出现 "Minimum quantity" 警告，可 Enter 跳过
- 用 TG12 测试时会出现 "Reorder point exceeded" 警告，可 Enter 跳过
- 与 BD6 (Basic Credit Management) 联动：信用管理活动跳到 BD6
- 与 BDG (Sales Quotation) 联动：报价转订单需用一致的主数据

---

## 实战经验（★★★ 动态更新，以上官方步骤为准）
*（建设期留空，待实操沉淀）*
