Sunday, July 28, 2013

Deferrals and Accruals


Dictionary meaning of Deferrals is Delays, Postponements and the dictionary meaning of Accruals is Accumulations, Additions etc. Inline with these meanings, I am going to explain these terms in conjunction with two other terms, namely COSTS / EXPENSE and REVENUE / INCOME.
 I am actually going to show the double entry for both, as eventually everything boils to that only and that's what matters in the end!

Deferred Cost and Accrued Cost

Deferred Cost

Deferred Cost / Expense can be any expense which is paid in advance or a purchase made in advance. This literally means that you are deferring (Delaying) the entry in actual cost account in general ledger, as the timing for booking the cost does not match the event. But since you are making that cost, it has to be recorded somewhere in the books and that's where the Deferred Cost / Expense account comes into picture. Deferred Cost / Expense account can be  Prepaid Insurance, Prepaid Rent etc.

Now the cost has already hit the cash / bank account, but the actual cost has not been booked in the account that is specifically selected for that purpose. For e.g. Rent. Insurance etc. So how does this work. Suppose you have made the prepayment for the entire year for Insurance and you want to book the cost of that insurance expense every month. In this case, you pass an entry for the Prepaid Insurance and then reverse the deferrals each month. Enough of talk, lets do the double entry:

In the beginning of the year the entire insurance amount is paid:

DR Prepaid Insurance         1200 INR
      CR   Bank                                      1200 INR

Then in each month, following entry is made hitting the actual expense account:

DR Insurance Expense        100 INR
       CR Prepaid Insurance                  100 INR

In this way the entire deferral amount is cleared by the year end the appropriate expense is booked in the actual expense account at the appropriate time.

In effect the entry after the Prepaid Insurance is knocked off, is:

DR Insurance Expense        1200 INR
       CR Bank                                        1200 INR

Remember : Deferred Cost account is an Asset account.

Accrued Cost (Cost Accruals)

Cost Accruals is nothing but a provision made so that the accounting is accurate and the financial statements reflect the actual picture. There are certain scenarios where the cost has to be accrued.

For e.g. Year end is 31st Dec, but the salary day is 5th of every month, then for the accounts to reflect the correct figures the cost will have to be accrued on 31st of Dec. The entries will be as follows:

DR Wages Expense       100,000 INR
     CR Wages Payable                      100,000 INR ( Cost Accrual)

On the salary day,

DR Wages Payable       100,000 INR (Accrual Reversal)
      CR Bank                                     100,000 INR

In-effect the entry after the Wages Payable is knocked off, is:

DR Wages Expense       100,000 INR
      CR Bank                                     100,000 INR

Remember : Accrued Cost is a Liability account.

Deferred Revenue and Accrued Revenue

These terms are exactly the opposite of what is explained above.

Deferred Revenue

Deferred Revenue is the revenue which is received in advance. Hence while entering this in the books, it should be entered in such a fashion so that the picture that the financial statements display should be neat and accurate. Example of Deferred Revenue is Advance Payment. The double entry for this will be:

DR Bank           50,000 INR
      CR Deferred Revenue (Pre-payment)  50,000 INR

However when the work / service is delivered in parts or in whole, then accordingly the actual revenue will be recognized. The entry for it will be as follows:

DR Deferred Revenue    10,000 INR (1)
      CR Revenue                          10,000 INR (1)

DR Deferred Revenue    10,000 INR (2)
      CR Revenue                          10,000 INR (2)
.
.
.
DR Deferred Revenue    10,000 INR (5)
      CR Revenue                          10,000 INR (5)

This is how the revenue will be recognized in parts as and when the work / service gets delivered. And if it is decided that the revenue is to be recognized at the end of the work / project, then only one entry will be passed .i.e.:

DR Deferred Revenue    50,000 INR
      CR Revenue                          50,000 INR

In effect the entry after the Deferred Revenue is knocked off, is:

DR Bank       50,000 INR
       CR Revenue 50,000 INR

Remember : Deferred Revenue is a Liability Account.

Accrued Revenue (Revenue Accruals)

The need for the Revenue Accruals arises when the revenue (amount) in theory should have hit the bank account, but has still not. But from the standpoint of accurate accounting (matching principle)
for the given period the appropriate provision should be made to reflect the actual revenue for that period, even if the bank has still not received the money. The entry will be as follows:

DR Accrued Revenue       30,000 INR
      CR Revenue                                  30,000 INR

Now when the money starts hitting the bank account; either periodically or in lump-sum, the Accrued Revenue will be reversed.

DR Bank      10,000 INR (1)
CR Accrued Revenue     10,000 INR (1)
.
.
DR Bank      10,000 INR (3)
CR Accrued Revenue     10,000 INR (3)

OR if all the revenue is to be recognized all at once, then:

DR Bank      30,000 INR
CR Accrued Revenue     30,000 INR

In effect the entry after the Accrued Revenue is knocked off, is:

DR Bank       30,000 INR
       CR Revenue 30,000 INR

Remember : Accrued Revenue is an Asset Account.

Thanks !

AXAPTAMANIAC

 

Intercompany Accounting in Dynamics AX 2012



I was going through the requirements for the client that I am working for and it so happened that they require the intercompany functionality. I have never before done this, hence started playing around with the AX 2012 R2 system in my oracle virtual box. This is what I concluded.

  1. Create the Receivables and Payables Ledger accounts in the Chart of Accounts of all the involved companies.
  2. Create the Customer and Vendor posting profiles. There should be separate lines for all the intercompany Customers and Vendors, if the client wants to track the intercompany funds separately for each company.
  3. In step 2, select the accounts defined in step 1 for each individual line in the setup section of the posting profile record.
  4. You are ready to go for intercompany Sales Orders and Purchase Orders now. The settings are such that the transactions will be tracked individually for each associate company.
  5. The same settings work well when used for Free Text Invoice. Out client wanted invoice to be created for any non-trade transaction between the two associate companies. Free text invoice was a very good suggestion in that case.
  6. Now suppose the companies are passing intercompany journals as well, then they can do so by passing a General Journal, but selecting the different company while defining the offset account.
  7. However this  ONLY works when the Intercompany Accounting setup is defined in the GL module.
  8. Navigate to GL > Setup > Posting > Intercompany Accounting and define the same payables and receivables account for the appropriate companies that were created in step 1 above. Also the user needs to define the journal that will be automatically posted, from the drop down. This can be a normal General Journal
  9. Some may also insist creating a separate Intercompany Journal, so that its easy for tracking. Imagine all types of journals being posted as General Journal. Its difficult to track the purpose. Hence it is advisable to create a separate Intercompany Journal.
  10. But remember the same setup has to be done in all other associate companies so that this functionality works well.
  11. Once the setup is complete and the General Journal is posted, the system posts two vouchers one in the parent company and other in the associate company.
For e.g.:

Company A has to book some expense on Company B, then a General Journal can be created in Company A:

Dr  Car Expense 120 (Company B)
   Cr  Bank 120 (Company A)

When the above journal is posted, then system automatically posts two transactions:

Company A:

Dr Receivables from B  120
    Cr Bank 120

Company B:

Dr Car Expense 120
   Cr Payable to A 120

This can then be settled by passing a payment journal OR this can be settled by a similar reverse journal from Company B.

As far as the intercompany Sales and Purchase orders are concerned they will behave exactly same as the normal trade Sales and Purchase orders, only difference being there amounts will be tracked separately in the summary / control accounts defined in the customer and vendor posting profiles. Also the payments will also be done through the normal payment journals.

Thanks!

AXAPTAMANIAC


 

Foreign Currency Revaluation in Dynamics AX 2012



I tried to run through this process in Dynamics AX 2012 R2 and following was the process and related findings.

  1. First I setup all the accounts namely:
    1. Unrealized Profit (Asset)
    2. Unrealized Loss (Liability)
    3. Realized Profit (Revenue)
    4. Realized Loss (Expense)
  2. Then I created a foreign currency in the system and also entered the exchange rates for the same for few days.
I basically wanted to see when these accounts are hit when the transactions related to foreign currency are posted. I did post two type of transactions namely:

  • One without using the Unrealized Profit/Loss accounts
  • One with Unrealized Profit/Loss accounts
Now what does this mean. This means that I tried the foreign currency transactions one with Foreign Currency Revaluation Process and one without Foreign Currency Revaluation Process.

For the transactions where I did NOT ran the foreign currency revaluation process, the Realized Profit / Loss accounts were direct hit. for e.g.:

I posted an AP Invoice journal in foreign currency. Then immediately after that I posted the AP Payment journal for the same, but on a different date with different exchange rate. This time the transaction was posted but directly hitting the Realized Profit and Loss accounts.

Then I tried to change the process a bit, by introducing the Foreign Currency Revaluation process in it. This time I posted an AP Invoice Journal and then I ran the Foreign Currency Revaluation process for a different date with different exchange rate. The posting that happened this time hit the Unrealized Profit / Loss accounts. Accordingly they also hit the control accounts (Trade Creditors in case of Vendor Account and Trade Debtors in case of Customer account). After this I posted the AP payment journal. After the payment journal was posted, it hit the Realized Profit / Loss account and at the same time reversed the entries in the Unrealized Profit/Loss account.

So the conclusion is the entries registered in the Unrealized Profit  / Loss accounts are nothing but a provision to accommodate the fluctuating exchange rate. This also makes the Balance sheet more accurate, as you have made a provision for the potential profit and loss that may or may not occur in future due to change in exchange rate.

It is not mandatory to use the Unrealized Profit / Loss accounts on a monthly basis during the monthly closing. Some companies only use Realized Profit / Loss accounts for the entire year and at the end of the year they will run the Foreign Currency Revaluation to make provision for the unrealized profit and loss.

Hope this was useful enough. Till next time happy exploring new things in AX.

Thanks!

AXAPTAMANIAC



 

Wednesday, December 15, 2010

Opening Balances Upload

There are 4 types of opening balances that needs to be transferred, in the Dynamics AX from the legacy system. They are:
•General Ledger opening balance
•AR/AP opening balance
•Bank Balances
•Inventory opening balance

We will discuss about each of them in detail.

General Ledger opening balance

After the COA (Chart of Accounts) are imported into the Dynamics AX from the legacy system, the balances in each and every ledger account has to be created.
For this purpose the user should create one Data migration control account, which will be used as an offset while creating opening balances in Dynamics AX. After all the transactions for each and every ledger account has been transferred, make sure that the Data Migration Control Account has ZERO balance. This will ensure that the opening balances in the New Dynamics AX system are all ok.
To bring the opening balances in the Dynamics system, the user can make use of General Journal.
Example 1:
Let the Data migration Control account = 989898
Before creating the opening balances for ANY account, make sure whether the current balance of that account in the legacy system is Debit Balance or Credit Balance.
For e.g. Trade Debtors (Accounts Receivable) will generally have a DEBIT balance. Keeping this in mind, try to make use of the Data Migration Control Account accordingly.
One more thing to keep in mind while transferring the Opening Balances for AR / AP / Bank, these all accounts are control accounts and hence they will be locked. But just for the purpose of creating the opening balance, remove the “Locked In Journal” checkbox from the COA.
1.General Journal entry to be passed while creating the opening balances for Account Receivable will be:
Account Receivable A/c (700700) Dr 92000
To Data migration Control A/c (989898) 92000
2.General Journal entry to be passed while creating the opening balances for Account Payable will be:
Data migration Control A/c (989898) Dr 75000
To Accounts Payable A/c (600600) 75000
3.General Journal entry to be passed while creating the opening balances for Fixed Assets will be:
Fixed Assets A/c (500500) Dr 50000
To Data migration Control A/c (989898) 50000
4.General Journal entry to be passed while creating the opening balances for Ledger Accounts for Bank will be:
Bank Account A/c (400400) Dr 150000
To Data migration Control A/c (989898) 150000

At the end of the day, after all the balances for all the Ledger Accounts are in place in Dynamics AX, the balance in Data Migration Control Account should be 0.
To determine what sort of balance an account should posses; refer to the trial balance from legacy system. Ask the personnel from the company to provide you with the hard copy of the trial balance from the legacy system. This will give you a fair idea about the nature (Debit or Credit) of balances that each ledger account should have.
One more way to determine whether the account should have a Debit or Credit Balance is to try and match that account with the Balance Sheet. If the Account falls on the Debit side of the Balance Sheet, then that account will generally have a DEBIT balance. For e.g. Accounts Receivables, Fixed Assets, Cash, Bank etc.

AR/AP opening balance

Now all the opening balances for the COA are in place. However if you go to the individual Customer in AR (Sales Ledger) and check for the balances, then you will not find any balances. This means that though the Accounts Receivable Control Account (700700) has a balance of 92000 in it, however that amount is still not segregated as per the customer. To do this, the user will again have to pass the General Journal. Remember open transactions are UNPAID, UNSETTLED or PARTLY PAID invoices (for Customers and Vendors)
Some things to keep in mind before creating the opening balance for Customers (AR) and Vendors (AP)
•Try to settle as many open AR and AP transactions before you migrate data into dynamics AX.
•For partly settled invoices, the original invoice amount should be captured in the transaction text.
To transfer the opening balance, the user will have to pass the General Journal with the account type “CUSTOMER” for AR (and account type “VENDOR” for AP).
The offset account in this case will be the Accounts Receivable control account, which in this case will be Account Receivable A/c (700700).
The transaction will look like this:
Customer A A/c (CUST0001) Dr 12000
To Accounts Receivable A/c (700700) 12000

If you think, the net effect of this account will post the opening balance in Customer A’s account AND will net off the amount in Account Receivable A/c. This is because Customer A account is in effect Accounts receivable A/c.
There is one more thing that I want to bring to the notice is: Opening balances for the Customer can be transferred in two manners .i.e.
•Summary Amount can be transferred, but then in the new system the user will lose track of the invoices that account for the final figure. (For e.g. : Outstanding Amount for Customer A is 12000 INR, however if that is transferred, by passing just one single line in the General Journal, then though the Balance for the customer will be correct, but the breakup of the invoices comprising the of amount 12000 will not be there.)
•Detail Invoice break up can be transferred, by passing those many lines in the General Journal and mentioning the Invoice Number in the Transaction Text field.
So taking into consideration, the above example, suppose INR 12000 comprises of 4 invoices, with the following amounts:
•INR 2000
•INR 4500
•INR 5000
•INR 500
Customer A A/c (CUST0001) Invoice Q Dr 2000
Customer A A/c (CUST0001) Invoice W Dr 4500
Customer A A/c (CUST0001) Invoice E Dr 5000
Customer A A/c (CUST0001) Invoice R Dr 500
To Accounts Receivable A/c (700700) 12000

Similar procedure should be followed while transferring the AP (Vendors) balances.

Bank Balances

General Journal entry to be passed while creating the opening balances for Ledger Accounts for Bank will be:
Bank Account A/c (400400) Dr 150000
To Data migration Control A/c (989898) 150000

Similar is the situation with the Bank Accounts. Bank balances are transferred in ledger account 400400. However if you go to the particular bank account in the Bank module and check the balances, then balance will be ZERO.
To bring the balances in the Bank Account, pass a General Journal, with Account type Bank.
General Journal entry to be passed while creating the opening balances for Bank Accounts after the Bank Balance is transferred in the related ledger account:
HSBC Bank A/c Dr 150000
To Bank Account A/c (400400) 150000

This will bring balances in the Bank Accounts created in the Bank Module.
There is one more side to this Bank upload.
There may be a situation when more than one bank is assigned the same ledger account. In that case the transaction will be:
HSBC Bank A/c Dr 50000
Santander Bank A/c Dr 100000
To Bank Account A/c (400400) 150000

Inventory opening balance

For creating the opening balances for the items (stock), a Movement Journal is used. But in this case as well, the offset account will be Inventory Ledger Control Account.
The whole idea here is distributing the value to the individual items that has been brought in the system after the Ledger Opening Balances were transferred. When the opening balances were brought in the system using the Data Migration Control Account, at that time the opening balances for the Inventory were also brought. By doing this exercise, we are just segregating the values to the individual items.
For e.g.:
Inventory Control Account: 300300 has a opening balance of 3000
Item A cost price: 300
Movement Journal for Item A will be:
Item A Cost Price = 30, Offset Account = 300300.
This transaction will negate the entry and the overall impact on account 300300 will be zero and this is what we wanted. This step can be repeated for all the items in the inventory.

Thursday, March 12, 2009

ERP implementation steps that are to be followed (Actual Experiences)

(Please note this blog was written when i was new in the field of ERP implementation. This may seem worthless now, but still i am keeping it on the blog so that i can have the notes that i made when i started this journey)

Hi Folks,

These are some of the points that i noted when i was involved in the AX ERP implementation. This list could be endless and i am going to add more points to it as when i will have new learning or a new thing to share. I am going to publis this list many times in future also, so that my blog will always have the latest version of the list on it. This list is not in the chronological order and is in the most raw and crude form. The list that is presented is not edited. It is the same list which i have been creating since long.

While implementing the system please keep in mind the below mentioned details :

1. Create a business flow of the their current business.
2. Generally people hate changes and hence do not like to change the existing system or the flow of operation.
3. Take a copy of their Chart of Account and try to understand each and every account and its use..
4. Take a note of all the accounts which are to be defined in the:
a. Posting Profile (AR and AP)
b. Item Groups (Sales Orders , Purchase Orders and Inventory)
c. Discounts
d. Cash Discounts
e. Commissions
f. Miscellaneous Charges
5. Take a sample of their Customers, Vendors and Items.
6. Make sure that the Customer Groups and the Vendor Groups are created prior to create or import any customer or vendor.
7. Contacts for either Customers / Vendors are imported separately. Take a note of it.
8. Import Address Country Region, Address Format and Zip codes. Also import the State information.(AddressState)
9. Make sure that the Currency is set in the exchange rate form.
10. Make sure that the Fiscal Period is set in the system.
11. Create Item Group, Item Dimension Group and Item Model Group.
12. Import the Number Sequences from the standard company. Make sure you do it the first before starting the configuration.
13. When item sheet is takes also ask for the following things:
a. Units
b. Unit of Conversion
c. In what unit is the item purchased and in what unit is it sold.
d. Pricing details
e. PO prices and SO prices
f. Is there a layered pricing?
g. Is there a discount ?
h. Are some items given free of cost?
i. Are there any BOM item in there?
j. How often are the prices changed?
k. Do they require to maintain the history of the Item pricing?
l. Try to find out which all dimensions can be used to best fit the items in the application.
m. Based on this information decide whether to use the Trade Agreements to enter the prices or to use the Item form to enter the prices.
14. Ask for the Bank details and also discuss their check format. But prior to that create a Bank Group for the same.
15. Also define the Bank transaction type in the Bank section. This is important while doing the Bank Reconciliation.
16. Ask for the Terms of payment (Net 30, Net 60 etc)
17. Ask for the Mode of Delivery (FedEx, UPS, etc)
18. Ask then about the Warehouses and how many of them are there. Also enquire about the default (Fallback) warehouse, which is required while entering the company information.
19. Enter the data for the Journal that will be used in the application. Generally all the Inventory and Other journals are imported from the standard system.
20. Ask for some open balances of one month say(for testing purposes in the test company)
a. Chart of accounts balances
b. AR balances (Open Invoices, Open Payments and Open Credit Memos)
c. AP balances (Open Invoices, Open Payments and Open Credit Memos)
d. Open Inventory Balance
21. Write the procedure every time you do some new process to import the data into the system. This is the best habit, because you will forget what you did in the past.
22. Open balances can be entered in the system by using a temporary offset account as Error Account 999999, which should have 0 balance when all the things from the balance sheet are transferred in the new system taking this error account as offset. (Debit = Credit)
23. For entering the Open Invoices, Payments and Credit Notes, use the General Journal and use the error account as the default offset. Note that while entering the Open Invoice and Payments:
a. The Amount must be specified
b. Original Invoice Number must be specified
c. Original Transaction Date must be specified.
24. For entering the Open Inventory, use the movement journal and the offset account as the error account. Note that while importing the Inventory:
a. The Warehouse must be specified
b. Site must be specified
c. Any other mandatory inventory dimension should be specified.
d. Cost must be specified. (Purchase Price in the cost field, if the company is the reseller)
25. Make sure all the reports which the client wants, they give the copy of it to you.
26. Try to compare those reports with the standard reports that are there in the system and try to write the customization if there is any.
27. Finally setup the format of the Financial Statements in the application. Prior to this take a copy of the current financial statement from the client.
28. While doing all this take time to prepare the Test Cases for the same and the data that you are going to use for testing this in future. Also document some of the important scenarios with detailed steps.
29. Try placing the sales orders, purchase order and see whether the correct account are getting hit when the transactions are completed.
30. Pay most attention to the Parameters section of all the modules. For AR and AP, make the default order as Sales Order and Purchase Order respectively, as generally it is Journal.
31. Also define the default posting profile in the Parameters form under the “Ledger and Sales Tax” tab or else the order will not get invoiced.
32. Document each and every word which client utters regarding the business process.
33. Make sure you have entered the Employee Details in the system.
34. While importing the BOM items, enter "all blank" in the dimension columns in both the sheets namely "BOM" and "BOM Version.
35. Do not forget to enter the value in the "Per Series" column in the "BOM" excel sheet. It is generally 1. But please do not forget that.
36. Define the Aging Buckets before importing the Open A/R or A/P balances.
37. The Aging Buckets can be setup at A/R and A/P --> Setup --> Statistics --> Aging Buckets
38. While configuring the balance sheet in AX, we generally use Group and Element. Also Calculation is used sometimes.
39. When the Calculation entity is used, just drag the elements in the Argument section and then click the sum up button.
40. In the Column section, on the formatting tab, for the first column enter 60. This way the balance sheet will look nice.
41. Similarly in the Row Definition, use Line Break and define it as "Both".
42. In the Balance sheet, in the Stockholder's equity and Libility, define a separate element called "Net Income" and then define the range of the P and L accounts in to it. The range can be given by using the 2 dots in between. For e.g. : 33333..88888 (this means acounts from 33333 to 88888).
43. Keep on taking print of the Balance sheet on the screenand unless you are satisfied with the look.
44. For all the major entities in the Balance sheet use Heading and Bold checkboxes.
45. Also keep in mind the Print Name field. That should be filled in order for that name to appear in the balance sheet.
46. While importing the open balances for AR as well as for AP, there are two sheets which are to be imported for the General Journal. Create only one journal number, which should be in synch with the number sequence of the journal as defined in the application.
47.Similarly while defining the lines in the other sheet, use the voucher series as defined in the system. Each and every line will have different voucher numbers. Generate those vouchers numbers separately and then paste in that column.
48. enter all the information in the sheets and import the same. The General Journal will be in the unposted format.
49. Validate the same. If the fiscal perios for the some of the previous dates is closed, then create that fiscal period from the periods section.
50. After posting, just update the number sequence for the Journal Number and the Voucher series.
51. Journal number, number sequence is defined in the Parameters section of the General Ledger.
52. While importing the Contacts remember to import the DirPartyTable and DirPartyRelationshipTable. These two tables are exstremely important, for the contacts to be viewed in the Global address book and also for the relationship to be established between the customers / vendors and the contacts.

World of ERP's

Hi Folks,

The purpose behind starting this blog was to start sharing the knowledge of ERP, especially Microsoft Dynamics AX, with all the ERP maniacs out there. I am no expert in AX, but would like to be one in the coming years. This is one step towards fulfilling that dream. To begin with i am a Microsoft Dynamics AX 4.0 T and L and Financials certified business specialist.Having done those certifications and working in the field of ERP since last almost 3 years have made me much more passionate to learn more and more in this field.

All the ERP folks out here will acknowledge the fact that ERP is a vast subject, its like a vast ocean. The more you dive deep into it, the more you learn from it. The main intention behind starting this blog is to share all the knowledge that i have and will have in future. This blog will have all the knowledge that i will gain in the future, some tips and also some experiences that i have got while working on the same, say, while working in ERP implementations or in some ERP testing assignments.

This way i will have a track of all the tips that i have learnt and it will also be a great repository of the knowledge that is in addition to the books and the learning material that is available on AX. I will definitely try to commit my self to atleast post one good learning on this blog daily.

Thanks and Best wishes to me :-)



axaptamaniac