Billing Block in SAP SD
- Mahmut Yaka
- May 2
- 3 min read
Updated: May 3
Introduction
In the SAP SD module, billing blocks are used to temporarily prevent the creation of billing documents for specific sales or delivery documents. This functionality is especially useful for implementing business control points such as management approval, documentation completeness, or financial clearance before an invoice is issued.
Billing blocks are flexible, easy to configure, and can be manually applied by users or automated through business logic (e.g., user exits, BAdIs).
Typical business scenarios for using billing blocks include:
High-value orders requiring approval
Export shipments awaiting customs clearance
Incomplete delivery documents pending confirmation
Payment-in-advance terms not fulfilled
How It Works
When a billing block is assigned to a sales order, delivery, or billing-related document, SAP will prevent the generation of an invoice (via VF01 or batch billing jobs) until the block is removed. This allows the business to implement soft stops in the billing process without deleting or modifying the core transaction.
Billing blocks are typically managed through:
The Sales Order Header
The Delivery Document Header
Configuring Billing Block (Example: Approval Required)
Below are the steps to configure and use billing blocks in SAP SD. In this example, we create a custom billing block “Z1 – Approval Pending” and assign it to sales orders above a certain threshold.
Step 1: Define Billing Block Reasons
Menu Path: IMG ➝ Sales and Distribution ➝ Billing ➝ Billing Documents ➝ Define Blocking Reason For Billiing ➝ Billing: Blocking Reasons
Create a new billing block key (e.g., Z1)
Provide a description: “Approval Pending”
Leave other settings default unless specific output control is needed

Step 2: Assign Blocking Reasons to Billing Types
Menu Path: IMG ➝ Sales and Distribution ➝ Billing ➝ Billing Documents ➝ Define Blocking Reason For Billiing ➝ Assign Blocking Reasons to Billing Types
Select the relevant billing type (e.g., ZGI-Germany Invoice)
Assign the previously created billing block key (e.g., Z1) to the billing type
Save the configuration

Step 3: Maintain Billing Block in Sales Documents
Billing blocks can be applied at the header level of a sales order or delivery document.
Sales Order:
TCode: VA01 / VA02 → Header → Billing Tab → Field: Billing Block
Delivery Document:
TCode: VL01N / VL02N → Header → Billing Tab → Field: Billing Block
Select the block reason (Z1) to prevent billing generation.
Step 4: Monitor Billing Blocks
To view all sales documents that are ready for billing but have an active billing block, use the standard transactions V23 or VBBLOCK.
Transaction Code: V23 (or VBBLOCK)
Selection screen: Company Code, Sales Organization, Document Type
Output list: Sales documents that are blocked for billing due to an active billing block
Master Data and Automation Options
Although billing blocks are usually set manually, it is also possible to assign them automatically based on:
Order value threshold (e.g., via user-exit USEREXIT_SAVE_DOCUMENT_PREPARE)
Customer master field (e.g., risky customers)
Delivery type or country-specific logic
These enhancements require ABAP logic but significantly improve process control.
Example Scenario: High-Value Order Requiring Approval
A company has a policy that all orders above €50,000 require management approval before billing.
Sales Rep creates a sales order via VA01
Due to the high order value, the sales rep manually applies billing block Z1
(Alternatively, the system can be enhanced to automatically check the order value and apply the Z1 block)
The Sales Manager reviews the order using transaction V23 or VBBLOCK, which lists all sales documents blocked for billing
Sales Manager approves the order
Billing block is manually removed via VA02
Invoice is created via VF01
Conclusion
Billing blocks are a simple yet powerful feature in SAP SD that help companies implement flexible process controls in the billing cycle. Whether applied manually or automatically, they ensure that invoices are only issued when business and compliance conditions are fully met.
Proper use of billing blocks not only reduces billing errors but also improves collaboration between sales, finance, and operations teams.
Mahmut Yaka
SAP SD/MM Consultant
Comments