Budget Monitoring (3 of 3) – Project Costing – a worked example

Last Updated on November 10, 2023 by maximosecrets

The following pages will show you how to create a new focal point which can be used for CAPEX budgets based on the Cost Management application’s records. 

Creating the Focal Point and Rule Associations

The Cost Management application is used for managing project costs, particularly where there is a project ledger in a finance system. It contains a set of records that allow a work breakdown structure to be created although in many cases this might be two levels, project and task. It is based on a single object/table called FINCNTRL with a unique key of ORGID, FINCNTRLID. The attribute FINCNTRLID exists on many of the financial transaction records in Maximo; WorkOrder, LabTrans, MatUseTrans, ServRecTrans, MatRecTrans, ToolTrans, PRLine, POLine, etc. You will see the attribute FINCNTRLID where you typically will find the GLDEBITACCT attribute. However, the field is hidden and you will need to unhide it where you need to make reference to it, particularly in the Work Order Tracking application. 

You usually associate a work order with a particular project+task record and its FINCNTRLID will be copied though to all the financial transactions records that flow from the work order. Out of the box there is no Budget Monitoring focal point for this attribute. This worked example, will show how we can handle budget monitoring for project costs based on the Cost Management application.

Using the Manage Focal Points action we can create a new focal point based on object FINCNTRL and attribute FINCNTRLID. The condition field is optional. As each budget will be specific to a particular project, a default condition for the focal point is not merited. 

You will get a message to say that there are missing associations for the focal point, do you want to fix them. 

Answering Yes, you come to the Fix associations dialog where for each of the 53 budget rules you need to click on the Missing Focal Point in the bottom right table window. When you click on the hyperlink it will add it to the bottom left table window which is specific to a budget rule and condition. You need to repeat this 53 times, which seems a lot of effort, but you will rarely add a new focal point. The picture I have shown is the last association for me to fix.

We can now create our Budget Monitoring record using the new focal point, and adding the condition to the specific project, ABC in this case. Note. It is a SQL expression and not a Maximo object expression and so if your focal point has a condition the colons in front of objects and attributes need to be removed. 

When we use the action Generate Budget Lines, we end up with one budget line for each of the project’s tasks.

If you now use the Manage Rules action and pick any rule you should see that the new focal point has been associated with the rule.

Depending on the type of focal point, this might be all you need to do, apart from testing. As the FINCNTRLID is on all the same tables as GLDEBITACCT it follows that the same conditions used for GLDEBITACCT should apply. However, testing is not a small activity as to test properly you need to make sure you are testing all of the fields which are calculated.

I have added a Project Task field to the Work Order Tracking application, below GL Account and have assigned the identifier for the Analysis task of project ABC, the task with FINCNTRLID=1004.

On the Plans tab of Work Order Tracking I have added a work plan labor record for a craft of ELECT-FIRSTCLASS with a requirement for 4 hours equating to a line cost of 88.00.

On the Budget Monitoring application, I have approved the budget and then used the Update Budget Lines action and you can see that the “Analysis” budget line is being calculated and has an estimated total cost of 88.00.

Testing the new focal point based on Cost Management

The Budget Monitoring application allows you to create new focal points (axis) and to associate these with the budget rules in the object/table BUDGETRULEASSOC. We have just shown how to create a focal point based on the Cost Management application that uses the FINCNTRL object and attribute FINCNTRLID. It was quite easy to do. However, significant testing is involved to test all the calculations for each attribute (24 of them) and each of the 53 rules. The following section will give an example of a set of tests that you can follow. This is only a subset of tests that you will need to do if embarking on using Budget Monitoring. 

First create a budget record for your project, create the budget lines and add budget values to each of the fields in the first column (I forgot to do this, hence why there are no percentage values in the pictures that follow, but I corrected this for the last screen shot at the end). You need to create a new work order and associate it with the project task (FINCNTRLID). The reported date should be within the year or financial period in which you have the budget record.

  1. Create a work plan labor record against craft = ELECT, skill level = FIRSTCLASS, quantity=1, regular hours = 4, rate = 22.00, line cost = 88.00
  2. Create a work plan labor record against craft = ELECT, skill level = APPRENTICE, quantity=1, regular hours = 6, vendor = CMC, rate = 20.00, line cost = 120.00
  3. Create a work plan material record against item = 11453, storeroom = CENTRAL, quantity=2, unit cost = 130.45 line cost = 260.90 (PS. It will be easier to choose a NOLOT item !)
  4. Create a work plan material record against MATERIAL line type, description = “Specialist material – direct issue”, order unit = EACH, quantity=1, unit cost = 39.10, line cost = 39.10
  5. Create a work plan service record against SERVICE line type, description = “Specialist Services”, order unit = EACH, quantity=1, unit cost = 75.80, line cost = 75.80
  6. Create a work plan tool record against item = FORK, work hours = 8, quantity=1, unit rate = 2.40, line cost = 19.20, reservation required = 1, storeroom = GARAGE
  7. Use action View Costs to check total cost = 603.00. Each of the current estimate fields should have a value against them.
  8. On Budget Monitoring, use action Update Budget Lines. In the details section for the project task selected on the work order you should have the same values for each field as you have on View Costs.
  1. Duplicate the work order and save, it will duplicate all of the estimates on the Plans tab.
  2. On Budget Monitoring, use action Update Budget Lines. In the details section for the project task selected on the work order you should have double the values for each field as you previously had.
  1. Now go back to the second work order created by the duplication and change status to CAN (cancelled).
  2. On Budget Monitoring, use action Update Budget Lines. In the details section for the project task selected on the work order you should be back with the same values for each field as you originally had and a total of 603.00.
  1. On the original work order, now change status to APPR (approved).
  2. On Budget Monitoring, use action Update Budget Lines. In the details section for the project task selected on the work order you should be back with the same values for each field as you originally had with the exception of direct purchased materials and services which will have a zero commitment until their PO’s are approved. The total should be of 488.10.
  1. In Inventory application use action Reorder Direct Issue Itms/Svcs, you can use Preview button to see the specialist material and service lines. Use the Run Reorder button, but not in background mode. You will see that a PR and then PO will be created, in my case PR = 1042 which is at CLOSE state and PO = 1124 which is at WAPPR state.
  2. On Budget Monitoring, use action Update Budget Lines. In the details section for the project task selected on the work order there should be no change to what you previously saw with a total of 488.10.
  3. Go back to PO = 1124 and add Vendor = ATI. On each PO Line complete the GL Debit Account, then change status to APPR (approved).
  4. On Budget Monitoring, use action Update Budget Lines. In the details section for the project task selected on the work order we would now expect the estimate and commitment values to be identical with a total commitment of 603.00. The Estimate for Direct Material and Service is not being calculated correctly as they have gone to zero.
  1. On Work Order Tracking Actual Labor tab use Select Planned Labor and select the internal craft requirement. Enter labor = HORN a Start Time = 08:00 and an End Time = 12:00 (assuming you are in the afternoon), line cost = 88.00.
  2. On Work Order Tracking Actual Labor tab use New Row and select labor = HUNTER, who is craft = ELECT, skill level = FIRSTCLASS, outside = 1, vendor = CMC. Enter a Start Time = 08:00 and an End Time = 14:00 for a duration of 6 hours (assuming you are in the afternoon). Select Premium Pay Code = OT1, Premium Pay Hours = 2:00,  line cost = 265.50 (more than estimate and commitment).
  3. On Budget Monitoring, use action Update Budget Lines. In the details section for the project task selected on the work order we have an Internal Labor Amount of 88.00 and actual labor hours of 4:00. The Outside Labor Amount is 265.50 and regular hours is 6 hours. It has not taken into account that the outside labor is not approved.
  1. Go to Labor Reporting application, find HUNTER and use Approve Labor action for the 6+2 hours entered. Then go to Work Order Tracking and use action View Costs to see that there are 8 hours of actual External Labor Hours.
  1. On Budget Monitoring, use action Update Budget Lines. In the details section for the project task selected on the work order we have actual internal labor hours of 4:00 and actual outside labor hours of 6:00. It has not taken into account that the outside labor has overtime hours that should be included as the costs for these hours have been included.
  2. In Receiving application find PO = 1124 and use Select Ordered Services on both the Materials tab and then the Services tab. Receipts field should now be marked as COMPLETE.
  3. On Budget Monitoring, use action Update Budget Lines. In the details section for the project task selected on the work order we have actual direct material amount of 39.10 equal to the commitment and an actual service amount of 75.80 equal to its commitment.
  1. On Inventory application for Item 11453 in Central storeroom increase the expiration date of the lotted item to a future date (I shouldn’t have chosen a lotted item).
  2. On Work Order Tracking application select the original work order and on Actual Tools tab use Select Planned Tools and select the Fork for 8 hours. On Actual Materials tab use Select Reserved Items and select the seal item 11453.
  3. Use action View Costs. The Material, Service and Tool actual costs should be the same as the Estimate.
  4. On Budget Monitoring, use action Update Budget Lines. In the details section for the project task selected on the work order we have actual shared material amount of 75.80 equal to the commitment and an actual tool amount of 19.20 equal to its commitment.
  1. On Invoice application create a new invoice, select PO (1124) and enter an invoice amount of 120.00 net (not the same as you received). On the Lines tab use Copy PO Lines button and select both PO lines. For the services, change unit cost to 77.00 and for the material direct issue line set unit cost to 43.00.
  2. On Budget Monitoring, use action Update Budget Lines. There will be no change to the total of 748.50 because MATRECTRANS and SERVRECTRANS records for the invoice do not get written until the invoice is approved.
  3. On Invoice application find the invoice for the PO and change status to APPR (approved).
  4. On Budget Monitoring, use action Update Budget Lines. The total of 753.60 reflects the increased direct material cost to 43.00 from 39.10 (increase of 3.90) and for service cost to 77.00 from 75.80 (increase of 1.20). A total increase of 5.10.

The result of testing the Cost Management Focal Point

I duplicated the Budget and this time added some budget amounts before approving the budget. After using the Update Budget Lines action we have the following result.

The details section of the Analysis budget line of the Cost Management Project/Task (FINCNTRLID=1004) now shows the totals but with the % Committed and Actual/Budget costs columns calculated. The estimated costs is showing an issue with the Direct Material and Service amounts.

Budget Details Report

There are four pages to the budget details report – all four are shown below for the same budget record.

4 responses to “Budget Monitoring (3 of 3) – Project Costing – a worked example”

  1. Scott Smith avatar
    Scott Smith

    Outstanding Overview – we are having performance issues with a multi-site system. Do you know of any performance tuning, e.g. indexed fields…

    1. maximosecrets avatar

      Hi Scott,

      My best advice is to engage someone locally on performance issues in Maximo. There are just too many permutations to look at from data volumes, security, exact processes where you are experiencing most issues. The most common fault areas are Start Centers and Change Status. Start Centers which are aiming to do more than they were designed for or where query forces a full table scan to be effective. Status because in order to correct the Start Center issue too many indexes have been created with the status column in it. All of those indexes have to be updated when you change status.

      I have spent more than a year just on performance, but I am UK based. There were nearly 25 million work orders. There were more than 10 work order indexes involving the status column and each of those indexes was >1GB, that is a lot of disk shuffling every time you update a status. You can use the WorkView on the Start Center when you are likely to hit a large number of records either SR or Work Order. The WorkView gives a much better performance several times more so, because it is a small table, even if it does a full table scan it will be quicker than for WORKORDER. It was actually designed partly to help address performance issues, but that message never got out, so Maximo consultants never used it. It is actually one of my interview questions – what’s the point of it, less than 1 in 10, 10+ year experienced consultants will know, many have not even heard of it.

      What I found, was that in order to correct the performance issue I found that the implementation had been designed in a way where for 5 years plus there were no problems, but eventually it was going to lead to performance issues, and so after 15 or more years it needed a major correction. One of the big root causes was Security Data Restrictions that used a subquery, totally unnecessary but it required a total reworking of security – with 500 concurrent users running 24 hours a day, that was not at the top of the list of projects.

      The other big issue is very basic – a lot of the poor running queries and relationships had not joined correctly between two site based tables, instead of siteid = siteid, someone had written siteid = siteid and orgid = orgid, totally unnecessary and was the single biggest cause of forcing a full table scan of tables.

      Therefore, it probably isn’t going to be a 5 minute job, and sometimes you just have to go and sit by someone to see exactly what they are doing, not always, but people are generally not good at describing exactly what they are doing. You need someone local who has done performance work in Maximo before, preferably with > 15million records, they will then know what to look for.

      By the way this isn’t a Maximo problem, I would suspect that it is a common problem of most database systems that grew their data over time. No doubt you have rebuilt your indexes recently, if not that would be step 1.

      Good luck and regards

      Andrew

  2. Amir S. Anwar avatar
    Amir S. Anwar

    Hi Andrew , thanks for the effort. I was wondering what would be the case if budget needs to be revised?

    1. maximosecrets avatar

      Hi Amir – When I tested this 18 months ago Budgets once they reach APPR state can only go to CLOSED state and the Budgeted amount becomes read-only. What the Budget Monitoring application really needs is functionality to support Budget revisions. I would suggest creating an idea (RFE) for this. I checked and couldn’t find anything associated with Budgets, but it would be a useful enhancement that most clients would want.

Leave a Reply


Discover more from Maximo Secrets

Subscribe now to keep reading and get access to the full archive.

Continue reading