February 29th, 2008
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.
Oracle does provide the ability to recognize freight as revenue, which in turn calculates tax on the charge, but this doesn’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’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.
Needless to say, it’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.
Going back to Oracle’s recommended solution of adding an order line item for freight if it is to be taxed – the main issue with this work around is that it’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’s line item workaround.
However, there is a functionality in Advanced Pricing, often not used, that can automate the entry of an order line. The “get item” functionality under the “Promotion” modifier type allows you to add items to a sales order based on the qualifiers you set. This functionality is typically used for a “buy one, get one free” scenario, but can be used in this situation to add a freight order line automatically to a sales order.
The only setback to this functionality is that the pricing capabilities are limited. When setting up a “get item” 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’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 “get item” modifier doesn’t work, because when the line item is added, the Calculate Price Flag is set to “Partial Pricing”. What “Partial Pricing” means is that it will obtain the price that is established in the “get item” 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 “Calculate Price”, then re-price the line.
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’s no need for the users to perform. this step in a high volume order entry environment. This is where that “slight” customization as I mentioned earlier comes in.
If setting the Calculate Price Flag to “Calculate Price” 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.
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’s a couple of way to address this:
Getting around this issue is not easy, but can be possible. If you’d like to obtain a copy of my code which resolves the pricing issues with adding line items automatically using the “get item” functionality, feel free to contact me.
Also, to find out how to calculate freight, charges, or adjustments based on the total order amount, check out this article.
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/131767/viewspace-623646/ ,如需转载,请注明出处,否则将追究法律责任。