Professional Documents
Culture Documents
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 Order to Cash 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.
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.
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 theSchedule 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
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
You can find the data in Shipping transaction screen (WSH shipping tables) only
when order is scheduled.
On the Shipping Transaction Form select Launch Pick Release from the Action menu
and click on GO button.
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.
MMT.trx_source_line_id = OOL.line_id
Enter the following in the Query Manager window and click Find
From Order Number = 66413 To Order Number = 66413
On the Shipping Transaction Form navigate to the Delivery Tab and select Ship
Confirm from the Action menu and click on GO button. Ship 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
withSales Order Issue transaction.
o Data is deleted from MTL_DEMAND, MTL_RESERVATIONS and WSH_NEW_DELIVERIES
o Item reduced from MTL_ONHAND_QUANTITIES
MTL_TRANSACTION_ACCOUNTS is updated with accounting information.
Check the blog post for the detailed pick release status
Verify the details on the Confirm Delivery window and click OK and close the
window.
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.
8. 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.
Cost of Goods
Ship goods to customer Inventory a/c Inventory
Sold a/c
Receivables
Issue Invoice Revenue a/c Receivables
a/c
Cash/Bank Receivables
Collecting Payment Receivables
a/c a/c
Order to Cash Cycle Techno Functional 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
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
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.
When the order information is entered and saved, an order number is generated by Oracle.
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:
In case any charges are applied to the Order the user can check the same following the below
navigation
Order Line --> Actions Button --> Charges
Details on the applied modifier to calculate the charges can be checked by viewing the charge
modifier.
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
Clicking on the Book Order Button will book the order, subject to that all the processing constraints
and checks performed by Oracle are successful.
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
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
The delivery line in the wsh_delivery_details table can be tracked by using any of the columns of the
wsh_delivery_details table.
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
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:
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.
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.
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’.
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.
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
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.
After the shipment of the goods are complete, next comes the stage of invoicing where invoices are
created the sold goods.
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.
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.
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.
Interface_header_attribute1 = order_number
Interface_header_attribute6= line_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.
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:
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.
1. Enter Order in OM (Customer, Order type, Pricelist, shipping details, etc)
2. Enter the Items details and sourcing details in Order Line
3. Check for the availability and Book the Order
4. Schedule and Reserve the Order
5. Pick Release the Order (Reports here: Pick Selection List Generation, Pick Slip Report, Shipping
Exception Report)
6. Ship confirm the order in Shipping transaction form (Reports here: Bill Of Ladding, Packing Slip Report,
Commercial Invoice, Vehicle Load Sheet Details, Interface Trip Stop)
7. Line Status become Interfaced in Shipping Transaction form
8. Sales Order Line status will be Shipped
9. Run Workflow Background Concurrent request to close the workflow which in turn will close the order line.
10. This will trigger Autoinvoice Master program (inturn it will run Autoinvoice Import Program)
11. Then will trigger Prepayment Matching Program
12. Invoice (Transaction#) can be found in Account Receivables
13. After getting the Cash from customer, Create the Receipt.
14. After creation of the receipt, match the receipt with the invoice transaction
15. Once the receipt is matched, then the data can be transferred to General Ledger by running General ledger
Transfer Program.
16. Then Journal can be Imported in GL by Import Journals
17. Then Journals can be posted to GL by Post Journals.