Dynamics Ax Project Accounting – Basic concepts for non-functional consultants Part I
I had been maintaining a blog about dynamics for a long time. Then one day I got bored, stopped blogging and let the domain name expire. (I am kind of repenting now since I am back in a place where I feel like writing about Dynamics Ax.)
Unfortunately, getting started again is a long process since I need to host the blog somewhere. You know.. all the headache right from registering a domain. Therefore, the current plan is to continue to blog on this domain and then move all Dynamics posts to a different domain later on.
I am also wondering whether instead of registering a new domain name, why not convert this blog hosting from lynx to ASP.net. I am quite impressed with http://www.dotnetblogengine.net/ . I think BlogEngine features such as subdomains are definitely superior to WordPress. I would definitely encourage programmers to take look at BlogEngine.
(Subdomains are important for me. Very soon, I am planning to write a book ‘Dynamics Ax Programming for Functional Consultants – Functional to Technical in 21 days’. Do let me know if you are interested in the book, I am planning to jack up the price by 5 dollars for every 100 emails that I get J)
Anyways…
I stumbled upon a topic yesterday thanks to another itch of mine. My certifications are rather old, all of them are on Ax 3.0 and I have decided to be re-certified in most of the Dynamics Ax modules. I started with Projects certification and passed the exam with flying colors J. (I took Dynamics Ax 2009, big change from Ax 3.0 certifications. It is actually possible to pass the exam if one studies the Microsoft training material.)
After talking to a few friends, I realized that they completely lack two basic concepts behind Project Accounting. Unawareness of these concepts makes Project Accounting so hard to deal with. The concepts are (A) All these debits and credits floating around (for e.g. Debit WIP account and credit Profit and Loss Account) (B) Revenue accrual/ Post costs / Estimates / Cost Template.
It is rather unfortunate but I have not noticed anyone else talking about these concepts. An understanding of these concepts will make programmers life so much easier.
I will write about (A) today and follow up with (B) later. Perhaps then, I should then write about dimensions since people find this simple concept so confusing.
Anways….
The concept behind all these debits and credits is really simple. (As long as you understand the basics of accounting. If you do not then either, get your accounting concepts clear or do not indulge in Project accounting.)
Say we have company called OverChargers Inc. The company has a single employee Mr LazyAss who worked for 2 hours in an entire year on a project. The hourly cost is say 50 dollars and Overchargers charge their client at the rate of 500 dollars an hour (cash). Assuming that the company had no other transactions, what would their year-end accounts look like?
Forget project accounting setup right now. We are talking of simple accounting here.
To recoup:
Employee cost 2 hours * 50 USD = 100 USD
Sales 2 hours * 500 USD = 1000 USD
Let us start with the Journal Entries:
A. Paid salary
Payroll cost Dr 100.00
To Bank Account 100.00
B. Charges customer
Bank Account Dr 1000.00
To Sales 1000.00
Now the Ledger balances would be
Bank Account Dr 900.00
Payroll cost Dr 100.00
Sales Cr 1000.00
This is fine, as you can see we do not really need the complexity of the project accounting to maintain project accounts.
That is until you consider a scenario.
What happens when someone forgets to bill the customer or say ends up charging the customer only 1 hour instead of 2. Such omissions are very normal in a large-scale project with lots of transactions.
How do you figure out that something is missing?
As you will see, accountants have a clever solution for this problem. If you get this concept then you will get all these debits and credits floating around in Project module.
Let us consider our original scenario with a small change. LazyAss was paid for 2 hours but the customer got charged only for 1 hour.
Let us start with journal entries.
A. When you pay salary, you do not debit Payroll Cost. You debit Payroll balance instead.
Payroll balance Dr 100.00
To Bank account 100.00
B. When you charge the company, you make 2 journal entries (remember that customer got charged only for an hour.
First entry is to reverse the cost for 1 hour.
Payroll cost Ac Dr 50.00
To Payroll balance 50.00
Second entry is to charge the customer for an hour.
Bank Account Dr 500.00
To Sales 500.00
Now what do our ledger balances look like:
Bank Account Dr 400.00
Payroll cost Dr 50.00
Payroll balance Dr 50.00
Sales Cr 500.00
One look at the ledger account and the accountant knows something is wrong since there is a balance in Payroll Balance account. This account should not have any balance at the year end.
This is exactly how all these confusing debits and credits in Project module come into existence.
Same concept applies to inventory cost. In this case, when inventory is issued from store it is debited to Inventory issue account (which essentially works similar to Payroll balance account above.)
If you compare the postings above with those of employee journal in Dynamics Ax then you see the first entry but second entry will be slightly different. If the line property is setup for accrual then the credit would be to accrual account. If the line property is not setup for accrual then the posting would be to another balance account.
Ah! But then I am jumping ahead of myself. I will cover accrual (and estimate, cost template, yawn!) in my next post.
See you around.

Keep Blogging, and Yes, I'm looking fwd to your book
Cool Harry, nice & simple, even I understood it!
And I'd be interested to see your book – such a thing is really missing. I often say to instructors delivering Dev I and II courses, that what we need is what I call a "read-only" development course. Consultants don't really want to write code, they just want to get an understanding of what is going on when they look at a piece of code, and to be able to navigate around it.
So let me know how it's going!
Regards
Hans
First off, thank First off, thank you for the tutorial. I know that it takes time and efofrt. Secondly, and I do regret saying this, I didn’t really learn anything I could’ve figured out for myself. I skipped A LOT because most of your content was filler like You probably don’t have the same version. Say it once if you must, then move on quickly; you don’t. You said uh and um so often that I felt the urge to hit something. At least edit yourself! It’s easy and makes for a MUCH easier viewing with clarity. 0Was this answer helpful?