order to cash cycle

47
Oracle E-Business Suite Order to Cash Cycle (O2C) (With tables and links) 1

Upload: brinda19

Post on 16-Jan-2016

23 views

Category:

Documents


0 download

DESCRIPTION

Order to Cash Cycle

TRANSCRIPT

Page 1: Order to Cash Cycle

Oracle E-Business Suite

Order to Cash Cycle (O2C)

(With tables and links)

1

Page 2: Order to Cash Cycle

Document ContentS.No Index Page

1 Order to Cash Cycle (O2C) in Oracle Apps R12 32 Setup steps for executing the O2C flow with a standard item 43 O2C Flow with statuses at various stages 54 Creating Sales Order 65 Adding items into Inventory for placing Sales Order 106 Booking Sales Order 137 Releasing Sales Order 168 Sales Order - Ship confirm 199 Creating Invoice 25

10 Queries 2811 Query to join OM, WSH, AR Tables 3012 O2C Accounting Entries 3013 Creating Receipt 3114 Receipt Reconciliation 38

Order to Cash Cycle (O2C) in Oracle Apps R12

The Order to Cash Process flow starts with entering the order with a standard item into system. When you enter an order, the item are validated in oracle inventory, the price is calculated for the items using the pricing engine; the availability of the items are checked and may be reserved. Once all the required fields are entered on both the header and the lines, you can book the order. When you click on the Book Order button, the API OEXUBOKB.pls, checks if the order is eligible

2

Page 3: Order to Cash Cycle

for booking. If eligible the order is booked and the order header status would change to booked. The next step is the pick release with which you move the items from the warehouse to the staging area. The next step is to ship confirm, to indicate that the items are loaded on to the carrier from the staging area. When you run Ship Confirm, the system decrement inventory and updates sales order line status. This information is then transferred through the Auto Invoice to Account Receivables for invoicing. Then you sent the invoice to your customer for the items shipped and then perform the cash management and bank reconciliations.

Order Management receives detailed item information from the Inventory application and price list information from the Pricing application. Orders and returns can be entered manually or imported through an EDI, CRM, or external source. Once in the system the order is ready to be pick released and shipped, if needed by the Shipping application. It can then proceed through the Auto Invoice program into the Oracle Receivables application to be invoiced. All of the accounting information is transferred to the General Ledger by the Inventory and Receivables applications.

The required fields to enter on the sales order header are the customer name or number and order type. Other values such as Ship-To Address, Bill-To Address, Shipping Method, and Price List default. The order number is generated based on the order type. The required fields to enter on the sales order lines are Ordered Item and Quantity. Again, based on defaulting rules and setups in Pricing, Inventory and Shipping, the other values would default on the sales order line.

Setup steps for executing the O2C flow with a standard item

Prior to order entry, the items should be created / defined in inventory module using the master items screen and assigned to the shipping organization. Check the blog post for the related setups

·         Add the item to the price list or create a new price list.

3

Page 4: Order to Cash Cycle

·         Transaction Type must be defined

·         Document Sequence must be assigned to the document category.

·         Customers must be defined

·         Salespersons must be defined

·         Shipping Roles should be granted to the user.

·         Ensure that the items are available in your shipping sub inventory or perform miscellaneous transactions to augment the same.

O2C Flow with statuses at various stages

4

Page 5: Order to Cash Cycle

All possible flow statuses of the order/line:

• OE_ORDER_HEADERS_ALL.flow_status_code:  Order Header (Entered)  Booked Order (Booked)  Closed Order (Closed)

• OE_ORDER_LINES_ALL.flow_status_code: 

Order Line (Entered)  Booked Order (Awaiting Shipping)  Pick Released(Picked/Staged)  Ship Confirmed (Shipped)  INV/OM interfaced (Fulfilled) Close Order (Closed)

Creating Sales OrderNavigate to: Order Management Super User, Vision Operations (USA)

5

Page 6: Order to Cash Cycle

Create Sales Order with Customer and Lines details

6

Page 7: Order to Cash Cycle

7

Page 8: Order to Cash Cycle

If there is Less Availability of Quantity on Hand, Do the following Process.

8

Page 9: Order to Cash Cycle

Adding items into Inventory for placing Sales Order

9

Page 10: Order to Cash Cycle

10

Page 11: Order to Cash Cycle

11

Page 12: Order to Cash Cycle

After successful addition, Go back to Order Management Super User and Continue the Sales order Process

12

Page 13: Order to Cash Cycle

Booking Sales Order

13

Page 14: Order to Cash Cycle

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

14

Page 15: Order to Cash Cycle

·         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. Check the OM scheduling related setups

Order tables:OE_ORDER_LINES_ALL.visible_demand_flag: visible_demand_flag= Yes lines will be made available as Demanded to Planning

Shipping tables: The shipping tables get populated after order scheduling.WSH_DELIVERY_DETAILS.released_status: monitors the shipping process of the order line

WSH_DELIVERY_ASSIGNMENTS: Assigns delivery details to a delivery and/or a parent delivery detail.

Once the order is booked from the application, following changes occur in the backend§  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)§  Since the order is now booked, delivery details of the order are created in WSH_DELIVERY_DETAILS table. WSH_DELIVERY_DETAILS has delivery lines and LPNs.                           OOL.line_id = WDD.source_line_id§  These delivery details information can been viewed form ‘Shipping Transactions Form’ and the delivery status in the application will be as ‘Ready to Release’§  WSH_DELIVERY_DETAILS.released_status =’R’§  WSH_DELIVERY_DETAILS.Release_Status can have any of the below valid values§  WSH_DELIVERY_ASSIGNMENTS (WDA) assigns delivery details to a delivery and/or a parent delivery detail (LPN).

WDA.delivery_detail_id = WDD.delivery_detail_id

§  WSH_DELIVERY_ASSIGNMENTS.delivery_id will be NULL as still pick release operation is not performed as final delivery is not yet created.§  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.MTL_DEMAND.demand_source_line = OOL.line_id

15

Page 16: Order to Cash Cycle

Releasing Sales Order

Navigate to the Shipping Transaction Form (Shipping à Transactions)Enter the following in the Query Manager window and click FindFrom Order Number = 66463 To Order Number = 66463

         You can find the data in Shipping transaction screen (WSH shipping tables) only when order is scheduled.

         On the Shipping Transaction Form selects Launch Pick Release from the Action menu and click on GO button. 

If it is already Backordered then select Backordered, or else select “unreleased”

16

Page 17: Order to Cash Cycle

17

Page 18: Order to Cash Cycle

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

Order line status becomes ‘Picked’ on Order and ‘Staged/Pick Confirmed’ on Shipping Form.

§  MTL_MATERIAL_TRANSACTIONS_TEMP (Record gets deleted from here and gets posted to

MTL_MATERIAL_TRANSACTIONS)

§  OE_ORDER_LINES_ALL.flow_status_code =’PICKED’

§  MTL_MATERIAL_TRANSACTIONS is updated with Sales Order Pick Transaction 

MMT.trx_source_line_id  = OOL.line_id

§  MTL_TRANSACTION_ACCOUNTS is updated with accounting information

§  WSH_DELIVERY_DETAILS. released_status=‘Y’ (‘Released’)

§  WSH_DELIVERY_ASSIGNMENTS, MTL_ONHAND_QUANTITIES are updated accordingly

Note: Pick Confirm step can be eliminated if ‘Auto Pick Confirm’ is selected as ‘YES’ while

performed manual pick release. If Pick release is done through shipping transactions form and if you

want to perform auto pick confirm then picking rules setup has to be done.

18

Page 19: Order to Cash Cycle

Sales Order - Ship confirm

·         Navigate to the Shipping Transaction Form (Shipping à  Transactions)

·         Enter the following in the Query Manager window and click FindFrom Order Number = 66463 To Order Number = 66463

19

Page 20: Order to Cash Cycle

·         On the Shipping Transaction Form navigate to the Delivery Tab and select Ship Confirm from the Action menu and click on GO button. Ships confirm process triggers the Interface Trip Stops concurrent program.

o    OE_ORDER_LINES_ALL.flow_status_code =‘SHIPPED’o    WSH_DELIVERY_DETAILS. released_status=‘C’ (‘Shipped’)o    Data from MTL_TRANSACTIONS_INTERFACE is moved to MTL_MATERIAL_TRANACTIONS and MTL_MATERIAL_TRANSACTIONS is updated with Sales Order Issue transaction.o    Data is deleted from MTL_DEMAND, MTL_RESERVATIONS and WSH_NEW_DELIVERIESo    Item reduced from MTL_ONHAND_QUANTITIESMTL_TRANSACTION_ACCOUNTS is updated with accounting information.

Following are the pick release status:Table: WSH_DELIVERY_DETAILSColumn: RELEASED_STATUSPossible Values:B: Backordered- Line failed to be allocated in InventoryC: Shipped -Line has been shippedD: Cancelled -Line is CancelledN: Not Ready for Release -Line is not ready to be releasedR: Ready to Release: Line is ready to be releasedS: Released to Warehouse: Line has been released to Inventory for processingX: Not Applicable- Line is not applicable for Pick ReleaseY: Staged- Line has been picked and staged by Inventory

20

Page 21: Order to Cash Cycle

21

Page 22: Order to Cash Cycle

Verify the details on the Confirm Delivery window and click OK and close the window.  

22

Page 23: Order to Cash Cycle

23

Page 24: Order to Cash Cycle

·         The Interface Trip Stop (ITS) will be trigger at the time of Shipping if check box “Defer Interface” is not check. ITS can also be executed from concurrent request.

24

Page 25: Order to Cash Cycle

Interface Trip Stop has two main components:1.    Update the Order Management Data (oe_order_lines_all)2.    Trigger the Inventory Interface (to Update the Inventory tables)

·         ITS updates the following fields on oe_order_lines_all table:·         Shipped_quantity·         Shipping_quantity·         Actual_shipment_date

·         Inventory Interface will be trigger only if the first part, that means related to OM has successfully completed and flag OE_INTERFACED_FLAG = ‘Y’ on WSH_DELIVERY_DETAILS. If value of this flag is N/P then Inventory Interface will never be triggered. And even if you try to submit the Inventory Interface from SRS, delivery detail with oe_interfaced_flag =’N’ will never be picked up.

oe_interfaced_flag = Y -- signifies ITS has interfaced shipping data to OMinv_interfaced_flag = Y -- signifies ITS has interfaced shipping data to INV

Navigate to Shipping Interfaces window (Shipping à Interfaces à Run)Select the Interface Trip Stop - SRS Program from the LOVsOn the parameters window enterMode = AllClick on the OK button and then on the Submit button:

Creating Invoice Navigate to the Run AutoInvoice window, (Interfaces à AutoInvoice) Select the AutoInvoice Master Program from the LOV On the parameters window enter Invoice Source = ORDER ENTRY Default Date = Enter Today’s Date (Low) Sales Order Number = 66463

25

Page 26: Order to Cash Cycle

(High) Sales Order Number = 66463 Then click OK and Submit button.

Next, Invoice will be auto created.

To check this, follow these steps

26

Page 27: Order to Cash Cycle

27

Page 28: Order to Cash Cycle

·         Navigate to the Additional Line Information window, (Orders, Returns àOrder Organizer)·         On the Find Order window, query your order number = 66413·         On the Order Organizer window, navigate to Lines Tab and click on Actions button and select the Additional Line information and click OK.

   On the Additional Line Information window, navigate to Invoices / Credit Memos Tab and click on the Invoice Details button. This would open Transactions window, where you can see the invoice details.

Queries

SELECT * FROM OE_ORDER_HEADERS_ALL WHERE HEADER_ID = 63399;

SELECT * FROM OE_ORDER_LINES_ALL;

SELECT * FROM MTL_SYSTEM_ITEMS_B WHERE INVENTORY_ITEM_ID = 201 AND ORGANIZATION_ID = 889;

SELECT * FROM OE_ORDER_HEADERS_ALL WHERE ORDER_NUMBER = 66463;

SELECT * FROM OE_ORDER_LINES_ALL WHERE HEADER_ID = 190657;

/* Formatted on 03-01-2014 16:06:51 (QP5 v5.115.810.9015) */SELECT HEADER_ID, ORG_ID, ORDER_TYPE_ID, FLOW_STATUS_CODE, TRANSACTIONAL_CURR_CODE, SHIPPING_METHOD_CODE, SHIP_FROM_ORG_ID, SHIP_TO_ORG_ID FROM OE_ORDER_HEADERS_ALL WHERE ORDER_NUMBER = 66463;

28

Page 29: Order to Cash Cycle

/* Formatted on 03-01-2014 16:07:32 (QP5 v5.115.810.9015) */SELECT ORDERED_ITEM, INVENTORY_ITEM_ID, PRICING_QUANTITY, ORDERED_QUANTITY, FLOW_STATUS_CODE, UNIT_SELLING_PRICE_PER_PQTY FROM OE_ORDER_LINES_ALL WHERE LINE_ID = 388594; SELECT * FROM WSH_DELIVERY_DETAILS WHERE SOURCE_HEADER_ID = 190657;

/* Formatted on 03-01-2014 16:12:40 (QP5 v5.115.810.9015) */SELECT DELIVERY_DETAIL_ID, SOURCE_HEADER_ID, SOURCE_LINE_ID, SOURCE_CODE, CUSTOMER_ID, INVENTORY_ITEM_ID, ITEM_DESCRIPTION, SHIP_FROM_LOCATION_ID, SHIP_TO_LOCATION_ID, MOVE_ORDER_LINE_ID, REQUESTED_QUANTITY, SHIPPED_QUANTITY, SUBINVENTORY, RELEASED_STATUS, SHIP_METHOD_CODE, CARRIER_ID FROM WSH_DELIVERY_DETAILS WHERE SOURCE_HEADER_ID = 190657; /* Formatted on 03-01-2014 16:18:32 (QP5 v5.115.810.9015) */SELECT DELIVERY_ASSIGNMENT_ID, DELIVERY_ID, PARENT_DELIVERY_ID, DELIVERY_DETAIL_ID, PARENT_DELIVERY_DETAIL_ID, CREATION_DATE, CREATED_BY, LAST_UPDATE_DATE, LAST_UPDATED_BY, ACTIVE_FLAG, TYPE FROM WSH_DELIVERY_ASSIGNMENTS WHERE DELIVERY_DETAIL_ID = 3963468; SELECT * FROM WSH_NEW_DELIVERIES;

select * from mtl_material_transactions where transaction_date > sysdate-1

select * from mtl_transaction_types where transaction_type_id = 52

select * from oe_order_headers_all where order_number = '66463'

--10037508 Invoice Number

29

Page 30: Order to Cash Cycle

Query to join OM, WSH, AR Tables

SELECT ooh.order_number ,ool.line_id ,ool.ordered_quantity ,ool.shipped_quantity ,ool.invoiced_quantity ,wdd.delivery_detail_id ,wnd.delivery_id ,rctl.interface_line_attribute1 ,rctl.interface_line_attribute3 ,rctl.interface_line_attribute6 ,rct.org_id ,rct.creation_date ,trx_number ,rctl.quantity_ordered ,rct.interface_header_context FROM oe_order_headers_all ooh ,oe_order_lines_all ool ,wsh_delivery_details wdd ,wsh_new_deliveries wnd ,wsh_delivery_assignments wda ,ra_customer_trx_all rct ,ra_customer_trx_lines_all rctl WHERE ooh.header_Id=ool.header_id AND wdd.source_header_id=ooh.header_id AND wdd.delivery_detail_Id=wda.delivery_detail_id AND wda.delivery_id=wnd.delivery_id AND rctl.interface_line_attribute1=to_char(ooh.order_number) AND rctl.interface_line_attribute6=to_char(ool.line_id) AND rctl.interface_line_attribute3=to_char(wnd.delivery_id) AND rctl.customer_trx_id=rct.customer_trx_id AND rct.interface_header_context='ORDER ENTRY'

O2C Accounting Entries

30

Page 31: Order to Cash Cycle

Creating Receipt

Navigation Path: Receivables, Vision OperationsTransactions > Transactions.

Query for the Sales Order number 66463 by inputting the Value of the Sales order number in the reference field. Sales Invoice 10037508 is created.

Click on Line Items to view the Details of the Lines.

31

Page 32: Order to Cash Cycle

We have to receive Money against the Invoice Created above.

Navigation PathReceivables, Vision OperationsReceipts > Receipts

Click on the form and enter a Receipt for the Sales Invoice created.

32

Page 33: Order to Cash Cycle

Navigation Path: Receivables, Vision OperationsReceipts > Receipts

Enter a Receipt number. The Currency field is defaulted is defaulted from Functional currency and the Receipt Date and GL Date are defaulted from System Date and choose the Payment method of Manual Remittance.

Enter in Transaction Number field 10037508, which is the Sales Invoice number against which cash is received and Click on the Applications Button.

We can go to Collections Form and view the amount due from the customer.

33

Page 34: Order to Cash Cycle

Navigation Path: Receivables, Vision OperationsSelect Account Details

Click on the Account Details form and enter the Customer number 2239 in the number field. Click on the Find Button

34

Page 35: Order to Cash Cycle

Next, we have to remit the check we have received from Business World

35

Page 36: Order to Cash Cycle

Navigation Path: Receivables, Vision OperationsReceipts > Remittance

Click on the Remittances Form and enter the following details

Remittances Form opens and Currency, Batch Date, GL Date and Remittance method defaults. Enter the Payment method Manual Remittance and choose the Bank Account Number from the List of Values. Click on Auto Create Button

36

Page 37: Order to Cash Cycle

Create Remittance Batch Window Opens and enter the Receipt Number 797979 and the Customer Number 1608 and enable the Create, Approve and Format check box. Click on OK Button and a message pops up Submit 1 Batches for Format. Click on Yes Button.

This Generates a Concurrent request and generates the Automatic Remittances Execution Report.

Automatic Receipts/Remittances Execution Report

Print Remittances

37

Page 38: Order to Cash Cycle

Now, You go to Receipts screen and Query for the Receipt Number 797979, the status of the Receipt might have changed from Confirmed to remitted.

Navigation Path: Receivables, Vision OperationsReceipts > ReceiptsQuery for Receipt number 797979

Receipt Reconciliation

Next, we need to clear the Receipt in Cash Management.

Navigation Path: Cash Management, Vision OperationsBank Statements > Bank Statements and Reconciliation

38

Page 39: Order to Cash Cycle

Click on New Button.

39

Page 40: Order to Cash Cycle

Bank Statement Line Window Opens up. Enter the Line Number 1 and choose the Type as Receipt and enter the amount as 701.96 and save the record. Close the Window.

Next Step is to choose the Receipt advice and reconcile with the Bank Statement we created.

Navigation Path: Cash Management, Vision OperationsBank Statements > Manual Clearing > Clear Transactions

Click on the Clear Transactions form and enter the following.

40

Page 41: Order to Cash Cycle

Find Transactions Window opens up and the radio button detail is enabled and uncheck the Payment and Miscellaneous check box. Click on the Find Button.

Clear transactions Form opens up and enable the check box on left-hand side for the receipt number 797979 and click on clear Transaction. This will clear the Transaction and reconcile the Transactions with the bank Statement.

Now, Log on to receivables Responsibility and check the status of the Receipt 797979.

41

Page 42: Order to Cash Cycle

This will have the Status of cleared.

Navigation Path: Receivables, Vision OperationsReceipts > ReceiptsQuery for Receipt Number 797979

SELECT * FROM OE_ORDER_HEADERS_ALL WHERE ORDER_NUMBER = 66463;

SELECT * FROM OE_ORDER_LINES_ALL WHERE HEADER_ID = 190657;

SELECT * FROM WSH_DELIVERY_DETAILS WHERE SOURCE_HEADER_ID = 190657; SELECT * FROM WSH_NEW_DELIVERIES WHERE DELIVERY_ID = 3774384;

SELECT * FROM WSH_DELIVERY_ASSIGNMENTS WHERE DELIVERY_DETAIL_ID = 3963468;

SELECT * FROM MTL_MATERIAL_TRANSACTIONS WHERE TRANSACTION_ID = 23607094;

SELECT * FROM MTL_TRANSACTION_TYPES WHERE TRANSACTION_TYPE_ID = 52;

SELECT * FROM RA_CUSTOMER_TRX_ALL WHERE TRX_NUMBER = '797979';

SELECT * FROM AR_PAYMENT_SCHEDULES_ALL WHERE CREATED_BY = 1013427;

SELECT * FROM AR_CASH_RECEIPTS_ALL WHERE CREATED_BY = 1013427;

42