Oracle Order Management Drop Ship process

The Drop Ship from Supplier process dealt with in this post has 3 major entities:
·         The Customer, who orders the item(s).
·         The Order Processing Company, who takes the orders, and will fulfill the order by requesting a vendor to ship the item directly to the customer,.
·         The Supplier, who receives the Purchase Order from the Order Processing Company, and ships the item to the Customer directly.

Order Management allows you to enter drop-ship sales orders as well as standard sales orders.  You can receive orders for items that you do not stock or for which you lack sufficient inventory, and have a supplier ship directly to your customer.

In previous releases of Oracle Order Management, a unique type and order cycles were required to be set up prior to using drop ship functionality.  With Oracle Order Management Release 11i and above, seeded order workflows allow the entering of drop ship order lines and standard ship order lines to be placed on the same sales orders.  The decision whether to source internally or externally can be decided on the line item information and can be changed until the order is booked.

Process Steps
1.    Enter and book an order.
Defaulting Rules may set source type attribute to External through the organization level item attribute setting—Default SO source type for the item or you can manually choose External as the source type on the sales order line. Drop ship order lines can be processed for standard items, ATO models, Non SMC PTO models, and kits. SMC PTO models cannot be used on drop ship order lines. The Create Supply Workflow step loads OM information into Oracle Purchasing's Requisition Import tables. Alternatively, a Purchase Release concurrent program can be run to do the same.
2.    Run Requisition Import in Purchasing to create the requisition.
3.    Create a PO or Autocreate a Sales Agreement PO release from the approved requisition.
4.    When the vendor ships product to your customer, you may receive an ASN, or even an invoice, to indicate shipment to the customer.
If the vendor does not send an ASN, a receipt can be entered manually (passive receiving) to record a logical receipt.
5.    You can set the profile PO: Automatically Deliver Drop Ship ASNs to trigger automatic receipt of the ASNs in Purchasing, or choose to have manual intervention to receive the ASN. Inbound and outbound material transactions are automatically created for accounting purposes.
6.    Order Management workflow proceeds to next step, typically invoicing of the end customer.

Check the blog posts:

OM Drop Ship Setups and Prerequisites

Drop Shipment Overview

Oracle Drop Ship tables

Order to Cash flow training in Oracle Apps R12


Drop Ship Cycle:
Responsibility: Order Management Super User
Navigate to Orders, Returns > Sales Order.
On the Line Items Shipping Tab:
Source Type = External


  
Go to Tools menu (while in Line items tab) and click on Workflow status.
You can notice that the seeded workflow Line Flow - Generic will process drop shipment lines. The Create Supply - Line sub process utilizes the function Branch on Source Type which detects an item with a Source Type of External and moves the line to Purchase Release – Line, Deferred.


The Purchase Release program passes information about eligible drop ship-order lines to Oracle Purchasing by interfacing OM data to Requisition Interface tables.

The Purchase Release program does not process orders or order lines with unreleased holds.  Any holds on orders or order lines must be removed before the Purchase Release program can process the order lines and create records in the PO_REQUISITIONS_INTERFACE_ALL table. Make sure that order line source type is “External" on the "Shipping" tab of order line.

Before running Purchase Release, you should ensure that the Ship-To locations referenced on your orders have been associated with receiving locations defined in Oracle Purchasing.  If the Purchase Release program fails to identify a receiving location that matches the ship-to location for an order line, Purchase Release will not process the line.

Run the following query to check if the order line is purchase release eligible:
    SELECT orha.order_number, 
        orla.line_number, 
        orla.source_type_code, 
        d.name hold_name, 
        d.type_code hold_type, 
        ho.released_flag, 
        r.release_reason_code, 
        orla.drop_ship_flag, 
        orla.booked_flag, 
        orla.open_flag, 
        orla.cancelled_flag 
    FROM  oe_order_headers_all orha, 
        oe_order_lines_all orla, 
        oe_order_holds_all ho,   
        oe_hold_sources_all s, 
        oe_hold_definitions d, 
        oe_hold_releases r 
    WHERE     orha.order_number = <order number> 
    AND       orha.header_id = orla.header_id 
    AND       orla.header_id = ho.header_id (+) 
    AND       orla.line_id   = ho.line_id(+) 
    AND       ho.hold_source_id = s.hold_source_id (+) 
    AND       s.hold_id = d.hold_id (+) 
    AND       s.hold_release_id = r.hold_release_id(+) ;

Run the Purchase Release Concurrent program with the following parameters:


The Requisition Import process is used to import requisitions from Oracle Order Management or non-Oracle systems.  Requisition Import creates a requisition line and one or more requisition distributions for each row it finds in the interface table.  It then groups these lines on requisitions according to parameters that you define.

Following query may be used to find the status of requisition interface record:
The first column DROP_SHIP_SOURCE_ID is the INTERFACE_SOURCE_LINE_ID column in the PO_REQUISITIONS_INTERFACE_ALL table. Use this query after running the "Requisition Import" program as it shows the requisition ids as well as purchase order line and shipment ids once the purchase order is created out of the requisition.

    SELECT s.drop_ship_source_id, 
        orha.order_number, 
         orla.line_number||'.'||orla.shipment_number line_number, 
         orla.ordered_item, 
         t.name line_type, 
         orla.line_category_code, 
         orla.source_type_code, 
         orla.booked_flag, 
         orla.flow_status_code, 
         s.requisition_header_id, 
         s.requisition_line_id, 
         s.po_header_id, 
         s.po_line_id, 
         s.line_location_id, 
        s.po_release_id 
    FROM oe_drop_ship_sources s, 
         oe_order_lines_all l, 
         oe_order_headers_all h, 
         oe_transaction_types_tl t 
       WHERE     s.line_id(+) = orla.line_id 
       AND       orla.header_id = orha.header_id 
       AND       orla.line_type_id = t.transaction_type_id 
       AND       orha.order_number = <Order Number> 
       AND       orla.line_number||'.'||orla.shipment_number = <Line Number>


When the Requisition Import Process completes in Error, run the Requisition Import Exception Report to get detailed error messages.

Following SQL may be used to retrieve the stuck requisitions after running the Requisition Import process:

Select INTERFACE_TRANSACTION_ID, ERROR_MESSAGE, COLUMN_NAME 
From PO_INTERFACE_ERRORS 
Where INTERFACE_TYPE= 'REQIMPORT';

After successful completion of the request, you can view the output is as shown. You can see that an approved requisition has been created successfully.


Open the Additional Line Information Window – Drop Ship Tab to check the Purchase Requisition created.

Go to Purchasing responsibility and navigate to AutoCreate. In the Find Requisition Lines window, first click the Clear button and then enter the Requisition Number (14325) and click on the Find button. In the AutoCreate Documents window, select the requisition line and click on the Automatic button.


In the New Document window, enter a Supplier Name as “Allied Manufacturing” and Supplier Site as “Danville-CTR” and click on Create button to Auto Create a Standard Purchase Order.


Verify the details in Purchase Order Header and Line, Shipments, Distributions and Drop Ship Tab and the click on the Approve button. In the Approve Document window click on the OK button. Note down the Purchase Order Number. Also please note the Purchase Order header level Ship-To address is not used by the supplier. The Shipment level Ship-To Customer address is used by the supplier to ship the goods.



Now once the Purchase Order is approved, you sent the PO to your supplier and the supplier ships the goods to your customer and the supplier notify you by sending you an ASN or ASBN. You logically receive the items raised in PO in your inventory.

Navigate to Receiving > Receipts.
In the Organizations window select M1 and click on OK button.
In the Find Expected Receipts window, enter the Purchase Order number (6074) and click on Find button.
The Receipt Header window opens, navigate to the Receipts window and select the Line and enter the subinventory as FGI and save your work.  Change to Receipts Header form and take note of the receipt number (23695). Now close the form.


Now switch responsibility to Order Management responsibility and navigate to Order, Returns > Order Organizer.

In the Find Orders window enter the order number as 66436 and click on Find button.
In the Order Organizer window, navigate to the Lines tab and you will see the Sales Order Line status has changed to Shipped.


Once a receipt is entered, this creates inbound (Receipt) and outbound (Sales Order issue) material transactions in Oracle Inventory.

Note that in Drop Ship flow, the inventory is not retained that was received in the above step. This is because the item is actually shipped directly from the supplier to the customer. 

To achieve this, there is actually a Sales order issue that gets created automatically when the PO is received. You need to launch the material transaction processor to process the Sales order issue transaction from the transactions interface table.

So, there are two transactions for every line received: One adds to the inventory and the other decrements from the same place. 

The Materials Transactions manager in Inventory will pick these up from the Inventory Material Interface table, and update the on hand quantities the next time it runs according to its schedule.

To view these transactions in the Inventory responsibility:
Navigate to: Transactions > Material Transactions


Now switch responsibility to Order Management Responsibility and submit the Workflow background process (if it is not scheduled) to interface the Order details to Receivables Interface tables for the creation of the invoice.

The inventory transactions for your drop ship order are the following:
An inventory receipt which incremented inventory with the quantity received.  Since the items are not physically being received, but are being received by the drop ship customer an offsetting transaction will take place.  This offsetting transaction is the sales order issue transaction, which will issue the items back out of inventory.

The Sales Order Line Status will be in closed state.


Click on the Actions button and select Additional Line Information from the LOVs and click on OK button. In the Additional Line Information window navigate to the Invoices / Credit Memos Tab and click on the Invoice Details button and then in the Transactions window, click on the icon next to the Invoice Number.


This shows the customer Invoice.