Title: Multi-company or Intercompany Billing

Brief description: 

This process may be used to handle billing between two different departments, organizations, or companies within the same instance of Unanet. 

What’s covered in this document:

Example and Overview

An example will be used throughout this page where Legal Entity 1 is subcontracting to Legal Entity 2.

Employee 1 (employed by Legal Entity 1) is working on the subcontract.

(Note that Employee 2, an employee of Legal Entity 2, would typically not be working on the subcontract, but would be working on the actual contract with the customer. If Employee 2 was actually working on the intercompany subcontract for some reason - very unlikely, but possible - there would need to be another intercompany project from A to B set up in addition to the main subcontract from B to A.)

Assuming both companies are in the same Unanet instance:

Two projects will be set up to represent the actual client contract and the intercompany subcontract.

A vendor invoice will be created via export/import to create the intercompany subcontract expense in Legal Entity 2.


Legal Entity 1: designs Trucks

Legal Entity 2: designs Rockets

Initial Setup

Organizations/Legal Entities

Create the legal entities needed, add both customer and vendor profiles for each Legal Entity. Be sure to add Org addresses, since you will be billing.

Ensure that you have created an Organization which represents the Subcontracting company, and that it is designated as a Financial Org and Legal Entity. 

Ensure that this subcontracting Organization is set up to be a Vendor of the main organization (Organization Vendor Profiles). In this example, subcontracting Legal Entity 1 is a Vendor of Legal Entity 2. During regular processing, this will allow you to designate Legal Entity 1 on the Vendor Invoice as the Vendor (see Export/Import section below).

Now set up the primary organization (Legal Entity 2) as a Customer of the subcontracting organization (Organization Customer Profiles) as below. This will allow you to designate Legal Entity 2 as the Customer Project Org on the subcontract project owned by Legal Entity 1. (See Project Setup below.)

Admin > Setup > Project Types

Set up a Project Type for Intercompany, and make sure the billable flag is checked, as one company is billing the other. See the example below of "INTERCO_B." Note that if you also have intercompany billings that pertain to indirect work you may also need to create Project Types of "INTERCO_OH" or "INTERCO_GA."

Admin > Setup > Accounts

Create accounts to be utilized for our intercompany transactions.

Admin > Setup > Expense Types

Set up Expense Types to and from all Legal Entities. In the example below there are three Legal Entities, and each has a To and From Expense Type. 

Admin > Setup > Mapping of Project Types and Cost Accounts to Expense Types

Now that your Expense Types are created, map to them from Project Types and Cost Accounts.

Admin > Setup > User-Defined Fields

Project User-Defined Fields: You may need to store various intercompany posting values in UDFs depending on how you need to determine the accounts/orgs/projects, etc., to be posted by the intercompany invoice export (see Export/Import section below).

For example, you may want user-defined fields on the Sub project to reference the primary project:

Admin > Setup > Invoice Number Formats

Create an invoice number format to be used specifically for intercompany transactions.

Admin > Setup > Posting Group Configuration

The Posting Group should be set up to pull the following accounts from the Project level as outlined in the table and screenshot of Posting Groups below.

Account Category set to pull Account from Project in Posting Group (see first screenshot below)Account designated in Project Profile (see screenshot below under "Project Profile Accounts")


Intercompany Revenue


Intercompany Unbilled


Intercompany AR
Deferred RevenueIntercompany Deferred Revenue
Fixed Fee AdjustmentIntercompany Fee Adjustment
Funding Cap AdjustmentIntercompany Funding Cap
Revenue Write-offIntercompany Revenue Write-off

Admin > Setup > Cost Elements and Structures

Set up new ODC cost elements to correlate to the new intercompany Expense Types.

In the Cost Structure example below we are showing one Cost Structure. In real life you likely would have one Cost Structure for each Legal Entity.

Be sure to map new Expense Types to new Cost Elements for all Legal Entities.

Do not include in the formulas in the GA section on the Indirect Costs as you don’t want to burden twice.

Admin > Setup > Cost Report Updates

Be sure to edit your Cost Report definitions to factor in the Cost Elements you created. 

Admin > Setup > Bank Accounts

Create bank account to reconcile intercompany transactions.

Admin > Export > Upload Export Template and Configure as appropriate

This export template should be uploaded via Admin > Export > Import: Export Billable Interco AR in form of AP (29).csv

It is an AR export (export of the Invoice) that is formatted as a Vendor Invoice.

Edit the template as appropriate for your instance of Unanet and for how you want the resulting Vendor Invoice to function.

Examples of edits to the template you will want to consider are:

Projects Setup

Two projects will be set up as follows: One project which represents the actual client contract, and a second project which represents the subcontract work.

Project Code Naming Convention

Regarding the naming convention for the two Project Codes, you may want to name them similarly for ease of reporting and searching. For example, if the contract is called 1234-ABCD, then the 2 projects could be:

Setup of the two project profiles for Owning Org and Project Org 

Actual/Primary Contract Project LEGAL ENTITY 2

Intercompany Subcontract Project LEGAL ENTITY 1

Owning Org

Financial Org of Legal Entity 2

(Legal Entity 1 is set up as a Vendor Profile in Legal Entity 2) 

Financial Org of Legal Entity 1

Project Org (Customer Org)

Actual Customer eq CUSTOMER-1

Legal Entity 2

(need to set up a Customer Profile in Legal Entity 1 Org)

Project Code 

1234-ABCD with smart project naming convention for easy export template mapping

(or in screenshot below "ROCKET_MANNED")

1234-ABCD-INTERCOMPANY-SUB with smart project naming convention for easy export template mapping

(or in screenshot below "INTERCO_ROCKET_MANNED")

Charges are fromEmployees of Legal Entity 2Employees of Legal Entity 1
Billing TypeAs appropriate (CP, TM, FP)Typically CP (cost plus burdens) or possibly TM, as your finance team decides. Unlikely that it would be FP.
Project TypeAs appropriate (G&A, Billable)The intercompany version of the Project Type that you set up.

In this example, LE-1 is doing work for LE-2 for the ROCKET_MANNED project. This is the project that the LE-1 people will charge to:

On the mirror project, be sure to change Posting Group on the Accounting tab to the intercompany Posting Group, and add the UDF values.

Project Profile Accounts

In the Subcontract Project, select Accounts in the Project's left menu, the three accounts outlined in Admin > Setup above (screenshot of Project Profile Account Setup below).

Project Profile > Accounting tab > Billing Type 

The Billing Type of the intercompany subcontracting project is based on the intercompany subcontract arrangement, which may, or may not, be consistent with the Billing Type of the Customer contract.

The subcontract Vendor Invoice will be treated the same as any other Vendor Invoice when charged to the Customer contract. 

You may or may not need to bill the Vendor Invoice to the actual customer based on the billing type of the actual contract. The only thing you definitely need to do is to get the subcontract cost on the project. 

Project Profile Other

Populate any user-defined fields if you initially configured an Export to pull data out of Unanet (as described in the Admin > Setup section above).

The project should otherwise be set up like a normal project based on what the sub company will be billing the company that has the actual project with the end customer.

Project Tasks

If you are using Tasks, then you will also want to copy the Tasks from the original project and add them to the intercompany project. You can do this by exporting Tasks from the original project and importing onto the intercompany project. 

Export Tasks from Main Project (LE-2).

Update Project Org Code and Project Code values to reflect mirror project. Import tasks into Mirror Project (LE-1).

And lastly, don’t forget to:

Regular Processing

Time and Expense Charging

Employees in Legal Entity 1 working on the subcontract will typically charge to the Subcontract project.

Employees in Legal Entity 2 working on the contract will typically charge to the Primary Contract Project. 

Assignments should be made accordingly.

Billing and Revenue Post

Filter to correct Legal Entity and only the intercompany Project Type.

Below are the results of the billing & revenue post. Note the debit to "Interco Unbilled" and credit to "Interco Cost Transfer (to)."

Invoice the Subcontract Project

When the Subcontract project is invoiced, it will create the intercompany AR balance in the subcontracting company.

Be sure to complete the Invoice in order to make its data available in the Export step below. 

Once the invoices are completed, you can see in the GL Details report that it has debited intercompany due from, and credited unbilled intercompany.

Export/Import to Create Vendor Invoice

Once you have set the Subcontract project invoice to the Completed status, you will perform an export/import to generate a Vendor Invoice. The Vendor Invoice file will specify the subcontracting company (Legal Entity 1) as the Vendor in order to book the intercompany subcontract expense in Legal Entity 2.

Export the invoice using an Intercompany Billing export template. This is an AR export that creates a Vendor Invoice import document that will be imported into the related company. The values used in the export will be determined based on client requirements. 

  1. The resultant file will look something like this sample: Export Billable Interco AR in form of AP (29).csv

Import the intercompany vendor invoice into the company for which the intercompany Sub work was performed. This will create the intercompany payable and intercompany subcontract expense in the project with the customer. This would be treated the same as any other expense going into the project.


Exporting the customer invoice(s) from LE-1. The export template has been written in a format to import as a vendor invoice, which will be imported into LE-2. Make sure that the AP liability account is pointing to our intercompany payable.

For export - filter invoice field for %interco, and fill out fields for Voucher date.

Save the file, as we will need to import it.

Retrieve the file just saved, and import as a vendor invoice.

The result of the import may depend on your vendor invoice approval settings - requires and conditionally requires will flip to Inuse status, because the system is looking for an approval group to be selected.

Optional and disabled approvals will update the status to Approved automatically when you select Submitted for the import, so that the vendor invoice is in a status ready to post.

Results of Vendor Invoice import:

You can see the accounts on the vendor invoice within LE-2 (Rockets), that LE-2 has a liability to vendor LE-1 (Trucks), and the expense is the intercompany direct cost transfer in.

Running the JSR should look like this:

Invoice the Primary Project

When you go to invoice the Primary Project, the expense and labor from the imported Vendor invoice will be included.

Special Reminders/Troubleshooting

Mirror project - ensure Task names are in sync with the main project.

Caveat on reporting needs if you want to show the JSR (Project Job Summary Report) rolled up for the project across all Legal Entities:

  1. While you may categorize the “contra” account in the Legal Entity where the work is done as an offset to direct costs, in the JSR, Unanet thinks of the offset as Revenue (based on the Billing & Revenue Post). This would result in a double count of the “revenue” from LE-1 as it was an ODC in LE-2.
  2. One possible resolution here is a special JSR for rolling up across multiple LE’s that reverses out the ODC’s that have been transferred.

Additional Information

Help Docs - Setup Organization

Help Docs - Import Vendor Invoices