Monday, June 5, 2017

Oracle Order To Cash Process for Shippable Item

Order to cash (OTC or O2C) is a set of business processes that involve receiving and fulfilling customer requests for goods or services. It is the complete process of entering an order into the system (Sales Order), delivery the good(s) (Shipping), and then producing the Invoice for the good(s) which are Ordered by the Customer.
O2C cycle  can be summarized in below steps:
  • Enter the Sales Order
  • Book the Sales Order
  • Pick Release
  • Ship Confirm
  • Create Invoice
Now let's see the underlying affected tables for each of the above steps and the Status for each step.
Step
Order Header Status
Order Line Status
Shipping Transaction Status
Tables Affected
Enter Sales Order
Entered
Entered

New Records populated in below tables:
OE_ORDER_HEADERS_ALL
(FLOW_STATUS_CODE = ENTERED, BOOKED_FLAG = N, Primary key=HEADER_ID)
OE_ORDER_LINES_ALL
(FLOW_STATUS_CODE = ENTERED,  BOOKED_FLAG = N, OPEN_FLAG = Y, Primary key= LINE_ID)
Book Sales Order
Booked
Awaiting Shipping
Ready To release
OE_ORDER_HEADERS_ALL (FLOW_STATUS_CODE as BOOKED, BOOKED_FLAG updated to Y)
OE_ORDER_LINES_ALL (FLOW_STATUS_CODE as AWAITING_SHIPPING, BOOKED_FLAG updated Y)
WSH_DELIVERY_DETAILS (DELIVERY_DETAIL_ID is assigned here, RELEASED_STATUS ‘R’ ready to release, LINE_ID comes as SOURCE_LINE_ID)
WSH_DELIVERY_ASSIGNMENTS (DELIVERY_ASSIGNMENT_ID is assigned for DELIVERY_DETAIL_ID present in WSH_DELIVERY_DETAILS, DELIVERY_ID remains blank till this stage)
MTL_DEMAND
(LINE_ID come as a reference in DEMAND_SOURCE_LINE)
Pick Release
Booked
Picked
Released to Warehouse -> Staged/Pick Confirmed
WSH_NEW_DELIVERIES (SOURCE_HEADER_ID= order header ID, STATUS_CODE=OP =>open)
WSH_DELIVERY_ASSIGNMENTS (DELIVERY_ID gets assigned which comes from WSH_NEW_DELIVERIES)
WSH_DELIVERY_DETAILS (RELEASED_STATUS ‘S’ ‘submitted for release’)
MTL_TXN_REQUEST_HEADERS
MTL_TXN_REQUEST_LINES (LINE_ID goes as TXN_SOURCE_LINE_ID)
MTL_MATERIAL_TRANSACTIONS_TEMP (link to above tables through MOVE_ORDER_HEADER_ID/LINE_ID, this table holds the record temporally)
MTL_SERIAL_NUMBERS_TEMP (if item is serial controlled at receipt then record goes in this table)
MTL_SERIAL_NUMBERS (enter value in GROUP_MARK_ID )
MTL_RESERVATIONS
Ship Confirm
Booked
Shipped
Shipped
OE_ORDER_LINES_ALL
(flow_status_code =‘SHIPPED’)
WSH_DELIVERY_DETAILS. released_status=‘C’ (‘Shipped’)
Data from MTL_TRANSACTIONS_INTERFACE is moved to MTL_MATERIAL_TRANACTIONS and MTL_MATERIAL_TRANSACTIONS is updated with Sales Order Issue transaction.
Data is deleted from MTL_DEMAND, MTL_RESERVATIONS
Item reduced from MTL_ONHAND_QUANTITIES
MTL_TRANSACTION_ACCOUNTS is updated with accounting information.
Create Invoice



RA_INTERFACE_LINES_ALL (interface table into which the data is transferred from order management)
RA_CUSTOMER_TRX_ALL (CUST_TRX_ID is primary key to link it to TRX_LINES table and TRX_NUMBER is the invoice number)
RA_CUSTOMER_TRX_LINES_ALL (LINE_ATTRIBUTE_1 and LINE_ATTRIBUTE_6 are linked to order number and LINE_ID of the orders)

1. Enter Sales Order
This is first step, when the order is entered in the system, it creates a record in order headers and Order Lines table.
2. Book Sales Order
This is next step, when Order is booked. The status of the order header has changed from Entered to 'Booked', and the status of the line (check the Status field in the Main tab of the lines) has changed from Entered to 'Awaiting Shipping'.
In shipping transaction form order status is "Ready to Release".
Check if the order lines are scheduled or not. If any of the order line is in BOOKED status, it means that the order line is not yet scheduled.
Schedule Order
·         Run the Schedule Order concurrent program to schedule the order. After the concurrent program is scheduled the order line will move to Awaiting Shipping status.
·         Still if the order lines do not go to Awaiting Shipping, check for any holds on the order line/ header. Release the holds (if any) and re-run the Schedule Order program.
·         You can even schedule the order line in the following way: Right click on the order line and progress the line to schedule it.
At the same time when order is booked ‘Demand interface program’ is triggered in the background and demand of the item with specified quantity is created and these demand information is stored in MTL_DEMAND.
3. Pick Release
Pick Release is the process of putting reservation on on-hand quantity available in the inventory and pick them for particular sales order.
Pick release can be done from 'Release Sales Order' form or 'Pick release SRS' program can be scheduled in background. In both of these cases all lines of the order gets pick released depending on the Picking rule used. If specific line/s needs to be pick release it can be done from 'Shipping Transaction form. For this case Pick Release is done from 'Release Sales Order' form with Pick Confirm=NO.
*In shipping transaction form order status remains "Released to Warehouse" and all the material still remains in source sub-inventory. We need to do Move Order Transaction for this order. Till this no material transaction has been posted to MTL_MATERIAL_TRANSACTIONS
Pick Confirm/ Move Order Transaction
If Auto Pick confirm is not selected while pick release, then we have to manually do the transact move order process. In fact, pick confirm also triggers the transact move order process in which the inventory is moved from item sub inventory to staging area.Here material transaction occurs.
Order line status becomes 'Picked' on Sales Order and 'Staged/Pick Confirmed' on Shipping Transaction Form. Move order tables are populated. Here request is generated to move item from Source (RM or FG) sub-inventory to staging sub-inventory.
* This step can be eliminated if we set Pick Confirm=YES at the time of Pick Release
4. Ship Confirm
The items on the delivery gets shipped to customer at this stage.
The Interface Trip Stop (ITS) program gets submitted in the background and it should  be completed successfully.
The Status in Shipping Transaction screen will now be ‘Shipped’.
Optional: Check if the item has actually been shipped out of inventory.
Make sure you are in the correct organization. If not, navigate to Inventory > Change Organization and select the correct one.
*Navigate to Inventory > Transactions > Material Transactions
*Enter the following information in the Find Material Transactions screen and click on Find
  1. Transaction Date : Ensure the transaction date is within the range specified
  2. Source Type : Sales Order
  3. Source :
  • Evoke the LOV and click on the button Combinations
  • Enter your Sales Order Number and Order Type, then click OK(Example : 66666.Mixed.ORDER ENTRY)
*Go to the Transaction Type tab, and notice the line with Transaction Type = Sales Order Issue. This is the Inventory Transaction that happened when the item was shipped out of the warehouse M1, hence the negative quantity.
*The other two lines with Transaction Type = Sales Order Pick, are for the move order transaction that happened automatically during Pick Release (automatic as per the pick release parameters we had set in this testflow), when the item was moved from the pick-from subinventory to the staging subinventory. Hence there is one line each for a negative and positive transaction from/to each subinventory. The final shipment to the customer (sales order issue) is made from the staging subinventory.
5. Create Invoice
Run the Workflow Background Process with the following parameters.
Item Type : OM Order Line
Process Deferred : Yes
Process Timeout : No
Workflow Background Process inserts the records RA_INTERFACE_LINES_ALL with
  • INTERFACE_LINE_CONTEXT     =     ‘ORDER ENTRY’
  • INTERFACE_LINE_ATTRIBUTE1= Order_number
  • INTERFACE_LINE_ATTRIBUTE3= Delivery_id
AR concurrent requests Auto invoice Master Program and Auto invoice import program gets kicked off automatically to import the invoices into AR. OM inserts invoice data into the AR interface tables through 'Invoice Interface', which runs in the background. AR picks up the data from the interface tables through the 'Autoinvoice' concurrent program.
Invoicing workflow activity transfers shipped item information to Oracle Receivables.
The Invoice created can be seen using the Receivables responsibility.

0 comments:

Post a Comment

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Justin Bieber, Gold Price in India