<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Bryan Thompson - Oracle Consultant &#187; Order to Cash</title>
	<atom:link href="http://www.bryanthompsononline.com/oracle/category/order-to-cash/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.bryanthompsononline.com/oracle</link>
	<description>A forum for sharing Oracle knowledge!</description>
	<lastBuildDate>Sun, 30 May 2010 15:56:42 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Enhanced Change Management Functionality to the IR/ISO Process</title>
		<link>http://www.bryanthompsononline.com/oracle/2010/05/29/enhanced-change-management-functionality-to-the-iriso-process/</link>
		<comments>http://www.bryanthompsononline.com/oracle/2010/05/29/enhanced-change-management-functionality-to-the-iriso-process/#comments</comments>
		<pubDate>Sat, 29 May 2010 22:41:24 +0000</pubDate>
		<dc:creator>bryan</dc:creator>
				<category><![CDATA[Order Management]]></category>
		<category><![CDATA[Order to Cash]]></category>
		<category><![CDATA[R12]]></category>

		<guid isPermaLink="false">http://www.bryanthompsononline.com/oracle/2010/05/29/enhanced-change-management-functionality-to-the-iriso-process/</guid>
		<description><![CDATA[In 12.1 and 12.1.2, Oracle has introduced long awaited improvements to the Internal Requisition/Internal Order (IR/ISO) process...]]></description>
			<content:encoded><![CDATA[<p>In 12.1 and 12.1.2, Oracle has introduced long awaited improvements to the Internal Requisition/Internal Order (IR/ISO) process.  As you may know, the Oracle IR/ISO has been a very rigid process, to the point where it has been deemed useless by many in the Oracle community.</p>
<p>One of the major downsides with using IR/ISO in 11i and the initial R12 releases was the change management process.  Once an IR is approved it is essentially locked down and cannot be updated thereafter.  Only cancelations were only allowed if the corresponding ISO was canceled.  So if required dates needed to be changed on the IR, the corresponding ISO and the IR itself would have to be canceled and recreated with the proper dates.  Terrible!</p>
<p>Additionally, changes to the ISO, which were restricted to cancelations and scheduled ship date changes, would not propagate automatically to the IR and would have to be done manually.  In my opinion this was a huge gap in functionality.  If cancelations or scheduled ship date changes were made to the ISO, and if the IR was not manually updated to reflect these changes, it would result in a conflicting supply/demand picture between the requesting and source organizations.   In other words, the requesting organization would still see the supply quantity or required date of the IR it originally requested, while the source organization would be planning to the revised demand quantity or scheduled ship date on the ISO.</p>
<p>However, in 12.1 Oracle has finally provided some improvements.  The “Improved Internal Requisition/Internal Order Change Management” functionality provides automated change control between the two transactions.  In this release, changes made to the ISO can now be automatically applied to the IR.  Better yet, the IR itself can also be modified after it has been approved, where changes are also propagated to the ISO.  Workflow notifications can also be setup to notify the requesting or supplying organizations of such changes.  No longer will there be a discrepancy between the IR and ISO!</p>
<p>Another nuisance of the IR/ISO process was that the changes to the IR or ISO could not be initiated from planning.  So if planning had recommendations to change or cancel an IR, this would have to be done manually.  Likewise, the ISO would also have to be manually updated to ensure both were in sync.</p>
<p>But in 12.1.2, Oracle has added integration between Advanced Supply Chain Planning (ASCP) and Purchasing to provide internal requisition management from the planner’s workbench.  The “Release Recommendations for Internal Requisitions” functionality now allows the planner to release scheduled date and cancelations changes to the IR.  This perfectly complements the change management functionality introduced in 12.1.</p>
<p>As a consultant who has seen the pain in implementing the IR/ISO process in the past, these are welcomed changes.  I would highly recommend any customers who are in need of an integrated supply chain solution to consider these releases.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bryanthompsononline.com/oracle/2010/05/29/enhanced-change-management-functionality-to-the-iriso-process/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Does Oracle provide approval capabilities?</title>
		<link>http://www.bryanthompsononline.com/oracle/2009/02/19/does-oracle-provide-approval-capabilities/</link>
		<comments>http://www.bryanthompsononline.com/oracle/2009/02/19/does-oracle-provide-approval-capabilities/#comments</comments>
		<pubDate>Fri, 20 Feb 2009 03:19:46 +0000</pubDate>
		<dc:creator>bryan</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Order Management]]></category>
		<category><![CDATA[Order to Cash]]></category>
		<category><![CDATA[Quote to Cash]]></category>
		<category><![CDATA[Quoting]]></category>

		<guid isPermaLink="false">http://www.bryanthompsononline.com/oracle/?p=79</guid>
		<description><![CDATA[Well, it depends.  Generally speaking, Oracle provides capabilities to integrate approvals within your business process.   However, depending on the module and transaction these capabilities can vary.  As an Order to Cash expert, I want to bring some clarity to what the out-of-the-box approval capabilities are within the Quoting and Order Management modules, then go into some of the enhancements I’ve implemented in the past to improve the functionality in some of these areas.]]></description>
			<content:encoded><![CDATA[<p>Well, it depends.  Generally speaking, Oracle provides capabilities to integrate approvals within your business process.   However, depending on the module and transaction these capabilities can vary.  As an Order to Cash expert, I want to bring some clarity to what the out-of-the-box approval capabilities are within the Quoting and Order Management modules, then go into some of the enhancements I’ve implemented in the past to improve the functionality in some of these areas.</p>
<p><strong>Approvals in Quoting</strong></p>
<p>You may have heard of Oracle’s Approval Management (AME) module.  AME provides flexible, workflow-based approval capabilities and serves as a one-stop-shop for managing all fixed and dynamic approval hierarchies throughout Oracle EBS.</p>
<p>Lucky for you, the Quoting module is well integrated with AME functionality, allowing approval hierarchies to be dynamically built based on different types of transactional criteria such as operating unit, total quote amount, customer, etc.  Base approval lists can be built manually or can be associated with SQL statements to dynamically generate hierarchies based on employee data.  Quoting also provides security settings that allow skipping an approver in the hierarchy or bypassing the process entirely. </p>
<p>Needless to say, the tight integration between the Quoting and AME modules provides great out-of-the-box approval functionality that is likely to meet or exceed your business requirements.</p>
<p><strong>Approvals in Order Management</strong></p>
<p>I wish I could say the same about Order Management (OM).  Unfortunately, there’s no out-of-the-box integration between OM and AME.  Compared to Quoting, the approval capabilities are limited and inconsistent depending on what type of transaction you’re performing. </p>
<p>You’ve probably seen the Approver setups in the OM module by clicking on the “Approvals” button on the order type setup screen; however, these setups pertain only to Negotiations (OM’s version of quoting).  The configuration gives the impression that approval lists can be built for Fulfillment type transactions (orders), but Oracle hasn’t implemented these capabilities into any of the generic OM workflows.</p>
<p>Another setback with Approver setups in OM is that they’re assigned and dedicated to a transaction type.  This can cause issues if you have multiple facilities that each require their own set of approvers, but are under the same operating unit in Oracle and share the same set of order types.  The only work-around for this is to create a separate set of transaction types for each facility, but this can get ugly.  Additionally, the approval lists are fixed, sequential and do not provide any of the dynamic capabilities that are available in the AME module. </p>
<p>It gets worse for return transactions.  The capabilities are limited to only allowing individual approvals and not approval hierarchies.  The generic return workflows in OM refer to a profile option that allows storage for only one approver.</p>
<p><strong>Approval Enhancements</strong></p>
<p>As you can guess, most of the enhancements I’ve designed and implemented have been to compensate for the limited approval functionality in OM.  Generally there are two approaches, each varying in complexity and produce different results.</p>
<p>As low-cost alternative with quick turnaround, I’ve provided enhancements to the seeded order and return workflows that incorporate the Approver setups in OM.  I say “quick” because Oracle already provides the necessary nuts and bolts to easily “plug” in the approver functionality with minimal customization.  Though the solution is low cost and quick, the functionality will still not provide all the capabilities of the AME module as I mentioned earlier.  However, this may suit your business fine depending upon your requirements.</p>
<p>A fancier approach I’ve taken is to integrate OM with the Approvals AME module entirely.  This way all the capabilities I spoke of earlier in the Quoting module are also made available to OM.  From a technical standpoint it’s definitely more involved than the first enhancement I mentioned, but if your business requires the flexibility, it certainly can provide a great return on investment.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bryanthompsononline.com/oracle/2009/02/19/does-oracle-provide-approval-capabilities/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>R12 Order Management &#8211; What&#8217;s changed?</title>
		<link>http://www.bryanthompsononline.com/oracle/2008/09/11/r12-order-management-%e2%80%93-what%e2%80%99s-changed/</link>
		<comments>http://www.bryanthompsononline.com/oracle/2008/09/11/r12-order-management-%e2%80%93-what%e2%80%99s-changed/#comments</comments>
		<pubDate>Fri, 12 Sep 2008 00:40:29 +0000</pubDate>
		<dc:creator>bryan</dc:creator>
				<category><![CDATA[Order Management]]></category>
		<category><![CDATA[Order to Cash]]></category>
		<category><![CDATA[R12]]></category>
		<category><![CDATA[Technical]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.bryanthompsononline.com/oracle/2008/09/11/r12-order-management-%e2%80%93-what%e2%80%99s-changed/</guid>
		<description><![CDATA[Good question. I'm in the process of figuring this out myself. However, here are a few things I do know based on my research and my recent R12 engagement...]]></description>
			<content:encoded><![CDATA[<p>Good question. I&#8217;m in the process of figuring this out myself. However, here are a few things I do know based on my research and my recent R12 engagement.</p>
<p><strong>Multiple Operating Unit Access</strong> &#8211; In 11i, a responsibility could only be tied to a single operating unit. However, in R12, responsibilities can be assigned to one or more operating units by assigning the responsibility to a security profile. This is a great enhancement for businesses where users require multi-organization access.</p>
<p><strong>Credit Card Entry Enhancements </strong>- An additional field has been added to the order entry screen to capture the security code typically located on the back of a credit card. Additionally, the credit card number is encrypted at the database level and stored within the Payments (formally iPayments) module. I&#8217;ll put out a more detailed article that talks about the drastic changes to the iPayments module.</p>
<p><strong>Reoccurring Charges </strong>- Functionality has been added to the TSO (Telecommunications Service Ordering) module which allows reoccurring billings. This is perfect for subscriptions and other like services.</p>
<p><strong>Partial Period Revenue Recognition</strong> &#8211; A joint OM and AR enhancement, partial period revenue recognition is a set of new revenue recognition rules in AR which allow for revenue recognition on a daily basis. Previously in 11i revenue recognition could only be done on a monthly basis.</p>
<p><strong>Pay Now or Pay Later</strong> &#8211; Upfront billing in Order Management can now be done and can be configured based on pricing charges, taxes, deposits, installment billing, and prepayments.</p>
<p><strong>Mass Scheduling Changes</strong> &#8211; The scheduling concurrent request can now pick up lines that have errored in the scheduling workflow activity. It also can now pick up lines that are in Entered status &#8211; both converted and manually entered orders.</p>
<p><strong>Customer Acceptance Process </strong>- Oracle R12 now provides the ability to introduce a customer acceptance step prior to invoicing. By setting up a deferral reason in AR, invoicing can be deferred until acceptance has been captured.</p>
<p><strong>Tax Updates</strong> &#8211; Additional tax fields have been added to the order entry screens that provide more flexibility with Vertex.</p>
<p><strong>Architectural Changes to Inventory </strong>- in 11i, Discrete and Process Inventory modules were entirely separate entities. Oracle has converged these modules into one data structure, where functionalities from both modules have combined to be available to both. This doesn&#8217;t mean much from an OM perspective, but technical changes have been performed to the Pick Release and Ship Confirmation processes to work with the new combined inventory model.</p>
<p><strong>Architectural Changes to OM, Install Base, and Service Contracts Integration</strong> &#8211; My understanding is that there is no functionality changes, but from a technical standpoint Oracle has implemented a best practice approach  to OM to Install Base and OM to Service Contracts touchpoints to ensure API calls are used rather than direct queries.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bryanthompsononline.com/oracle/2008/09/11/r12-order-management-%e2%80%93-what%e2%80%99s-changed/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Implementing Export Compliance in Oracle</title>
		<link>http://www.bryanthompsononline.com/oracle/2008/05/30/implementing-export-compliance-in-oracle/</link>
		<comments>http://www.bryanthompsononline.com/oracle/2008/05/30/implementing-export-compliance-in-oracle/#comments</comments>
		<pubDate>Sat, 31 May 2008 02:38:11 +0000</pubDate>
		<dc:creator>bryan</dc:creator>
				<category><![CDATA[Order Management]]></category>
		<category><![CDATA[Order to Cash]]></category>
		<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://www.bryanthompsononline.com/oracle/2008/05/30/implementing-export-compliance-in-oracle/</guid>
		<description><![CDATA[In the United States there are numerous international embargo laws in place that restrict U.S. based corporations from selling to countries that are deemed a threat by the government. Cuba, Iran, and North Korea are all examples of countries which no one in the U.S. can conduct business with. These laws can change often depending on the political atmosphere or whoever happens to be in office, making it difficult for organizations who sell or distribute products globally to not only adhere to the laws, but to also adapt their audit procedures when a change to policy occurs.]]></description>
			<content:encoded><![CDATA[<p>In the United States there are numerous international embargo laws in place that restrict U.S. based corporations from selling to countries that are deemed a threat by the government. Cuba, Iran, and North Korea are all examples of countries which no one in the U.S. can conduct business with. These laws can change often depending on the political atmosphere or whoever happens to be in office, making it difficult for organizations who sell or distribute products globally to not only adhere to the laws, but to also adapt their audit procedures when a change to policy occurs.</p>
<p>For corporations which conduct sales in the U.S. and in other locations across the world, the complexity increases because every country has their own set of embargo laws. For example, a U.S. based company cannot sell to an Iranian company because of U.S. regulation, but on the other hand, if the same organization has a location or distribution warehouse in France, their French location could sell to that same Iranian customer. Granted, this situation is also dependent on the citizenship of the individual conducting the sale &#8211; an employee sitting at a desk in France can&#8217;t make the same sale to Iran if they hold U.S. citizenship.</p>
<p>By now I think you get the point &#8211; keeping track and enforcing export compliance procedures can be quite complex. If your business operates an international sales organization and has difficulty enforcing and adapting to the ever changing embargo regulations at a global level, then the Oracle Export Compliance module, in conjunction with Kewill export compliance screening, can provide just the tools you need to ensure your sales organization remains compliant.</p>
<p><strong>A Brief Look at the Technology<br />
</strong></p>
<p>Out of the box, Oracle provides a workflow process in Order Management that establishes an XML based connection to a selected 3<sup>rd</sup> party compliance screening service. Kewill, a commonly used screening service in the Oracle community, maintains an elaborate database of the latest export compliance regulations. Upon entering and booking a sales order, Oracle sends various information about the sale order transaction to Kewill, who then accepts and evaluates the sale based on the most current and up-to-date export compliance laws.</p>
<p>Once Kewill determines whether or not the sale is compliant, the results are sent back to Oracle Order Management. If the result is found to violate export compliance laws, the sales order goes on export compliance violation hold and awaits review by an individual in the organization who is given the property authority to either process the order or cancel the sale.</p>
<p>Additionally screening can be performed during the pick release and shipment confirmation processes to ensure that changes that are made to a sales order after booking are also captured and screened prior to sending the product out the door.</p>
<p>The technology around the communication between Oracle and Kewill services is fairly straightforward, but the actual screening performed by Kewill can be quite complex. As I mentioned earlier, international embargo laws vary country, so to deem a transaction compliant there are many pieces of information to consider. What country is the customer located? Do the billing and shipping locations for the customer differ? Or is the billing customer entirely different than the shipping customer?</p>
<p>What about your facilities &#8211; is the location of your shipping warehouse different than the location from where the order is being processed? Does the citizenship of the individual entering the transaction qualify to make the sale?</p>
<p>As you can see, the situation can get quite complex. How these questions are answered determines the set of export compliance laws that need to be evaluated. Lucky for you, Oracle Export Compliance and Kewill takes care of this complexity for you.</p>
<p>For more information regarding the Oracle Export Compliance product visit <a href="http://www.oracle.com/products/export/index.html">http://www.oracle.com/products/export/index.html</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bryanthompsononline.com/oracle/2008/05/30/implementing-export-compliance-in-oracle/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Tax on Freight &amp; Special Charges in Order Management</title>
		<link>http://www.bryanthompsononline.com/oracle/2008/02/29/tax-on-freight-special-charges-in-order-management/</link>
		<comments>http://www.bryanthompsononline.com/oracle/2008/02/29/tax-on-freight-special-charges-in-order-management/#comments</comments>
		<pubDate>Fri, 29 Feb 2008 15:27:56 +0000</pubDate>
		<dc:creator>bryan</dc:creator>
				<category><![CDATA[Advanced Pricing]]></category>
		<category><![CDATA[Order Management]]></category>
		<category><![CDATA[Order to Cash]]></category>
		<category><![CDATA[Receivables]]></category>
		<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://www.bryanthompsononline.com/oracle/2008/02/29/tax-on-freight-special-charges-in-order-management/</guid>
		<description><![CDATA[One of the fundamental flaws in Oracle Order Management (OM) is the inability to include tax on freight and special charge modifiers that are setup in Advanced Pricing (QP).  There's just no way to do it out of the box.  Even if you use the Oracle suggested work around, which is to add freight as a line item to a sales order, it's still a manual process and defeats the purpose of being able to include and calculate freight automatically the way you can through a charge modifier.  ]]></description>
			<content:encoded><![CDATA[<p>One of the fundamental flaws in Oracle Order Management (OM) is the inability to include tax on freight and special charge modifiers that are setup in Advanced Pricing (QP).   There&#8217;s just no way to do it out of the box.   Even if you use the Oracle suggested work around, which is to add freight as a line item to a sales order, it&#8217;s still a manual process and defeats the purpose of being able to include and calculate freight automatically the way you can through a charge modifier.  </p>
<p>Oracle does provide the ability to recognize freight as revenue, which in turn calculates tax on the charge, but this doesn&#8217;t happen until the order has been interfaced to Receivables (AR). For some corporations, that calculation needs to happen at the time of order entry.   Additionally, some clients who utilize iPayment to authorize a credit card charge in OM and apply the fully transact the charge when the order is interfaced to AR will also encounter issues because the authorized amount, which doesn&#8217;t include the tax on freight, is less than the actual charge amount on the AR side, causing the credit card transaction to fail entirely.  </p>
<p>Needless to say, it&#8217;s a pain, and a blatant functionality gap.   However, with a slight customization, a semi-acceptable solution can be found by harnessing some of the functionalities available in Advanced Pricing.</p>
<p>Going back to Oracle&#8217;s recommended solution of adding an order line item for freight if it is to be taxed &#8211; the main issue with this work around is that it&#8217;s not automatically added to the order.   For high-volume order entry environments, this is an absolute necessity.   One of the great advantages of modifiers in Advanced Pricing is the ability to allow charges and adjustments to be automatically applied to an order based on qualifying events.   This is an important piece of functionality that is lost using Oracle&#8217;s line item workaround.</p>
<p>However, there is a functionality in Advanced Pricing, often not used, that can automate the entry of an order line.   The &#8220;get item&#8221; functionality under the &#8220;Promotion&#8221; modifier type allows you to add items to a sales order based on the qualifiers you set.   This functionality is typically used for a &#8220;buy one, get one free&#8221; scenario, but can be used in this situation to add a freight order line automatically to a sales order.</p>
<p>The only setback to this functionality is that the pricing capabilities are limited.   When setting up a &#8220;get item&#8221; modifier, you cannot attach a formula.     The functionality only allows you to obtain a fixed list price from a price list or generate a new price.   This may be OK if you&#8217;re organization charges a fixed amount for freight, but for those who calculate freight based on the selling amount, this is very bad.   Out of the box, there is no way to get around this.   Even applying a modifier on top of the order line that is added by the &#8220;get item&#8221; modifier doesn&#8217;t work, because when the line item is added, the Calculate Price Flag is set to &#8220;Partial Pricing&#8221;.   What &#8220;Partial Pricing&#8221; means is that it will obtain the price that is established in the &#8220;get item&#8221; setup, but it will neglect any modifiers or adjustments applied to that order line.   The only way around this is to manually set the Calculate Price Flag to &#8220;Calculate Price&#8221;, then re-price the line.  </p>
<p>While setting the Calculate Price Flag manually works, this defeats the purpose of adding the freight line automatically to the order.   The point of this exercise is to add the line with the price automatically calculated so that there&#8217;s no need for the users to perform this step in a high volume order entry environment.   This is where that &#8220;slight&#8221; customization as I mentioned earlier comes in.</p>
<p>If setting the Calculate Price Flag to &#8220;Calculate Price&#8221; after the line has been automatically added solves the issue, then why not have a concurrent request, which runs as often as the business desires, perform this action so that the price of the freight order line is correctly calculated?   This is exactly what we did with my last client and it ended up working quite well, but with one little exception.</p>
<p>Being that this is a line item, there is no way to prorate the freight in the event there is partial or multiple shipments for a given order.   Depending on the nature of your business, this may not be acceptable.   There&#8217;s a couple of way to address this:</p>
<ul>
<li>Restrict partial shipments from occurring by enabling header level invoicing or utilizing fulfillment sets.   This will ensure that all line items are fulfilled before issuing an invoice.   However, if you&#8217;re organization requires that an invoice be generated for each shipment, this would not be an acceptable solution.</li>
<li>If the first option doesn&#8217;t fit your business model, you can place an automatic invoicing hold on the freight line item that is only released when the entire order is shipped.   What this does is allow items that are shipped partial to generate an invoice, but delays the billing of freight until the last shipment is made.   The automatic hold can be done as a hold source, but releasing the hold would need to be another one of those &#8220;slight&#8221; customizations you would need.   However, if you&#8217;re organization needs to include freight charges with every delivery, this solution wouldn&#8217;t work for you either.</li>
<li>If neither of the above option is acceptable, and you need the whole shebang, than a more complex customization is needed that splits the freight item for each shipment.   So for example, you have a 10 line item sales order where your freight charge is $50.   During the first shipment, 5 of the 10 lines are shipped out there door.     What the customization would do is split the freight line item into two lines 0.5 quantities, which in affect would split the price in half.   Only one of the split lines would be processed with the shipment, the other split line would be placed on hold.   For this to happen, you&#8217;re item would need to be setup as &#8220;OM Divisible&#8221; enabled, which indicates that fractional quantities are allowed.</li>
</ul>
<p>Getting around this issue is not easy, but can be possible.   If you&#8217;d like to obtain a copy of my code which resolves the pricing issues with adding line items automatically using the &#8220;get item&#8221; functionality, feel free to contact me.</p>
<p>Also, to find out how to calculate freight, charges, or adjustments based on the total order amount, check out this article.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bryanthompsononline.com/oracle/2008/02/29/tax-on-freight-special-charges-in-order-management/feed/</wfw:commentRss>
		<slash:comments>21</slash:comments>
		</item>
		<item>
		<title>Interfacing Oracle to Your Legacy WMS &#8211; A Good Idea?</title>
		<link>http://www.bryanthompsononline.com/oracle/2008/01/10/interfacing-oracle-to-your-legacy-wms-a-good-idea/</link>
		<comments>http://www.bryanthompsononline.com/oracle/2008/01/10/interfacing-oracle-to-your-legacy-wms-a-good-idea/#comments</comments>
		<pubDate>Thu, 10 Jan 2008 18:11:34 +0000</pubDate>
		<dc:creator>bryan</dc:creator>
				<category><![CDATA[Inventory]]></category>
		<category><![CDATA[Order Management]]></category>
		<category><![CDATA[Order to Cash]]></category>
		<category><![CDATA[Shipping Execution]]></category>
		<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://www.bryanthompsononline.com/oracle/2008/01/10/interfacing-oracle-to-your-legacy-wms-a-good-idea/</guid>
		<description><![CDATA[Over the years I've been involved with several Oracle implementations where the decision was made to retain the existing warehouse and inventory management systems in place of Oracle WMS. Perhaps your organization had made a similar decision knowing that the existing warehouse solution was best suited for your operations. Not to say that Oracle WMS is the best warehouse management solution out there - because it may very well not be. In fact, it may be true that your Legacy inventory system is the best fit for your business. Not only may it be the best fit, but keeping the existing system in place also eliminates any risk involved in changing the systems of what can be a fragile inventory and shipping operation. In other words, if it ain't broke, don't fix it - right?]]></description>
			<content:encoded><![CDATA[<p>Over the years I&#8217;ve been involved with several Oracle implementations where the decision was made to retain the existing warehouse and inventory management systems in place of Oracle WMS. Perhaps your organization had made a similar decision knowing that the existing warehouse solution was best suited for your operations. Not to say that Oracle WMS is the best warehouse management solution out there &#8211; because it may very well not be. In fact, it may be true that your Legacy inventory system is the best fit for your business. Not only may it be the best fit, but keeping the existing system in place also eliminates any risk involved in changing the systems of what can be a fragile inventory and shipping operation. In other words, if it ain&#8217;t broke, don&#8217;t fix it &#8211; right?</p>
<p>Perhaps, but before you go down this path there is another factor that should be taken into consideration: ensuring the order fulfillment process as a whole remains seamless and intact. What is the impact to the order entry, scheduling, pick release, on-hand availability and reservation processes if an interface is built to an outside WMS? The answer to this question is especially important in a high-volume environment where your organization fulfills hundreds to thousands of orders a day.</p>
<p>Generally, when an interface between Oracle (or any order processing system for that matter) and a Legacy WMS is built, a division of duties is established. Oracle is given the responsibility to capture orders and release these orders for shipment when ready. The Legacy WMS system is responsible for accepting shipment requests, processing these 
<table align="left" border="0" cellpadding="0" cellspacing="0">
<tr><td>
<script type="text/javascript"><!--
google_ad_client = "pub-4516530845610319";
//200x200, created 12/11/07
google_ad_slot = "2730876339";
google_ad_width = 200;
google_ad_height = 200;
//--></script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</td></tr>
</table>
shipments, and sending the results of the shipment back to Oracle. Essentially, the Pick Release process in Oracle is the &#8220;throw&#8221; to Legacy WMS, and the Ship Confirmation step is the &#8220;catch&#8221;.</p>
<p>Since the nature of both system&#8217;s responsibilities require access to inventory data, your organization must understand that not only are you building a shipping interface, but you are committing to maintain two sets of inventory data that may require several interfaces. Oracle will need access to on-hand balance and reservation information so that order processors have insight to product availability and so that the system knows what orders are eligible for shipment. The Legacy WMS will of course require inventory data to maintain on-hand balance and deduct balances upon shipment. <em>Oracle inventory data, to a degree, will need to be in synch with inventory data in Legacy.<br />
</em></p>
<p>To what degree must be decided. Your organization may determine that both sets of inventory do not require real-time synchronization. For example, you may decide that manual adjustments made to inventory in Legacy may only need to be interfaced through a daily polling process that posts these updates to Oracle. If this direction is taken, then you will need to decide how your shipping interface will handle exceptions that may result from an on-hand balance delta between Oracle and Legacy inventory.</p>
<p>How can an inventory delta occur? Well, let&#8217;s say at the time we place an order for an item in Oracle there is 1 quantity available for reservation. However, during the day a warehouse worker reviews the item and determines that it fails to meet quality standards and as a result he/she performs a manual transaction in the Legacy WMS to issue that quantity to scrap. Because Oracle is unaware that this transaction occurred, the interface will continue to release the ordered item for shipment &#8211; even though there isn&#8217;t enough quantity on-hand in Legacy.</p>
<p>In this situation, you will need to ensure that this situation (among many others) can be handled by the interface. From a business prospective, a decision needs to be made to determine how exactly this delta should be handled. For example, you may want to leave the interfaced transaction in an error status and continue to retry until inventory is made available. Or you may want to cancel the transaction entirely. Whatever that action may be, it&#8217;s important that there is visibility to these kinds of inventory deltas.</p>
<p>If your organization decides that Oracle inventory and Legacy inventory requires real-time synchronization, your interface will <em>still</em> need the ability to handle situations that result in inventory deltas. Let&#8217;s face it &#8211; we&#8217;re all human. Any level of time and effort that is put into a real-time interface could still result in situations unaccounted for. And as best practice, an error handling procedure should still be implemented, especially in an environment where you require real-time synchronization.</p>
<p>Attempting to identify all scenarios that require a communication between Oracle and the Legacy WMS can get pretty crazy. Here are some examples of scenarios that would need to be included:</p>
<ul>
<li>Order cancelations in Oracle</li>
<li>Shipment cancelations in Legacy</li>
<li>Manual inventory transactions in either system</li>
<li>Inventory location transfers, but this is only important if your organization is utilizing hard reservations at order time, <em>which in this case you should seriously rethink using an interface.<br />
</em></li>
<li>Split and partial shipment scenarios</li>
</ul>
<p>We could go on and on with the list of scenarios to cover &#8211; these are just a small fraction of what can occur. And as I mentioned, even if you think you&#8217;ve listed all scenarios, you <em>still</em> need an error resolution process.</p>
<p>I can&#8217;t stress more the importance of error resolution in the event of an inventory delta. Whether it&#8217;s an automated or manual solution is not important, but the most important point is making sure that if an unidentified inventory delta situation occurs that the interface can be capture and handle this error. At minimum, if the error cannot be handled, at least provide the tools necessary to bring visibility to the situation. Trust me &#8211; there is nothing worse than going live with an interface and experiencing errors that were unaccounted for.</p>
<p>This all may come off as something you probably learned in a beginner&#8217;s course for software design, but I&#8217;ve seen and witnessed the aftereffects of an unsuccessful inventory interface launch with some very reputable clients. What results is the very situation that the client wanted to avoid in the first place &#8211; a chaotic situation that requires the involvement of lots of time and resources that the organization did not budget for but has no choice to deploy in order to fix an interface that is the backbone of their business.</p>
<p>Some brief examples I&#8217;d like to shareâ€¦</p>
<p style="margin-left: 36pt"><strong><em>Example #1<br />
</em></strong></p>
<p style="margin-left: 36pt"><em>Working with a life sciences client to implement Oracle Order Management a few years back, the organization decided to keep their existing mainframe inventory system with the idea of avoiding risk and cutting costs. The consulting group at the time recommended against this decision, but the client continued on and even decided to take on the effort using internal resources.<br />
</em></p>
<p style="margin-left: 36pt"><em>In a nutshell, the core exchange of the interface was centered on the Pick Release and Ship Confirmation processes. Testing was lackluster and didn&#8217;t cover all scenarios such as partial line shipments or order cancelations. More importantly, there lacked a substantial volume test.<br />
</em></p>
<p style="margin-left: 36pt"><em>What resulted at go-live was a disaster. Because of the bugs around partial line shipping, some orders were shipped two, three, and occasionally four times over. It took a team of 10-12 people during go-live to identify the dozen situations that were causing the Pick Release failures and shipping issues. Overall, it had taken a year+ to stabilize the situation and resulted in an exceeded IT budget and sales losses to the client. A team still exists today in maintaining and monitoring this interface.<br />
</em></p>
<p style="margin-left: 36pt"><strong><em>Example #2<br />
</em></strong></p>
<p style="margin-left: 36pt"><em>A publishing organization implementing Oracle decided to build an interface to their existing warehouse system. Aside from its age, this system was a beta version of the vendor&#8217;s product. It was heavily customized and interfaced to dozens of other order processing systems already. Cost and risk were definitely a factor.<br />
</em></p>
<p style="margin-left: 36pt"><em>Results at go-live were also poor. Multiple or no shipments were occurring. Since shipment sets in Oracle were not in synch with the activity that occurred in the legacy system, it caused many issues. An extensive amount of resources were needed to help stabilize the situation. Over time, the client became limited to the amount of functionality that could be used in Oracle. For example, for an order that had several shipping locations, separate orders had to be created for each shipment vs. establishing different shipping addresses at the order line level.<br />
</em></p>
<p style="margin-left: 36pt"><em>Additionally, the client implemented a daily process that &#8220;synchronizes&#8221; the Oracle on-hand balances with Legacy on-hand balances if a delta occurs (scary). Overall, it has taken nearly 2 years to stabilize the situation and currently has resources dedicated to the effort today.<br />
</em></p>
<p>As you can see, clients typically downplay the risk exposed to the rest of the fulfillment process when implementing an inventory interface to &#8220;protect&#8221; the shipping operation. Even worse, these organizations had made the decision to keep the legacy WMS because it was determined that the implementation effort in replacing the system was to costly compared to building the interface. Looking at this short-term, this may be true. But like most system interface projects, the cost of maintaining such a beast can greatly exceed the cost of implementing a new WMS over time (at least based on my experience).</p>
<p>If you&#8217;re an organization that is the process of deciding upon an inventory and shipment interface or a new WMS, I hope you can take the above situations into consideration. In going with the direction of an interface, you must also take into account:</p>
<ul>
<li><strong>Increased Go-Live Risk</strong> &#8211; In case the situation gets ugly, you&#8217;ll need extra time and resources to correct and stabilize the situation. Also will need to factor in any impact to the business and sales it may cause.</li>
<li><strong>A New Department </strong>- The interface itself will be a unique process that will require several individuals who understand and are familiar with the process and include expertise in both the Oracle and Legacy inventory systems.</li>
<li><strong>Difficulty or Inability to Upgrade/Change </strong>- Being that the interface will be a delicate process requiring much involvement from both systems at a technical level, any changes to the table structure on the Oracle side as a result of an upgrade or customization could result in breaking this interface. Likewise, any changes done to the legacy side could also adversely affect this interface. With that said, expect all upgrade efforts to your system to exponentially increase.</li>
</ul>
<p>My position should be pretty clear from all my ranting &#8211; DON&#8217;T DO IT! Or at least if you do, thoroughly evaluate the alternative of implementing a new WMS. Hopefully through the experiences I&#8217;ve shared, you&#8217;ll find that both options are exposed to the same level risk, but that the long term cost benefits of implementing a new WMS will prevail.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bryanthompsononline.com/oracle/2008/01/10/interfacing-oracle-to-your-legacy-wms-a-good-idea/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Collecting Credit Card Information in OM Without iPayment</title>
		<link>http://www.bryanthompsononline.com/oracle/2007/08/24/collecting-credit-card-information-in-om-without-ipayment/</link>
		<comments>http://www.bryanthompsononline.com/oracle/2007/08/24/collecting-credit-card-information-in-om-without-ipayment/#comments</comments>
		<pubDate>Fri, 24 Aug 2007 20:02:57 +0000</pubDate>
		<dc:creator>bryan</dc:creator>
				<category><![CDATA[Order Management]]></category>
		<category><![CDATA[Order to Cash]]></category>
		<category><![CDATA[Receivables]]></category>

		<guid isPermaLink="false">http://www.bryanthompsononline.com/oracle/2007/08/24/collecting-credit-card-information-in-om-without-ipayment/</guid>
		<description><![CDATA[Up to 11.5.9, it was impossible to utilize the credit card functionality and secure fields unless you also implemented iPayment. Oracle iPayment is the module which screens and processes credit card transactions through Order Management (OM). While this is a nice package for clients who process high volumes of credit card payments, it's not cost effective for the rest who may process credit cards on occasion and prefer to use an offline processor. So at the time you had two options; either fork up the money to buy the iPayment module, or process and store the transactional information offline and enter the prepayment manually in the system. 

However, as of recently, Oracle has offered a patch (5192725) which allows for the use of the credit card fields in OM without the need to install iPayment. The application of this patch alone is not enough, as there are other tweaks that need to take place to make it all work. At any rate, I take this as a great act of generosity on Oracle's part - it's not often they provide us the choice to implement a module!...]]></description>
			<content:encoded><![CDATA[<p>Up to 11.5.9, it was impossible to utilize the credit card functionality and secure fields unless you also implemented iPayment. Oracle iPayment is the module which screens and processes credit card transactions through Order Management (OM). While this is a nice package for clients who process high volumes of credit card payments, it&#8217;s not cost effective for the rest who may process credit cards on occasion and prefer to use an offline processor. So at the time you had two options; either fork up the money to buy the iPayment module, or process and store the transactional information offline and enter the prepayment manually in the system.</p>
<p>However, as of recently, Oracle has offered a patch (5192725) which allows for the use of the credit card fields in OM without the need to install iPayment. The application of this patch alone is not enough, as there are other tweaks that need to take place to make it all work. At any rate, I take this as a great act of generosity on Oracle&#8217;s part &#8211; it&#8217;s not often they provide us the choice to implement a module!</p>
<p>The first step (of course) is to apply the patch. If you look up the patch in Metalink the given description is kind of hazy, but this was the patch recommended to me by Oracle. It appears to incorporate several fixes for Family Pack J. As with any patch, be sure to thoroughly test the patch first before applying to your production instance.</p>
<p>Next, we need to create our receipt class in AR which will classify the receipts that are generated from processing a credit card payment in OM. To do this navigate to the appropriate AR responsibility, than Setup &gt; Receipts &gt; Receipt Classes.</p>
<p><img height="416" src="http://www.bryanthompsononline.com/oracle/wp-content/uploads/2007/08/082407_2002_CollectingC1.png" width="501" /></p>
<p>To start, let&#8217;s name our receipt class &#8220;Credit Card&#8221;, since this receipt class will be used specifically for receiving credit card prepayments. Additionally, we&#8217;ll want to specify &#8220;Automatic&#8221; to indicate this will be an automatic transaction that will be generated from OM.</p>
<p>As you continue entering the other key information, the most important field to note is the &#8220;Payment Type&#8221; field located under the &#8220;Automatic&#8221; tab. Prior to the introduction of this patch, we would select a type of &#8220;Credit Card&#8221; in order to enable the use of the credit card functionality with iPayment. But for our purposes, leave this field BLANK. With the application of patch 5192725, this is now the key indicator which will tell the credit card processor in OM to <em>avoid</em> making any calls to the iPayment module.</p>
<p>Once you have saved your &#8220;Credit Card&#8221; receipt class, you can continue with the remaining AR setups that are standard to any receipt class; most notably, the document sequence (which should be set to Automatic) and your receivables activity.</p>
<p>
<table align="left" border="0" cellpadding="0" cellspacing="0">
<tr><td>
<script type="text/javascript"><!--
google_ad_client = "pub-4516530845610319";
//200x200, created 12/11/07
google_ad_slot = "2730876339";
google_ad_width = 200;
google_ad_height = 200;
//--></script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</td></tr>
</table>
After completing all the AR setups, our next step is to configure Order Management to use this receivables class when initiating a credit card prepayment. We do this by setting the &#8220;OM: Payment Method For Credit Card Transactions&#8221; to the &#8220;Credit Card&#8221; receipt class. But before we do this, there is one small tweak we need to make. Prior to the introduction of this patch, this profile limited assigning receipt classes to only those which were setup with a &#8220;Payment Type&#8221; of &#8220;Credit Card&#8221;. Since our receipt class does not have a type assigned, we&#8217;ll need to change the validation behind this profile so that it allows assignment of &#8220;Credit Card&#8221; and &#8220;None&#8221; payment types.</p>
<p>To do this, you&#8217;ll need access to Application Developer to open the profile definition. After logging into this responsibility, navigate to NAVIGATION_PATH and query for the &#8220;OM: Payment Method For Credit Card Transactions&#8221; profile. Upon opening the responsibility, you&#8217;ll notice a SQL validation section. Copy and paste the below code into this box:</p>
<p style="margin-left: 36pt"><em>SQL=&#8221;SELECT NAME \&#8221;Receipt Method\&#8221;<br />
, RECEIPT_METHOD_ID<br />
INTO :VISIBLE_OPTION_VALUE<br />
, ::PROFILE_OPTION_VALUE<br />
FROM AR_RECEIPT_METHODS<br />
WHERE SYSDATE &gt;= NVL( START_DATE, SYSDATE )<br />
AND SYSDATE &lt;= NVL( END_DATE,SYSDATE)<br />
AND (PAYMENT_TYPE_CODE IN (&#8217;CREDIT_CARD&#8217;,'NONE&#8217;)<br />
OR PAYMENT_TYPE_CODE IS NULL)<br />
&#8221;<br />
COLUMN=&#8221;\&#8221;Receipt Method\&#8221;(50)&#8221;</em></p>
<p>Notice the above SQL opens up the restriction so that the profile will allow both &#8220;Credit Card&#8221; and &#8220;None&#8221; types of payments. After pasting the code, save your changes, and navigate to your System Administrator responsibility (if you happen to be so lucky) and set the &#8220;OM: Payment Method For Credit Card Transactions&#8221; profile to our receipt class.</p>
<p>Now we&#8217;re in business! Let&#8217;s test our solutionâ€¦</p>
<p>To start, enter a sales order header with data you have handy. In the &#8220;Others&#8221; tab, the key fields to note are:</p>
<ul style="margin-left: 45pt">
<li>Payment Term &#8211; make sure this is set to a term setup for prepayment. If not, revert back to your OM setups to ensure a prepayment term is established.</li>
<li>Payment Type &#8211; this will be entered as &#8220;Credit Card&#8221;</li>
<li>Credit Card Number</li>
<li>Card Holder</li>
<li>Card Expiration Date</li>
<li>Approval Code &#8211; this should be the approval code issued by your 3<sup>rd</sup> party processor upon successful confirmation of the card</li>
</ul>
<p>  </p>
<p><img height="361" src="http://www.bryanthompsononline.com/oracle/wp-content/uploads/2007/08/082407_2002_CollectingC2.png" width="508" /></p>
<p>Notice that when you&#8217;re entering the credit card number that it&#8217;s fully visible. Depending upon how you&#8217;ve setup the credit card number encryption, this data will save and be replaced by &#8216;*&#8217;&#8217;s for extra security. It&#8217;s important that you communicate to your users that before saving this information that they must perform there offline processing so that they can reference the full credit card number!</p>
<p>The offline credit card processor typically provides an approval code which indicates the credit card screening was successful. Enter this approval code into the &#8220;Approval Code&#8221; field. Otherwise, in the situation where the credit card has failed, you can leave this field blank and the order will be automatically placed on &#8220;Prepayment Hold&#8221; which will prevent further processing of the order until the transaction is revisited and the hold is released.</p>
<p>After performing the offline processing, you can than proceed with entering your order lines, again, using test data you have handy.</p>
<p>After completing order line entry, it&#8217;s now time to put our solution to the test! Upon booking the order, Order Management will interface a prepayment receivable in AR indicated that the sales order has been prepaid. Results of this activity can be evaluated in the Order Messages window that appears after clicking the &#8220;Book&#8221; button. If you see a message stating &#8220;Receipt number XXX has been processed&#8221;, your test was a success!</p>
<p>Your next step is to revert back to Accounts Receivable to verify the receipt is complete and generates the proper accounting. Aside from this validation, you&#8217;re now in the position to capture credit card information in Order Management and process offline -without the need of iPayment!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bryanthompsononline.com/oracle/2007/08/24/collecting-credit-card-information-in-om-without-ipayment/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Shipping without Transacting Inventory in Oracle</title>
		<link>http://www.bryanthompsononline.com/oracle/2007/08/01/shipping-without-transacting-inventory-in-oracle/</link>
		<comments>http://www.bryanthompsononline.com/oracle/2007/08/01/shipping-without-transacting-inventory-in-oracle/#comments</comments>
		<pubDate>Wed, 01 Aug 2007 23:27:26 +0000</pubDate>
		<dc:creator>bryan</dc:creator>
				<category><![CDATA[Inventory]]></category>
		<category><![CDATA[Order Management]]></category>
		<category><![CDATA[Order to Cash]]></category>
		<category><![CDATA[Shipping Execution]]></category>

		<guid isPermaLink="false">http://www.bryanthompsononline.com/oracle/2007/08/01/shipping-without-transacting-inventory-in-oracle/</guid>
		<description><![CDATA[From an Oracle prospective, when I say "Shipping without Transacting Inventory", I mean just that - being able to add a line item to the sales order in Order Management, following through with the pick release and shipment confirmation like a normal inventory item, but avoiding the inventory transactions that result from the shipment...]]></description>
			<content:encoded><![CDATA[<p>From an Oracle prospective, when I say &#8220;Shipping without Transacting Inventory&#8221;, I mean just that &#8211; being able to add a line item to the sales order in Order Management, following through with the pick release and shipment confirmation like a normal inventory item, but avoiding the inventory transactions that result from the shipment.</p>
<p>  &#8221;What&#8221; you say?   Shipping an item without deducting inventory?   Why would anybody want to do that?</p>
<p>Believe it or not, there are certain requirements which make this a viable solution.   For example, your organization may:</p>
<ul>
<li>Periodically ship low costs goods along with your product, such as nuts or bolts, tacks, etc., that would be too costly from an inventory management prospective to track on-hand balance.</li>
<li>Offer services along with the shipped product that, for legal reasons, may need to appear on the shipment documentation.  </li>
<li>Or the service being provided could be related to the shipment itself, which would also entail it appearing on the shipping docs.</li>
<li>Apply charges along with your product that must appear as line items on sales, shipment, and invoicing documentation.</li>
</ul>
<p>If any of these situations apply to your business, it&#8217;s quite possible that shipping without transacting inventory could work for your organization.  </p>
<p>Surprisingly, to make shipping without transacting inventory work, there are only a few configurations that need to take place &#8211; the most important being the item setup.   Essentially, we want to attribute this item so that it&#8217;s not an inventory item but orderable and shippable from an Order Management prospective.  </p>
<p>While there are a number of item attributes that require setup, these settings in particular are important in making our scenario work:</p>
<ul>
<li>Under the &#8220;Inventory&#8221; tab:<br />
o  Inventory Item Unchecked &#8211; This ensures that the Shipping Execution module treats the item like a non-inventory item.<br />
o  Stockable <strong>Unchecked</strong> &#8211; As a result of making the item non-inventory the stockable cannot be checked.<br />
o  Transactable <strong>Unchecked</strong> &#8211; Same situation for this attribute, can&#8217;t be checked if we&#8217;re dealing with a non-inventory item.  </li>
</ul>
<p><img id="image36" title="shot-1.gif" alt="shot-1.gif" src="http://www.bryanthompsononline.com/oracle/wp-content/uploads/2007/08/shot-1.gif" /></p>
<ul>
<li>Under the &#8220;Order Management&#8221; tab<br />
o  Customer Ordered <strong>Checked </strong>- Allows the item to be placed on a sales order in Order Management.<br />
o  Customer Orders Enabled <strong>Checked</strong> &#8211; Simply enables the customer orderable functionality.<br />
o  Shippable <strong>Checked</strong> &#8211; Marks the item as shippable.   This is important in attributing the item as shippable, but a non-inventory item.      </li>
</ul>
<p><img id="image37" title="shot-2.gif" alt="shot-2.gif" src="http://www.bryanthompsononline.com/oracle/wp-content/uploads/2007/08/shot-2.gif" /></p>
<ul>
<li>Under the &#8220;Invoicing&#8221; tab<br />
o  Invoiceable Item &#8211; <strong>Checked</strong><br />
o  Invoice Enabled &#8211; <strong>Checked</strong>    </li>
</ul>
<p><img id="image38" title="shot-3.gif" alt="shot-3.gif" src="http://www.bryanthompsononline.com/oracle/wp-content/uploads/2007/08/shot-3.gif" /></p>
<p>Next, aside from having all the basic Order Management setups in place, it&#8217;s important that the line type being used is assigned to a workflow which contains the shipment activity so that the order follows through the Pick Release and Ship Confirmation process steps.   Oracle generic line workflows such as &#8220;Line Flow &#8211; Generic&#8221; or &#8220;Line Flow &#8211; Generic, Ship Only&#8221; can be used.</p>
<p align="center"><img id="image39" title="shot-4.gif" alt="shot-4.gif" src="http://www.bryanthompsononline.com/oracle/wp-content/uploads/2007/08/shot-4.gif" /></p>
<p>That&#8217;s it!   Pretty simple, eh?   Now that we know how to setup our shippable, non-inventory item and have our basic Order Management setups in place, let&#8217;s test our scenario.</p>
<p>Using an item called ZBULK that I attributed as non-inventory and shippable, I enter a sales order using a line type which I have assigned to the &#8220;Line Flow &#8211; Generic&#8221; workflow.   The &#8220;Customer Order Enabled&#8221; flag of the item allows me to add this item to the sales order.   After we book the order, the line automatically progresses into an &#8220;Awaiting Shipping&#8221; status.</p>
<p><img id="image40" title="shot-5.gif" alt="shot-5.gif" src="http://www.bryanthompsononline.com/oracle/wp-content/uploads/2007/08/shot-5.gif" /></p>
<p>Next, like any normal inventory item, we proceed with the Pick Release of the sales order.   If this were a typical inventory item, the resulting inventory transaction from the execution of Pick Release to the completion of the Move Order would be a sub-inventory transfer from the inventory location of the stocked good to the staging sub-inventory.   And as a result of the sub-inventory transfer the shipping transaction status changes from &#8220;Released to Warehouse&#8221; to &#8220;Staged/Pick Confirmed&#8221;.</p>
<p>However, because the combination of flags we have set on our ZBULK item (&#8221;Inventory Item&#8221; flag unchecked; &#8220;Shippable&#8221; checked), the shipping transaction progresses directly to a &#8220;Staged/Pick Confirmed&#8221; status &#8211; bypassing the sub-inventory transaction that results from the Move Order.   
<table align="left" border="0" cellpadding="0" cellspacing="0">
<tr><td>
<script type="text/javascript"><!--
google_ad_client = "pub-4516530845610319";
//200x200, created 12/11/07
google_ad_slot = "2730876339";
google_ad_width = 200;
google_ad_height = 200;
//--></script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</td></tr>
</table>
This is important to understand because, from a process standpoint, we have skipped all manual picking steps such as the Move Order, pick slip printing, etc. that typically occurs when shipping a regular inventory item.   In skipping these steps, we&#8217;re able to release our ZBULK item without regard to inventory, on-hand balance, etc.</p>
<p>Additionally, the picking steps are skipped regardless of how the &#8220;Auto Pick Confirm&#8221; flag is set during the release.   Under normal circumstances, this flag controls whether the Mover Order transaction occurs automatically or manually and is often dictated by the business process.   In this case, the &#8220;Auto Pick Confirm&#8221; flag has no bearing.</p>
<p>This &#8220;bypass&#8221; of the inventory transaction is more obvious if you refer to the corresponding record within the Shipping Transactions form.   With a typical inventory item, the initial shipment status is usually &#8220;Ready to Release&#8221; with &#8220;Launch Pick Release&#8221; as the next step.   But for our ZBULK item, you&#8217;ll notice that the status is &#8220;Not Applicable&#8221; with &#8220;Ship Confirm&#8221; as the next step.   Again, this is due to the combination of attributes we have set for the ZBULK item.  </p>
<p><img id="image41" title="shot-6.gif" alt="shot-6.gif" src="http://www.bryanthompsononline.com/oracle/wp-content/uploads/2007/08/shot-6.gif" /></p>
<p>Now you may be asking &#8220;If the next step is to â€˜Ship Confirm&#8217;, why are we still releasing the order?&#8221;   In fact, it&#8217;s not required to perform the Pick Release.   You can actually bypass the pick release of this line entirely and proceed directly with the normal ship confirmation steps.   However, depending upon your business process, you may want to incorporate the Pick Release step.   For example, if our order line was part of a shipment set tied to other inventory items, you would require that this line in addition to the other lines of the ship set are released together so that the entire grouping is made available for shipment confirmation.   For the sake of this demonstration, let&#8217;s assume our process requires that we release this item.</p>
<p>After launching the pick release process our delivery line now becomes &#8220;Staged&#8221;; allowing us to proceed with the normal ship confirmation steps.   Like all ship confirmations, the &#8220;Interface Trip Stop&#8221; process is executed either real time or later as a concurrent request.   Typically, the process accomplishes three main objectives:</p>
<ol>
<li>Deducts on-hand quantity and debits Cost of Goods Sold.</li>
<li>Progresses the order line to &#8220;Shipped&#8221; status so that it can progress to the next workflow activity.  </li>
<li>Progresses the shipment line to an &#8220;Interfaced&#8221; status and sets the trip to &#8220;In-Transit&#8221; or &#8220;Closed&#8221; depending on whether you elected to close the trip.</li>
</ol>
<p>For our non-inventory item we&#8217;re shipping, &#8220;Interface Trip Stop&#8221; will also execute, but will only complete steps #2 and #3.   Therefore, our sales order and shipment transactions will progress without executing the inventory deduction or debiting Cost of Goods Sold.<br />
Upon completing the ship confirmation we find that our shipping transaction is now in an &#8220;Interfaced&#8221; status.   From a shipping prospective, the process to confirm the delivery is seamless.  </p>
<p><img id="image42" title="shot-7.gif" alt="shot-7.gif" src="http://www.bryanthompsononline.com/oracle/wp-content/uploads/2007/08/shot-7.gif" /></p>
<p>Additionally, the closure of our order line is also seamless.   Since we&#8217;re using the &#8220;Line Flow &#8211; Generic&#8221; workflow and have our ZBULK item attributed as &#8220;Invoiceable&#8221;, our order line will be set to a &#8220;Closed&#8221; status and proceed to Accounts Receivables for invoicing.</p>
<p><img id="image43" title="shot-8.gif" alt="shot-8.gif" src="http://www.bryanthompsononline.com/oracle/wp-content/uploads/2007/08/shot-8.gif" /></p>
<p>There you have it &#8211; we&#8217;ve successfully shipped an item without generating any inventory transactions.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bryanthompsononline.com/oracle/2007/08/01/shipping-without-transacting-inventory-in-oracle/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Complex Shipment of Manufactured Goods</title>
		<link>http://www.bryanthompsononline.com/oracle/2006/08/17/complex-shipment-of-manufactured-goods/</link>
		<comments>http://www.bryanthompsononline.com/oracle/2006/08/17/complex-shipment-of-manufactured-goods/#comments</comments>
		<pubDate>Fri, 18 Aug 2006 04:01:37 +0000</pubDate>
		<dc:creator>bryan</dc:creator>
				<category><![CDATA[Order Management]]></category>
		<category><![CDATA[Order to Cash]]></category>
		<category><![CDATA[Shipping Execution]]></category>

		<guid isPermaLink="false">http://www.bryanthompsononline.com/oracle/2006/08/17/complex-shipment-of-manufactured-goods/</guid>
		<description><![CDATA[There's nothing that Oracle Shipping Execution can't handle.  Well, almost nothingâ€¦]]></description>
			<content:encoded><![CDATA[<p>There&#8217;s nothing that Oracle Shipping Execution can&#8217;t handle.   Well, almost nothingâ€¦</p>
<p>Take for example the following situation.   As a manufacturing company on Oracle, you sell extremely large manufactured goods that usually are disassembled and shipped across multiple carriers.   Typically when an order is placed for this good it&#8217;s represented as one line item on a sales order (and invoiced as one line item).   This item could be a configured model or a standard finished good with a complex bill of material.  </p>
<p>When the order is booked, demand is instantly sent to planning for this item.   Once the work order is issued, this item is then manufactured and placed into finished goods where the shipper can now pick release and stage the item in preparation for shipping.   The preparation process for this extremely large, manufactured good begins with final testing to ensure the good is operational as a whole.   Once the testing requirements have been fulfilled and documented, the good is then ready to be disassembled and shipped.</p>
<p>While this may sound simple, the disassembly process is quite involved and is conducted in a non-uniform fashion.   Essentially, the shipping crew is to disassemble this gigantic item so that:</p>
<blockquote><p>1.)  All disassembled parts can fit unto a typical truck.<br />
2.)  Disassembled parts and materials are tagged with identification prior to placement in the container and are listed on the packing list specific to that container.  <br />
3.)  Along with the packing list, instructions for reassembly are included which reference the identification tags.   Once all of the shipments arrive at the client site, this document is referenced by the assembly crew who then reassembles the components.</p></blockquote>
<p>To accomplish these tasks there are a few pieces of information that need to be handy within the shipping dock.   Most of this information such as the destination, intended carrier, weights &#038; dimensions of parts, freight costs, etc. can be referenced or collected using standard Shipping Execution functionality.  </p>
<p>But some of the information required to execute this process resides outside of the Shipping Execution module.   For instance, the bill of 
<table align="left" border="0" cellpadding="0" cellspacing="0">
<tr><td>
<script type="text/javascript"><!--
google_ad_client = "pub-4516530845610319";
//200x200, created 12/11/07
google_ad_slot = "2730876339";
google_ad_width = 200;
google_ad_height = 200;
//--></script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</td></tr>
</table>
material for the manufactured good needs to be accessible so that parts can be easily identified when containerized.   We must keep in mind that the individuals within the shipping dock were not involved in the engineering and manufacturing processes of this good and will need this information for reference.   It is also vital that the shipping crew have this information to accurately identify, label, and containerize the parts properly considering the liabilities involved with shipping this high dollar item.</p>
<p>And because of the liability risks involved with this large item, all shipment information resulting from the disassembly process needs to be tracked in detail &#8211; this is where a major functionality disconnect occurs.  </p>
<p>As I mentioned earlier, the final good is placed into inventory as a single item once manufacturing is complete.   The pick release process within Shipping Execution then transfers this good to the staging area; which results in a single delivery detail line.   However, the requirement asks for all information related to this shipment line to be tracked &#8211; this includes all of the disassembled parts, containers, and carriers used.   Several questions are to be asked of this process:</p>
<blockquote><p>1.)  How do we split apart this single delivery line to represent the multiple shipments resulting from the disassembly process?<br />
2.)  And how do we track the disassembled components in each of these shipments?</p></blockquote>
<p>Let&#8217;s first investigate the issue of splitting a single delivery detail line.   Functionality exists within Shipping Execution that allows the user to split the delivery line into fractional quantities if the &#8220;OM Divisible&#8221; flag for the manufactured item is enabled within the Item Master.   However, this leads to several issues:</p>
<blockquote><p>1.)  Though the delivery line can be split, the fractional quantities may not accurately represent the percentage of the item that was pulled a part from the main assembly.<br />
2.)  Depending on your client&#8217;s requirements, there may be a need to perform this action on a serial controlled item.   If this is the case, Oracle will not allow an item to be &#8220;OM Divisible&#8221; if serial control is enabled, thus preventing delivery line splitting.<br />
3.)  If your client is implementing Installed Base, several records are interfaced to the module for each of the split delivery lines vs. a single interfaced record that represents the entire manufactured good.<br />
4.)  And most importantly, no manual or automatic functionality exists in Shipping Execution that allows the user to assign disassembled parts of the bill of material to a split delivery line.</p></blockquote>
<p>Depending on how flexible your requirements are regarding order entry, you may be able to alter the order entry process so that line items could be entered that represent each of the major components that will need to be disassembled and shipped.   However, this is also making some radical assumptions:</p>
<blockquote><p>1.)  Presentation of the invoice is not an issue (4 line items vs. 1)<br />
2.)  Either Installed Base is out of scope, or interfacing several &#8220;partial&#8221; Installed Base records is not an issue.<br />
3.)  Breakdown of the manufactured good for shipment is know at the time the order is placed.</p></blockquote>
<p>Placing the disassembled components as separate line items on the sales order also creates a major side affect within manufacturing.   Demand is no longer sent for the good as a whole, but is now sent for the components of that good.   This means that work orders are issued for each component, manufactured, and placed into inventory as separate finished goods.   Oracle then has no knowledge that in reality this is actually a single manufactured good that was sold to the customer.   And in the case that I described above, it also doesn&#8217;t show that the unit was actually assembled completely for testing prior to the disassembly process.</p>
<p>Another approach would be to create the good as a PTO item, where each of the options within the PTO model resembles the major shippable components.   But again, this is making the same assumptions as the previous solution.   And this also has the same side affect on manufacturing.</p>
<p>Regardless, neither of the approaches address the requirement that the disassembled components need to be tracked and assigned on a per shipment basis.   This requirement would most definitely require a customization that would allow the user to &#8220;drill&#8221; into the shipment and assign the disassembled parts to an LPN/container item.</p>
<p>Additionally, to be able to reliably split apart the delivery line that represents the large item, and in order to avoid any adverse affects on manufacturing and Installed Base, a customization would be needed to enhance the delivery line splitting functionality.   Essentially the delivery line would need to be taken to another level of detail that would be stored outside of the standard Shipping Execution application to track the multiple container shipments associated with a single delivery line in standard tables.   In affect, this would allow manufacturing to produce this good as a single item (as intended) and would interface to Installed Base as single record upon ship confirmation.</p>
<p>As you can see, this situation could potentially be very challenging to implement.   And while most consultants refrain from customizing the application as much as possible, there doesn&#8217;t appear to be a solution that would completely avoid altering the Shipping Execution module while fulfilling all of the requirements described.</p>
<p>Got a better solution?   Let&#8217;s hear it!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bryanthompsononline.com/oracle/2006/08/17/complex-shipment-of-manufactured-goods/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>A Truly Global Pricing Strategy</title>
		<link>http://www.bryanthompsononline.com/oracle/2006/07/28/a-truly-global-pricing-strategy/</link>
		<comments>http://www.bryanthompsononline.com/oracle/2006/07/28/a-truly-global-pricing-strategy/#comments</comments>
		<pubDate>Sat, 29 Jul 2006 02:37:36 +0000</pubDate>
		<dc:creator>bryan</dc:creator>
				<category><![CDATA[Advanced Pricing]]></category>
		<category><![CDATA[Order to Cash]]></category>

		<guid isPermaLink="false">http://www.bryanthompsononline.com/oracle/2006/07/28/a-truly-global-pricing-strategy/</guid>
		<description><![CDATA[So you work for a global corporation. Your company has operations in the US, Canada, Europe, Asia Pacific, Latin America, etc. The marketing division for your company states that they offer products and services at competitive prices - but do they really know? And while offering competitive prices, your company also states that margins are realized to the max at a global scale - but can they prove this? What are they basing their marginal goals on? And are these goals consistent across your organization globally?

These can be tough questions to answer depending on the pricing policies your company enforces. Surprisingly, many of today's global corporations still manage pricing of their products and services independently at a regional level. Even companies that are running a global ERP system have implemented their pricing strategy in this fashion...
]]></description>
			<content:encoded><![CDATA[<p>So you work for a global corporation. Your company has operations in the US, Canada, Europe, Asia Pacific, Latin America, etc. The marketing division for your company states that they offer products and services at competitive prices &#8211; but do they really know? And while offering competitive prices, your company also states that margins are realized to the max at a global scale &#8211; but can they prove this? What are they basing their marginal goals on? And are these goals consistent across your organization globally?</p>
<p>These can be tough questions to answer depending on the pricing policies your company enforces. Surprisingly, many of today&#8217;s global corporations still manage pricing of their products and services independently at a regional level. Even companies that are running a global ERP system have implemented their pricing strategy in this fashion.</p>
<p>For some companies this isn&#8217;t necessarily bad. It could have been that it made good business sense at the time to keep pricing controlled independently at each of your regional operations. For example, your organization may have a subsidiary in China that manufactures and sells a product that&#8217;s only offered domestically because there&#8217;s no market for it anywhere else.</p>
<p>But for most global supply chain companies this isn&#8217;t the case. The organization you work for most likely manufactures and distributes products across multiple factories, which are then shipped to distribution centers and/or clients all over the world. If your company operates at this scale, there&#8217;s a good chance that your pricing strategy remains separate and potentially inconsistent across the board.</p>
<p>Let&#8217;s take for example this situation; as a sales manager, you have just sold a high-powered engine for big bucks from your office in Louisville, Kentucky to a client headquartered in Germany. You call up your colleague, Adolph, at the Berlin branch to relay the good news. However, Adolph tells you that his division recently increased the price for this model engine and has sold it for nearly 25% more to one of your client&#8217;s competitors. When you find this out you may be upset for two reasons:</p>
<blockquote><p>1.) You could have just sold the same engine for 25% more and made a heck of a lot more money, not to mention a higher commission.</p>
<p>2.) Your company may lose a customer (not to mention a friend), because when Adolph&#8217;s client finds out your company just sold one of their major competitors the same engine for less, they&#8217;re not going to be very happy (and neither is Adolph).</p></blockquote>
<p>In this scenario, you had no clue that the operations in Germany had increased their price for the engine you just sold. If you hadn&#8217;t spoken to Adolph, you would have never of found out about this price increase. The price you used was a figure based on the policies that were established within <em>your</em> local operation. And the policy you referenced was based on the marginal figures and market conditions within <em>your</em> specific region &#8211; all of which may not have been consistent with the German policies.</p>
<p>An even worse situation could be that both you and Adolph quoted the engine to the <em>same</em> customer for <em>different</em> prices. For example, a solicitation is issued by a potential client looking for the same engine offered by your company. Both you and Adolph spot this RFP and, 
<table align="left" border="0" cellpadding="0" cellspacing="0">
<tr><td>
<script type="text/javascript"><!--
google_ad_client = "pub-4516530845610319";
//200x200, created 12/11/07
google_ad_slot = "2730876339";
google_ad_width = 200;
google_ad_height = 200;
//--></script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</td></tr>
</table>
without knowing, you each send your own formulated quote. And because of separate pricing policies, the quoted prices differ. This could definitely raise a few eye brows from a client prospective and puts your company at serious risk of losing the contract.</p>
<p>The problem in both of these cases is that the US and German pricing policies are completely separate, and there&#8217;s no procedure in place to communicate any price change between the two operations. This may have happened for many reasons &#8211; maybe when the German operation was first established or acquired an initial procedure wasn&#8217;t put in to ensure pricing consistency. It&#8217;s also possible that competition between the two operations is quite heated and as a result neither division wishes to share any information that could potentially give the other a competitive edge.</p>
<p>If you&#8217;re truly operating a global supply chain company you don&#8217;t want situations like these to occur. Ideally what your organization wants is a central point of reference where the entire company can obtain an accurate and consistent price &#8211; no matter what continent you&#8217;re selling from or who you&#8217;re selling to. This referenced price should take into consideration several factors such as the line of product being sold, the regional manufacturing and/or purchasing costs, expectations in margin, and selling conditions at a domestic and international level.</p>
<p>This central point of reference cannot be established through implementation of an IT system alone &#8211; it takes people to execute this philosophy. Essentially what is needed is a core &#8220;pricing think tank&#8221;. The members of this committee should be representative of your organization across the globe and have long-term experience within the organization, a strong understanding of the organization at a regional and international level, and proven marketing and financial leadership. The establishment of a &#8220;pricing think tank&#8221; is a very important first step towards the globalization of your organization&#8217;s pricing policy.</p>
<p>But this can also prove to be a difficult task. As I mentioned earlier, competition to sell may be intense between your operations. Thus, sales managers are reluctant to share any information related to revenue and margin to the rest of your internal operations. Though spurring internal competition to increase sales can be effective to a certain extent, there  are some negative side effects as a result.   For instance,  it steers the focus of your people away from customer satisfaction to focus on financial metrics. While your organizations strive to make better numbers than the rest of the company, it often leads to a communication breakdown between operations and creates an extremely difficult obstacle in the road to building a centralized &#8220;pricing think tank&#8221;.</p>
<p>So how can this challenge be overcome?</p>
<p>One approach is to change the metrics that are used to measure your company&#8217;s performance. For instance, instead of using sales, margins, or revenues to measure and reward operations and individuals within the organization, try <em>customer satisfaction</em>. Redirect the focus of your people to minimizing customer complaints, increasing repeat customer sales, and striving to receive positive feedback from clients. And make it a common effort across all your operations. Setting such an environment may not eliminate internal competition completely, but it will ease the tension amongst your operations.</p>
<p>Once you get past the obstacle of establishing your organization&#8217;s &#8220;think tank&#8221;, your next major challenge is to ensure the lines of communication remain open and a policy is established that enforces the communication of changes to any and all pricing trends through the committee. Also make sure the group establishes a procedure around how to calculate and maintain the pricing information. In establishing global policy, here are some questions your committee should answer:</p>
<blockquote>
<ul>
<li>Can the pricing information be maintained through a centralized source or should it be segregated by region?   If segregated, how will communication of price changes ensure that these changes take effect across the board?</li>
<li>Can pricing information and changes be formulated in some fashion?   For example, what factors determine price?   And can these factors be represented in a global calculation?</li>
<li>How do exchange rates affect pricing?</li>
<li>What constitutes a price change? And how often can this price change occur?</li>
<li>Can an IT system be put in place to implement such a strategy?</li>
</ul>
</blockquote>
<p>Now I&#8217;ll be the first to admit that establishing a global pricing strategy is easier said than done. And it doesn&#8217;t happen over night. An effort of this magnitude will most likely require the need of a strong change management team. And if your company plans to utilize an information technology system to implement this strategy, they will also need individuals that have a good understanding of your business and the application. What I can say is that it is, can, and has been made possible. And in the long run this strategy will open your organization to complete visibility of your pricing policy, increased customer satisfaction, and fully realized margins.</p>
<p><em>Stay tuned for a future article that will discuss how this global pricing strategy can be implemented using Oracle Advanced Pricing.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.bryanthompsononline.com/oracle/2006/07/28/a-truly-global-pricing-strategy/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
