SD Sales Documents Part 4: Incompletion, Status and Document Blocks
Keep sales documents clean and controlled: incompletion procedures and status groups that stop delivery or billing of incomplete documents, the incompletion log, document status fields, user status profiles, and delivery, billing and credit blocks at header, item and schedule line level.
Explanation
📌 KEY POINTS
✅ An incompletion procedure lists fields that must be filled; each field has a status group that decides what is blocked (delivery, billing, pricing…) while it is empty.
✅ Procedures are assigned per level: header via document type (VUA2), item via item category, schedule line via schedule line category, plus partners and sales activities.
✅ Delivery block and billing block can be set at header, item (billing) and schedule line (delivery) level; each block key controls which follow-on activities it stops.
✅ Credit blocks come from credit management; releasing them is a controlled process (UKM/VKM1).
⚠️ Too many incompletion fields with "block everything" status groups create queues of blocked orders; too few let wrong data reach billing.
━━━━━━━━━━━━━━━━━━━━
▶ WHERE WE ARE
Part 3 connected documents. Now we control when a document may move on.
━━━━━━━━━━━━━━━━━━━━
▶ 1. INCOMPLETION PROCEDURES
- Define procedures (OVA2) per group: header, item, schedule line, partner, sales activity, delivery.
- Each entry: table/field (e.g. VBKD-BSTKD customer PO), screen, status group, warning on save.
- Assign: header → document type (VUA2), item → item category, schedule line → schedule line category.
━━━━━━━━━━━━━━━━━━━━
▶ 2. STATUS GROUPS
- Status group defines which functions are blocked while the field is incomplete: general, delivery, billing, pricing, goods movement, picking, packing.
- Example: PO number missing blocks billing but not delivery.
━━━━━━━━━━━━━━━━━━━━
▶ 3. INCOMPLETION LOG
- In the document: Edit > Incompletion log — jump to missing fields.
- V.02: list of incomplete documents for work queues.
- Warning on save can be dialog or silent per document type.
━━━━━━━━━━━━━━━━━━━━
▶ 4. BLOCKS
- Delivery block (OVLS): header (VBAK-LIFSK) or schedule line (VBEP-LIFSP); controls order confirmation, printing, delivery due list, picking, goods issue.
- Billing block (OVV3): header (VBAK-FAKSK) or item (VBAP-FAKSP); can be defaulted by document type or item category.
- Credit block: set by credit check; release in credit management.
━━━━━━━━━━━━━━━━━━━━
▶ 5. STATUS AND USER STATUS
- System status: overall, delivery, billing, rejection (in S/4HANA in VBAK/VBAP).
- User status profile (BS02) for approval steps (e.g. "Approved by pricing") with business transaction control.
━━━━━━━━━━━━━━━━━━━━
▶ STEP BY STEP
- Decide per field: must it block delivery, billing or nothing?
- Build status groups accordingly and the incompletion procedure (OVA2).
- Assign it to document types, item and schedule line categories.
- Define block keys with clear release owners.
- Monitor V.02 and blocked-document lists daily.
✅ CHECKPOINT: an order without customer PO can be delivered but not billed, and appears in the incompletion list.
Code example
===== STEP 1: incompletion procedure (SPRO > Sales and Distribution > Basic Functions > Log of Incomplete Items)Define Status Groups (OVA0) Status group 03 : billing blocked ; 04 : delivery + billing blockedDefine Incompleteness Procedures (OVA2) Group A (header) procedure Z1: VBKD-BSTKD Customer PO no. Status group 03 VBAK-VSBED Shipping cond. Status group 04Assign to sales document types (VUA2) ZOR → Z1Assign to item / schedule line categories (OVA2 assignment steps) ===== STEP 2: blocks =====Delivery blocks (OVLS) Z1 "Awaiting prepayment": block order confirmation, delivery due list, pickingBilling blocks (OVV3) Z2 "Price check": block billing; default in VOV8 for credit memo request CRHeader fields VBAK-LIFSK / VBAK-FAKSK Item VBAP-FAKSP Schedule line VBEP-LIFSP ===== STEP 3: monitoring =====V.02 incomplete SD documentsVA14L sales documents blocked for deliveryV.23 sales documents blocked for billingUKM_CASE / VKM1 credit-blocked documents (credit management)Real project scenario
A consumer goods company made twelve fields mandatory in its order incompletion procedure, all with a status group blocking delivery. After go-live, 18% of orders sat blocked every morning because fields like "customer group 3" or "sales district" were missing — fields nobody downstream needed urgently. The team reviewed each field with logistics and finance: four remained delivery-blocking (e.g. shipping condition, Incoterms), three became billing-blocking (e.g. customer PO), the rest were removed and ensured through master data defaults. Blocked orders fell below 2%.
Common mistakes
- Making many fields incompletion-relevant with "block everything" status groups.
- Forgetting to assign the procedure to item or schedule line categories.
- Default billing blocks without an owner who releases them.
- Using delivery block at header when only some schedule lines should be blocked.
- Not monitoring V.02 and blocked lists, so orders age silently.
Best practices
- Tie each incompletion field to a concrete downstream need and block only that step.
- Prefer master data defaults over incompletion checks where possible.
- Define block reasons with owners and release SLAs.
- Monitor incomplete and blocked documents daily with work queues.
- Use user status profiles for approval flows that need audit trail.
Interview angle
Questions: "How do you configure an incompletion procedure?", "What is a status group?", "Where can delivery and billing blocks be set?"
Strong answer: OVA2 procedures with fields and status groups (OVA0), assigned via VUA2 to document types and to item/schedule line categories; status group decides what is blocked; incompletion log and V.02. Delivery block at header or schedule line (OVLS), billing block at header or item (OVV3), credit block from credit management — each with a release process.
Practice this lesson
Quick check
1. What is the purpose of an incompletion procedure?
2. At which levels can a delivery block be set in a sales order?
3. Orders without a customer PO number must be deliverable but not billable. How is this configured?
Interview questions
1. What is the purpose of a delivery block versus a billing block on a sales order, and at what levels can each be set?
Answer it in your own words first, then compare.
2. A make-to-order sales order item is saved successfully despite missing an MTO-critical field—the requested ship-to plant override needed for correct production order determination—and the production order later pulls the wrong plant. How would you diagnose why the incompletion procedure did not catch this, and how would you correct it?
Answer it in your own words first, then compare.
Reference-verified: the steps are checked against official SAP documentation and tutorials, and object and field names in the sample code are checked for consistency. The code has not been compiled or run on an SAP system by ERPClimb. Syntax marked release-dependent varies by SAP release, so check it in your own system.
More lessons in this topic
- SD Sales Documents Part 1: Document Structure and Document Categories
- SD Sales Documents Part 2: Sales Document Type Configuration (VOV8)
- SD Sales Documents Part 3: Referencing, Document Flow and Completion
- SD Sales Documents Part 5: Architecting Sales Document Landscapes — Governance and S/4HANA Migration