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.
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.