Thursday, September 18, 2014

Going Beyond 5 Decimals

3d man sitting in front of question mark

Recently I was asked how to get Dynamics GP to calculate a unit price using more than five decimals. They were tired of constantly dealing with the few pennies of rounding differences.

Multicurrency to the rescue!

Since Multicurrency uses more precision when doing the translation, you can set up a new currency that will use many more decimals. Here’s how it went.

The problem:

The actual unit price of an item was $0.00491256. The system could only use the first five decimals, so they ended up with a price of .00491. If they were to sell 10,000 of these, the extended price would be $49.10 instead of the correct price of $49.13. Sure, GP can easily dispense with that extra 3 cents, but it’s a pain.

A solution:

Create a new currency (I’ll call it $NEW) with an exchange rate of .000001 set to multiply. Enter the sale using the $NEW currency. When the currency is translated into the functional currency, the desired value of $0.00491256 is used as the unit price.

When entering the transaction using the $NEW currency, you would use a unit price is $4,912.56. When the price is translated into USD, you end up with this: $4,912.56 * .000001 = .00491256. Problem solved.

Just as an aside, changing the unit of measure schedule was not a viable alternative in this case.

Until next time!


1 comment:

Anonymous said...

Hi ,
Is there any function available in dexterity to extract a field value without the format !
E.g :123-233-222 (Formatted value)
123233222 (Extracted value)