Thursday, May 19, 2016

AR Write-off process and settings

Customer invoice write-off journal can be created directly from the general journal (in General Ledger module). This journal, if manually created will have debit entry to ‘Customer’ (so that the entry passes through the sub-ledger / memorandum ledger) and the credit entry to ledger code which is created for write-offs.

There is one more standard out of the box way to create the write-off journal in AX. For this the user should navigate to the collections module and select the particular invoice which he/she needs to write-off. Click on the write-off button and then click 'Ok' on the next screen that appears.




After the processing a message window appears informing the user that the (write-off) General journal (with the number)  is created and is ready to be posted.



  
This journal also has the customer (personal account) on the debit side (in-effect affecting the control / summary account .i.e. Account receivables) and the ledger code for write-off on the credit side. This means that the ledger and sales sub-ledger are both updated at the same time. The selection of customer on the debit side is obvious as the write-off button was clicked from the invoice belonging to that customer. But where from the credit side of the journal .i.e. the write-off ledger code is selected??

This is selected from the setup done at the ‘Customer posting profile’ form.




The debit side account associated with the customer also comes from the customer posting profile.




The general journal can then be posted or submitted for approval if the workflow for general journal approval is created and activated for it.

Once the journal is posted, following are accounts that are affected.




Thanks
Sarang

Tuesday, May 17, 2016

'Ledger posting setup' and 'Project/group line properties'

Below mentioned are the steps that needs to be followed for configuring the ledger setup and line property setup against the project group and categories / category group.

Ledger posting setup

1.      Define the project group
a.      Assumption:
                                                    i.     Ledger posting search direction – Project
                                                   ii.     Line property search direction - Project
2.      Define the ledger codes on the project group, if you are certain.
(This will create following rules in ‘Ledger posting setup’:
-        “Group-Project group-All-BLANK -> Ledger code” rule)

       
3.      Get the list of categories
4.      Get the Chart of Accounts and analyse it well
5.      Define the basic rules of posting against the categories and category groups
(Configure the ledger codes against the categories. This will create following rule in ‘Ledger posting setup’:
-        “All-BLANK-Table-Category -> Ledger Code” rule AND
-        “All-BLANK-Group-Category group -> Ledger Code”)



6.      Define the override rules against the project group
(This will create following rule in ‘Ledger posting setup’:
-        “Group-Project group-Table-Category -> Ledger code” rule AND
-        “Group-Project group-Group-Category group -> Ledger code”)



 Project / group line properties

1.      Define the basic line properties initially, like ‘Billable’ and ‘Non-billable’.
-        Billable -> Chargeable, Accrue revenue and Capitalise cost = CHECKED
-        Non-Billable -> Chargeable, Accrue revenue and Capitalise cost = UN-CHECKED
2.      For all the overrides create new line properties and define the specific rules in the matrix, keeping in mind the search priority.
3.      Line property (Default line property) defined on the ‘Category’ and ‘Category group’ will create following entries in the ‘Project / group line properties’:

  
4.      Line property (Default line property) defined on the ‘Project group’ will create following entry in the ‘Project / group line properties’:



5.      Line property overrides will be defined directly in the ‘Project / group line properties’. This will give rise to following entries in ‘Project / group line properties’:



General points

1.      For the expense transactions specifically, ‘Default offset account for expenses’ needs to be setup.
2.      With all the steps above, the heart of project module, the ledger posting setup combined with line property could be setup. Make use of the ‘Line property’ setup (Capitalise cost checkbox) to maximise the use of the category, instead of creating specific categories for posting into P&L and BS.
3.      While following all the steps above make sure that the entire posting tie down to the solution that is crafted. Play the solution (accounting entries) in mind while configuring this setup in an excel sheet.
4.      Do not assume that the ‘Ledger posting setup’ will work as designed. Sometimes the setup does not work as expected and hence test each and every scenario in standard AX in your own VPC.

This post will be updated as and when some new insights are experienced while doing this setup in any future projects / assignments.

Thanks
Sarang

Project Adjustment feature - Research & Findings

1. Project adjustment functionality has two main aspects: a. to allow the users to select the new values for the attributes of the transactions to be adjusted. b. to allow the users to select the default values for the attributes of the transactions to be adjusted.

2. The screen that appears after clicking the 'Adjust' button, will give the option for the user to change to 'New' attributes for all the transactions selected for adjustment OR to pull the default values of the attributes from the setup for all the transactions selected for adjustment.

3. Once clicked OK, all the transactions selected for for adjustment will be affected / changed / edited, however they will be displayed individually in the lower pane of the adjustment form based on the transaction selected in the upper pane of the adjustment form. (That means the lower pane of the adjustment journal will always display one transaction, unless it is splitted.) << -- THIS IS CHANGED IN THE VERSION 10. THIS WAS THE BEHAVIOUR TILL VERSION 8.1.NOW LOWER PANE CAN DISPLAY THE ALL THE TRANSACTIONS FOR MULTIPLE TRANSACTIONS SELECTED IN THE UPPER PANE -->>

4. If you click the 'Post' button now, the adjustment will be posted ONLY for the transaction seen in the lower pane of the adjustment form. So if there are three transactions in the upper pane adjustment form, you will have to click the post button thrice and not once, as anyone would think. << -- THIS IS NOT THE CASE. MULTIPLE TRANSACTIONS CAN BE ADJUSTED ALL AT ONCE TOGETHER. I LOST A BET ON THIS WITH MY COLLEAGUE NAMED NICK RICHMOND. HE DEMONSTRATED THAT ADJUSTMENTS CAN BE MADE ON MULTIPLE TRANSACTIONS TOGETHER-->>

5. However if you have three transactions in the lower pane of the adjustment form on account of a split, then you will have to click the post button once ONLY and all the three lines in the lower pane of the adjustment pane will disappear from the form. The post button will always post one transaction  from the upper pane, at any given point in time. This one transaction in the upper pane can be linked to more than one transaction in the lower pane of the adjustment form.

6. Once the transactions are pulled up on the adjustment form and if the user has NOT done / selected anything on the intermediate form which asks the user to 'Split' OR change to new values OR select the default values, AND if the user wishes to now change the value of the attribute on the transaction, he can still do so by changing it manually in the lower pane of the adjustment form. After changing all the values, if the user feels like pulling it back from the default values, then user can make use of the 'Update' drop down and select what he wishes to do. The option selected in the 'Update' drop down will pull the default values for the selected attribute for that transaction.

7. If the user has forgotten to split the line from the intermediate form which asks the user to 'Split' (this form appears after the user clicks the 'Adjust' button') and if he now wishes to split it, then after the transactions are appearing in the adjustment form, user can select the transaction he wises to split in the lower pane and click 'File > New' and this will create a new line in the lower pane of the adjustment form, in which user can then fill / select the attributes.

This is the complete investigation and research findings of the adjustment feature in detail.

Thanks
Sarang

Monday, April 4, 2016

ELR (Effective Labor Rate) and its complexities


After i started working with the ELR concept i came across following complexities, which i thought i should just note down before i forget.

Split Week

If the ELR is turned on for an employee AND if the employee is entering the time-sheet wherein the time sheet period is split between two months (last week where 2 days are in one month and 3 days are in other month) AND the split week feature is turned on.

ELR behavior - ELR does the calculation separate for 2 days of the week in the previous month and 3 days of the week in the next month. The ELR calculation does not take into consideration the full week, as it takes for the other weeks, where the entire week lies in one month.

Example: 

ELR price setup in the Cost price setup = 100.

Last week of May 2016 is of Mon (30) and Tue (31). Time is entered for both the days. Cost price for this split week should be 1600 (8*100*2). As the time is entered for two days of the week, the cost price per day for the split week is 800 (8*100) per day and hence the ELR is 100 (1600/16).

First week of June 2016 is Wed (1), Thu (2) and Fri (3). Time is ONLY entered for Web and Thu. Cost price for this split week should be 2400 (8*100*3). As the time is entered for two days of the week out of 3, the cost price per day for the split week is 1200 (8*100*3/2) per day and hence the ELR is 150 [(2400 / 16) OR (1200 / 8).


Time-sheet period of 2 weeks (Bimonthly time-sheet .i.e. time-sheet every 2 weeks .i.e. 2 time-sheets per month) 

If ELR is setup for an employee and if the time-sheet period is of 2 weeks, then the ELR calculation takes into account the entire two weeks ( 10 working days of two weeks, instead of 5 working days of each week).

Example: 

ELR price setup in the Cost price setup = 100.

For week 1 of the 2 week time-sheet period, time is entered for Mon and Tue and for the week 2 of the 2 week time-sheet period, time is entered for Mon, Tue and Wed. In such a scenario the ELR calculation are as below:

8000 / 40 = 200 (ELR)

** 8000 comes from 8 hours per day * 10 days * GBP 100
** 40 comes from 5 days (2 days in first week and 3 days in second week)  of 8 hours booked.

However if this would not have been the case and if ELR would have behaved on a per week basis, then the calculation would have been as follows:

For first week:

4000 / 16 = 250 ((ELR)

** 4000 comes from 8 hours per day * 5 days * GBP 100
** 16 comes from 2 days of 8 hours booked for first week.

For second week:

4000 / 24 = 166.67 ((ELR)

** 4000 comes from 8 hours per day * 5 days * GBP 100
** 24 comes from 3 days of 8 hours booked for second week.

Working calendar 'Closed' days and ELR

For a working calendar, even if Saturday and Sunday are termed as closed, if the time is entered for those days, then ELR calculation takes into consideration that time and the ELR value is changed.

Example: 

ELR price setup in the Cost price setup = 100.

Time entered on Mon-Sat is 8 hours.

My expectation was that ELR will not take into consideration the time entered on Saturday and the ELR will be standard, 4000 / 40 = 100 (ELR)

However i was wrong and the calculation was like this:

4000 / 48 =  83.33 (ELR)

** 4000 comes from 8 hours per day * 5 days * GBP 100 (Numerator did not take into consideration the hours entered for Saturday)
** 48 comes from 6 days of 8 hours booked for week.

Thanks
Sarang

Wednesday, March 9, 2016

Posting Cost from Balance sheet to Profit & Loss in a project


There are three ways in which a cost posted to WIP account (Balance sheet) can be posted MANUALLY to actual Cost / Expense account (Profit & Loss). The three ways are as below:

1. Post Cost routine (Realization of cost)


  • Project expenses in the project group are set to post to 'Balance sheet'
  • Line property where 
    • 'Accrue Revenue' is unchecked and 
    • 'Capitalize cost' is checked

When the project expense of, say Travel, is posted for GBP 100, then the following transaction is posted to GL:


When the 'Post cost' routine is run manually and posted, the following transaction is posted, which clears the WIP and posts the cost to P&L.



2. Changing the Line Property via project adjustment (Write off cost, denied by client to be billed)


  • Project expenses in the project group are set to post to 'Balance sheet'
  • Line property 'Billable' where 
        • 'Chargeable' is checked
      • 'Accrue Revenue' is unchecked and 
      • 'Capitalize cost' is checked
  • New Line property 'Non-billable'
      • 'Chargeable' is unchecked
      • 'Accrue Revenue' is unchecked and 
      • 'Capitalize cost' is unchecked
Normally what would happen is, whenever these costs will be billed to customer, the cost portion will move to P&L (thus clearing the WIP) and there would be a separate entry to account for revenue and receivables.

However it so happened that client has asked us not to bill the expenses as they think they were not incurred for project. In such a case the cost would still need to be booked to the project but not billed to client. This can be achieved by changing the line property of the expense transaction via the project adjustment routine. The moment the line property for the transaction is changed the cost is moved from WIP to P&L and the Line Property is changed to Non-chargeable.

The core reason why the cost is moved from WIP to P&L is because the line property 'Non-billable' says that the cost should NOT be 'Capitalized' ('Capitalize cost' is unchecked).If the 'Non-billable' line property had 'Capitalize cost' also checked, then the transaction would have still have been in WIP account (Balance sheet) but would have been Non-Chargeable.

Hence after the adjustment, the cost still sits with the project (in the Cost of Sale PNL account) but the line property is now changed to  'Non-billable'. So in conclusion, the line property adjustment does two things effectively:


      • Move the cost from WIP to Cost of Sale
      • Change the line property from 'Billable' to  'Non-billable'.
Note - In adjusting the line property from 'Billable' to  'Non-billable', the main important thing is the manner in which the 'Non-billable' line property is setup. The 'Capitalize cost' in it should be unchecked.

3. Moving the project transaction to Internal project via project adjustment (Allocate the cost to internal project from a client project)


  • Project expenses in the project group are set to post to 'Balance sheet'
  • Line property where 
      • 'Accrue Revenue' is unchecked and 
      • 'Capitalize cost' is checked
This adjustment scenario occurs when you post a cost on to the project, which is initially posted to WIP. These costs could then be passed through to the client at the time of billing or could be recognized on to the project as cost of sale. However after you posted the cost on the project, during review of WIP, the project manager realizes that the cost are neither pass through nor are they related to the project to which they are posted. Hence he needs to move these costs to the internal project. For this the project manager then uses the project adjustment feature to move the cost from the client project to internal project. The accounting effect is still the same as mentioned above, with one difference. The difference is that the cost will be posted to appropriate 'Expense' account and NOT to the 'Cost of Sale' account.

Please refer to the example below:

Project 1




  • Project Group - Time and Materials
  • Ledger posting search priority - Project
  • Post cost (Expenses) - Balance 
Ledger posting setup for Cost is as below. Please refer to the Expense category of Copy.


Ledger posting setup for WIP Cost is as below.



Project 2




  • Project Group - Internal
  • Ledger posting search priority - Category
  • Post cost (Expenses) - Profit and Loss


Expense Journal Posted for Project 1 (where the ledger posting search priority is 'Project')

The postings are as follows:


Debit : 'WIP cost' posting is driven from the 'Ledger posting setup for WIP Cost'.
Credit : Credit posting is driven from the either the Employee vendor / Vendor if employee selected or from the 'Default offset account from expenses' setup.

Moving the project transaction from client project (Project 1) to internal project (Project 2) where the ledger posting search priority for project 2 is 'Category')

To move the transaction from the billable project to an internal project, project adjustment routine is run and the transaction is moved from Project 1 to Project 2. However after posting this, the cost will be posted to actual EXPENSE account and NOT to the COST of SALE account. This is because of the setup in the 'Ledger posting setup' screen for Category 'Copy' (refer to the screen shot above) AND the 'Ledger posting search priority' on the project group of project 2, which is 'Category'. 

The postings are as follows:



Debit : 'Cost expense' posting is driven from the 'Ledger posting setup for Cost'. (As the search direction on the internal project is Category, the actual expense account is selected and not the Cost of sale setup for project group)
Credit : Credit posting is driven by adjustment logic (and NOT by any setup), which reverses the WIP cost posting, as the correct CR posting is already done to the vendor A/P account from the original transaction.

Note - In moving the transaction from TNM to Internal, the main important thing is the 'Ledger posting search priority' (Category) on the Internal project group. If that is also same as the TNM project(.i.e. Project), then the costs will move into PNL upon adjustment but will be moved to Cost of Sale account and not to the actual Expense account (operating expense account).

Conclusion:

The postings in the Project modules are all dependent on following factors which are interlinked:
  • Project group settings:
      • Post costs  Balance sheet / Profit and Loss
      • Accrue revenue check-box
      • Ledger posting search priority
      • Line property search priority
  • Line property settings:
      • Chargeable
      • Accrue Revenue
      • Capitalize cost
  • Ledger posting setup (which works in conjunction with 'Ledger posting search priority')
  • Project / group line properties (which works in conjunction with 'Line property search priority')

Thanks
Sarang

Friday, March 4, 2016

PwP with respect Unit Price, Discount, Charges and VAT


Standard Behavior of Pay-when-Paid WRT to Unit Price, Discount, Charges and VAT

When the PO line has Discount and VAT AND the Project invoice has NO VAT
Supplier Invoice Section
Invoice Amount = Unit Price + /- Discount + VAT +/- Charges

Supplier Invoice Lines Section
Unit Price – Price for the Item / Service
Amount = Unit Price +/- Discount

Customer Invoice
Invoice amount = Invoice Amount = Unit Price + /- Discount + VAT

**There is no way on a project invoice that I can give ‘Charges’ on to it, if the project invoice only comprises of PO**
















When the PO line has Discount and VAT AND the Project invoice has VAT












See the second example below where the ‘Totals’ screen for the Supplier invoice shows all the elements.i.e. Line amount, Discount, Charges, VAT etc.

**Discount is not shown currently in the Totals form as I am accessing it after the invoice is posted. ** Please consider the discount to be 15%





















Related PwP form



This proves that: 

Supplier Invoice Section

Invoice Amount = Unit Price + /- Discount + VAT +/- Charges

Thanks
Sarang

Thursday, March 3, 2016

Effective Labor Rate (ELR)


ELR means Effective Labor Rate.

Consider an example below to understand the concept.

Employee Hourly Rate - GBP 100
Work Week - 5 days (Mon-Fri)
Daily Hours - 8 hours
Weekly Hours - 40 hours

Employee Rate (Without ELR)

A
Employee works for 8 hours, 5 days a week.

Employee Hourly Rate is = GBP 100

This equates to employee cost of = 8*5*100 = GBP 4000

B
Employee works for 8 hours, 3 days a week.

Employee Hourly Rate is = GBP 100

This equates to employee cost of = 8*3*100 = GBP 2400

Rate remains CONSTANT, Employee total cost VARIES based on number of hours worked.



Employee Rate (With ELR)

A
Employee works for 8 hours, 5 days a week.

Employee Hourly Rate / ELR is = GBP 100 (4000 / 40)

This equates to employee cost of = 8*5*100 = GBP 4000


B
Employee works for 8 hours, 3 days a week.

Employee Hourly Rate / ELR is = GBP 166.67 (4000 / 24)

This equates to employee cost of = 8*3*166.67 = GBP 4000

Rate VARIES, Employee total cost remains CONSTANT based on number of hours worked.

Hence the conclusion is, if the ELR is turned on, the Total Cost per week for the employee does not change, no matter whether the employee works one day or one hour in a week. Its the rate of the employee, that changes.

MOST IMPORTANT

>> ELR is looking at the calendar setup at the employee record on the 'Employment tab' and not at any other calendar setup on the employee.

>> ELR check-box on the 'Cost price' table is read-only and can only be checked when it is checked initially on the employee under 'Project setup'. Chronology of events is like this: You first setup ELR for the employee on the employee record under 'Project setup' and then define the rate for that employee in the 'Cost price' table. The moment you create a record in the cost price table and you select the employee for which the ELR is setup, the ELR check-box in the 'Cost price' table for that line is checked automatically.

>> While setting up the 'Working times' for Working time calendar (the ones which is selected on the worker record 'Employment' tab for ELR to work), user should always select the 'Working time template' or else the working times will be created with status 'Closed'.


Thanks
Sarang