Order to Cash Cycle

Author

Name:

haritha

E-mail:

haritha_gogineni@yahoo.com
 

Bookmark and Share   Email

Complete Order to cash cycle steps including
1. Entering the Sales Order
2. Booking the Sales Order
3. Launch Pick Release
4. Ship Confirm
5. Create Invoice
6. Create the Receipts either manually or using Auto Lockbox ( In this article we will concentrate on Manual creation)
7. Transfer to General Ledger
8. Journal Import
9. Posting

Overview:

The below are the steps in short that we will go through in this article:

order to cash cycle

order to cash cycle

  • Enter the Sales Order
  • Book the Sales Order
  • Launch Pick Release
  • 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

Let’s get into the details of each step mentioned above.

Enter the Sales Order:

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

Enter the Customer details (Ship to and Bill to address), Order type.

Order_to_Cash_new

Click on Lines Tab. Enter the Item to be ordered and the quantity required.

Order_to_Cash_new

Line is scheduled automatically when the Line Item is saved.

Scheduling / unscheduling can be done manually by selecting Schedule/Un schedule from the Actions Menu.

You can check if the item to be ordered is available in the Inventory by clicking on Availability Button.

Order_to_Cash_new

Save the work.

Underlying Tables affected:

In Oracle, Order information is maintained at the header and line level.

The header information is stored in OE_ORDER_HEADERS_ALL and the line information in OE_ORDER_LINES_ALL when the order is entered. The column called FLOW_STATUS_CODE is available in both the headers and lines tables which tell us the status of the order at each stage.

At this stage, the FLOW_STATUS_CODE in OE_ORDER_HEADERS_ALL is ‘Entered’

Book the Sales Order:

 Book the Order by clicking on the Book Order button.

Order_to_Cash_new

Now that the Order is BOOKED, the status on the header is change accordingly.

Order_to_Cash_new

Underlying tables affected:

At this stage:

The FLOW_STATUS_CODE in the table   OE_ORDER_HEADERS_ALL would be  ‘BOOKED’

The FLOW_STATUS_CODE in OE_ORDER_LINES_ALL will be ‘AWAITING_SHIPPING’.

Record(s) will be created in the table WSH_DELIVERY_DETAILS with RELEASED_STATUS=’R’ (Ready to Release)

Also Record(s) will be inserted into WSH_DELIVERY_ASSIGNMENTS.

At the same time DEMAND INTERFACE PROGRAM runs in the background and inserts into MTL_DEMAND

Launch Pick Release:

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

Key in Based on Rule and Order Number

Order_to_Cash_new

In the Shipping Tab key in the below:

Auto Create Delivery: Yes

Auto Pick Confirm: Yes

Auto Pack Delivery: Yes

Order_to_Cash_new

In the Inventory Tab:

Auto Allocate: Yes

Enter the Warehouse

Order_to_Cash_new

Click on Execute Now Button.

On successful completion, the below message would pop up as shown below.

Order_to_Cash_new

Order_to_Cash_new

Pick Release process in turn will kick off several other requests like Pick Slip Report,

Shipping Exception Report and Auto Pack Report

Order_to_Cash_new

Underlying Tables affected:

If Autocreate Delivery is set to ‘Yes’ then a new record is created in the table WSH_NEW_DELIVERIES.

DELIVERY_ID is populated in the table WSH_DELIVERY_ASSIGNMENTS.

The RELEASED_STATUS in WSH_DELIVERY_DETAILS would be now set to ‘Y’ (Pick Confirmed) if Auto Pick Confirm is set to Yes otherwise RELEASED_STATUS is ‘S’ (Release to Warehouse).

Pick Confirm the Order:

IF Auto Pick Confirm in the above step is set to NO, then the following should be done.                             

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

In the HEADER tab, enter the BATCH NUMBER (from the above step) of the order. Click FIND. Click on VIEW/UPDATE Allocation, then Click TRANSACT button. Then Transact button will be deactivated then just close it and go to next step.

Ship Confirm the Order:

Navigation: Order Management Super User>Shipping >Transactions.

Query with the Order Number.

Order_to_Cash_new

Click On Delivery Tab

Order_to_Cash_new

Click on Ship Confirm.

Order_to_Cash_new

Order_to_Cash_new

The Status in Shipping Transaction screen will now be closed.

Order_to_Cash_new

This will kick off concurrent programs like. INTERFACE TRIP Stop, Commercial Invoice, Packing Slip Report, Bill of Lading

Underlying tables affected:

RELEASED_STATUS in WSH_DELIVERY_DETAILS would be ‘C’ (Ship Confirmed)

FLOW_STATUS_CODE in OE_ORDER_HEADERS_ALL would be "BOOKED"

FLOW_STATUS_CODE in OE_ORDER_LINES_ALL would be "SHIPPED"

Create Invoice:

Run workflow background Process.

Navigation: Order Management >view >Requests

Order_to_Cash_new

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.

Order_to_Cash_new

The Invoice created can be seen using the Receivables responsibility

Navigation: Receivables Super User> Transactions> Transactions

Query with the Order Number as Reference.

Order_to_Cash_new

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. The column INTERFACE_LINE_ATTRIBUTE1 will have the Order Number.

Create receipt:

Navigation: Receivables> Receipts> Receipts

Enter the information.

Order_to_Cash_new

Click on Apply Button to apply it to the Invoice.

Order_to_Cash_new

Order_to_Cash_new

Underlying tables:

AR_CASH_RECEIPTS_ALL

Transfer to General Ledger:

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

Navigation: Receivables> View Requests

Parameters:

Give in the Start date and Post through date to specify the date range of the transactions to be transferred.

  • Specify the GL Posted Date, defaults to SYSDATE.
  • Post in summary: This controls how Receivables creates journal entries for your transactions in the interface table. If you select ‘No’, then the General Ledger Interface program creates at least one journal entry in the interface table for each transaction in your posting submission. If you select ‘Yes’, then the program creates one journal entry for each general ledger account.
  • If the Parameter Run Journal Import is set to ‘Yes’,  the journal import program is kicked off automatically which transfers journal entries from the interface table to General Ledger, otherwise follow the topic Journal Import to import the journals to General Ledger manually.

Order_to_Cash_new

Underlying tables:

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

Parameters:

  • Select the appropriate Source.
  • Enter one of the following Selection Criteria:

No Group ID: To import all data for that source that has no group ID. Use this option if you specified a NULL group ID for this source.

All Group IDs: To import all data for that source that has a group ID. Use this option to import multiple journal batches for the same source with varying group IDs.

Specific Group ID: To import data for a specific source/group ID combination. Choose a specific group ID from the List of Values for the Specific Value field.

If you do not specify a Group ID, General Ledger imports all data from the specified journal entry source, where the Group_ID is null.

  • Define the Journal Import Run Options (optional)

Choose Post Errors to Suspense if you have suspense posting enabled for your set of books to post the difference resulting from any unbalanced journals to your suspense account.

Choose Create Summary Journals to have journal import create the following:

• one journal line for all transactions that share the same account, period, and currency and that has a debit balance

• one journal line for all transactions that share the same account, period, and currency and that has a credit balance.

  • Enter a Date Range to have General Ledger import only journals with accounting dates in that range. If you do not specify a date range, General Ledger imports all journals data.
  • Choose whether to Import Descriptive Flexfields, and whether to import them with validation.

Click on Import button.

Order_to_Cash_new

Underlying tables:

GL_JE_BATCHES, GL_JE_HEADERS, GL_JE_LINES

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 as shown below.

Order_to_Cash_new

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

  Order_to_Cash_new

  Order_to_Cash_new

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

Navigation: General Ledger> Journals> Post

Order_to_Cash_new

Underlying tables:

GL_BALANCES.




Kapil Sachdev

commented on 9/17/2009 6:19:46 AM

Very comprehensive indeed. thank you for the effort.
Regards.
Kaps

   

AppsUser

commented on 9/23/2009 7:36:06 PM

Excellent work. But I suggestion, When we talk about OTC we should mention Cash Management here (which is the 'C' in Order to Cash cycle. So once the receipt is entered, we need to clear the Receipt in Cash Management.

   

ramesh

commented on 11/18/2009 11:06:14 AM

Thanks for sharing

   

raju

commented on 1/28/2010 9:49:21 AM

Excellent.. Thank you for the information

   

Nishant Rathore

commented on 2/2/2010 2:07:13 AM

Very well explained in brief..
Should also provide the journal entries for each stage..

   

Pradeep Sharma

commented on 2/4/2010 11:46:31 PM

Very good Document...Keep on sharing...:-)

   

mohamed samir

commented on 2/14/2010 12:16:37 PM

very good and thanks a lot

   

Balai Pal

commented on 3/3/2010 3:48:04 AM

Thanks. Very helpful for newcomers like me.

   

Plato

commented on 3/10/2010 3:06:21 PM

Awesome work,
May be its time for an article similar to this mentioning the changes in R12.
Keep up the good work.

   

Surya

commented on 3/18/2010 6:56:47 PM

Very well explained...

   

Faisal Khan

commented on 4/5/2010 4:05:57 AM

Nice psot, God Bless U.

   

prasad

commented on 4/13/2010 7:00:04 AM

Excellent work..

   

vjaynarwade

commented on 4/20/2010 1:45:15 PM

Very well explained. Its very easy to understand the flow of order management from your examples and table descriptions.

Thank you.
- Vijay.

   

Srinivas Pabbathi

commented on 4/21/2010 7:28:34 AM

Thanks a ton, excellently explained the Order to Cash Cycle.

   

krish

commented on 4/21/2010 9:13:05 PM

Is this information enough to work as a
Oracle order to cash functional consultant
if not what else a oracle O2C functional
consultant need to know?

   

Vamsi

commented on 4/29/2010 5:28:04 AM

Amazing material dude. I'll recommend this tutorial to all my erp friends.
Thanks

   

Puneet

commented on 5/4/2010 3:22:16 AM

No words ... i m preparing for interview and it has helped me a lot ... Kudos to the author !!

   

venkatesh

commented on 5/13/2010 8:18:54 AM

thank you for your effort,very nice

   

ishaq

commented on 5/26/2010 12:03:50 AM

Very good Document...Keep on sharing...:-)

Priviously also ( approximately 2 years back also ) i have read some documents and save to my local machine. i am using the information given in the docsumnets for all my big and small requirmnets.Thank you for sharing such valuable documensts. special thanks to this site

   

ishaq

commented on 5/26/2010 12:23:37 AM

Once again thank you for all your efforts to share a such good knowledge

   
1 2
Comments Box

Name:

Email: