Monday, 26 January 2015

Order to Cash Cycle


Order to cash cycle mainly consists of the below steps.
  • Enter the Sales Order 
  • Book the Sales Order 
  • Launch Pick Release 
  • Pick Confirm the Order 
  • Ship Confirm 
  • Create Invoice 
  • Create the Receipts either manually or using Auto Lockbox ( In this article we will concentrate on Manual creation) 
  • Transfer to General Ledger 
  • Journal Import 
  • Posting 

Enter the Sales Order

This is the first stage where we enter the order information. A row will be created in both order headers and order lines tables.

Navigation: Order Management Super User Operations (USA)>Orders Returns >Sales Orders

Enter header details: Enter the details on the order header and save.

A new record will be created in OE_ORDER_HEADERS_ALL table.
FLOW_STATUS_CODE = ENTERED
BOOKED_FLAG = N
Primary key=HEADER_ID

Enter the order line information once you are done with the header by clicking the Lines tab.

Enter Line details for this order: Enter different item numbers, quantity and other details and save.

A new record will be created in OE_ORDER_LINES_ALL.

Order header details will be linked with line details by order HEADER_ID
FLOW_STATUS_CODE = ENTERED
BOOKED_FLAG = N
OPEN_FLAG = Y
Primary key= LINE_ID

Book the Sales Order

Book the Order by clicking on the Book Order button.
At this stage,

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 will not be generated at this stage

At the same time, Demand Interface Program runs in the background and inserts data into MTL_DEMAND

Launch Pick Release

Navigation: Shipping > Release Sales Order > Release Sales Orders.

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.
Once pick release is done these are the tables that get affected:

WSH_NEW_DELIVERIES:
One record gets inserted with 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’

*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 the Order

Navigation: Inventory Super User > Move Order> Transact Move Order

Items are transferred from source sub-inventory to staging Sub-inventory. Material transaction occurs during this process.
Order line status becomes 'Picked' on Sales Order and 'Staged/Pick Confirmed' on Shipping Transaction Form.

OE_ORDER_LINES_ALL:
FLOW_STATUS_CODE = ‘PICKED’

MTL_MATERIAL_TRANSACTIONS_TEMP:
Record gets deleted from here and gets posted to MTL_MATERIAL_TRANSACTIONS

MTL_MATERIAL_TRANSACTIONS:
LINE_ID goes as TRX_SOURCE_LINE_ID

WSH_DELIVERY_DETAILS:
RELEASED_STATUS becomes ‘Y’ => ‘Released’

* This step can be eliminated if we set Pick Confirm=YES at the time of Pick Release

Ship Confirm the Order

Navigation: Order Management Super User>Shipping >Transactions

Query with the Order Number. Click On Delivery Tab and then Click on Ship Confirm. The Status in Shipping Transaction screen will now be closed.

Here ship confirm interface program runs in background. The items on the delivery gets shipped to customer at this stage.

OE_ORDER_LINES_ALL:
FLOW_STATUS_CODE = ‘SHIPPED’

WSH_DELIVERY_DETAILS:
RELEASED_STATUS = ‘C’ => ‘Shipped’
SERIAL_NUMBER if quantity is ONE

WSH_SERIAL_NUMBERS:
Records gets inserted with the DELIVERY_DETAIL_ID reference, only in case of shipped quantity is two or more

Data will be deleted from MTL_DEMAND and MTL_RESERVATIONS tables.

Item on hand quantity will be deducted from MTL_ONHAND_QUANTITIES.

Create Invoice

Workflow background process is a scheduled program. It picks up all the Shipped Sales Orders and inserts the data into RA_INTERFACE_LINES_ALL. However, if you want to run the program manually, you can do so by submitting the request.

Navigation: Order Management > View > Requests

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
and spawns Auto invoice Master Program and Auto invoice import program which creates Invoice for that particular Order.

The Invoice created can be seen using the Receivables responsibility

Navigation: Receivables Super User> Transactions> Transactions

Query with the Order Number as Reference.

Underlying tables:

RA_CUSTOMER_TRX_ALL will have the Invoice header information. The column INTERFACE_HEADER_ATTRIBUTE1 will have the Order Number.

RA_CUSTOMER_TRX_LINES_ALL will have the Invoice lines information. 
INTERFACE_LINE_ATTRIBUTE1 = Order Number
INTERFACE_LINE_ATTRIBUTE3= Delivery_id
INTERFACE_LINE_ATTRIBUTE6= Line_id

Create receipt

Navigation: Receivables> Receipts> Receipts

Enter the information required information and click on Apply Button to apply it to the Invoice.

A record will be inserted into AR_CASH_RECEIPTS_ALL.

Transfer to General Ledger:

To transfer the Receivables accounting information to GL, run General Ledger Transfer Program.

Navigation: Receivables > View Requests

This transfers data about your adjustments, chargeback, credit memos, commitments, debit memos, invoices, and receipts to the GL_INTERFACE table.

Journal Import

To transfer the data from General Ledger Interface table to General Ledger, run the Journal Import program from Oracle General Ledger.

Navigation: General Ledger > Journal> Import> Run

Data will be inserted into GL_JE_BATCHES, GL_JE_HEADERS and GL_JE_LINES tables.

Posting

We have to Post journal batches that we have imported previously to update the account balances in General Ledger.

Navigation: General Ledger > Journals > Enter

Query for the unposted journals for a specific period. From the list of unposted journals displayed, select one journal at a time and click on Post button to post the journal.

If you know the batch name to be posted you can directly post using the Post window

Navigation: General Ledger > Journals > Post

Data will be inserted into GL_BALANCES table

No comments:

Post a Comment