If you are storing your customer’s goods on your own site, see how you can ensure that your customer’s stock is available at any time.
Key Concept
In customer consignment, a company has allowed its customer to reserve stock in the company’s warehouse. The goods have already been paid for and are considered to be the customer’s property. The company must then be able to provide the goods to the customer as soon as the customer needs them.
My client was worried. It wasn’t sure it could handle such random orders. Fortunately, it could and so can you. The way to handle this situation is actually quite simple. To fulfill your customer’s requirement, I suggest implementing a solution that incorporates customer consignment and billing before issuing. Customer consignment segregates the customer’s stock from the company’s stock, and the billing before issuing allows the customer to pay you for the stock before it sells it to other customers.
I will describe how you first invoice the customer and compare my process to the standard customer consignment process. Then, I’ll walk you through the process before describing the required customization in detail. My scenario is based on an implementation I did for a client using the customer consignment elements implemented for sales and distribution (SD) and shipping in SAP ERP Central Component (SAP ECC) 6.0. However, the process also applies to previous SAP ERP releases.
Consignment Delivery
In this first stage you set aside the stock for the customer, but you don’t bill yet. To do this, you need to create a consignment fill-up order, delivery, and goods issue.
Step 1. Create a sales order. Creating a sales order helps you plan the reservation of the product to your customer in consignment status. The order type makes this sales order a consignment fill-up. You can create a sales order of order type KB (consignment fill-up) using transaction VA01 or by following menu path Logistics > Sales and Distribution > Sales > Sales Order > Create. In Figure 1, you can see the main details of the sales order such as the Sold-to party, Ship-to party, Material, Order Quantity, delivery date, and delivery plant.

Figure 1
Create the sales order for the product
Step 2. Create a delivery. Now you want to create a delivery to plan the goods that you will store under the customer’s consignment stock status in your company’s warehouse. You can create a delivery using transaction VL01N or by following menu path Logistics > Sales and Distribution > Sales > Sales Order > Create. In Figure 2, you can see the main details of the outbound delivery such as material, delivery quantity, and ship-to party.

Figure 2
Outbound delivery 80000005 has been saved automatically by the system, based on configuration
Step 3. Create a goods issue. To execute the delivery and change the stock status from your stock to the customer’s consignment stock, you now create a goods issue. At this stage, the stock is still in your warehouse. You can post the goods issue using transaction VL02N or by following menu path Logistics > Sales and Distribution > Shipping and Transportation > Outbound Delivery > Change > Single document. In Figure 3, you can see how the goods issue has been posted. Here, the goods issue is created with reference to the outbound delivery using transaction VL02N. You can see the goods issue document number GI consgmt: 4900000033/1 in Figure 4.

Figure 3
Create a goods issue

Figure 4
The sales order history with document number GI consgmt: 4900000033/1
Step 4. Display the sales order history. You need to verify the business flow generated by the previous three transactions. Display the history of the sales order using transaction VA03 or by following menu path Logistics > Sales and Distribution > Sales > Sales Order > Display. On the first screen that appears after using transaction VA03, enter the sales order number 0000000002 (as test data) in the Sales order number field and click the display document flow icon. A screen similar to the one in Figure 4 opens.
Step 5. Display the stock in consignment. This helps you to verify the effect of the goods issue transaction and to make sure that you can see the right quantity under the customer’s consignment status. Display the stock in consignment using transaction MB58 or by following menu path Logistics > Materials Management > Inventory Management > Environment > Consignment > Consignment at Customer. In Figure 5, you can see the details (here 6 represents the customer and 21 represents the material) of the customer consignment goods under Customer Material.

Figure 5
Display the consignment stock
Consignment Shipment
In this second stage, you bill the customer and set aside stock. To do this, you create a consignment issue sales order and invoice by following steps 1 and 2.
Step 1. Create a sales order. Now that your customer needs its stock, you have to create another sales order. The order type KE (consignment issue) makes this sales order a consignment shipment. You can create a sales order using transaction VA01 or by following menu path Logistics > Sales and Distribution > Sales > Sales Order > Create. In Figure 6, you can see the main details of the sales order. After checking the data and saving the order, the system says, “Company Cons. Order 3 has been saved.”

Figure 6
Create issuing sales order
Step 2. Create billing. This is different from SAP’s consignment shipment, where the goods issue is required before the billing. In this example custom order type KE is used. This allows your company to be paid before the actual issuing of the goods. In this case, the billing is based on the sales order document and not the outbound delivery document. Create a sales order using transaction VF01 or by following menu path Logistics > Sales and Distribution > Billing > Billing Document > Create. In Figure 7, you can see the main details of the invoice. In it, document 90000008 is saved.

Figure 7
Display billing document
Note
If the billing is blocked for interfacing with SAP ERP Financials, then you can use transaction VFX3 to release it or eventually to follow up on any error via the error log. Then you can display the SAP ERP Financials document associated with the billing document either by using transaction FB03 or by following menu path Accounting > Financial Accounting > General Ledger > Document > Display.
Step 3. Print the invoice to verify the data and send it to the customer. If you want to display and print the invoice, then go to Billing document > Issue output to and select the appropriate message type — in my example I used RD00 (invoice). You obtain the layout of the invoice and then you can print it, as shown in Figure 8.

Figure 8
The billing layout
Suppose that the customer has requested stock, and you now need to ship some of it. In this case, the materials are issued from the consignment stock instead of plant stock unrestricted. This represents the third stage, formed by following steps 4 and 5.
Step 4. Create a delivery. Now you plan the physical delivery of the stock to your customer. Before creating a delivery, make sure that the sales order line item has been confirmed and the customer’s quantity shows up as confirmed in the Schedule Lines tab of the sales order line item. You can create a delivery using transaction VL01N or by following menu path Logistics > Sales and Distribution > Shipping and Transportation > Outbound Delivery > Create > Single Document > With Reference to Sales Order.
In Figure 9, you can see the main details of the outbound delivery: Item, Material, Description, Sending Plant and Location, Delivery and Picked Quantity, Batch, Volume and Weight. When you save the document, the system automatically provides you the delivery document number.

Figure 9
Delivery creation
After entering those details, check your document and save it. The system should now give you the message “Outbound Delivery created under the number 80000006.”
Step 5. Process the outbound delivery and physically ship the stock to your customer. You can post the goods issue using transaction VL02N or by following menu path Logistics > Sales and Distribution > Shipping and Transportation > Outbound Delivery > Change > Single document. In Figure 9, you can see how the goods issue has been posted with reference to the outbound delivery using transaction VL02N. Then the document number representing the goods issue is reported in the sales order history, as shown in Figure 10.

Figure 10
Post goods issue
At this stage if the goods have to be totally issued the process is ended. If the customer requires partial deliveries then you can create multiple outbound deliveries. Use transaction VL06O or follow menu path Logistics > Sales and Distribution > Shipping and Transportation > Outbound Delivery > Lists and logs > Outbound Delivery Monitor.
Step 6. Display the sales order document flow. This allows you to verify the business flow generated by the previous three transactions. You can display the sales order history using transaction VA03 or by following menu path Logistics > Sales and Distribution > Sales > Order > Display. In Figure 11, you can see the documents created so far in the correct order.

Figure 11
Display sales order document flow
You can see the document number created from the activities performed in steps 4 and 5:
- Outbound delivery document number and line item 80000006/10
- Picking request document number and line item 20090128/10
- Goods issue document number and line item 49000000034/1
Customizing Steps
To differentiate your customer’s stock from your ordinary stock, I suggest that instead of changing the standard consignment elements delivered by SAP that you instead create custom entries. It is never a good idea to change the standard elements as you should always have the standards as a reference. Furthermore, you can use your custom entries to manage your business cases and update them as your business may require. The following steps show you how to create them.
Step 1. Create a custom delivery type. To differentiate the standard SAP delivery documents used for consignment from those used for your own solution, you need your own custom delivery type. Then you should follow up on any specific sales transactions using standard SAP reports. To create a custom delivery type from the main SAP screen, follow menu path Tools > Customizing > IMG > Execute Project > SAP Reference IMG Logistics Execution > Shipping > Deliveries > Define Delivery Types or use transaction OVLK.
If you define your own delivery type, the keys should start with the letter Z since SAP reserves this naming convention in the standard system. The same concept is applicable to the rest of the custom objects you create. Enter a suitable custom code for the new delivery type, such as delivery document type ZF (custom delivery order type) and a suitable description. Then complete the rest of the fields as shown in Figure 12.

Figure 12
Outbound delivery document type details
In Figure 12, you can see that this custom order type has been created copying the standard outbound delivery type LF. I have maintained the standard description Outbound delivery but you should change it to meet your user’s requirements. The internal and external number ranges assigned to this Outbound delivery are the same as for the standard document type LF (the standard document type for Outbound delivery). However, number ranges should be driven by a business decision or legal requirements.
The order requirement field has been marked as X Sales order required, which means that the Delivery Type ZF can be used only with reference to the sales order. The Default order type and ItemRequirement fields’ details have been removed as those are relevant only in the case of Outbound delivery created without any order reference. The rest of the fields have been maintained as they were copied from LF.
Use this custom Delivery Type to differentiate clearly the normal deliveries against the deliveries that are used exclusively for billing before issuing. This code can be used as filtering in all the main logistics reports.
Step 2. Define the Delivery Item Category. Doing this helps you differentiate the deliveries created for this customer’s consignment solution from those created using standard item categories. To create a custom Delivery Item Category, follow menu path Tools > Customizing > IMG > Execute Project > SAP Reference IMG Logistics Execution > Shipping > Deliveries > Define Item Categories for Deliveries Define (transaction OVLP). Enter the new Delivery Item Category ZEN and a suitable description. Complete the rest of the fields as shown Figure 13.

Figure 13
Delivery Item Category details
In Figure 13, this custom Delivery item category has been created copying the Delivery Item Category ZEN (consignment issue). The rest of the fields have been maintained as they were copied from ZEN. The delivery item category determines how the system processes an item (i.e., item free of charge or relevant for picking). You can use the custom item category to differentiate the normal deliveries against the deliveries that will be used exclusively for billing before shipping. You can then use this code as a filter in all the main logistics reports.
Step 3. Define the billing type. This allows you to differentiate the standard SAP billing documents used for consignment from those used for your own solution and then to follow up on any specific sales transactions using standard SAP reports. To create a custom billing type, follow menu path Tools > Customizing > IMG > Execute Project > SAP Reference IMG Sales and Distribution > Billing > Billing Documents > Define Billing Types or use transaction VOFA. Enter the new billing type Z1 and a suitable description and then complete the rest of the fields as shown in Figure 14.

Figure 14
Billing Type details
Note that in Figure 14 this custom billing type has been created by copying the standard Billing Type F1. I changed the description into Invoice custom, but you should change it to meet your user’s requirements. The internal number range assigned to this billing type is the same as for the standard document type F1. In this case the number range should be driven by a business decision or legal requirements. The system copies the information from F1 and automatically maintains the rest of the fields. Note that you can also use the customizing transaction to check the consistency of the settings done for the billing document type using transaction VCHECKVOFA.
Step 4. Create a dependency between the Delivery Type and Billing Type. This step is necessary to let the end user create an invoice type Target Bill. Type Z1 with reference to a delivery type ZF. To create a dependency between the custom delivery type and the custom billing type, follow menu path Tools > Customizing > IMG > Execute Project > SAP Reference IMG Sales and Distribution > Billing > Billing Documents > Maintain Copying Control for Billing Documents > Copying control: Delivery document to billing document or use transaction VTFL. Enter Z1 as the Target Bill. Type and ZF as the source delivery type (From Delivery Type field). Then complete the rest of the fields’ specific information such as Routine 003 – Header/Dlv-related” in the Copying requirements field as shown in Figures 15 and 16.

Figure 15
Header details

Figure 16
Item detail
One of the most important fields to be populated is Copying requirements. Copying requirements are FORM routines that check certain requirements as a precondition for the copying process. This requirement is used to validate the header of the delivery document prior to permitting the copy into the billing document. The value 003 contains ABAP code that checks the following attributes of the delivery document header: delivery header billing block, billing status, goods movement status (completely processed), and the incompletion status of the billing document. If any blocks are present or the status checks reveal an incompatible entry, copying is not permitted.
Copying requirements 011 is used to create a billing document based on deliveries that have not yet had the goods issue posted. It checks that the delivery does not contain any billing blocks and that the billing status indicates that the document is relevant for billing. Additionally, because the actual cost of the shipped goods is determined at goods issue time, an invoice created prior to the shipping of goods is only able to contain the material cost. Also in this case, if there are any blocks present or the status checks reveal an incompatible entry, copying is not permitted.
Step 6. Create a custom sales order type. To differentiate the standard SAP sales documents used for consignment from those used for your own solution, you need your own sales order type. Then you can follow up on any specific sales transactions using standard SAP reports. From the main SAP screen, follow menu path Tools > Customizing > IMG > Execute Project > SAP Reference IMG Sales and Distribution > Sales > Sales Documents > Sales Document Header > Define Sales Document Types or use transaction VOV8.
In Figure 17, note that this custom order type ZE has been created by copying the standard order type OR. As soon as you’ve used transaction VOV8, you receive the list of the sales order type available in the system. One of the sales order types is OR. Here, the custom order type ZE has been created with reference to OR. DR (Debit Memo Request) is referring to a Billing request and not to a sales order document. I have specified Company Cons. Issue as the description but you can change it to meet your user’s requirements. The internal and external number ranges assigned to this Order Type are the same as for the standard document type OR. In this case, you can change them to meet business or legal requirements.
The delivery type is ZF, as defined earlier. Use immediate delivery A (VA08 - Define Sales Document Types) if you want to create a delivery upon the sales order creation.
The proposed billing type for a delivery-related billing document is Z1, as defined in Figure 12. The proposed billing type for an order-related billing document [Target Bill Type] is Z1, as defined in Step 4. The rest of the fields have been maintained as they were copied from OR.
This custom sales ZE order type is used exclusively for billing before issuing cases. Many standard reports are available to track the status of the orders based on the order type.

Figure 17
Order type details
For my solution, it is enough for you to specify that the Billing request document type is DR, unless your customer has specific business needs to have a different billing request document type.
Step 7. Create a custom Item category. The Item category is an important element of a sales document type ZE used to group together materials that will be handled with this consignment solution. The system uses the Item category to determine how to process a particular line item. To create a custom Item category, follow menu path Tools > Customizing > IMG > Execute Project > SAP Reference IMG > Sales and Distribution Sales > Sales Documents > Sales Document Item > Define Item Categories or use transaction SPRO. Enter the Item Category ZEN and a suitable description. Complete the rest of the fields as shown in Figure 18. The Item category ZEN was copied from the standard Item category TAN.

Figure 18
Item category details
Step 8. Create the Item category assignment to track and group the materials to be handled, with the sales order type ZE and the default Item category ZEN. To assign the custom Item category created in the previous step, follow menu path Tools > Customizing > IMG > Execute Project > SAP Reference IMG Sales and Distribution > Sales > Sales Documents > Sales Document Item > Assign Item Categories or use transaction SPRO. Then link the Item category ZEN with the Sales Order type ZE and Item category Group NORM as shown in Figure 19. This is the Item category that the system automatically uses when you create a document or create a new item within an existing document.

Figure 19
Maintain the assignment of the Item Category
Step 9. Create a dependency between the delivery type and sales order. This step lets the end user create a delivery type ZF with reference to an order type ZE. To create a dependency between the custom delivery type and the custom sales order type, from the main SAP screen follow menu path Tools > Customizing > IMG > Execute Project > SAP Reference IMG Logistics Execution > Shipping > Copying Control > Specify Copy Control for Deliveries or use transaction VTLA. Enter the delivery type ZF and the source sales document type ZE. Then enter the data for the Order requirements, Combination reqirmnt, and Header Data fields, as shown in Figures 20 and 21.

Figure 20
Header details
The first field, Order requirements, checks that certain requirements are met when you copy a sales document into a delivery. Routine 101 ensures that the following attributes of the reference document items are checked: delivery relevance, incompletion status, delivery completeness, shipping point, batch, credit block, credit check, user status, and export data. If there are any blocks or the status check reveals an incompatible entry, copying of the affected line is not permitted.
The Combination requirmt field checks that certain requirements are met before you can combine a number of sales orders into one delivery. Routine 051 (used by default to check data on different sales orders in order to combine them in a unique delivery) ensures that the following attributes of the sales document must be identical: delivery type, sales organization, full delivery rules, and billing type. If any of these entries are not identical, the combination of sales orders is not permitted.
Finally, the Header Data field allows you to fine tune the transferred fields during the copying process. Routine 001 (used by default to transfer data from sales documents into delivery documents) is the standard routine to transfer data from sales documents into the delivery. Most fields are transferred exactly as they appear in the reference document. Note that you can use the field ZUKRL to define combination rules.

Figure 21
Item details
Note the three fields I have highlighted in Figure 21. Routine 101, specified in the field Order requirements, checks specific attributes of the reference sales document item prior to permitting the line to be copied. Routine 101 ensures that the following attributes of the reference document items are checked: delivery relevance, incompletion status, delivery completeness, shipping point, batch, credit block, credit check, user status, and export data. If there are any blocks or the status check reveals an incompatible entry, copying of the affected line is not permitted.
The Item data field checks that certain requirements are met during the transfer of data from sales document item fields during copying. Routine 101 is the standard data transfer routine for the fields to be transferred from the order document into the delivery items. Most fields are transferred exactly as they appear in the reference document.
Finally, the Business data field checks that certain requirements are met during the transfer of data from business data fields during copying. Routine 101 is the standard data transfer routine for the fields to be transferred from the order document into the delivery items. Most fields are transferred exactly as they appear in the reference document.
Step 10. Create a dependency between the billing document and the sales order document. This step is necessary to let the end user create an invoice type Z1 with reference to an order type ZE. To create dependency, follow menu path Tools > Customizing > IMG > Execute Project > SAP Reference IMG Sales and Distribution > Billing > Billing Documents > Maintain Copying Control for Billing Documents > Copying Control: Sales document to billing document or use transaction VTFA. Enter Z1 as the target billing document type and ZE as the source sales document type. Enter the data as shown in Figures 22 and 22.

Figure 22
Header details
The Copying requirements field checks when the Target Bill. Type Z1 is created against the From SalesDoc Type ZE, which means that the following attributes of the order header are checked: billing block, billing status, pricing incompletion indicator, incompletion status of the billing header, incompletion status of the billing document, credit limit check, and the user status. If any blocks are present or the status checks reveal an incompatible entry, copying is not permitted.

Figure 23
Item details
Note in Figure 23 that there are no Copying requirements that are checks when line items are transferred. This means a billing item of a billing type Z1 can be created from a Sales order type ZE and Item category ZEN. There are no special restrictions for copying unless your customer has any. If the customer does have special restrictions, you can specify them in a routine in the two fields highlighted.

Gaetano Altavilla
Dr. Gaetano Altavilla is a senior SAP practice manager. His focus is on pre-sales, delivery of SAP application solutions for large international corporations, and SAP knowledge management in Europe, the Middle East, and Africa (EMEA).
In his 18 years of SAP application experience working for many multinational companies, such as Procter & Gamble and Hewlett-Packard, he has covered a wide range of ERP logistic areas, focusing on the MM, WM, SD, LES, PP, PP-PI, PLM (QM, PM, PS) modules, as welll as CRM (TFM), SRM (EBP), SCM (SAP APO), and MES (ME) components.
Dr. Altavilla holds a degree with first-class honors in mathematics from the University of Naples and is certified in many SAP modules: SAP Logistics Bootcamp, SAP MM, SD, LE (SHP/WM/LE), PP, PLM (PM, QM, PS), SRM, CRM, SCM (APO), SCM (TM), FI, CO, and Solution Manager. He also has experience in ABAP/4 and application link enabling (ALE) and IDocs. He has participated in numerous industry conferences, such as the SAP Skills Conference in Walldorf at SAP SE.
You may contact the author at Gaetano_altavilla@hotmail.com.
If you have comments about this article or publication, or would like to submit an article idea, please contact the editor.