O2C Cycle
O2C Cycle
the good(s) (Shipping), and then producing the Invoice for the good(s). This information will provide guidance on procedures to complete the Order to Cash Business low. It is intended to !e generic and does not relate to a specific organi"ation or industry. Step !y step !est practices with tips and trou!leshooting references are provided to assist you through each phase. The Order to Cash process is a critical process that can cause confusion regarding data dependencies !etween products, wor#flow status$ and the steps that need to !e performed. This information gives you one place to find !est practices and trou!leshooting information to help reduce Order to Cash issues. The goal is to provide an overall understanding and assistance with Setup, %rocess, Trou!leshooting and &e!ugging the Order to Cash Business %rocess.
The end result will !e a wor#ing Order to Cash Business %rocess. The a!ility to ta#e a Sales Order through the following phases' (ntry, Boo#ing, Shipping, and Invoice. Showing the wor#ing steps through each phase. The areas of focus are'
Create Item Organi"ation Overview +vaila!le Inventory %rice ,ist &efaulting )ules
Invoice
+ll users who wish to set up, trou!leshoot or de!ug a !asic Order to Cash cycle in Order -anagement (O-), that is to say from order creation to invoicing. .OT(' This flow is for a shippa!le item. %lease refer to the following .otes for additional flows'
Bill Only' /ow &o I 0se 1or#flow %rocess, ,I.( ,O1 2 3(.()IC, BI,, O.,4 1IT/ I.5(.TO)4 I.T() +C( .ote 6789:;6.6 Bac# to Bac# order' Bac#2to2Bac# Sales Order Cycle In Order -anagement .ote <=6>:=.6 &rop ship' &rop Ship Sales Order Cycle In Order -anagement .ote <;96>9.6 +TO order' +TO Configuration Cycle In Order -anagement .ote ?;;?;<.6 %TO order' %TO Configuration Cycle In Order -anagement .ote <=77=9.6 Internal orders' Internal Sales Order Cycle In Order -anagement .ote <;;;?6.6
The Oracle Order -anagement +pplication provides many fle@i!le features ena!ling you to set up your system to !egin processing order information. 4ou must define your !usiness order policies, such as how you classify your orders, as well as various control features prior to processing orders within the application. This section will Aust go over a very high level of setups re*uired within the 5ision &ata!ase to enter a !asic sales order. or a detailed list of the re*uired setups, please refer Order -anagement Implementation -anual 2 Setup Steps.
Create customer
&efine a customer that you will enter in the sales order. 4ou could use an e@isting customer defined in the 5ision &ata!ase, in which case this step would !e optional for the testflow. /owever, it is highly recommended that you create your own customer if you need to ma#e changes to customer specific setup. If you plan on using an e@isting customer, some common customers used often for testing O- in 5ision are ' +. C. .etwor#s, +TBT 0niversal Card, Business 1orld (Customer .um!er 687?) 6. .avigate to Customers 2C Standard.
o o
(nter a new customer name in the .ame field, and press ind. If the customer name already e@ists, go !ac# and enter a name that does not already e@ist. %ress the $Create$ !utton.
:. In the +ddresses ta!, clic# on .ew >. (nter the following information in the Customer +ddress screen. +ddress ' (nter the re*uired fields (they will fist appear in yellow). DBusiness %urposes ta!C 0sage E Bill To ' Chec# the %rimary flag. Save. 0sage E Ship To ' Chec# the %rimary flag. Select the Bill to ,ocation created a!ove from the ,O5. Save.
;. .otice the $Open$ !utton in the a!ove screenshot. This is where you can enter additional details specific to the !usiness purpose. So, if the cursor is on the $Ship To$ row as seen here, clic#ing on Open will allow to enter information specific to the Ship To ,ocation. This can !e e@amined further in the &efaulting )ules section.
Create Item
Create an item that will !e entered in the sales order. 0se e@isting items defined in the 5ision &ata!ase, in which case this step would !e optional for this testflow. /owever, it is highly recommended to create own item if needed to ma#e changes to item specific setup. Some commonly used items in the 5ision &ata!ase for testing in O- are ' +S=;???, C-6>6>9, C-6?<=9 6. .avigate to Inventory C Items C -aster Items :. 1hen prompted, select $-6 Seattle -anufacturing$ from the Organi"ations list. If this list did not come up, go to Inventory C Change Organi"ation, and ma#e sure you select this organi"ation.
.otice when the screen opens, the Organi"ation field shows 56 (5ision Operations). This is !ecause we have opened the -aster Items form, and 56 is the master organi"ation of -6. See the Organi"ation Overview section for more details on this relationship.
>. (nter a name for the Item and &escription. ;. 3o to Tools C Copy rom.
Select the Template $%urchased Item$. Clic# on $+pply$ and then clic# on $&one$.
=. The seeded template $%urchased Item$ will assign the necessary item attri!utes to go through this !asic O- testflow. or e@ample, chec# some of the following item attri!utes that you did not need to set manually !ecause they were assigned from the template. DInventory ta!C Inventory Item, Stoc#a!le, Transacta!le, )eserva!le DOrder -anagement ta!C (clic# on the arrow to the right of all the ta!s) Customer Ordered, Customer Orders (na!led, Shippa!le, O( Transacta!le 8. So far defined the item in the Item -aster Organi"ation, 56. .e@t, go to Tools C Organi"ation +ssignment. +lternatively, clic# on the >rd ta! on the left side of the screen as circled in red in the !elow screenshot. This is where you will find a list of organi"ations (child organi"ations) that have 56 as their master organi"ation. -6 shows at the top !ecause we had selected it in Step :. The item attri!utes defined in 56 can !e assigned to the child organi"ations !y chec#ing the +ssigned !o@.
Chec# the +ssigned !o@ for the organi"ation -6. Items needs to !e ena!led in the organi"ations in which they will !e transacted.
SF, Tip' 6. inding the inventoryGitemGid and organi"ation assignment of the item select inventoryGitemGid, segment6, organi"ationGid from mtlGsystemGitemsG! where segment6 E $4S Item$H I.5(.TO)4GIT(-GI& S(3-(.T6 O)3+.II+TIO.GI& 22222222222222222 2222222222222222222222222222222222222222 222222222222222 ;>?6< 4S Item :7; ;>?6< 4S Item :7< :. inding the organi"ation code of the organi"ationGid$s from Inventory parameters select organi"ationGid, organi"ationGcode from mtlGparameters where organi"ationGid in (:7;,:7<)H
O)3+.II+TIO.GI& O)3 222222222222222 222 :7; 56 :7< -6 <. The item attri!utes can !e changed at each individual child organi"ation level !y clic#ing on the Org +ttri!utes !utton in the screenshot a!ove, or !y going to Inventory C Items C Organi"ation Items. .ote, however, that this depends on whether the item attri!ute is controlled at the master org level or the child org level, which is defined in Inventory C Setup C Items C +ttri!ute Controls. This is not within the scope of this testflow.
Organization Overview
In this section, we will go over the !asic structure of the definition of an inventory organi"ation !y loo#ing at the data already defined in the 5ision data!ase. &o not change any data we see !elow. 6. .avigate to Inventory C Setup C Organi"ations C Organi"ations.
Fuery !y the name $Seattle -anufacturing$. This is the organi"ation (organi"ation code -6) we commonly use in the 5ision &ata!ase to create Inventory transactions, including shipment of sales orders.
:. .otice the entry $Inventory Organi"ation$ under Organi"ation Classifications. %lace the cursor on that row, and clic# on the !utton Others.
%lace cursor anywhere in the +ccounting Information field to see details. .otice this is where the organi"ation is associated with its $Set of Boo#s, ,egal (ntity and Operating 0nit$. The concept of Operating 0nit will often come up, so it is good to #now where this relationship is defined, ie. which Operating 0nit the Inventory Organi"ation (warehouse) !elongs to. Close the +ccounting Information window and +dditional Organi"ation Information screen.
;. %lace the cursor on the classification Inventory Organi"ation again, clic# on the Others !utton and select $Inventory Information$ from the list.
.otice this is where the Inventory organi"ation parameters are defined. This screen can also !e accessed directly from Inventory C Setup C Organi"ations C %arameters. .otice this is where the organi"ation code $-6$ is specified, and the Item -aster Organi"ation is specified as $5ision Operations$ (56). This sets the relationship for Seattle -anufacturing (child org) and 5ision Operations (master org).
=2a. +s an optional step, you can *uery the organi"ation $5ision Operations$ and chec# that it is classfied as !oth a ,egal (ntity and Operating 0nit (see Step >) as well as an Inventory Organi"ation. If you chec# the Inventory Organi"ation %arameters for $5ision Operations$ you will notice that the organi"ation code is defined as $56$. The master org is itself. =2!. +s another optional step, you can go to (dit C %references C %rofiles, and run a *uery with the profile name $-O'J$. 4ou will see the value for the profile option $-O' Operating 0nit$ !eing $5ision Operations$. This is the Operating unit in which the O- transactions are created when logged into the responsi!ility used in this testflow (for )66i). In )6:, the -ulti2Org +ccess Control (-O+C) feature ena!les users to access to one or more Operating 0nits within one user responsi!ility.
;. (Optional) Chec# the material transaction that was Aust created. 2 .avigate to Inventory C Transactions C -aterial Transactions 2 (nter your item in the ind -aterial Transactions screen and clic# on ind. 2 5erify that the -iscellaneous )eceipt transaction e@ists. =. (Optional) Chec# the On2hand *uantity for your item. 2 .avigate to Inventory C On2hand, +vaila!ility C On2hand Fuantity 2 (nter your item in the Fuery -aterial screen and clic# on ind. 2 5erify that the On2hand *uantity e@ists.
Defaulting Rules
&efaulting rules determine the values that you want to get defaulted into a sales order to reduce the amount of information you need to enter manually. 4ou could create and modify defaulting rules, in which case the &efaulting 3enerator concurrent program needs to !e run. In this testflow, however, we will only loo# at an e@isting seeded defaulting rule for the field Order T pe. Based on that, we will set up a default value for the Order Type at the customer$s Invoice To location level. 6. .avigate to Setup C )ules C &efaulting. 2Clic# on the lashlight icon, and select the entity Order /eader.
2 In the +ttri!utes section, place the cursor on the line with +ttri!ute E Order Type, and clic# on the &efaulting )ules !utton.
:. (@amine the setup from the following screenshot. This is saying that when entering a sales order, the Order Type will default to the value set up at the Invoice To, Ship To, and finally the Customer, wherever it is found first in that se*uence.
>. So, let$s set up a default value for Order Type at the customer$s Invoice To level. .avigate to Customers C Standard.
In the indL(nter Customer screen, enter your customer name and clic# on ind. In the ne@t -atch )esults screen, ma#e sure you place the cursor on the row with a value in the Customer .um!er field, and clic# on OM. In the +ddresses ta!, place the cursor on the row for your address and clic# on Open. In the Business %urpose ta!, place the cursor on the row for the usage $Bill To$ and clic# on Open. This is the $Invoice To$ level we saw in the previous step. 3o to the Order -anagement ta!, and enter the Order Type $-i@ed$. Save.
;. In the ne@t $Create Order$ section, you will notice that the Order Type will default to -i@ed, due to this setup.
Create Order
1e are now ready to create a sales order. 6. .avigate to Orders, )eturns C Sales Orders and ma#e sure the following information is entered. .otice how some of these fields (in addition to others), get defaulted due to the &efaulting )ules setup. NOrder Information ta! (Order /eader) D-ain ta!C Customer .ame ' Dyour customer nameC -a#e sure the Ship ToLBill To ,ocations are defaulted in. Order Type ' -i@ed %rice ,ist ' Corporate Salesperson ' .o Sales Credit DOthers ta!C %ayment Terms ' .>7 1arehouse ' -6 Save.
:. 3o to the ,ine Items ta!, and enter the following information. N,ine Items ta! (Order ,ines) D-ain ta!C Ordered Item ' Dyour item nameC Fty ' 67 0O- ' &efaults to (a Save.
N In the %ricing ta!, notice that the %rice ,ist Corporate has defaulted from the /eader, and that the ,ist %rice 677 is the price you set up in the price list. The 0nit Selling %rice is the same as the ,ist %rice in this e@ample, !ut it will show a different value if there is a discount or surcharge applied to the list price. or e@ample, if you apply a 67J discount modifier, the ,ist %rice will !e 677 and the Selling %rice will !e 97.
N In the Shipping ta!, notice that the 1arehouse is -6. This is the warehouse from which the item will !e shipped out to the customer. Boo# the Order. Clic# on the !utton $Boo# Order$ in the header or lines.
N4ou should see a note saying Order has !een !oo#ed. .otice the status of the order header has changed from (ntered to $Boo#ed$, and the status of the line (chec# the Status field in the -ain ta! of the lines) has changed from (ntered to $+waiting Shipping$. SF, Tip' D inding the headerGid and status of the order !ased on order num!erC select orderGnum!er, headerGid, flowGstatusGcode from oeGorderGheadersGall where orderGnum!er E 8;6=>H
22note, orderGnum!er may !e same across orders !ut headerGid is uni*ue D inding the lineGid and status of the order line !ased on headerGidC select headerGid, lineGid, lineGnum!er, flowGstatusGcode from oeGorderGlinesGall where headerGid E 9?9=8H
/(+&()GI& ,I.(GI& ,I.(G.0-B() ,O1GST+T0SGCO&( 2222222222 2222222222 22222222222 222222222222222222222222222222 9?9=8 :76=9; 6 +1+ITI.3GS/I%%I.3 NThis is the point that a $delivery detail$ will !e created in Shipping that is associated with this order line. +s an optional step, you can chec# the following. .avigate to Shipping C Transactions (nter your order num!er and clic# on ind In the ,inesL,%.s ta!, you should find the delivery detail with ,ine Status E )eady to )elease and .e@t Step E %ic# )elease, which we will do ne@t. SF, Tips' D inding delivery detail information !ased on the orderGlineGidC select sourceGheaderGnum!er, sourceGheaderGid, sourceGlineGid, deliveryGdetailGid, releasedGstatus from wshGdeliveryGdetails where sourceGcode E $O($ and sourceGlineGid E :76=9;H SO0)C(G/(+&()G.0-B() SO0)C(G/(+&()GI& &(,I5()4G&(T+I,GI& )(,(+S(&GST+T0S 8;6=> 9?9=8 :76=9; :<969> ) 22)E)eady to )elease NOptional ' )un the following *ueries to understand the distinction !etween the shipping warehouse and operating unit columns in the order headerLlines ta!les. )efer to the Organi"ation Overview section for concepts. :7< is the I& for Seattle -anufacturing. :7; is the I& for 5ision Operations. SF, Tips' O)3GI& E Operating 0nit which performed this transaction S/I%G )O-GO)3GI& E Ship rom Organi"ation Id 2 1arehouse (the Inventory Organi"ation) SO0)C(G,I.(GI&
select orderGnum!er, headerGid, shipGfromGorgGid, orgGid from oeGorderGheadersGall where headerGid E 9?9=8H O)&()G.0-B() /(+&()GI& S/I%G )O-GO)3GI& O)3GI& 222222222222 2222222222 2222222222222222 2222222222 8;6=> 9?9=8 :7< :7; select headerGid, lineGid, lineGnum!er, shipGfromGorgGid, orgGid from oeGorderGlinesGall where headerGid E 9?9=8H
/(+&()GI& ,I.(GI& ,I.(G.0-B() S/I%G )O-GO)3GI& O)3GI& 2222222222 2222222222 22222222222 2222222222222222 2222222222 9?9=8 :76=9; 6 :7< :7;
Pick Release
6. .avigate to Shipping C )elease Sales Orders C )elease Sales Orders
In the Order ta!, enter your order num!er. In some cases, you may need to remove the defaulted $To$ value for $Scheduled Ship &ates$ and $)e*uested &ates$ fields, if the order line you created has a future date for these fields. %ic# release will only consider lines within the dates specified.
N3o to the Inventory ta! and enter the warehouse -6. Set the following value if it is not defaulted. +uto +llocate E 4es
N3o to the Shipping ta!. Set the following value if it is not defaulted. +utocreate &elivery E 4es +uto %ic# Confirm E 4es
!"ip Confirm
6. .avigate to Shipping C Transactions.
In the Fuery -anager screen, enter your order num!er in the rom Order .um!er field and ta! out. Then, clic# on the ind !utton.
:. .otice the following in the ,inesL,%.s ta!. &etail ' The delivery detail of the shipment &elivery ' The delivery that got autocreated during pic# release ,ine Status ' StagedL%ic# Confirmed .e@t Step ' Ship ConfirmLClose Trip Stop
SF, Tip' .ote, the same *uery as !efore shows that the releasedGstatus is now 4 (Staged). select sourceGheaderGnum!er, sourceGheaderGid, sourceGlineGid, deliveryGdetailGid, releasedGstatus from wshGdeliveryGdetails where sourceGcode E $O($ and sourceGlineGid E :76=9;H SO0)C(G/(+&()G.0-B() SO0)C(G/(+&()GI& SO0)C(G,I.(GI& &(,I5()4G&(T+I,GI& )(,(+S(&GST+T0S 8;6=> 9?9=8 :76=9; :<969> 4 D inding the delivery associated to the delivery detail and its statusC select wnd.deliveryGid, wnd.statusGcode from wshGnewGdeliveries wnd, wshGdeliveryGassignments wda, wshGdeliveryGdetails wdd where wdd.deliveryGdetailGid E wda.deliveryGdetailGid and wda.deliveryGid E wnd.deliveryGid and wdd.deliveryGdetailGid E :<969>H &(,I5()4GI& ST+T0S 22222222222 222222222 67897; O% >. 3o to the &elivery ta! and clic# the Ship Confirm !utton. In the Confirm &elivery window, accept the default parameters and clic# on OM.
N.ot chec#ing the &efer Interface chec#!o@, as shown here, ensures that the ne@t step, running the Interface Trip Stop (ITS) concurrent program, happens automatically. &eferring ITS (chec#ing this !o@) means you need to run the concurrent in a separate step.
Interface Trip Stop (ITS) can !e done from Shipping C Interfaces C )un (Interface Trip Stop 2 S)S). N4ou will get a message that the delivery has !een confirmed. (Sometimes it could show some warning message that could !e ignored for the purposes of this test).
;. 3o to 5iew C )e*uests, and verify that the Interface Trip Stop completed successfully. SF, Tip' D inding if ITS has successfully interfaced the delivery detail to O- and I.5C select deliveryGdetailGid, releasedGstatus, oeGinterfacedGflag, invGinterfacedGflag from wshGdeliveryGdetails where sourceGcode E $O($ and sourceGlineGid E :76=9;H &(,I5()4G&(T+I,GI& ) O I 222222222222222222 222 :<969> C44 N releasedGstatus E C (Shipped) 22 !ecomes Shipped after ship confirm, even !efore ITS N oeGinterfacedGflag E 4 22 signifies ITS has interfaced shipping data to ON invGinterfacedGflag E 4 22 signifies ITS has interfaced shipping data to I.5 =. +s an optional step, you can chec# if the item has actually !een shipped out of inventory. N-a#e sure you are in the organi"ation -6. If not, navigate to Inventory C Change Organi"ation and select -6. N.avigate to Inventory C Transactions C -aterial Transactions N(nter the following information in the ind -aterial Transactions screen and clic# on ind Transaction &ate ' (nsure the transaction date is within the range specified Source Type ' Sales Order Source ' 2(vo#e the ,O5 and clic# on the !utton Com!inations 2(nter your Sales Order .um!er and Order Type -i@ed, then clic# OM 2(@ample ' [email protected])&() (.T)4 N3o to the Transaction Type ta!, and notice the line with Transaction Type E Sales Order Issue. This is the Inventory Transaction that happened when the item was shipped out of the warehouse -6, hence the negative *uantity 267. NThe other two lines with Transaction Type E Sales Order %ic#, are for the move order transaction that happened automatically during %ic# )elease (automatic as per the pic# release parameters we had set in this testflow), when the item was moved from the pic#2from su!inventory to the staging su!inventory. /ence there is one line each for a negative and positive transaction fromLto each su!inventory. The final shipment to the customer (sales order issue) is
Invoice
6. irst let$s chec# the status of the order line. N.avigate to the sales order form, and *uery your sales order. 3o to the ,ine Items ta! and chec# that the status of the line is $Shipped$. N1hile still on the line, go to Tools C 1or#flow Status.
N5erify that the order line wor#flow is now at the ulfill 2 &eferred activity with a status of &eferred. This means that the ne@t steps is to run the 1or#flow Bac#ground %rocess.
:. .avigate to )eports, )e*uests C )un )e*uests. N)un the 1or#flow Bac#ground %rocess with the following parameters. Item Type ' O- Order ,ine %rocess &eferred ' 4es %rocess Timeout ' .o
>. 3o to 5iew C )e*uests, and verify that the 1or#flow Bac#ground %rocess (1 B%) has completed successfully. In addition, notice that the +) concurrent re*uests +utoinvoice and +utoinvoice Import %rogram get #ic#ed off automatically to import the invoices into +). Oinserts invoice data into the +) interface ta!les through $Invoice Interface$, which runs in the !ac#ground (notice the wor#flow activity $Invoice Interface$ in the screenshot from Step ; !elow). +) pic#s up the data from the interface ta!les through the $+utoinvoice$ concurrent program. NIn case you find that the invoice did not get imported into +) (as shown in Step = !elow), run +utoinvoice manually !y navigating to )eceiva!les C Interfaces C +utoinvoice, and selecting the +utoinvoice -aster %rogram. (nter the following parameters and su!mit the concurrent re*uest ' Invoice Source ' O)&() (.T)4 &efault &ate ' Dtoday$s dateC (,ow) Sales Order .um!er L (/igh) Sales Order .um!er ' Dyour orderOC +fter su!mission of the concurrent re*uest, go to 5iew C )e*uests. 4ou should see the +utoinvoice -aster %rogram followed !y the +utoinvoice Import %rogram. +fter completion, clic# on the 5iew Output !utton for the +utoinvoice Import %rogram to chec#
for the error messages. +utoinvoice needs to !e resu!mitted after the errors are fi@ed. ;. Fuery the order in the sales order form, and go to the lines. .otice the status is now Closed. .ote that the Closed status in the order lines signifies that O- has successfully passed the invoice data into the +) interface ta!les, and does not necessarily signify that the invoice has !een successfully imported into +) (in case there was some error during that process). NThe wor#flow status for the order line (go to Tools C 1or#flow Status) should now show the following progression.
SF, Tip ' inding the status and invoiceGinterfaceGstatusGcode of the order line select lineGid, openGflag, flowGstatusGcode, invoiceGinterfaceGstatusGcode from oeGorderGlinesGall where lineGid E :76=9;H ,I.(GI& O ,O1GST+T0SGCO&( I.5OIC(GI.T() +C(GST+T0SGCO&( 2222222222 2 222222222222222222222222222222 222222222222222222222222222222 :76=9; . C,OS(& 4(S =. 1hile on the sales order line, clic# on the +ctions !utton and select $+dditional ,ine Information$. N3o to the Invoices L Credit -emos ta!. If the invoice data is shown here, this means that the invoice was created in +). Clic# on the Invoice &etails !utton to view the invoice. /ere the O:C cycle end.