This post is part of a series I’m creating connected with Project Service Automation (PSA) for Microsoft Dynamics 365. This time I will consider invoicing.
I read an article about how to write a good blog post recently! One tip was to make your blog posts like “miniskirts”. Short enough to be interesting yet long enough to cover the subject. Invoicing is an involved subject, I will therefore try to follow this tip by breaking this post into two sections. This first part will cover the building blocks involved in invoicing and the role of the project contract. The second will explain how to actually create, amend and send the invoices.
Invoicing the customer is obviously a very important step. In several posts, already I have been mentioning several important items that will contribute to the make-up of an invoice.
Right from the opportunity stage we defined price lists. These were for cost prices and sales prices. It is the sales prices lists that will ultimately drive the price shown on the invoice. But also cost prices are important as these will be used to calculate the actual profitability of our project / project contract.
As the opportunity progressed to the quotation stage we will have started to add line details. And ultimately this line detail ends up as attributes of our project contract. Additionally, in our project contract we have defined the tentative invoice schedule. Which has been used to generate billing milestones.
The table below provides links to some of the posts I have previously created which describe the details I have just mentioned in greater detail;
|Opportunities||In this post, I explain the role of the opportunity entity in a PSA project and also how it relates to cost and sales price lists.|
|Quotes (High Level Estimates)||A description of how quotes are created from opportunities. And also, how quote lines are used to enter the customer budget and then how details can be associated to build a high-level estimate.|
|Quotes (Estimates Projects)||How to create a project to build a detailed estimate.|
|Project Contract||A description of how we create a project contract from a quotation and progress the draft contract to a confirmed contract.|
|Cost Price Lists||An explanation of cost price lists in PSA. (Including organizational units.)|
|Sales Price Lists||An explanation of sales price lists in PSA.|
|Quantity Factors||Quantity factors can be used in the product catalog to define properties that impact the total quantity.|
Project Contract – Overview
As we have seen, confirming / winning a quotation will create a project contract. (Or order). The project contract will include project-based lines and product-based lines.
Product based lines will simply be for any products associated with this order. These maybe software licenses or any hardware required to deliver the project.
Project based lines can be for time spent on the project or expenses. It is important to consider the billing method on these lines.
Fixed Price Billing Method – These project-based items will have billing milestones. Essentially this total is spread across the billing milestones according to the associated billing schedule. You can see the invoice schedule that will have been created when the contract was created by opening a fixed price contract line item. (Notice that currently my items have a status of “not ready for invoicing”. I will show how to mark the items as being ready for billing and to generate the invoice in my next post!
Time and Material Billing Method – Project lines with a time and material billing method will be charged according to actuals recorded against the project. This will be as a result of resources entering time entries and the project manager approving the entries. No actuals are created for billing until the project manager has approved the time entries submitted by resources. Notice the invoice schedule for time and materials lines has no value. Also note that currently my line detail is showing that invoicing has not been run. As already mentioned I will describe how to generate, alter and confirm the invoices in my next post!
When reviewing a project contract line that has a billing method of time and materials, you may find it useful to navigation to the charability view. As this will tell you the sales prices and associated cost prices for all of the resources on your project.
Project Work Breakdown Structure / Estimates View
All of the details mentioned on the project contract can also be viewed in the context of the project by opening the project estimates view on the project. My project work breakdown structure will have defined all of the tasks and associated resources. Their sales prices and cost prices can be views at a task level by examining the project estimates view from with the project.
Organisational Units and Price Lists
Before looking at how to generate an invoice, reviewing some detail on how organisational units might impact the cost and sales prices might be beneficial. Whenever time is recorded against the project the price must be found. In many projects the project and all resources will be from the same organisational unit. This would happen, for example, on a UK project making use of only UK based resources.
But sometimes life won’t be that simple! We might have a UK based project that makes use of on-shore (UK) resources and off-shore resources from another organizational unit. Say India. The UK resources will have different cost and sales prices to the resources from India. Also as invoices are generated I may need transactions to reflect any inter-company cross charging that needs to be applied. Meaning the resources from other organisational units will have a cost to the project but also a local resource cost and a “sales” cost from their owning unit to the projects organisational unit.
This complexity means a couple of things, firstly when you review prices on the project you need to consider the resources role, projects price list and organisational unit. As these parameters, together will drive the sales price.
Secondly, as invoices are created we will see some additional actual transactions created to allow for inter-organisational concerns. Meaning actuals with a transaction type of “Inter-Organisational Sales” and “Resourcing Unit Cost” will exist. Whilst these don’t directly impact the invoice sent to the customer these could be used for any internal “invoicing” / cross charging of resources. In my on shore / off shore example, India would “sell” the resources to the UK at an agreed cost. This will generate an inter-organisational sale. There will also be a second transaction to reflect the cost of the resource in their own organisational unit. This will be the “Resource Unit Cost” and maybe in the local currency of the organisaiotnal unit supplying the resource. So in my example, this transaction might be in rupees.
From the project contact we can view all actual transactions on the project. As already mentioned actuals are created as expense and time entries are approved by the project manager. Initially these costs will show as un-billed and will change to billed after the invoice has been created. You should be aware that you will only see un-billed actuals for the time and material line items. As fixed price items, will be billing simply according to the billing milestones. However you should note that costs on fixed priced items will still show in actuals.
Below you can see the costs and unbilled actual transactions. You will find this view on the navigation of the project contract entity. Notice that I have a mixture of cost and unbilled items. Against the project contract we will see (at this point) all of the time and material items that correspond to the project. Fixed price expenses will get billed when we generate the invoices.
Tip: If you review the actuals view against the project you will still see actuals costs from fixed price items against the project. As these will still impact the projects profitability.
In my example below all of my items have a billing type of chargeable. If you have an non-chargeable resource they still show in the actuals. This is because even non-chargeable resources will result in costs that will be attributed to the project / project contract. The non-chargeable items will also show on the invoice. Although these will not get added into the invoice total.
Also, notice that I have a mistake! When creating my cost and sales price lists I didn’t include the developer role. Therefore, I have no price details for these. I should have corrected this before approving the time entries from my developer. But I didn’t! This means I will want to edit the invoice prior to sending to the customer. In my next post I will describe what we can (and can’t) edit on the invoice before sending to the customer.
In my next post, I will build on these concepts and describe how to actually generate the invoices, edit them and confirm or send the completed invoice to the customer.