Decimals, prices, UoM, currency, rounding

This post is probably one of a series that I wanted to use to explain some fundamentals of AX that might turn into a whitepaper for some guidance on implementation choices, configuration and customization you might undertake to solve a customer business problem.

Let’s start from the beginning. AX being an ERP has a job to deal with accounting and operational issues. The accounting being tracking the money going through the business and operationally the quantity of product or service going through the business.

If we have a business that sells products at retail/distribution then dealing with numbers is pretty simple. I sell 5 each items at USD$1.98 = USD$9.90 total sale. So we have a few measurements here. Quantity in this example is a whole number. Item units of measure in this example each. Currency the measurement of the price is in USD in this example.

Let’s look at these. Quantity is always relative to the unit of measure (UoM). If I have 5 of something I have to say what measurement that is in. So each, box, pack etc are typical distribution/retail UoM and generally they are generally related to a quantity being a whole unit.

What if we work with precious metals, liquids like chemicals, beverages, protein industries like meat processing. Let’s work with metals in this example. A price for base metals are traded through a market place like the London Metal Exchange (LME) this is a fluctuating price based on supply and demand of the metal.

Looking at LME today, 14th of August 2014, the price of aluminium is USD$2004.50 per tonne for a cash buyer. So if I purchased 5 tonne it would be 5 tonne * USD$2004.50 = USD$10,022.50

Tonne being a metric unit which is equivalent to 1000 kilograms (http://en.wikipedia.org/wiki/Tonne)

If I want a small aluminium part I don’t go and buy a tonne of metal. I want to work with someone that will sell me a smaller amount and process it for me. The processor has to deal with the base metal cost, processing fixed costs, variables costs, margin that need to be calculated to work out a final cost of a piece to the end customer. But I’ll come back to these what I want to highlight first is unit conversion and rounding.

If we have purchased 5 tonnes then we have 5000 Kg of metal. So 1Kg base metal price would be USD$2004.50 / 1000 = USD$2.0045. Now we have 4 decimal places for the price and important point we need to work. If I sell my 5000 Kg * USD$2.0045 = $10,022.50 which is the same as what I purchased it in.

If I round this price to two decimal places this would be USD$2.00. If I sell my 5000 Kg * USD$2.00 = USD$10,000.00. Which is USD$10,000.00 – USD$10,022.50 = USD$22.50 less than what I outlaid.

If I work in Europe we likely work in metric, if we work in the US then we are likely work in pounds (lb) http://en.wikipedia.org/wiki/Pound_(mass). One US pound (lb) is 0.45359237 Kg. Or expressed the other way 2.20462262 lbs = 1kg. I’ve only shown to 8 decimal places again the decimal places are important for the discussion.

Let’s put that back in price perspective for what I purchased. 1000 Kg = 2,204.62262184 lb. So USD$2004.50 / 2,204.62262184 = USD$0.90922591 per lb. I purchased 5000 kg / 0.453592370 = 11023.11311 lbs. * USD$0.90922591 = USD$10,022.50 which is what it cost me to purchase the base metal. If we had rounded to 2 decimal places then we have 11023.11 lb and the price is USD$0.91 = USD$10,031.03. Which is USD$8.53 more than it cost so in this case the rounding worked in my favor.

So while this is basic math this needs to be translated into how you setup the ERP application across all the different module areas to suit the business. What I’ve tried to do here is paint some complexity as well with units from different geographies because this is important to consider when setting up the business application if you are running in one database there are some parameters that are shared independent of the legal entity and some that are legal entity specific.

In future posts let’s explore this setup in AX.

 

Cheers

Lachlan

 

PS: This is funny trying to explain a concept of conversion when language is one as well. I’m writing this running in OneNote which is setup for US English on my machine. Which in the US the metal is spelt aluminum where in Australia or in UK English the metal is spelt aluminium. So this is how I’ve written it with spelling mistakes according to OneNote, anyway another good example of a language conversion a topic for another post when setting up a global ERP application.

2 responses to “Decimals, prices, UoM, currency, rounding

  1. Pingback: Real data types in Dynamics AX | OrganicAX·

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s