Purpose |
Details |
Cost Update |
Price Update |
Exchange Rate Update |
Calculation Differences Between R42950 and Sales Order Entry (P4210) |
Overview
The Update Sales Price/Cost (R42950) program can be run individually or through a processing option off of Sales Update (R42800) program. All Sales Order Detail (F4211) records will be processed by this program. To avoid integrity issues with the Item Ledger (F4111) file, cost will not be updated if inventory was relieved at time of Shipment Confirmation (P4205) or if the cost was overridden at time of Sales Order Entry (P4210).
When Ship Confirming (P4205) the order, the latest cost will pull in automatically, so the Cardex (F4111) will be updated with the current cost from the Item Cost (F4105) table.
A new Sales order will get the current cost, price and exchange rate. The Update Sales Price/Cost (R42950) program is used only to update open orders with the cost, price and exchange rate that is current at the moment the program is run. Data Selection can be used to restrict the update process to a selected number of Sales Order Detail (F4211) records.
Record Reservation and Transaction Processing is not available for the R42950 program in releases prior to 9.1. This functionality was introduced in the 9.1 release under BUG 14226175, “RECORD RESERVATION AND TP”.
In this example, there are 15 items in inventory at an average cost of $6.00.
The cost method for inventory/sales is Weighted Average (02).
Enter a sales order. Notice the Unit Cost is $6.00 and Unit Price as $4.00 on the sales order.
Adjust in a quantity of 5 at $2.00 each. Now there are 20 items in inventory and the Weighted Average Cost is $5.00/item.
However, the Sales Order entered prior to the adjustment still shows a cost of $6.00.
To update the Unit Cost on the sales order with the current cost of $5.00, run the Update Sales Price/Cost (R42950) program with the first processing option on the Process tab set to '1'.
The PDF output below shows the new values followed by the old values on next line.
Set the processing option #1 on Price Options tab to '1'.
Set processing option #2 on Price Options tab to the date that will be used to pull the price. This processing option only affects the Price update, not the Cost or Exchange Rate updates.
Some clients require that the price is updated according to ship date or promised date. This can be done by setting up a version with the processing options set correctly, then call this version from the Sales Update (R42800) program to pull the appropriate price.
When the Price Effective Date (Processing Option 2) in the Price Process tab of R42950 is defined as '4' - Actual Ship Date, the R42950 is designed to update the Price Effective Date (PEFJ) when updating the price based on the Actual Ship Date. The Original Ship Date will act as Original Promised Date (OPDJ) and is available in F4201. The original promised delivery date for a sales order defaults from the Requested Date (DRQJ). Lastly, the processing option on the R42950 dictates which date to use to when repricing. In this example, the processing option is defined to use Actual Ship Date which is how the system should retrieve the price, based on the Actual Ship Date.
Once the price update is done, it will be reflected on Sales Order Entry (P4210) screen. When Sales Update (R42800) is run, the Journal Entries will be created correctly using the new price.
Processing options Process tab #2 should be set to '1', everything else can be left blank.
When entering a sales order, the currency exchange rate is pulled in using the transaction/system date. At the time of running the Update Sales Price/Cost (R42950) program, the current date/time is used to pull in the current currency exchange rate.
In the following example, an order is entered in Canadian currency. Notice that the currency exchange rate is 0.6666667.
Change the exchange rate using the Currency Exchange Rate Entry (P0015A) application off menu G1141.
Run the Update Sales Price/Cost (R42950) program with processing option set to update current exchange rate. The PDF output shows the updated price with the new exchange rate.
Also note that the new exchange rate is displayed on the sales order detail.
Note: In this example, the currency multiplier is used. If using the currency divisor method, these will be divided.
Sales Order Entry calculates the unit prices in this manner:
Domestic unit price * exchange rate = Foreign unit price
While creating the sales order, the system will check the price in F4106 in foreign currency.
1. If the price is defined in foreign currency then the system will retrieve that price as foreign unit price and then calculate the domestic unit price from it using exchange rate. Suppose there are no records in F4106 with foreign currency, then system will check the price in domestic currency.
2. If the price is defined in domestic currency, then system will retrieve that price as domestic unit price and will calculate the foreign unit price from it using exchange rate.
**When creating the sales order, the unit price calculation is depends on the currency of the price in F4106.
R42950 calculates unit prices in this manner:
Foreign unit price * exchange rate = New domestic unit price.
**R42950 does NOT update the foreign unit price, only the domestic unit price.
Advanced Pricing Functionality:
When Advanced Pricing adjustments are in different currencies:
During sales order entry:
1. When the price is in FOREIGN: (F4106 has the unit price in foreign currency)
Foreign unit price * exchange rate = Domestic unit price
2. When the price is DOMESTIC: (No F4106 price exists for the foreign currency, but does exist in domestic currency)
Domestic unit price * exchange rate = Foreign unit price
When running R42950:
The system will always calculate the domestic unit price from foreign unit price by using new exchange rate (while running the UBE in update exchange rate mode).
Foreign unit price * new exchange rate = new domestic unit price