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 sale order screen
ENTER ORDER
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 programatically 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 and oe_order_lines 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:
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: Containing order header information
2.oe_order_lines: 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.
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 theorder 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 programatically
Major Tables Affected
System Changes After Ship ConfirmationOrder can be created in booked state if the user is creating the order programatically
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.
- 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 table’s
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:
- oe_order_headers : storing order header information
- oe_order_lines : 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 partivular order . The items are reserved to fulfill 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
- 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
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 good 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
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’.- 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.
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.
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_ohand_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
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
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 table’s 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.
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.
I hope the post will provide readers information on the process to be followed when executing Order to Cash Cycle and the tables getting affected at different stages of the cycle.
Comments,Feedback and Questions will be appreciated, Will try to solve your doubts if any.
Thank you. I just wanted to know where to ship it since I know now to keep producing it. That's interesting! Can you please share more about it?
ReplyDeleteOrder Management Software
navigation : Navigation: OM super Userà Shipping à Transactions.
DeleteSearch the order and in the Dropdown you can select the Option Ship confirm and click on Go .This will submit Interface Trip Stop and Perform the shipping.
Please check that you already have the Shipping grants assigned to your user
Very very nice post ...thanks a lot
ReplyDeleteThis comment has been removed by the author.
ReplyDelete