Microsoft Dynamics AX Support

This blog contains posts by the Microsoft Dynamics AX Support Teams Worldwide

How Project Funding Allocation works with amounts that exceed Funding Limits

In AX 2012 R3 CU10, Project Management and Accounting allows the creation of Funding Limits and Funding Rules under the Project Contract. With these Limits and Rules, the system will try to allocate to these rules. However, if a Limit is reached, the rest of the allocations in that rule will be subjected to aspect ratio allocation. This blog will show how this works and why the system may run into allocation issues when posting transactions.

 

The Scenario: This example will be using the USMF data set under Legal Entity USSI. This example shows where it looks like it should be able to handle the amount asked to allocate, but fails.

  1. In USSI Legal Entity, navigate to Project Management and Accounting -> Common -> Projects -> Project Contracts.
  2. Click Project -> New -> Project Contract.
  3. Enter Test1 for Name.
  4. Select US_SI_0002 for Funding Source.

  1. Click Ok.
  2. In the Project Contracts form, expand the Funding Sources fast tab.
  3. Click Add.
  4. Select US_SI_0003 for Customer.
  5. Click Add.
  6. Select US_SI_0062 for Customer.

  1. Expand the Funding Limits fast tab.
  2. Click Add.
  3. Select Active Transport I for Funding Source.
  4. Enter 100 for Amount.
  5. Click Add.
  6. Select Alpine Ski House for Funding Source.
  7. Enter 500 for Amount.
  8. Click Add.
  9. Select Break and Gears for Funding Source.
  10. Enter 300 for Amount.

  1. Expand Funding Rules fast tab.

  1. With Priority 1 line selected, click Allocation.
  2. Change Active Transport 1’s Allocation Percent to 60.
  3. Click New.
  4. Select Alpine Ski House for Funding Source.

  1. Click Close.
  2. Back in the Project Contracts form under Funding Rules fast tab, click Add.
  3. Enter 2 for Priority.

  1. Click Allocation.
  2. Select Alpine Ski House for Funding Source.
  3. Enter 25.00 for Allocation Percent.
  4. Uncheck Rounding.
  5. Click New.
  6. Select Breaks and Gears for Funding Source.
  7. Make sure this line has Rounding checkmarked.

  1. Click Close.

  1. Back in the Project Contracts form, click Project Contract -> New -> Project.
  2. Enter Test1 for Project Name.
  3. Select TM_NoWIP for Project Group.

  1. Click Ok.
  2. In the Projects form, click Project -> Maintain -> Project Stage -> In process.

  1. Click Ok.

  1. Click Manage -> New -> Item Task -> Purchase Order.
  2. Select US_SI_000006 for Vendor Account.
  3. Expand General fast tab.
  4. Select MainOffice for Site.
  5. Select MainOffice for Warehouse.

  1. Click Ok.
  2. In the Purchase Order form under Purchase Order Lines fast tab, select ADVERTISING for Procurement Category.
  3. Enter 1.00 for Quantity.
  4. Select ea for Unit.
  5. Enter 900.00 for Unit Price.

  1. Expand Line Details fast tab.
  2. Click Setup tab.
  3. Delete HOURS from Item Sales Tax Group.
  4. Make sure Sales Tax Group is blank.

  1. Click Project tab.
  2. Delete the Sales Tax Group.
  3. Delete the Item Sales Tax Group.

  1. Press CTRL+S.

  1. Back under Purchase Order Lines fast tab, click Financials -> Distribute Amounts.

 

The error: “Revenue could not be allocated. Verify that funding rules have been set up to allocate the Revenue,” occurs.

The thought is there is only 900.00 for the line and there are three funding limits that will equal 900.00. Here is the breakdown
of the situation:

 

The situation has three funding limits that equal up to 900 to allocate, but with two rules that determine how the allocation will occur. Here
is lay out of what it is trying to do. First rule is run:

The system will split the amount according to the first rule giving us 540 to be allocated to Active Transport (Funding Source 1: F1) and 360 to
Alpine Ski House (Funding Source 2: F2).

Next it will try to Allocate:

So, now the problem of allocating the 540 to FL1. The system can only allocate up to 100 due to the limit. FL2 can pull in the full 360, but since
it cannot allocate the full amount to FL1, it will have to create an aspect ratio to keep the amount allocate equal to the limit of FL1:

The aspect ratio is 0.18~ of the amount of what can be allocate to FL1. So, the system will have to keep that ratio with FL2. It takes 0.18~ multiplied
by the amount looking to allocate of 360. This leaves 66.67 to allocate to FL2. After Pass One, these amounts
will be allocated:

This updates the amount left in all Funding Limits and then adjust the amount left to allocate:

Now the system has one more Rule to process, so it will go through Rule 2. It will take the remaining amount against the allocation rule in Rule2:

It will split the amount according to the second rule giving us 183.33 to be allocated to Alpine Ski House (Funding Source 2: F2) and 550 to
Breaks and Gears (Funding Source 3: F3).

Next it will try to Allocate:

So, it runs into the problem of allocating the 550 to FL3. It can only allocate up to 300 due to the limit. FL2 can pull in the full 183.33,
but since it cannot allocate the full amount to FL3, it will have to create an aspect ratio to keep the amount allocate equal to the limit
of FL3:

The aspect ratio is 0.54~ of the amount of what it can allocate to FL3. So, it has to keep that ratio with FL2. So, it will take 0.54~ multiplied
by the amount looking to allocate of 183.33. This leaves 100.00 to allocate to FL2. After Pass Two, it will have these amounts
allocated:

This updates the amount it has left in all Funding Limits and then adjust the amount left to allocate:

Since there are no further rules to run and there is left over revenue to allocate, it will throw the error in the above scenario.

In conclusion, when created Allocation Rules along with Funding Limits, take into consideration that if the amount needed
to allocate in the rule will be more than the amount the Funding Limit can take, it will take an aspect ratio to keep the allocation the
same across all funding sources. Please keep this in consideration when making rules and limits for Project Contracts.