Saturday 4 January 2014

Oracle Order to Cash (O2C) flow

The Order to Cash or O2C cycle, as it is popularly called, is one of the basic and common business flows within Oracle apps. This cycle is common for any manufacturing or related companies which have implemented Oracle eBusiness Suite.
The phases in the Order to Cash cycle are,
  • Enter Order
  • Book Order
  • Pick Release
  • Pick Confirm (Optional)
  • Ship Confirm
  • Create Invoice
  • Create Receipt
  • Transfer to GL
  • Bank Reconciliation
Step (i): Check item assignment to sub inventory

We shall first check the warehouses which can transact for the item in question. We shall raise a sales order for this item later on.
Responsibility: Inventory
Navigation: Items > Master Items
You will be first asked to select the sub inventory. We shall choose the sub inventory numbered 125.
Click on OK
Now that the item form is opened, query for the item APX.L600M11.A.
Note:
The item flexfield has 3 segments and hence the item code has 3 values.
Click on the Organization Assignment tab () on the left.
We see that the item, APX.L600M11.A, is assigned to the sub inventory 125. Therefore the sub inventory can store and issue this particular item.

Step (ii): Receive goods in sub inventory

We shall provide stock in the sub inventory for this item so that sales orders can be created. To increase stock of this item we shall issue a miscellaneous receipt. If we use a miscellaneous receipt then we do not have to go through a P2P cycle.
Responsibility: Inventory
Navigation: Transactions > Miscellanous Transaction
If you are asked to select the organization/sub inventory, select 125.
Click on OK
Select Type as Miscellanous Issue.
Click on Transaction Lines.
Now enter the Item details. We shall create miscellaneous issue of quantity 50 for item, APX.L600M11.A.
As this item is lot controlled (you can find it from the item master form in step 1) click on Lot/Serial button.
The Lot/Serial form opens. Click on Generate Lot button to generate a new Lot number. Then assign the entire quantity to the same lot.
Click on Done. You will be taken back to the Miscellanous Transaction form.
Save the form. The transaction will complete and the form will be cleared automatically. Close the form.

Step (iii): Verify the quantity

We shall now check the current on hand quantity of the item, APX.L600M11.A.
Responsibility: Inventory
Navigation: On-Hand Quantity > On-hand Quantity
Enter the item name.
Click on Find
Click on Availability button.
You can see that the warehouse or sub inventory 125 has a quantity of 650 of item, APX.L600M11.A.
Close the form.

Step 1: Enter the sales order
Open the Sales Order form.
Responsibility: Order Management
Navigation: Orders, Returns > Sales Orders
Enter the sales order header information
Enter the Order Type as it is a mandatory field. Notice that the Order Number and Status fields are blank. Also, the Sales Person and Price List fields are set to default values of “No Sales Credit” and “RPL01“. These 2 values come from the setup. Save the form.
Important:

Setup for Pricelist

The profile option, OM: Default Salesrep, is set.


When the form is saved Order Number is populated along with Status. The status of the order now is “Entered”. Click on Others tab.

Ensure that Payment terms is filled out.

Enter the Warehouse if all the order lines will be fulfilled from a single warehouse. We shall enter the value of the Warehouse. This value will be 125, i.e. that the warehouse where we had received the goods initially in step (ii).

We have entered the order header. We shall now enter the order line(s). Notice the top tab on the form.

Click on Line Items tab.
Enter the line details. We shall enter the item number, APX.L600M11.A. In step (ii) we had received the same item into the warehouse. We shall order a quantity of 2.
The price is automatically populated from the price list. The price list in use is RPL01 (which is set as the default price list on the order header)
Click on Pricing tab
The price list is populated from the header. Now click on Shipping tab.
The warehouse is populated from the order header. Save the form to save the order.
Tables Affected:
OE_ORDER_HEADERS_ALL
OE_ORDER_LINES_ALL
FLOW_STATUS_CODE in both the tables is ENTERED

Note:
Whenever an order is entered and saved 2 workflows are kicked off. These 2 workflows move the order from Entered phase to Completed phase. You might find that the order has not progressed into the next phase even though the current phase has been completed. In such a case you need to execute the program, Workflow Background Process. You will find this program under System Administrator responsibility.

The names of the 2 workflows are,

  1. OM Order Header (OEOH)
  2. OM Order Line (OEOL)
You can follow the workflows in Workflow Status Monitor,
You can get details on how to track workflows in this article.

Step 2: Book the sales order
Click on Availability button on the sales order form.
We can now check whether there are enough items available to be ordered from the warehouse. We see that the warehouse number 125 has total quantity of 650 and the ordered quantity is 2. Therefore the order can be fulfilled. Close the Availability window.
Click on Book Order button.
A pop message is displayed showing that the order has been booked. Now close the popup message by click on OK and go to the Order header by clicking on Order Information tab.
Notice that Status is now changed to Booked. Close the sales order form.
Tables affected:
The FLOW_STATUS_CODE in OE_ORDER_HEADERS_ALL will be BOOKED.

The FLOW_STATUS_CODE in OE_ORDER_LINES_ALL will be AWAITING_SHIPPING.
New records will be created in WSH_DELIVERY_DETAILS with RELEASED_STATUS=’R’ (Ready to Release)
New record(s) will be created in WSH_DELIVERY_ASSIGNMENTS
When the order is booked the DEMAND INTERFACE PROGRAM will run in the background and insert records into MTL_DEMAND table.

Step 3: Pick the order

There are 2 ways of picking the ordered items.
1. Release Sales Order form
Navigation: Shipping > Release Sales Orders > Release Sales Orders
Enter the Order number
Enter Document Set as All Pick Release Documents. Click on Shipping tab.
Enter the following,
AutoCreate Delivery: Yes
Auto pick Confirm: Yes
Autopack Delivery: Yes
Release Sequence Rule: All Standard Orders
Ship From: <The organization from which the item is shipped>
Click on Inventory tab.
Enter the Subinventory
Click on Execute Now button to pick the items. After this the ordered items will be picked from the warehouse and Pick Slip report will be executed. Once this is done we have to go to the Shipping Transaction form in step (ii).
If we pick the order from this form we have more control over the picking process but we will not follow this process to pick the order. We shall use step 2 to pick the order.

2. Shipping Transaction Form
If we pick the items using the Shipping Transaction form we have to manually execute the Move Order.
Navigation: Shipping > Transactions
Enter the Order Number.
Click on Find button.
The order is displayed and the line status shows Ready to Release. The next step is displayed also. It is Pick Release.
Click on the Actions drop down at the bottom of the form.
Select Launch Pick Release.

Click on Go button.
You will get a popup message. Click on OK button. Close the Shipping Transactions form.
Go to the SRS (Standard Request Submission) form by clicking on View > Requests on the main menu. Query for all the requests.
You will find 3 requests executed,
  1. Pick Selection List Generation
  2. Pick Slip Report
  3. Shipping Exceptions Report
Now the items have been picked. You can check the output of Pick Slip Report. It will look like the following.

                                                                                                Report Date:02-MAR-2013 21:08
                                                            Pick Slip                           Report Page:     1
                                                                                             Pick Slip Page:     1
          Warehouse:125     Medical Devices & Consumables, Dubai
          Pick Slip:1079165                       Pick Batch:35483804
 ----------------------------------------------------------------------------------------------------------------------------------
        Grouping Rule: Default: Order Number
                       ----------------------------------
Customer:AL AHALI PHARMACY - DXB Delivery: Order:441726
    Ship to:                                         Stop:                                          Priority:
                                                                                                     Carrier:
Subinventory:
                                                                                                 Requisition:
----------------------------------------------------------------------------------------------------------------------------------
Pick From       Pick To         Pick To
Subinv Subinv Location
--------------  --------------  --------------
Buset Bulk Staging
 Move Order
 --------------
 35483804
                                                                    Tolerance
                                                                        Below
                                                             Tolerance      |
                                   Unit                          Above      |
       Move                        |                                 |      |                   Sales
Order | Quantity Quantity | | Sales Order Ship
   Line No. Item                   |      Requested     Shipped      |      |       Order    Line No.  Set      Trip     Delivery
    ------- ---------------------  ----   ---------    --------  ----- ------  ----------     -------  ----     -----    ---------
1 14176 LYNCO CASUAL, PAR 2 0 0 441726 1 103577630
            L600M11
                      Lot Number       From Serial       To Serial         Quantity  Revision       Pick from Location
                      --------------   -----------       ---------    -------------  ----------     ------------------
                      1250469993                                                  2
                                                        ** End of Data **
Tables Affected:
If Autocreate Delivery is set to ‘Yes’ on the “Release Sales Order” form then a new record is created in the table WSH_NEW_DELIVERIES
DELIVERY_ID is populated in the table WSH_DELIVERY_ASSIGNMENTS
The RELEASED_STATUS in WSH_DELIVERY_DETAILS would be now set to ‘Y’ (Pick Confirmed) if Auto Pick Confirm is set to Yes otherwise RELEASED_STATUS is ‘S’ (Release to Warehouse)
Important:
The concurrent program that was automatically executed after Pick Release. i.e. after Pick Slip Report, was Shipping Exceptions Report. Why did this program execute? It is set in Shipping Document Set.
Shipping Document Set
You can set a list of concurrent programs that are submitted after,
  1. Pick Release
  2. Ship Confirm
The programs are added in the Shipping Document Sets form.
Navigation: Setup > Shipping > Documents > Document Sets
Query for Document Set as All Pick Release Documents
There is only 1 concurrent program added for this Document Set, Shipping Exceptions Report.
As the Document Set we have used for Pick Release is “All Pick Release Documents” the only program which was executed after Pick Release was Shipping Exceptions Report.

Step 4: Pick Confirm

We have to transact a Move Order to confirm picking of the items.
Open the Shipping Transactions form again and query for the order, i.e. 441726.
Now the Line Status has changed to Release to Warehouse and the Next Step is Transact Move Order. Scroll the line to the right.
Note the Move Order Number. It is 35483804. Close the form.
Change the responsibility.
Responsibility: Inventory
Navigation: Move Orders > Transact Move Orders
As we are picking the items from Warehouse, 125, we need to select the organization as 125.
Click OK button and the Transact Move Order form will open for this organization.
Enter the Order Number we had got earlier from the Shipping Transaction form.
Click on Find button.
Now check the line.
Now the Transact button is enabled. Click on Transact button.
Once the transaction is processed a popup is displayed. Click on OK to close the popup. Close the form.

Step 5: Ship Confirm

Now open the Shipping Transaction form.
Responsibility: Order Management
Navigation: Shipping > Transactions
Query for the Order, 441726.
Now the Line Status is Staged/Pick Confirmed and Next Step is Ship Confirm/Close Trip Stop. Click on Delivery tab at the bottom.
Change the Actions dropdown to Ship Confirm.

Click on Go button. The Confirm Delivery form opens.
Click on OK button.
A popup message is displayed. Click on OK button.
Now the line status shows Closed. Close the form.
Now go to the SRS form and view the requests. The following requests will have run.
The programs are,
  1. Packing Slip Report
  2. Interface Trip Stop
  3. Bill of Lading (if Create Bill of Lading is checked)
The output of Packing Slip Report is,

Medical Devices & Consumables, Dubai                 Packing Slip                                Date:  02-MAR-13
Draft                                                   482899                                   Page:     1     of      1
Ship From:                                  Ship To:                                     Bill To:
Medical Devices & Consumables, Dubai AL AHALI PHARMACY - DXB AL AHALI PHARMACY - DXB
Gulf Drug Establishment Warehouse 2 NEAR DUBAI HOSPITAL NEAR DUBAI HOSPITAL
Rashidiya DEIRA DUBAI DEIRA DUBAI
2 DUBAI, U.A.E DUBAI, U.A.E
,  , United Arab Emirates                   TEL:04-2626353   FAX:04-2620453              TEL:04-2626353   FAX:04-2620453
                                            , United Arab Emirates                       ,  , United Arab Emirates
                 Tax Name:                                                         Tax Number:
            Delivery Name: 103577630                                             Pick Up Date: 02-MAR-13
FOB: Ship Method: Van-LTL-Door to Door
            Freight Terms:                                                           Way Bill:
      Reason of Transport:                                                   Service Contract:
                  PO Number                Order Number                            Description
                  ------------             --------------                          -------------
441726 14176 LYNCO CASUAL, L600M11
Lot Number Grade Order Line Number UOM Qty Requested Qty Shipped
   -----------            -----          ----------------- ---     -------------      -----------
   1250469993                                          1.1 PAR              2.00             2.00
Secondary Qty: 0.00 0.00
            Gross Weight:                        PCS     Net Weight:                    PCS     Volume:                       PCS
         External Aspect:
        Additional Information:
           Total Cartons: 0
 Unshipped Details
 -----------------
Item Number Order Number Line Number Unshipped Qty
 -------------------------------------- ---------------- ----------- -------------
                                *** End Of Report ***
Once the programs complete, the order is shipped.
Tables Affected:
RELEASED_STATUS in WSH_DELIVERY_DETAILS will become ‘C’ (Ship Confirmed)
FLOW_STATUS_CODE in OE_ORDER_HEADERS_ALL will become “BOOKED”
FLOW_STATUS_CODE in OE_ORDER_LINES_ALL will become ”SHIPPED”
Execute the program named, Workflow Background Process from System Administrator responsibility. Enter the parameters,
Process Deferred: Yes
Process Timeout: No
Once the program completes go back to order management responsibility and query for the order in Shipping Transaction form.
Notice that the Line Status shows Interfaced and Next Step is Not Applicable. This means that the order has been fulfilled and the invoice can be raised.
Workflow Background Process inserts the records RA_INTERFACE_LINES_ALL with
INTERFACE_LINE_CONTEXT = “ORDER ENTRY”
INTERFACE_LINE_ATTRIBUTE1 = <<Order number>>
INTERFACE_LINE_ATTRIBUTE3 = <<Delivery id>>

Step (iv): Check on hand quantity

Open the On hand Quantity as we did in step (iii).
Click on Availability button.
We see that the quantity has been reduced by 2 as Primary Quantity is 648 (650 -2). Availability to Reserve and Transact are 646 as another order with a quantity of 2 for the same item has been picked from the inventory but not shipped.

Step 6: Create Invoice in AR

Go to the Receivables responsibility for the corresponding operating unit.
Navigation: View > Requests
Click on Submit a New Request. Select Single Request.
Enter the program name as Autoinvoice Master Program. Enter the following parameters
Invoice Source: Order Entry
Default Date: <Any date. Normally current date>
Click OK
Click on Submit button.
The programs executed are,
  1. Autoinvoice Master Program
  2. Autoinvoice Import Program
After the programs complete, you can check the output of Autoinvoice Import Program.

GDE SET OF BOOKS AutoInvoice Execution Report Date: 02-MAR-2013 22:01
                                                                                                             Page:       1 of      4
             Request Id: 51488875
           Batch Source: Order Entry
Transaction Flexfield:
       Transaction Type:
Bill To Customer Number:                                          to
  Bill To Customer Name:                                          to
                GL Date:                                          to
              Ship Date:                                          to
     Transaction Number:                                          to
     Sales Order Number:                                          to
       Transaction Date:                                          to
Ship To Cust Number: to
Ship To Cust Name: to
Interface Lines:                                 Interface Distributions:
                   Selected:          6                             Selected:          0
     Successfully Processed:          1               Successfully Processed:          0
                   Rejected:          5                             Rejected:          0
Interface Salesreps: Interface Contingencies:
                   Selected:          6                             Selected:          0
     Successfully Processed:          1               Successfully Processed:          0
                   Rejected:          5                             Rejected:          0
Transactions Created:
     Currency Name UAE Dirham
                                        Number of     Number of     Number of     Number of     Number of    Invoice Currency
     Class                           Transactions     Lines (*) Sales Credits Distributions Contingencies              Amount
     ------------------------------ ------------- ------------- ------------- ------------- -------------   -----------------
     Invoice                                    1             1             1                           0              257.50
                                    ------------- ------------- ------------- ------------- -------------   -----------------
                                                1             1             1                                          257.50
GDE SET OF BOOKS AutoInvoice Execution Report Date: 02-MAR-2013 22:01
                                                                                                             Page:       2 of      4
             Request Id: 51488875
    Grand Totals:
                                        Number of     Number of     Number of     Number of     Number of
     Class                           Transactions     Lines (*) Sales Credits Distributions Contingencies      Invoice Amount
     ------------------------------ ------------- ------------- ------------- ------------- ------------- -------------------
     Invoice                                    1             1             1                                          257.50
                                    ------------- ------------- ------------- ------------- ------------- -------------------
                                                1             1             1                                          257.50
    * Number of Lines includes Tax lines
View the invoice.
Navigation: Transactions > Transactions
Query for the invoice.
Reference: 412726 (This is the order number)
Date: 02-Mar-13
The invoice, 1092025, for the order has been created. This invoice will be paid off with a standard receipt.
Affected Tables:
RA_CUSTOMER_TRX_ALL will have the Invoice header information. The column INTERFACE_HEADER_ATTRIBUTE1 will have the Order Number.
RA_CUSTOMER_TRX_LINES_ALL will have the Invoice lines information. The column INTERFACE_LINE_ATTRIBUTE1 will have the Order Number.

Step 7: Create receipt for the invoice

After the invoice is created it is sent to the customer. It could be via email after running the Invoice report or an interface program or via a middleware. The customer receives the invoice and makes a payment.
Responsibility: Receivables Manager
Navigation: Receipts > Receipts
Create the receipt, ALAHALI-001, for the payment
Click on Apply button.
Enter the invoice number in the Apply To field. The Applications form opens.
Click on OK.
Close this form to go back to the Receipts form.
You can now see that the receipt has been applied on the invoice. Click on Tools menu item on the main menu.
Select View Accounting. A new web page opens which shows the accounting.
Click on View Journal Entry
Save and close this form.

Step 8: Transfer to General Ledger

After the receipt has been applied to the invoice the details will be transferred to General Ledger and journals will be created.
Responsibility: Receivables
Click on View > Requests. Click on Submit a New Request and the Single Request.
Enter program name, Transfer Journal Entries to GL.
Enter the parameters
Click on OK and submit the request.
We shall now view the journal that has been created in General Ledger.
Responsibility: General Ledger
Navigation: Journals > Enter
Enter the Category as Receipts and Period as Mar-13.
Click on Find.
You have 2 journals. Select the 2nd journal that has debit and credit values as 257.50 and click on Review Journal.
Now you can see the created journal. This journal can now be posted and this amount will reflect in the trial balance report.

Step 9: Bank Reconciliation

For this demonstration we do not have a bank file that can be loaded into Oracle and then reconciled for the receipt that was applied on the Invoice. You can check the reconciliation process at the following . In that article we have reconciled payments for Payables module. In this process we have to reconcile for Receivables module.

No comments:

Post a Comment