Staria logo

Project Cost Controlling: Cost, Charge & Bill

Managing large projects in an ERP system comes with its own set of challenges, especially when contracts and billing terms are complex.

Explore how NetSuite SuiteProjects streamlines project cost tracking and charge-based billing, making it easier to handle everything from contract modeling to automated invoicing.

By Kåre Kaasamoen, Solution Architect at Staria

Projects differs a bit from other typical ERP delivery processes, probably because the order is not a detailed salesorder on what to deliver. The commercial terms for a project is stated in a contract which is more like framework regulations on what and how to charge and bill for your deliveries. NetSuite SuiteProjects, with charge-based billing, makes it possible to model and charge the commercial side of the contract, and makes project cost controlling a whole lot easier.

The two long processes

Implementing ERP will without exceptions bring you into a world of mapping and understanding business processes. Mapping business processes is a kind of organizational analysis and description seen in a pure workflow related view. Even though there's hardly any identical business processes from one company to another, there are lots of similarities. One of them is the presence of "the two long processes"; Order-To-Cash and Procure-To-Pay. Even if the variants of those two are numerous, you will find them in most process mapping activities.

First you sell something, then you purchase or make something, then you deliver something and finally you bill something. The sales and billing brings income, the procurement and delivery brings cost, and the sum is your gross margin. The simple figure above is the general equation of ERP. These processes, and additional your finance processes is what you want to track when implementing an ERP system.

When the delivery becomes really big

A project in an ERP system can be anything from a few hours delivery to a contract that lasts for years, but when we are talking about projects, it is often large construction or industrial projects with large deliveries such as a building, a ship, a number of aircrafts and so on. It is usually a certain size job you do once. In these cases the two long processes becomes really long - and a little different.

You usually have a long sales process which ends up in a contract. The contract may be hundreds of pages long, and contains information on both what to deliver and how to charge for the deliveries. In the standard "general ERP equation" above, you order for instance product A to 10$, the you purchase product A to 6$, you deliver product A at cost 1$ and you are left with a gross margin of 3$. It is a simple transaction where there is a high degree of coherence between the order-to-cash process and the procure-to-pay process.

A large industrial project is another game. There will usually be a lot of different input factors necessary to make the delivery, and the charging of the work is not necessarily connected directly to the input factors. For instance, a project manager can be writing a lot of workhours against the project, while the work is charged at a fixed monthly fee. One work package can be charged at a fixed invoice plan, while another one is charged by time and material used with a certain markup. The coherence between the O2C side and the P2P side is not as clear and simple as in the "general equation". This calls for a large need for project controlling activities. Usually a company uses two different roles to control a project. The project manager who follows up the progress and delivery, and the project controller who follows up the commercial parts of the project.

Together, they need to track costs of all input factors, track the progress of the delivery, forecast remaining work and remaining cost, track changes, track available charges due to contract and finally bill what can be charged. It will usually be impossible to track the gross margin on transaction level, but you can track the current gross margin AND forecast the final gross margin on project level, and in larger projects also on work package level. The amount of transactions can be enormous, and overview is crucial.

SuiteProjects: Cost, Charge and Bill

SuiteProjects, the NetSuite project module, supports complex projects where the coherence between the O2C and P2P processes is not necessarily there. The trick is basically that you need an ERP system that supports usage based billing in addition to item based billing. Item based billing typically supports processes where there is coherence between income and cost driving processes. You deliver 5 pc. of product A - you bill 5 pc. of product A. You deliver 12 hours of work - you bill 12 hours of work. Usage based billing is when you, in some way, have to "measure" what you can bill. You have to count, list, calculate etc. what you are allowed to bill. You deliver 5pc. of product B - you bill the cost of 5pc. of product B multiplied with a 1,4 markup. You deliver 87 hours of project manager work - you bill a fixed fee, you receive and deliver 10 hours of subcontractor works - and you re-imburse it etc. You have a contract, that has some rules and terms about how to charge what you deliver. As soon as contract and rules and terms appears, you are in the area of usage based billing.

To successfully track large projects, you need to support this process.

  • You track your costs from input factors in the project

  • You calculate your charges due to contract

  • You approve (usually) internally or externally charges up for billing

  • ...and then you bill

Cost Tracking in SuiteProjects

To have satisfactory cost tracking in a project, tagging cost to the project itself is not enough. Different parts of the project can have different terms in the contract when it comes to charging and billing. For instance, a project task which is a part of a change order may have another billing regime than a project task which is a part of the original project setup. Therefore, in addition to tracking costs to the project, you should also track cost to the activity where the cost appears.

By using advanced budgeting, you have the possibility to have a high level project budget using WBS codes (or activity codes), and at the same time track cost to a detailed activity level. The different project tasks can be linked to the WBS code where the cost type is accumulated, and at the same time, the cost is placed at the contractual right place when tagged against the project task.

Also, on operational level, it's easier for the employees to relate to the operational project tasks than to the financial WBS codes, to set the right cost center. No matter if you post a purchase, time or expenses. You select the project, and then the project task you are working on and you are done. The cost will hit the right charge rule to meet the correct contractual terms, and at the same time the right high-level budget code for financial overview.

Charging the project

The sequence Calculate - Charge - Approve in the cost, charge and bill workflow, will usually require support for usage based billing.

NetSuite supports charge-based billing. The setup of charge-based billing can be a bit tricky, but it is also so flexible that you can form and automate your project charges to most terms in a contract. To handle the Calculate part, we need to set up what is called Charge Rules in NetSuite.

The basic building bricks in NetSuite charge rules are rates and filters. Also different charge rules for different cost types appear. In the example below, you can se one rule where time posted to ProjectTaskID 1002 get rate from the booking resource and multiplies it with 1,5. On the second rule, you can see that time posted to ProjectTaskID 1025 get the billing rate from the timebill service item, and multiplies it with 2,7. Two different tasks, two different places in the project and two different rules for calculation based on different terms in the contract.

As mentioned, it is a bit tricky and takes some time to set up the charge rules according to the contract, but once done, the calculation is automated. The charge rules calculates and creates charges once pr. night, or the job can be manually triggered.

Traditionally, a project controller needs to have an overview of all the cost posted to the project, then (s)he needs to align the posted cost with the rules in the contract to calculate the charges. Usually this is a cut, paste and calculate process in Excel. Then a report is created. Someone approves that, and the bill can be sent to the client.

Two things makes it important to digitalize this project. First; it takes some workload to track, cut, paste and calculate charges for a large project. There are cost due to manual handling that can be dramatically reduced. And second - and this is even more important - when this process is manual, you may miss out some chargeable activities; you have revenue leakage in your project. A better approach is to model the contract in terms of charge rules, and then let the ERP system handle the calculation.

During the calculation, charges, which is some kind of "backing sheet transaction", is created. Charges can be reported for approval, and they have status codes like Ready for billing, Put on Hold, Processed and Non-billable. This means that in the approval process, it covers both putting non-billable activity on the side, it covers disputed activity by putting it on hold, and it covers agreed activity which then is ready for billing.

Billing the project

From an invoice created on the project, you can automatically create invoice lines by adding charges ready for billing. So basically, when the charges for billing is approved and the right ones has the status Ready for billing. The creation of the invoice is automated.

In addition project users can download and install the invoice presentation template SuiteApp, which makes it possible to add different presentation templates for charge-based invoices pr. subsidiary or customer basis. Invoice presentation templates can be set as default for subsidiaries, for customers and they can even be overruled on a single invoice if that's necessary.

All in all the Netsuite Projects billing step can be highly automated.

Staria's expert behind the text

Kåre Kaasamoen

NetSuite Solution Architect

Staria

Discover more blogs