Upload
vishal
View
5
Download
0
Embed Size (px)
DESCRIPTION
o2c
Citation preview
Oracle Order to Cash Cycle in R12(Techno Funtional Overview)
23-Dec-13
Order to Cash Overview
Order to cash cycle is the business process which is concerned with the process
of selling of goods to the customer and receiving the corresponding payment
for the sold goods. It is the basic cycle which is the backbone of operation in
any supply chain business.
A simple and generic order to Cash Cycle will have will have the below
mentioned steps
1. Enter Order
2. Book Order
3. Pick Release the Order
4. Ship Confirm
5. Invoice Creation
6. Payment Receipt
In order to process with the cycle the user must be aware of the standard
sales order screen.
ENTER ORDER
23-Dec-13
Navigation: Order Management Super User -> Orders, Returns -> Sales Orders
This is the first stage of the Order to Cash cycle. Order entry is concerned with
the process of entering the order related information in the system, no
processing is done on the entered information the data is only saved in Oracle.
Order entry is performed only when a purchase requisition is received from
the customer.
Order entry can be performed manually or automated through EDI or
programmatically via API's.
When entering an order the user needs to provide certain basic information,
the remaining information is automatically fetched by Oracle as per the
defaulting rules specified in the Setup (Order Management Super User -> Setup
-> Rules -> Defaulting).
Enter the information in the screen and press Ctrl + S or click the save button
on the top of the screen.
When the order information is entered and saved the data is entered in the
OE_ORDER_HEADERS_ALL and OE_ORDER_LINES_ALL table.
The order header status: Entered
Order Line status: Entered
When the order information is entered and saved, an order number is
generated by Oracle.
Order Header Snapshot:
23-Dec-13
Order header provides us information about
The customer, to whom goods will be sold.
The type of Order
Shipping and Billing Location Information
The total order amount etc.
Order Line Snapshot:
Order line provides us details of the order.
The item to be sold
Pricing information ( the items cost and charges/discount applied)
The warehouse from which we plan to ship the data etc.
Freight and Discount Calculation:
If discounts or any charges are applied on the order then an entry is made in
the table OE_PRICE_ADJUSTMENTS to reflect that adjustment. To check if any
discount has been applied to an order this can be checked by querying the
table on the basis of the header_id of the Order.
Tables Affected on ORDER ENTRY:
1.OE_ORDER_HEADERS_ALL: Containing order header information
2.OE_ORDER_LINES_ALL: Containing order line information
3.OE_PRICE_ADJUSTMENTS : stores information of any discounts or charges
applied to the order
In case any charges are applied to the Order the user can check the same
following the below navigation
Order Line --> Actions Button --> Charges
The user will be able to see the applied charges.
23-Dec-13
Details on the applied modifier to calculate the charges can be checked by
viewing the charge modifier.
Navigate to: OM Super User -> Pricing -> Modifiers and
OM Super User -> Pricing-> Pricing Formulas -> Formula Setup
BOOK ORDER
Order booking is the process of validating the information entered by the user
and if the data is valid book the order for further processing.
This is done by clicking on the Book Order button present on the Order screen.
Order can be created in booked state if the user is creating the order
programmatically.
Clicking on the Book Order Button will book the order, subject to that all the
processing constraints and checks performed by Oracle are successful.
The Order Header Status changes to: Booked
The line Status Changes to : Awaiting Shipping
When Oracle tries to book the order, checks are performed to check if the
order is eligible for booking or not.
Credit check validation is performed against the customer for whom the
order is booked to check if the credit limit for the customer exceeds on
booking the order, If so then the order is put on hold with the entries
being made in OE_ORDER_HOLDS table, the entry can be tracked using
the header_id of the order.
23-Dec-13
Oracle checks if a Customer item cross reference exists for the item
being booked for the customer. If not the Order will be booked and will
be put on hold.
If the Customer is enabled only for EDI order creation then the order is
put on hold, since manual booking is not permissible for this customer.
Oracle checks if the requested item is active, eligible for Sale.
All these validations are defined in the Order Management setup,
processing constraints based on which specific checks are performed
whenever the user tries to perform any action.
In case the order is put on hold the user needs to check which hold has been
applied on the order and then take corrective actions and release the holds.
To check the holds applied at Order Header level Go to Order Header and click
on the Actions Button, select Additional Order Information
Line level holds can be checked by navigating to order lines --> Actions -->
Additional Line Information -> holds tab of the form
In case the user is eligible to release the holds the user can release the
header/line level holds by navigating to Order Header/Line --> Actions -->
Release holds
Order Line Delivery Information
When the order is booked Delivery lines are created for the order and entries
are made in the tables
WSH_DELIVERY_DETAILS and WSH_DELIVERY_ASSIGNMENTS.
In WSH_DELIVERY_DETAILS table entry is made with
23-Dec-13
released_status =’R’ (Ready to Release).
The delivery line in the WSH_DELIVERY_DETAILS table can be tracked by using
any of the columns of the WSH_DELIVERY_DETAILS table.
Source_header_id = Order Header id
Source_line_id = Order line id
Source_header_number = order number.
Entry in the table WSH_DELIVERY_ASSIGNMENTS can be tracked by using the
delivery detail id from the table WSH_DELIVERY_DETAILS.
Tables Affected:
oe_order_headers_all : storing order header information
oe_order_lines_all : order line details
oe_order_holds : Order hold details in case hold is applied on the order
wsh_delivery_details : Order line delivery details
wsh_delivery_assignements
ORDER SCHEDULING
Order Scheduling is mechanism in which the system is informed about a
possible demand of the item and the reservations that need to be done for the
same.
A new row is inserted in MTL_DEMAND table with column
demand_source_line = Order line_id
23-Dec-13
Order Reservation : refers to the activity in which the items are blocked in the
inventory for this particular order . The items are reserved to fulfil the
requirements for this order and is thus not available for the fulfilment of other
order requirements. Post Order reservation A new row is inserted in
MTL_RESERVATIONS table with column demand_source_line_id = Order
line_id
PICK-RELEASE
Pick release is the stage of the order cycle when the ordered items
are transferred to the staging area of the sub-inventory to be shipped.
When the pick release request is run we are informing the inventory about the
requirement of the item, the requested quantity is transferred from the source
sub-inventory to the staging sub-inventory signifying the reservation of items.
The quantity available in the staging sub-inventory is not available for
reservation for any other order.
Navigation:
Order Management Super User -> Shipping -> Release Sales Order -> Release
Sales Order
When pick release is done in oracle system,
move order is created for the specified items
the items from the inventory are allocated to the move order
move order is transacted which leads to the transfer of items from the
source sub inventory to the STAGE area of the warehouse
23-Dec-13
Generally a pick release document set is defined , these documents are
also generated when pick release is performed
The documents generated on pick release are the basis on which the pick
release action / movement of goods is performed in the warehouse
System Changes after Pick Release Completes
The status of header: Booked.
Line Status: Picked
Move Order Creation and Transactions
Move orders get created in the system and the same is transacted to keep a
track of the item transfer from source sub-inventory to stage area of the
warehouse.
Details of the move orders are stores in the tables :
MTL_TXN_REQUEST_HEADERS and MTL_TXN_REQUEST_LINES
Inventory transfer :
In pick release since items are transferred between sub-inventories from
source sub-inventory to STAGE
Entries are made in the table MTL_MATERIAL_TRANSACTIONS table showing
the movement of goods between different sub-inventories. The transactions
for each order line can be traced using Column:
Trx_Source_Line_Id = Order Line_Id.
Entry is made in the table MTL_TXN_REQUEST_LINES for the picked orders.
Reference is Trx_Source_Line_Id = Order Line_Id
23-Dec-13
Entry is also made into the MTL_ONHAND_QUANTITIES table regarding the
transfer of material from the corresponding sub-inventory to the Staging sub
inventory. A new row is inserted for the movement of requested item to the
Staging Sub-inventory.
Records can be traced through the column create_transaction_id which
corresponds to the transaction id of the MTL_MATERIAL_TRANSACTIONS
table which has the entry of the transfer of goods into the staging sub-
inventory.
Delivery line creation:
When a pick release of order line is done a delivery is created and on or more
order lines are associated to the same delivery.
The concept of delivery required detailed discussion which will be taken up in
the upcoming posts.
An entry is made in the WSH_NEW_DELIVERIES table for the delivery created.
Delivery_id field is updated in WSH_DELIVERY_ASSIGNMENTS table.
The Delivery Id is the shipment number assigned to that particular order.
Updation of table WSH_DELIVERY_DETAILS table takes place.
The transaction_id field value in WSH_DELIVERY_DETAILS table is same as the
transaction_id of MTL_MATERIAL_TRANSACTIONS table which is created for
the transfer of goods from the source sub-inventory to the staging sub-
inventory.
If Pick Release process is successful then the released_status field of
WSH_DELIVERY_DETAILS table is updated to ‘Y’, In case enough quantity is
23-Dec-13
not available when the order is picked the order will be back-ordered due to
unavailability of the quantity and the released status is set to ‘B’.
Major Tables Affected
oe_order_lines: order line status is updated
wsh_delivery_details : released status chages to 'Y' if pick release is
successful, to 'B' in case the line is backordered
wsh_new_deliveries: details of the delivery created for the lines pick
released
wsh_delivery_assignments: association of delivery with order lines
mtl_txn_request_headers: move order header information
mtl_txn_request_lines: move order line details
mtl_onhand_quantities: entries made for the increase of onhand in
STAGE and updates for the goods moving out of the source sub-
inventory
mtl_material_transactions: entries tracking the movement of goods in
the warehouse
SHIP CONFIRM
After the Order has been picked next comes the stage of shipping of the Order.
Ship confirmation is the step in which the goods are shipped to the customer
site. This is the step where the inventory leaves the suppliers warehouse to be
sent to the customer.
Navigation: OM super User-> Shipping -> Transactions.
23-Dec-13
The user needs to search the orders to be shipped and then perform the
shipping transaction.
When the shipping is done some supporting documents like Bill of Lading is
generated. These documents help in identification of the goods to be shipped
in the staging area and are used by the truckers when performing the actual
delivery of goods.
System Changes After Ship Confirmation
Order Header Status: Booked
Order Line Status: Shipped
The delivery which was associated to the order lines is closed.
Inventory reduces by the amount of units which are shipped
The releases_status for the lines in WSH_DELIVERY_DETAILS changes to 'C',
signifying shipment of the order line
Table Updates:
An entry is made into MTL_MATERIAL_TRANSACTIONS table signifying the
shipping of goods from the system; the transaction quantity is negative which
means that goods are moving out of the system.
The corresponding entry is deleted from MTL_ONHAND_QUANTITIES since the
goods have been shipped.
If the user queries for the item from the front end now the total available qty
in the staging sub-inventory is reduced by the quantity shipped.
INTERFACING FOR INVOICING
23-Dec-13
After the shipment of the goods are complete, next comes the stage of
invoicing where invoices are created the sold goods.
For this to be achieved data needs to be interfaced to the AR related tables.
Run the workflow Background Process which picks up all the shipped order
lines, changes their status to ‘CLOSED’ and inserts corresponding records in the
ra_iterface_lines_all table.
To run the request Navigate:
System Administrator Responsibility and request submission screen.
Lines in the RA_INTERFACE_LINES_ALL can be referenced using column
INTRFACE_LINE_ATTRIBUTE1 = Order Number,
INTERFACE_LINE_ATTRIBUTE3 = shipment number/delivery_id
INTERFACE_LINE_ATTRIBUTE6 = Order Line Id
INVOICING
Workflow background engine picks the shipped records and posts them to
RA_INTERFACE_LINES_ALL. This is also called Receivables interface, that
means information moved to accounting area for invoicing details. Invoicing
workflow activity transfers shipped item information to Oracle Receivables. At
the same time records also goes in the table
RA_INTERFACE_SALESCREDITS_ALL which hold details of sales credit for the
particular order.
To generate invoice navigate to AR Super User -> Interface -> Auto Invoice
23-Dec-13
Run the “autoinvoice master program” with the appropriate parameters. Once
the program is completed eligible data from the RA_INTERFACE_LINES_ALL
table is fetched, validations to be performed by oracle are carried out and new
records are inserted in the tables RA_CUSTOMER_TRX_ALL and
RA_CUSTOMER_TRX_LINES_ALL.
To track the invoices created in RA_CUSTOMER_TRX_ALL
Interface_header_attribute1 = order_number
Interface_header_attribute6= line_number
Interface_header_attribute3 = shipment number
Data in the RA_CUSTOMER_TRX_LINES_ALL table can be tracked either by the
cutomer_trx_id of the RA_CUSTOMER_TRX_ALL table or by
interface_header_attribute1 = order_number.
After the invoice is created user can see the invoices in front end by navigating
to AR Super User -> Transactions -> Transactions and query the screen by
giving the order number in the reference field on the form.
RECEIPTS
When payment is received from a customer the corresponding needs to be
entered in Oracle. This is done from the Receipts screen.
AR Super User -> Receipts -> Receipts
Here the user needs to enter the amount received from the customer and
apply it to the corresponding invoices to which he desires.
The receipt amount can either be applied to a single invoice or multiple
invoices.
23-Dec-13
In each of the case the outstanding amount for the invoice to which the receipt
is applied reduces by the amount applied. The details of the receipt applied to
the invoices can be searched in the view AR_RECEIVABLE_APPLICATIONS_V.
Data in the view can be searched by referencing any of these columns:
receipt_number = receipt number entered in the receipt screen
trx_number = Invoice number/Transaction number generated when the
invoice was created.
After performing the receipts for the Invoices , the whole cycle gets completed
since all the activities ie Receipt of Order --> Fulfilment of Order --> Raising
Invoice to Customer --> Receiving payments for the goods shipped is
completed.
23-Dec-13