You are on page 1of 17

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

23-Dec-13

When the order information is entered and saved, an order


number is generated by Oracle.
Order Header Snapshot:
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

23-Dec-13

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.
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.
23-Dec-13

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

23-Dec-13

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
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:

23-Dec-13

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

the

not

available

for

fulfilment

of

other

order

requirements. Post Order reservation A new row is inserted in


MTL_RESERVATIONS table
demand_source_line_id

with
=

Order

column
line_id

PICK-RELEASE

23-Dec-13

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
Generally a pick release document set is defined , these
documents are also generated when pick release is
performed

23-Dec-13

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 subinventory 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 subinventories from source sub-inventory to STAGE
Entries

are

made

MTL_MATERIAL_TRANSACTIONS

in
table

the

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 subinventory to the Staging sub inventory. A new row is inserted
for the movement of requested item to the Staging Subinventory.
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 subinventory.
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

23-Dec-13

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 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
23-Dec-13

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

23-Dec-13

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

MTL_ONHAND_QUANTITIES

since

is

deleted

from

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


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
23-Dec-13

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

23-Dec-13

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

23-Dec-13

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

You might also like