> ## Documentation Index
> Fetch the complete documentation index at: https://docs.alforse.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 销售订单

> 对客户的已确认交付承诺：销售订单如何创建、确认、发货、开票并转为工单，以及通过各状态逐行跟踪。

**销售订单**是您向客户交付物料的已确认承诺。销售人员可以直接创建，也可以从已接受的报价创建；此后，发货、发票和按订单生产的工单都会指回它的各行。

## 订单如何跟踪履行

订单是逐行履行的，而不是一次性完成。每一行将三个数量分开记录：订购了多少、已发出多少、已开票多少。这样您可以只发出订单的一部分、只开票一部分，并清楚看到每一行还欠多少。

订单在每一行都已发货且已开票之前一直保持未结。发货和开票相互独立，因此任何一方都可以走在另一方前面。

## 行字段

行的**类型**决定它销售什么：五种物料类型对应 *零件*、*服务*、*原材料*、*工具*或*耗材*，另外还有 *固定资产*，以及不收费的备注行 *评论*。

FieldType

<details>
  <summary>**物料**`reference`</summary>

  所销售的物料。
</details>

<details>
  <summary>**销售数量**`number`</summary>

  客户订购的数量。
</details>

<details>
  <summary>**已发数量**`number`</summary>

  截至目前已发出的数量。`quantity to send` 是尚待发出的数量。
</details>

<details>
  <summary>**已开票数量**`number`</summary>

  截至目前已开票的数量。`quantity to invoice` 是尚待开票的数量。
</details>

<details>
  <summary>**单价**`number`</summary>

  折扣后的每单位价格。
</details>

<details>
  <summary>**方法**`enum`</summary>

  该行的履行方式：*按订单生产*、*从库存领用*或*按订单采购*。参见[方法类型](https://docs.alforse.com/zh/docs/reference/methods.md#method-type)。
</details>

## 处理订单

### 创建订单

创建订单，并对每个物料选择**添加行项目**。订单处于**草稿**时，您可以更改其中的任何内容。

### 确认订单

选择**确认**。该按钮仅对至少有一行的**草稿**或**需要审批**订单可用。确认即承诺订单：此后 Alforse 计算供需时，其数量计为在订。若可使用电子邮件，**通过以下方式发送**可让您把确认函通过邮件发给客户。

### 为自制行创建工单

在订单菜单中，选择**将行转换为工单**。只有方法为 *按订单生产* 的行才会产生工单。该操作在订单处于**待发货并开票**或**待发货**时可用，并且需要有在生产中创建的权限。

### 发货并开票

选择**发货**创建发货，选择**发票**创建发票。当订单仍欠发货（**待发货并开票**或**待发货**）时，**发货**可用；当订单仍欠发票（**待发货并开票**或**待开票**）时，**发票**可用。

要更改已确认的订单，请在订单菜单中选择**重新打开**，订单会回到**草稿**。要终止订单，请选择**取消**。

## 状态

存储的状态说明订单还欠什么。Alforse 会随着发货和发票的过账更新它。

<details>
  <summary>**草稿**</summary>

  正在创建，尚未承诺。这是订单唯一可以自由编辑的状态。
</details>

<details>
  <summary>**需要审批**</summary>

  等待签批，由订单金额触发。
</details>

<details open>
  <summary>**待发货并开票**</summary>

  已确认。尚未发货，也尚未开票。
</details>

<details>
  <summary>**待发货**</summary>

  已全部开票，但仍欠发货。
</details>

<details>
  <summary>**待开票**</summary>

  已全部发货，但仍欠发票。
</details>

<details>
  <summary>**已完成**</summary>

  每一行都已发货并开票。
</details>

<details>
  <summary>**已关闭**</summary>

  在完成之前结束。
</details>

<details>
  <summary>**已取消**</summary>

  已放弃。
</details>

NOTE

**为什么列表会显示进行中**

订单列表在存储状态之上显示一个计算出的**显示状态**。当存储状态仍为 *待发货并开票* 时，它可能显示为**进行中**：这表示某个按订单生产行的工单尚未完成。驱动流程的是存储状态。

### 订单何时被锁定

订单自确认起即被锁定：在**待发货并开票**、**待发货**、**待开票**、**已完成**、**已取消**和**已关闭**状态下，您不能编辑表头，也不能添加或删除行。重新打开为**草稿**可解除锁定，已经发生的任何发货或开票仍保留在账上。

## 故障排除

### "Cannot modify a confirmed sales order." / "Cannot modify a locked sales order. Reopen it first."

**原因：**订单已确认，因此被锁定。**解决方法：**选择**重新打开**使其回到**草稿**，进行更改，然后再次确认。

### "Cannot add lines to a locked sales order. Reopen it first." / "Cannot delete lines on a locked sales order. Reopen it first."

**原因：**同样的锁定，在行编辑器中触发。**解决方法：**在添加或删除行之前，先将订单重新打开为**草稿**。

### "No jobs were created"

**原因：** **将行转换为工单**没有找到符合条件的行，因为所选行中没有自制行。*从库存领用*和*按订单采购*行永远不会产生工单。**解决方法：**检查每一行的方法。

### "Failed to insert job"

**原因：**根据该行创建工单被拒绝。**解决方法：**检查该行的物料是否有启用的自制方法，以及订单是否有位置，然后重试。

## 相关内容

**报价**

报价如何变成销售订单。

[Open](https://docs.alforse.com/zh/docs/reference/quotes.md)

**工单**

按订单生产行会变成制造该物料的工单。

[Open](https://docs.alforse.com/zh/docs/reference/jobs.md)

**发货**

货物如何依据订单行发出。

[Open](https://docs.alforse.com/zh/docs/reference/shipments.md)

**发票**

订单如何开票。

[Open](https://docs.alforse.com/zh/docs/reference/invoices.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.