Intercompany Setup and Operation

1         Introduction

The Intercompany functionality in Business Central allows for transactions to run smoothly between different companies on the same database without having to key documents on both ends of the transaction.

The user creates a sales invoice in company A (the Sending Company) and this – via various elements of set up – will create the equivalent purchase invoice in company B (the Receiving Company).

The guiding principle to be followed throughout is that for every element in company A, an equivalent element needs to exist in company B. I think of it like a plug and a socket. A three-pin plug will successfully connect to a three-pin socket but if you have two pin socket you will fail.

With that in mind let’s look at the elements involved in set up

2         Set up

2.1         Company Information

In the Company Information window, you will need to make sure that the IC Partner Code field is populated with a Code you will recognise when using it in other companies.

It’s a good idea to use the Display Name from your Companies table.

This will be the code you use when you set up this company as an Intercompany Partner in another company.

The IC Inbox can be set to Database. This allows for communication between companies in the same database. The other option is “File Location” which can be used for IC transactions between companies in different databases.

2.2         Customers and Vendors

For each Company you want to transact with you will need to set up a customer and/or a vendor depending on whether you will be “selling” or “buying” goods or services from your partners, or both.

Generally, in the Sending Company you will need a Customer who corresponds to the Receiving Company.

This example from CRONUS UK shows the customer representing CRONUS EU

In the Receiving Company a corresponding Vendor must be set up to represent the Sending Company. Here, in CRONUS EU you can see the vendor representing CRONUS UK

It is important to note that the IC Partner Code field in both is populated with the code you created in company information.

2.3        Intercompany Partners

The next step is to establish the link between the Sending and Receiving Companies. This is done in the Intercompany Partners table. The example is from CRONUS EU (as the Sending Company) for CRONUS UK (as the Receiving Company)

The fields are pretty self-explanatory, but I’ll go through them in order

  • Code: Intercompany Partner Code from the Receiving Company
  • Name: The name of the IC Partner
  • Currency Code: The Currency Code the transactions will be made in. If you leave this blank it will default to the Local Currency (LCY) set in the General ledger Setup. In this case it is EUR.
  • Inbox type: choice between email and Database. Database means that your IC partner is on the same NAV Database as you. 
  • Inbox Details: this will auto populate when the Code is filled in
  • Accept Transactions: This is for incoming transactions. When it is ticked an incoming Sales Invoice automatically creates a corresponding Purchase Invoice in the Receiving Company
  • Customer No.: The Customer No. created in the Sending Company to correspond to the Receiving Company
  • Receivables Account: the G/L Account No. of your Accounts Receivable (i.e. money you are owed by Customers)

In the Receiving Company the matching record looks like this.

  • Vendor No.: the Vendor No. created in the Receiving Company to correspond to the sending Company.
  • Payables Account: the G/L Account No. of your Accounts Payable (i.e. the money you owe to Vendors)

2.4         Intercompany Chart of Accounts

It’s a good idea to set this up whilst you’re doing everything else. It’s a chart of accounts agreed between all IC partners, so you can make it quite simple if you need to. The G/L Account No’s passed to the Receiving Company by the transaction from the Sending Company are mapped using the “Map-to G/L Acc. No.” field in the Receiving Company’s Intercompany Chart of Accounts.

However, there maybe occasions on which you don’t want a like-for-like mapping. Imagine you have sold services in one company to another. In the sending company this would be an Income GL whereas in the receiving company it would be an Expense. This is dealt with in the main Chart of accounts. Each account has a field called “Default IC Partner G/L Account”.

Imagine you are selling advertising services to your partner company. You would raise a Sales Invoice for GL Acct 10100 Income, Services but your partner will want the Purchase Invoice charged to an expense GL. In the example below I’ve mapped it to 30200 Advertising Expense. When the transaction is passed to the Partner it will appear with the Default Partner G/L Account 30200. No editing of the PI is required and no extra keying.

2.5.1        Set Up Dimensions and Intercompany Dimensions

Dimensions for Outgoing Transactions: In the sending company go to the Dimensions page. There needs to be mapping at both the Dimension level AND the Dimension Value level. You can see here that AREA and DEPARTMENT are mapped but BUSINESSGROUP and CUSTOMERGROUP is not.

Fortunately, there is an easy solution to this. In the Actions tab on the ribbon at the top of the page is a button: “Map to IC Dim. with Same Code”. Click this button and it will map at the Dimension and Dimension Value level by duplicating the entries in the Dimension Values and creating them as IC Dim Values. Obviously, you will need to ensure that these correspond with identical values in the Receiving company’s IC Dimensions

Intercompany Dimensions for Incoming Transactions: The same functions exist here but with one extra: “Copy From Dimensions”. This function creates IC Dimensions for the Dimensions already existing in the Receiving Company. Again, make sure that the Dimensions and Dimension Values have matches in the Sending Company.

3         Process

3.1         Sending Company

In the Sending Company a Sales Invoice is raised to the Customer corresponding to the Receiving Company (as set up in the Intercompany Partner table)

Once it has passed through the approvals process it can be posted.

This passes the invoice to the Intercompany Outbox and, providing the setup is all correct it it processed directly and will appear in the Sending Company in the Handled Intercompany Outbox Transactions

3.2         Receiving Company

In the Receiving Company, again assuming set up is correct, the transaction is passed via the Intercompany Inbox to the Handled Intercompany Inbox Transactions

If the Auto. Accept Transactions box is ticked on the Intercompany Partner then a PI will automatically be created with no further keying on the part of the users in the Receiving Company

This can now be posted and the IC transaction is complete.

4         Troubleshooting

I hope you can see that this is relatively simple to set up as long as you keep the pairing principle in mind at all times. In my experience pretty much all troubleshooting will boil down to this. When I was setting this up in my sandbox I fully expected to pass the first transaction through smoothly. But I’d forgotten to map the IC Chart of accounts AND one of the IC Dimensions in the receiving company.

Fortunately BC will pop up the usual gnomic error messages that should guide you to where the missing or mismatched pieces of the puzzle are.

Hope that’s helpful. Happy IC transacting!