SBX - Search With Button

SBX - Forum Post Title

Expense Estimates on a Project

Dynamics 365 for Project Service Automation

Suresh_Satti asked a question on 4 Jan 2019 4:30 AM

Question Status

Verified

Hello All,

I'm trying to implement PSA in a event management scenario. Where in a lot of expenses (non-resource expenses) have to be tracked and also as the event manager moves the project along he/she would like to have a way to make adjustments to these expenses and if the adjustments result in a reduced dollar value, then the event manager would like to identify these adjustments as savings which he can present to customer to show the advantage the customer got. Along with this, the event manager would also like to track any major change in over all cost of the project, example once a contract is confirmed the customer would like to add an extra requirement that would increase the cost. Then this increase in cost needs to be tracked along with a process that allows this change to go through an approval flow.

My first thought about some parts of the requirements described above is to implement a custom solution for tracking changes to project contract.

Has anyone implemented such a situation before? If yes please share your thoughts about the possible ways to change project contacts and track the changes.

Also about the part where expenses are tracked that are not related to a bookable resource then how can an actual be entered? The actual that is entered should tie back to the Expense Estimate line on project. Example, if add a task for booking a venue, then i would add expense estimate line for that task and this line item should be related to the actuals that are being entered. Problem is Expense entries are always tied to Project and not to task and also i am guessing, all expenses are treated as resource specific.

PS: Sorry about the long question, I tried to give high level details of requirement that i am trying to implement, in case if something is unclear please feel free to highlight it.

Thank you

Reply
Antti Pajunen responded on 4 Jan 2019 9:45 AM
Suggested Answer

Hi .

Really good questions. I've been in a number of PSA projects for event management - your questions sound familiar. I think what's really important is expectation management. PSA is an OK fit for event management but we have to remember that it's an application. Not a platform. Customers need to make compromises when implementing PSA in an event management business. Especially when it comes to materials.

There's really no definite answer to your questions but I'd start by clearly separating Project and Project Contract. Your Project is the place for work done and the Project Contract is the place for financial data and financial information. I would start by defining if financial figures are wanted when looking at projects, project contracts or is analysis done on Power BI. You very likely will need an analytics tool like Power BI at some point so consider how you want to view performance indicators. "Heavy" reporting investment is needed in every single PSA project as PSA really has nothing OOTB when it comes to financial and project reporting.

I am a fan of using the Project Contract as the window through which financial figures are viewed. I don't really use Expense Estimates (Estimate Line entity) on Project as that is meant as a high level overview. But that's just me. Instead, I prefer to follow Actuals because they are the source of truth.

Cost is a bit of an inconvenience in PSA projects and I always hope customers don't want to follow it :) This is because we have to play around with Expense Entries to log cost for Milestones and those Project Tasks are problematic OOTB. That being said, you can log cost by using Materials OR by using Expense Entries. Materials is a "dangerous" approach as in event management, Materials are pretty much always needed for what they are - materials. This may limit you in the future. Also Materials are not associated to a Project Task.

In my opinion, Expense Entries are the way to go. Unfortunately, OOTB, you can't pinpoint them on a task like you stated, so to get an Expense Entry associated to a Project Task and to an Estimate Line, some code is needed. If they can't be Resource specific, create separate Bookable Resource(s) that will be the resource(s) in question for the Expense Entries.

As V3 is missing contract progress indicators on Project Contracts, rolling up Actuals on Project Contact comes into question in pretty much every new V3 PSA project. Consider how you want to use Project Contract Line Details vs rolled up Actuals. You can always tie a Project Contract Line Detail to a Project Task with code and then sync the cost if that's the way you want to go. Or just roll up costs on a Project Contract s a whole.

I hope this gives you some ideas. Let me know if I can help you further.

Reply
Suresh_Satti responded on 7 Jan 2019 9:09 PM

Hello Antti,

Thank you for your quick response. The challenge that we are facing is trying to get the financials defined on quote in a template fashion, meaning i will have a certain estimates for a generalized event category. As a project manager i will simply select that template to get the financial estimates and then modify the estimate details on quote as needed. Since project template can be useful in such a scenario, i can have high level estimates on the project template, use the template while creating project when adding quote lines and then import the quote line details from the project itself. This is the reason why i had to use Expense Estimates on project, please help if there is a better way to do this.

When i used Expense Estimates and created a quote that got quote line details imported from the associated Project, i am unable to see the price field on the quote line getting populated, any idea why isnt it working? I have defined the transaction categories associated to the Expense Estimate as "at-cost" on the price list.

And one other thing that i am not able to decode is about expense entries, as suggested by you, if i have to make an expense entry which non-resource based then i can use a generic user and add expense entries. On the expense entries i have defined an expense category that ties back to the transaction category defined on the expense estimates. What i envision is, the expense entries can be rolled up to the transaction category on expense estimates and there should be a way to see these rollup values on project, but i am unable to see it under tracking tab and the actual that gets generated from the expense entry dosent have Expense Category on it, hence it gets difficult to link the expense back to expense estimate.

Sorry about the long description, i am trying to describe my requirement in as much detail as possible.

Reply
Antti Pajunen responded on 16 Jan 2019 3:40 PM
Suggested Answer

Hi again. Sorry for the delay in reply.

Easiest way to get the estimates is by importing them just like you're doing. About the price field not populating. Do you mean the Price column which in the below photo has 20 € on the 1st line? That's an Expense Estimate from the related Project. You should be able to see its sales price (defined on the project) as well as its cost price (if you have a subgrid that is filtered based on cost, not sales).

About Actuals. They show the related Transaction Category as seen in the below photo.

To roll up Expense Entries like you described, you would have to use code. It might be possible with Flow, but I can't say for sure without thinking about this in more detail and testing it out. A plug-in would be the simplest solution.

Reply
Suresh_Satti responded on 18 Jan 2019 7:34 AM

Thank you Antti,

My question about actuals is answered now.

About the, expense estimates, yes the first line in your example which is for 20 € is not getting populated. Please see the below details which might give a better explanation about the issue.

1. I have defined an Expense Estimate on Project Template. On the template i can only fill in quantity and Unit Cost price.

2. I create a project from the quote using the above template.

3. Once the Project Record gets created i tried importing the expense lines to the quote and the amount field came in with 0 value.

I created a Microsoft Support ticket for this and the support guy said that if the Unit Sales Price is not populated then the import will not work. My concern is, i cannot fill in the Unit Sales Price field, my guess is that when the real project record gets created using the project template, the transaction category to which the expense estimate is tied to will provide the sales price from the price list that was associated with the the quote from where we created the project.

Hope i am not confusing you here, please let me know if you need more details.

And thank you for your time in answering my question

Reply
Antti Pajunen responded on 20 Jan 2019 10:42 AM

I've been working on a Flow for you to update Estimate Lines. I'll circle back in a day or two with more info and answers :)

Reply
Suresh_Satti responded on 22 Jan 2019 5:41 AM

Thank you very much Antti! Appreciate your time in helping me through this :)

Reply
Antti Pajunen responded on 22 Jan 2019 3:09 PM
Verified Answer

Ok, Suresh_Satti, I went through your latest reply.

If you have a sales price on an Estimate Line but it is NOT being pulled on a Quote Line/Order Line's Quote Line Details/Project Contract Line Details, you should have a bug in your hands. However in your case, a Project record's Estimate Lines do not have a sales price as the sales price field can't be set on a Project Template. This is why the sales price is 0 when creating a new Project and subsequently when importing project estimates to a Quote/Project Contract.

Estimate Lines are only a high level estimate of what expenses may incur on a project. They have no direct link to a Quote or a Project Contract or the price lists defined for those records. A Quote or a Project Contract will, thus, not populate values on Estimate Lines. You have to manually enter the sales prices on your Project record and after that you can import project estimates to a Quote/Project Contract.

It should be possible to do the following with a plug-in and this should also work with Flow. What I've written below is a rough process so fine tuning may be required. So with code of Flow:

- Create Quote/Order.

- Create your Quote Lines/Order Lines.

- Create a Project from a template.

- Fetch all Estimate Lines related to the Project.

- Associate the project to the Quote Line/Order Line.

- Fetch all Transaction Categories from the Price List that is related to the Quote/Order.

- If a Transaction Category fetched from the Price List matches a Transaction Category on Estimate Lines related to your Project, update the Unbilled Sales Estimate Line with price from Price List.

This is the initial idea I have so this might not be perfect and probably needs tuning. If I come up with a better idea, I'll let you know.

Remember that you can have several Estimate Lines for a Project Task with each EL having the same Transaction Category. This makes updating ELs with code or Flow a bit tricky.

I have a Flow ready that updates ELs when an Expense Entry is approved. I'm trying to get the Flow to properly create new ELs but they're not rendering on Expense Estimates properly. I need a week or so to perfect the Flow due to other commitments but I'll circle back when I feel it's ready for the Community.

Reply
Suresh_Satti responded on 23 Jan 2019 11:09 AM

As always, thank you very much for all your efforts and commitment in answering our questions and going above and beyond to even build solutions! True MVP!!!

Yes, the requirement that i am working is tricky and the reason why i need to get ELs on quotes (even though they dont have direct link) is to build a quote itself. Since quotes do not have a provision of using a template i though of using project templates and then use ELs to build my quote amount. In my requirement PSA will be serving various kinds of events each of which have their own budgeting format and the budget has a lot of specific break-ups. For anyone to manually update that is a challenging task.

Reply
Antti Pajunen responded on 22 Jan 2019 3:09 PM
Verified Answer

Ok, Suresh_Satti, I went through your latest reply.

If you have a sales price on an Estimate Line but it is NOT being pulled on a Quote Line/Order Line's Quote Line Details/Project Contract Line Details, you should have a bug in your hands. However in your case, a Project record's Estimate Lines do not have a sales price as the sales price field can't be set on a Project Template. This is why the sales price is 0 when creating a new Project and subsequently when importing project estimates to a Quote/Project Contract.

Estimate Lines are only a high level estimate of what expenses may incur on a project. They have no direct link to a Quote or a Project Contract or the price lists defined for those records. A Quote or a Project Contract will, thus, not populate values on Estimate Lines. You have to manually enter the sales prices on your Project record and after that you can import project estimates to a Quote/Project Contract.

It should be possible to do the following with a plug-in and this should also work with Flow. What I've written below is a rough process so fine tuning may be required. So with code of Flow:

- Create Quote/Order.

- Create your Quote Lines/Order Lines.

- Create a Project from a template.

- Fetch all Estimate Lines related to the Project.

- Associate the project to the Quote Line/Order Line.

- Fetch all Transaction Categories from the Price List that is related to the Quote/Order.

- If a Transaction Category fetched from the Price List matches a Transaction Category on Estimate Lines related to your Project, update the Unbilled Sales Estimate Line with price from Price List.

This is the initial idea I have so this might not be perfect and probably needs tuning. If I come up with a better idea, I'll let you know.

Remember that you can have several Estimate Lines for a Project Task with each EL having the same Transaction Category. This makes updating ELs with code or Flow a bit tricky.

I have a Flow ready that updates ELs when an Expense Entry is approved. I'm trying to get the Flow to properly create new ELs but they're not rendering on Expense Estimates properly. I need a week or so to perfect the Flow due to other commitments but I'll circle back when I feel it's ready for the Community.

Reply
Antti Pajunen responded on 4 Jan 2019 9:45 AM
Suggested Answer

Hi .

Really good questions. I've been in a number of PSA projects for event management - your questions sound familiar. I think what's really important is expectation management. PSA is an OK fit for event management but we have to remember that it's an application. Not a platform. Customers need to make compromises when implementing PSA in an event management business. Especially when it comes to materials.

There's really no definite answer to your questions but I'd start by clearly separating Project and Project Contract. Your Project is the place for work done and the Project Contract is the place for financial data and financial information. I would start by defining if financial figures are wanted when looking at projects, project contracts or is analysis done on Power BI. You very likely will need an analytics tool like Power BI at some point so consider how you want to view performance indicators. "Heavy" reporting investment is needed in every single PSA project as PSA really has nothing OOTB when it comes to financial and project reporting.

I am a fan of using the Project Contract as the window through which financial figures are viewed. I don't really use Expense Estimates (Estimate Line entity) on Project as that is meant as a high level overview. But that's just me. Instead, I prefer to follow Actuals because they are the source of truth.

Cost is a bit of an inconvenience in PSA projects and I always hope customers don't want to follow it :) This is because we have to play around with Expense Entries to log cost for Milestones and those Project Tasks are problematic OOTB. That being said, you can log cost by using Materials OR by using Expense Entries. Materials is a "dangerous" approach as in event management, Materials are pretty much always needed for what they are - materials. This may limit you in the future. Also Materials are not associated to a Project Task.

In my opinion, Expense Entries are the way to go. Unfortunately, OOTB, you can't pinpoint them on a task like you stated, so to get an Expense Entry associated to a Project Task and to an Estimate Line, some code is needed. If they can't be Resource specific, create separate Bookable Resource(s) that will be the resource(s) in question for the Expense Entries.

As V3 is missing contract progress indicators on Project Contracts, rolling up Actuals on Project Contact comes into question in pretty much every new V3 PSA project. Consider how you want to use Project Contract Line Details vs rolled up Actuals. You can always tie a Project Contract Line Detail to a Project Task with code and then sync the cost if that's the way you want to go. Or just roll up costs on a Project Contract s a whole.

I hope this gives you some ideas. Let me know if I can help you further.

Reply
Antti Pajunen responded on 16 Jan 2019 3:40 PM
Suggested Answer

Hi again. Sorry for the delay in reply.

Easiest way to get the estimates is by importing them just like you're doing. About the price field not populating. Do you mean the Price column which in the below photo has 20 € on the 1st line? That's an Expense Estimate from the related Project. You should be able to see its sales price (defined on the project) as well as its cost price (if you have a subgrid that is filtered based on cost, not sales).

About Actuals. They show the related Transaction Category as seen in the below photo.

To roll up Expense Entries like you described, you would have to use code. It might be possible with Flow, but I can't say for sure without thinking about this in more detail and testing it out. A plug-in would be the simplest solution.

Reply

SBX - Two Col Forum

SBX - Migrated JS