How to manage intercompany billing

It is not uncommon for employees belonging to one organisation in Projectworks to work on projects for a different organisation in Projectworks, due to offices or companies in the same group sharing resources.

While the main process of billing the external customer for the work performed is unchanged from normal, the complication arises as the organisation who the employee belongs to has to recoup the cost of that employee’s time from the company who receives the revenue from the external customer. There are multiple ways to achieve this, but below are the Projectworks suggestions on how to go about it.

For the purposes of the example we will refer to the different organisations in Projectworks as companies

 

Scenario 1 - Basic Intercompany Scenario

To set up the spreadsheet

Scenario 2 - Intercompany rates different than cost or burn rates

Scenario 3 - cross-border intercompany work

Scenario 1 - Basic Intercompany Scenario

Company A and Company B are both organisations in one instance of Projectworks (different offices of the same company, or different companies in the same group).

1-Aug-25-2023-03-19-22-0540-AM

Company A employs Employee A, who is resourced onto a Company B project (Project B).

2-Aug-25-2023-03-20-27-1051-AM

Employee A performs work on the Company B project (Project B) and Company B bill the external customer for Employee A’s time as normal.

3-Aug-25-2023-03-21-17-0815-AM

Company A now needs to be reimbursed by Company B for the cost of Employee A’s time spent on Company B’s project, as they have incurred the cost of Employee A’s wages with no associated revenue, whereas Company B have generated revenue from Employee A with no associated costs.

To enable this, Company B needs to be set up as a company (customer) under Company A, as Company A will need to invoice Company B for the cost of Employee A’s time spent on Project B.

4-Aug-25-2023-03-21-53-8795-AM

Company A then need to set up an internal project with Company B to charge them for Employee A’s time.

5-4

6-4

To facilitate creating an intercompany invoice to recoup the cost of employee time spent on other (inter)company projects, a connected spreadsheet can be used to query all projects where a Company A person spent time on a Company B project (this would especially be needed if there are multiple Company A people working on multiple Company B projects).

To set up the spreadsheet

In Excel, navigate to the Data tab → Get Data → From Database → From SQL Server Database

In Projectworks, navigate to Settings → Integrations → SQL Logins. Under the admin user (as need to look at costs), ‘View login details’ under the three dots.

Projectworks:                                                               Excel:

7-2

Fill in the fields as shown above, click Connect, then Load. We are happy to provide assistance with the SQL queries to pull in the right information for the spreadsheet.

Once the spreadsheet is set up, you will see something like this:

8-3

Company A can now invoice Company B using the data from the connected spreadsheet by manually copying the amounts from the spreadsheet and entering them in the manual line item on the invoice. In this instance, Company A are billing Company B at the employee’s hourly cost rate, so for 40 hours @ $100/hour. This could be coded to an ‘intercompany’ GL code to differentiate from external revenue.

9-1

Once the intercompany connected spreadsheet has been set up as described above it can be refreshed each month (Data → Refresh All) as part of the month-end intercompany billing process to bring through the new month’s data.

While the above scenario is a simple one, the same process applies if there are multiple organisations performing intercompany work across multiple projects. All companies who have employees performing work for other companies will need to have the other companies set up as customers (under companies in PW) and have internal intercompany projects set up with those companies to enable intercompany billing.

You can slice and dice the data from the connected spreadsheet as required (e.g. by company or project) to raise manual intercompany invoices that meet your requirements.

Scenario 2 - Intercompany rates different than cost or burn rates

Companies may wish to charge an internal, pre-agreed ‘intercompany’ rate that is neither the hourly cost or the billable rate of the employee. This could be done by setting up an intercompany custom billable rate card, e.g:

10-3

The database query could then be set up to bring the intercompany rates through to the connected spreadsheet which you can use to calculate the amount required to bill on the intercompany invoice.

The intercompany rates would only be stored on the rate card, they wouldn’t be allocated to the intercompany project as no time should be recorded on that project (as this would be double-counting).

If different intercompany rates are used for different circumstances then multiple intercompany rate cards would be needed, and it might be more efficient to store that information on a spreadsheet with the connected spreadsheet query.

Scenario 3 - cross-border intercompany work

A further complication is when intercompany work is performed cross-border, and different currencies come into play. The same process as Scenario 2 can be followed, but a custom billable rate card can be set up for different currencies. Depending on the agreement between the two companies party to the intercompany work, the internal intercompany project should be set up in the currency that the agreed intercompany rates are in.

11-1

When looking at all invoices for all organisations on one screen, the revenue would be recorded twice. (i.e. in the scenario above, the 40 hours Employee A spent on the external project is recorded as revenue both on the invoice to the customer, and on the intercompany invoice). If this is an issue, the workaround would be to create the intercompany invoice in your accounting system only, not in Projectworks.