The 7 Things I Know About Cyber Security After 25 Years | April 2024
Order to cash cycle
1. Raju Ch Page 1
Order To Cash Cycle Raju
Order to Cash cycle
In this article, we will go through the Order to Cash cycle. The below are the steps in short:
1. Enter the Sales Order
2. Book the Sales Order
3. Launch Pick Release
4. Pick Confirm The Order
5. Ship Confirm The Order
6. Create Invoice
7. Create the Receipts either manually or using Auto Lockbox (In this article we will
concentrate on Manual creation)
8. Transfer to General Ledger
Let’s get into the details of each step mentioned above.
1. Enter the Sales Order:
Navigation:
Order Management Super User Operations (USA) Orders Returns Sales Orders
2. Raju Ch Page 2
Order To Cash Cycle Raju
Enter the Customer details (Ship to and Bill to address), Order type.
3. Raju Ch Page 3
Order To Cash Cycle Raju
At this stage, the FLOW_STATUS_CODE in OE_ORDER_HEADERS_ALL is ‘Entered’
SELECT
HEADER_ID
,ORDER_NUMBER
,FLOW_STATUS_CODE
,ORDER_CATEGORY_CODE
,BOOKED_FLAG
,ORG_ID
FROM oe_order_headers_all
WHERE order_number = 66465
Click on Lines Tab. Enter the Item to be ordered and the quantity required.
Line is scheduled automatically when the Line Item is saved.
Scheduling/un-scheduling 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.
4. Raju Ch Page 4
Order To Cash Cycle Raju
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.
SELECT
HEADER_ID
,LINE_ID
,LINE_TYPE_ID
,FLOW_STATUS_CODE
,LINE_NUMBER
,ORDERED_ITEM
,ORDERED_QUANTITY
,UNIT_LIST_PRICE_PER_PQTY
FROM OE_ORDER_LINES_ALL
WHERE 1=1
AND HEADER_ID = 192535
2. Book the Sales Order:
Book the Order by clicking on the Book Order button.
5. Raju Ch Page 5
Order To Cash Cycle Raju
Now that the Order is BOOKED, the status on the header is change accordingly.
6. Raju Ch Page 6
Order To Cash Cycle Raju
Underlying tables affected:
At this stage:
The FLOW_STATUS_CODE in the table OE_ORDER_HEADERS_ALL would be
‘BOOKED’
SELECT
HEADER_ID
,ORDER_NUMBER
,FLOW_STATUS_CODE
,ORDER_CATEGORY_CODE
,BOOKED_FLAG
,ORG_ID
FROM oe_order_headers_all
WHERE order_number = 66465
The FLOW_STATUS_CODE in OE_ORDER_LINES_ALL will be ‘AWAITING_SHIPPING’.
SELECT
HEADER_ID
,LINE_ID
,LINE_TYPE_ID
,FLOW_STATUS_CODE
,LINE_NUMBER
,ORDERED_ITEM
,ORDERED_QUANTITY
,UNIT_LIST_PRICE_PER_PQTY
FROM OE_ORDER_LINES_ALL
WHERE 1=1
AND HEADER_ID = 192535
Record(s) will be created in the table WSH_DELIVERY_DETAILS with
RELEASED_STATUS=’R’ (Ready to Release)
SELECT
DELIVERY_DETAIL_ID
,SOURCE_HEADER_ID
,SOURCE_LINE_ID
,CUSTOMER_ID
,INVENTORY_ITEM_ID
,RELEASED_STATUS
FROM WSH_DELIVERY_DETAILS
WHERE 1=1
AND SOURCE_HEADER_ID = 192535
Also Record(s) will be inserted into WSH_DELIVERY_ASSIGNMENTS.
SELECT * FROM WSH_DELIVERY_ASSIGNMENTS
At the same time DEMAND INTERFACE PROGRAM runs in the background and inserts into
MTL_DEMAND
select * from MTL_DEMAND
3. Launch Pick Release:
Navigation:
Shipping Release Sales Order Release Sales Orders.
7. Raju Ch Page 7
Order To Cash Cycle Raju
Key in Based on Rule and Order Number
8. Raju Ch Page 8
Order To Cash Cycle Raju
In the Shipping Tab key in the below:
Auto Create Delivery: Yes
Auto Pick Confirm: Yes
Auto Pack Delivery: Yes
9. Raju Ch Page 9
Order To Cash Cycle Raju
In the Inventory Tab:
Auto Allocate: Yes
Enter the Warehouse : M1
10. Raju Ch Page 10
Order To Cash Cycle Raju
Click on Execute Now Button.
11. Raju Ch Page 11
Order To Cash Cycle Raju
On successful completion, the below message would pop up as shown below.
12. Raju Ch Page 12
Order To Cash Cycle Raju
Pick Release process in turn will kick off several other requests like Pick Slip Report, Shipping
Exception Report and Auto Pack Report
Underlying Tables affected:
If Auto create Delivery is set to ‘Yes’ then a new record is created in the table
WSH_NEW_DELIVERIES.
SELECT
DELIVERY_DETAIL_ID
,SOURCE_HEADER_ID
,SOURCE_LINE_ID
,CUSTOMER_ID
,INVENTORY_ITEM_ID
,RELEASED_STATUS
FROM WSH_DELIVERY_DETAILS
WHERE 1=1
AND SOURCE_HEADER_ID = 192535
SELECT * FROM WSH_NEW_DELIVERIES
WHERE 1=1
AND DELIVERY_ID = 3773405
ORDER BY CREATION_DATE DESC
SELECT * FROM WSH_DELIVERY_ASSIGNMENTS
WHERE 1=1
AND DELIVERY_DETAIL_ID = 3962503
ORDER BY CREATION_DATE DESC
13. Raju Ch Page 13
Order To Cash Cycle Raju
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).
4. 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
14. Raju Ch Page 14
Order To Cash Cycle Raju
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.
5. Ship Confirm the Order:
Navigation:
Order Management Super User>Shipping >Transactions.
Query with the Order Number.
15. Raju Ch Page 15
Order To Cash Cycle Raju
Click On Delivery Tab
Click on Ship Confirm.
17. Raju Ch Page 17
Order To Cash Cycle Raju
The Status in Shipping Transaction screen will now be closed.
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“
SELECT
HEADER_ID
,ORDER_NUMBER
,FLOW_STATUS_CODE
,ORDER_CATEGORY_CODE
,BOOKED_FLAG
,ORG_ID
FROM oe_order_headers_all
WHERE order_number = 66435
SELECT
HEADER_ID
,LINE_ID
,LINE_TYPE_ID
,FLOW_STATUS_CODE
18. Raju Ch Page 18
Order To Cash Cycle Raju
,LINE_NUMBER
,ORDERED_ITEM
,ORDERED_QUANTITY
,UNIT_LIST_PRICE_PER_PQTY
FROM OE_ORDER_LINES_ALL
WHERE 1=1
AND HEADER_ID = 192535
SELECT
DELIVERY_DETAIL_ID
,SOURCE_HEADER_ID
,SOURCE_LINE_ID
,CUSTOMER_ID
,INVENTORY_ITEM_ID
,RELEASED_STATUS
FROM WSH_DELIVERY_DETAILS
WHERE 1=1
AND SOURCE_HEADER_ID = 192535
6. Create Invoice:
Run workflow background Process.
Navigation:
Order Management >view >Requests
19. Raju Ch Page 19
Order To Cash Cycle Raju
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
SELECT * FROM RA_INTERFACE_LINES_ALL
WHERE 1=1
AND INTERFACE_LINE_CONTEXT = 'ORDER ENTRY'
AND INTERFACE_LINE_ATTRIBUTE1 = 66435
AND INTERFACE_LINE_ATTRIBUTE3 = 3773405
and spawns Auto invoice Master Program and Auto invoice import program which creates
Invoice for that particular Order.
20. Raju Ch Page 20
Order To Cash Cycle Raju
Check the invoice details from order form query with order number click on Actions and select
Additional Order Information
21. Raju Ch Page 21
Order To Cash Cycle Raju
Click on Invoice/Credit memo tab
The Invoice created can be seen using the Receivables responsibility
Navigation:
Receivables Super User> Transactions> Transactions
22. Raju Ch Page 22
Order To Cash Cycle Raju
Query with the Order Number as Reference.
23. Raju Ch Page 23
Order To Cash Cycle Raju
Underlying tables:
RA_CUSTOMER_TRX_ALL will have the Invoice header information. The column
INTERFACE_HEADER_ATTRIBUTE1 will have the Order Number.
24. Raju Ch Page 24
Order To Cash Cycle Raju
RA_CUSTOMER_TRX_LINES_ALL will have the Invoice lines information. The column
INTERFACE_LINE_ATTRIBUTE1 will have the Order Number.
SELECT
CUSTOMER_TRX_ID
,TRX_NUMBER
,INTERFACE_HEADER_ATTRIBUTE1
,INTERFACE_HEADER_ATTRIBUTE2
,INTERFACE_HEADER_ATTRIBUTE3
,INTERFACE_HEADER_CONTEXT
,STATUS_TRX
FROM RA_CUSTOMER_TRX_ALL
WHERE 1=1
AND INTERFACE_HEADER_CONTEXT = 'ORDER ENTRY'
AND INTERFACE_HEADER_ATTRIBUTE1 = '66435'
AND INTERFACE_HEADER_ATTRIBUTE3 = 3773405
ORDER BY CREATION_DATE DESC
SELECT * FROM RA_CUSTOMER_TRX_LINES_ALL
WHERE 1=1
AND TRX_NUMBER = ’10037546’
AND INTERFACE_LINE_CONTEXT = 'ORDER ENTRY'
AND INTERFACE_LINE_ATTRIBUTE1 = 66435
AND INTERFACE_LINE_ATTRIBUTE3 = 3773405
ORDER BY CREATION_DATE DESC
7. Create receipt:
Navigation:
Receivables> Receipts> Receipts
25. Raju Ch Page 25
Order To Cash Cycle Raju
Enter the information.
26. Raju Ch Page 26
Order To Cash Cycle Raju
Click on Apply Button to apply it to the Invoice.
Save the form
Underlying tables:
27. Raju Ch Page 27
Order To Cash Cycle Raju
SELECT * FROM AR_CASH_RECEIPTS_ALL
WHERE 1=1
AND RECEIPT_NUMBER = 'R10037546'
ORDER BY CREATION_DATE DESC
SELECT * FROM AR_RECEIVABLE_APPLICATIONS_ALL
WHERE 1=1
AND CASH_RECEIPT_ID = 113993
ORDER BY CREATION_DATE DESC
SELECT * FROM AR_PAYMENT_SCHEDULES_ALL
WHERE 1=1
AND CASH_RECEIPT_ID = 113993
ORDER BY CREATION_DATE DESC
Check the invoice balance amount from invoice transaction form
28. Raju Ch Page 28
Order To Cash Cycle Raju
Create receipt for balance amount
29. Raju Ch Page 29
Order To Cash Cycle Raju
8 Transfer to General Ledger:
33. Raju Ch Page 33
Order To Cash Cycle Raju
SELECT
HEADER_ID
,ORDER_NUMBER
34. Raju Ch Page 34
Order To Cash Cycle Raju
,FLOW_STATUS_CODE
,ORDER_CATEGORY_CODE
,BOOKED_FLAG
,ORG_ID
FROM oe_order_headers_all
WHERE order_number = 66435
SELECT
HEADER_ID
,LINE_ID
,LINE_TYPE_ID
,FLOW_STATUS_CODE
,LINE_NUMBER
,ORDERED_ITEM
,ORDERED_QUANTITY
,UNIT_LIST_PRICE_PER_PQTY
FROM OE_ORDER_LINES_ALL
WHERE 1=1
AND HEADER_ID = 192535
SELECT
DELIVERY_DETAIL_ID
,SOURCE_HEADER_ID
,SOURCE_LINE_ID
,CUSTOMER_ID
,INVENTORY_ITEM_ID
,RELEASED_STATUS
FROM WSH_DELIVERY_DETAILS
WHERE 1=1
AND SOURCE_HEADER_ID = 192535
SELECT * FROM WSH_NEW_DELIVERIES
WHERE 1=1
AND DELIVERY_ID = 3773405
ORDER BY CREATION_DATE DESC
SELECT * FROM WSH_DELIVERY_ASSIGNMENTS
WHERE 1=1
AND DELIVERY_DETAIL_ID = 3962503
ORDER BY CREATION_DATE DESC
SELECT * FROM RA_INTERFACE_LINES_ALL
WHERE 1=1
AND INTERFACE_LINE_CONTEXT = 'ORDER ENTRY'
AND INTERFACE_LINE_ATTRIBUTE1 = 66435
AND INTERFACE_LINE_ATTRIBUTE3 = 3773405
SELECT
CUSTOMER_TRX_ID
,TRX_NUMBER
,INTERFACE_HEADER_ATTRIBUTE1
,INTERFACE_HEADER_ATTRIBUTE2
,INTERFACE_HEADER_ATTRIBUTE3
,INTERFACE_HEADER_CONTEXT
,STATUS_TRX
FROM RA_CUSTOMER_TRX_ALL
WHERE 1=1
35. Raju Ch Page 35
Order To Cash Cycle Raju
AND INTERFACE_HEADER_CONTEXT = 'ORDER ENTRY'
AND INTERFACE_HEADER_ATTRIBUTE1 = '66435'
AND INTERFACE_HEADER_ATTRIBUTE3 = 3773405
ORDER BY CREATION_DATE DESC
SELECT * FROM RA_CUSTOMER_TRX_LINES_ALL
WHERE 1=1
AND INTERFACE_LINE_CONTEXT = 'ORDER ENTRY'
AND INTERFACE_LINE_ATTRIBUTE1 = 66435
AND INTERFACE_LINE_ATTRIBUTE3 = 3773405
ORDER BY CREATION_DATE DESC
SELECT * FROM AR_CASH_RECEIPTS_ALL
WHERE 1=1
AND RECEIPT_NUMBER = 'R10037546'
ORDER BY CREATION_DATE DESC
SELECT * FROM AR_RECEIVABLE_APPLICATIONS_ALL
WHERE 1=1
AND CASH_RECEIPT_ID = 113993
ORDER BY CREATION_DATE DESC
SELECT * FROM AR_PAYMENT_SCHEDULES_ALL
WHERE 1=1
AND CASH_RECEIPT_ID = 113993
ORDER BY CREATION_DATE DESC
37. Raju Ch Page 37
Order To Cash Cycle Raju
where ooha.order_number = :SalesOrderNumber --Right click :RequitionNumber
from Toad Enable Prompt For Substitution Variables
and ooha.org_id = 204
and hca.cust_account_id = ooha.sold_to_org_id
and hp.party_id = hca.party_id
and hpss.party_id = hca.party_id
and hpsb.party_id = hca.party_id
and bill_loc.location_id = hpss.location_id
and ship_loc.location_id = hpsb.location_id
AND hcasas.cust_account_id = hca.cust_account_id
AND hcasab.cust_account_id = hca.cust_account_id
AND hcasas.party_site_id = hpss.party_site_id
AND hcasab.party_site_id = hpsb.party_site_id
and hzsuas.cust_acct_site_id = hcasas.cust_acct_site_id
and hzsuab.cust_acct_site_id = hcasab.cust_acct_site_id
and hzsuas.site_use_id = ooha.ship_to_org_id
and hzsuab.site_use_id = ooha.invoice_to_org_id
and wda.delivery_id = wnd.delivery_id(+)
and wdd.delivery_detail_id = wda.delivery_detail_id
and wdd.source_header_id = ooha.header_id
and wdd.source_line_id = oola.line_id
and wdd.organization_id = msib.organization_id(+)
and wdd.inventory_item_id =msib.inventory_item_id(+)
and rct.interface_header_attribute1 = to_char(ooha.order_number)
and rct.org_id = ooha.org_id
and rctl.customer_trx_id = rct.customer_trx_id
and rctl.sales_order = to_char(ooha.order_number)
and rctld.customer_trx_id = rct.customer_trx_id
and rctld.customer_trx_line_id = rctl.customer_trx_line_id
and acr.receipt_number = 'G-1001'
and acr.pay_from_customer = rct.sold_to_customer_id
and acr.org_id = ooha.org_id
and acr.customer_site_use_id = rct.bill_to_site_use_id
and xte.transaction_number = acr.receipt_number
and xte.entity_code = 'RECEIPTS'
and xe.entity_id = xte.entity_id
and xah.event_id = xe.event_id
and xal.ae_header_id = xah.ae_header_id
and xal.accounting_class_code = 'CASH'
and xdl.ae_header_id = xah.ae_header_id
and xdl.ae_line_num = xal.ae_line_num
--and xdl.source_distribution_id_num_1
and gir.reference_5 = xte.entity_id -- Entity Id
and gir.reference_6 = to_char(xe.event_id) --Event Id
and gir.reference_7 = to_char (xah.ae_header_id) -- AE Header Id
and gir.gl_sl_link_id = xal.gl_sl_link_id
and gir.created_by = 1318
and gjb.je_batch_id = gir.je_batch_id
and gjh.je_batch_id=gjb.je_batch_id
and gjh.je_header_id = gir.je_header_id
and gjl.je_header_id=gjh.je_header_id
and gjl.je_line_num= gir.je_line_num