If you’re writing an ‘Open Orders’ report, chances are you are intersted in the delivery status of your Sales Order. You man have noticed that there are two delivery statuses (stati?) found on the Sales Document Header and Item level: “Delivery Status” and the “Overall Delivery Status”. What do these statuses represent? Read on to learn more about the SAP Sales Order Delivery Status fields.
SAP Sales Order Delivery Status Fields
First off, let’s discuss where these status fields exist. The answer will depend upon your version of SAP. If you’re using ECC 6 or previous, you will find these status fields in dedicated status tables. The header status table for SD Documents is table VBUK. Likewise, item level status fields exist in table VBUP. These index tables store status details separately from other header and item details to improve database performance.
With SAP S/4HANA, these performance issues are no longer valid, so SAP decided to integrate status fields into the main Sales Order Header and Item tables: VBAK and VBAP respectively.
NOTE: My S/4HANA reference systems include the old VBUK/VBUP tables, but they are not functional.
SAP Delivery Status
The delivery status reflects the actual delivery status of a line item. That status is then aggregated at the header level to summarize the status at the entire document level.
The “actual delivery status” mentioned above reflects whether or not the item has been delivered:
Value | Description |
[Blank] | If the item is not relevant for delivery, the value is blank/null. |
A | The item is relevant for delivery, but has no delivered quantity. |
B | The item is relevant for delivery, but has only a partial quantity delivered. |
C | The item is relevant for delivery, and is fully delivered. |
In the above list, “delivered” means there is a delivery created with reference to the Sales Order item. It does not indicate whether the delivery has been goods issued.
The status is aggregated at the header level:
Value | Description |
A | No items have been delivered. |
B | At least one item has been delivered, or partially delivered |
C | All items have been delivered |
Another important thing to note is that items which have been rejected with still show a delivery status of A, B, or C. This is the reason why the Delivery Status can be a bit misleading: the item may still appear to be open on a report, despite being rejected.
The database fields for this status are as follows:
System | H / I | Table / Field |
S/4HANA | Header | VBAK-LFSTK |
S/4HANA | Item | VBAK-LFSTA |
ECC | Header | VBUK-LFSTK |
ECC | Item | VBUP-LFSTA |
SAP Overall Delivery Status
As described above, the ‘Delivery Status’ values can be misleading when items are rejected. The ‘Overall Delivery Status’ will help us account for that. This value can also be thought of as the “effective delivery status”. It answers the question: What is the status of the deliverable items?
That status values (A, B, and C) still apply to each items; however, it takes into consideration the Rejection Reason. If there is a Rejected item, for example, it will not be delivered and so it is considered as “C” (Complete).
System | H / I | Table / Field |
S/4HANA | Header | VBAK-LFGSK |
S/4HANA | Item | VBAK-LFGSA |
ECC | Header | VBUK-LFGSK |
ECC | Item | VBUP-LFGSA |
The same aggregation occurs for the header status, except, as mentioned above, it considers rejected items as Complete (“C”).
Summary
There you have it: The SAP Sales Order Delivery Status and Overall Delivery Status explained. There’s a subtle difference between these fields. Understanding them can really make an impact to custom reports or simply help you understand the values as they appear on a standard report. Thanks for reading. Please leave your thoughts and questions in the comments below.
Does the overall delivery status = ‘C” mean that it has been Post goods issued?
The goods movement status would tell you whether the goods issue has been performed. The overall status could include other activities such as Billing or Proof of Delivery.
Thanks, do you know how I can account for Short orders? Orders where an item will not be delivered and sales order is considered closed.
Thanks for the question, Sun. What you are talking about can be described as “fill and kill”. You can prevent subsequent deliveries using the partial delivery settings on the customer master / sales order line item. Unfortunately, the sales order line item will remain in an open status and must be addressed somehow. Ive seen custom programs do this for clients in the past. If you are interested in reporting on these sales order lines, you are looking for sales order lines with a delivery status of ‘B’. That would suggest that the order line is partially delivered with an open quantity on the sales order.