<?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; Receivables</title>
	<atom:link href="http://www.bryanthompsononline.com/oracle/category/receivables/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>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>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>
	</channel>
</rss>
