Intercompany Cross-Subsidiary Fulfillment

The Intercompany Cross-Subsidiary Fulfillment feature will allow organisations to fulfill orders and receive returns across multiple subsidiaries. This means you will not be restricted to a fulfilling location regardless of the originating sales subsidiary.

For example…

Your process may include having one subsidiary managing orders and sales for the entire company. If you have distribution centres in many subsidiaries, an order can be fulfilled from one or more locations within or outside the subsidiary of sale.

When a sales order is entered, individual lines on that order can be assigned to a specific subsidiary, and a specific location within that subsidiary for fulfillment. This means you are not restricted to the subsidiary where the sales order is raised.

This feature aims to eliminate the need for drop ship orders and transfer orders between subsidiaries, resulting in reduced accounting steps to process these transactions.

The feature for this functionality is titled ‘Intercompany Cross-Subsidiary Fulfillment’ once enabled you’ll be able to set up the intercompany process.

There are two scenarios that exist using this feature:

1) Fulfill a sales order from multiple locations in multiple subsidiaries.

Scheme showing how to fulfill a sales order from multiple locations

2) Fulfill multiple sales order from multiple subsidiaries from one location within another subsidiary.

Scheme showing how to fulfill multiple sales order from multiple subsidiaries from one location within another subsidiary

We’ve prepared an example to demonstrate the functionality of this feature.

In our example, HQ : New Zealand is our fulfilling inventory, meaning the subsidiary that holds our physical stock.

HQ : Australia and HQ : Singapore are Sales Subsidiaries, meaning they do not store physical stock and must rely on HQ : New Zealand to provide the inventory for the order.

This information is stored in a ‘Global Inventory Relationship’

Screenshot of Global Inventory Relationship in NetSuite

When creating a Global Inventory Relationship, you can select which locations are available for Intercompany Cross-Subsidiary Fulfillment.

This selection can be defined for both Customer Returns and Fulfillments.

Screenshot of global inventory relationship in NetSuite

Once the Global Inventory Relationships are created, we’ll be able to create Sales Orders to follow this process.

In this example, we will be raising an order within the HQ : Australia subsidiary, and the stock will be fulfilled by the HQ : New Zealand subsidiary.

We’ve entered these details against the Sales Order:

Screenshot of Sales Order in NetSuite

When entering the Item lines, you’ll notice a new checkbox titled ‘Allow Cross-Subsidiary Fulfillment’.

Enabling this within the Sales Order will allow you to select an Inventory Location from any subsidiary as detailed within the Global Inventory Relationship records.

Within our example, we have selected ‘Auckland’ as our Fulfilling location, which exists in the New Zealand subsidiary.

Screenshot of Auckland being selected as Fulfilling location in NetSuite

If you add additional lines to the order, you’ll notice that this setting can be changed on a per line basis.

We’ve gone ahead and added a second inventory item, which will be fulfilled by the Sales subsidiary – Australia.

Screenshot of Sales Order

Once the Sales Order is generated, it is as simple as processing the Item Fulfillment for this order.

When fulfilling a Sales Order which requires Inventory from multiple subsidiaries, you’ll be directed to the Bulk Fulfillment screen.

Screenshot of Fulfill Sales Order in NetSuite

It is recommended at this screen, to click the ‘Fulfill’ on the line level to process the fulfillment on a per subsidiary basis. The differing subsidiaries are represented by the ‘Inventory Location’ field.

Screenshot of Item Fulfillment line in NetSuite

Clicking the fulfill link on the line level will take you to the standard Item Fulfillment page, from here process the Item Fulfillment as usual – You’ll see that this fulfillment is for the Sales Order that was raised in the Australian subsidiary, but is fulfilled from the Auckland location within New Zealand.

Screenshot of Items to be generated in NetSuite

In terms of inventory movement, this is now complete – you’ve successfully fulfilled stock from a subsidiary that exists outside of the subsidiary that has processed the sale.

This brings us to the second part of this tips & tricks guide:


Generating Intercompany Cross Charges 

When you enable the Intercompany Framework feature, NetSuite adds a task within the Period Close checklist called ‘Generate Intercompany Cross Charges’.

This task generates cross charges between subsidiaries when intercompany subsidiaries provide goods or services to each other, in our example this is used when a subsidiary has created a sale which has fulfilled by another subsidiary.

The generate intercompany cross charges tasks generates a pair of automatically approved cross charges, which are read-only intercompany transactions. These cross-charge transactions balance intercompany payables and intercompany receivables for the goods and/or services provided.

This task is done automatically at the end of each accounting period.

Screenshot of Period close checklist in NetSuite

Prior to generating the intercompany cross charges transactions, you must ensure that the Intercompany Preferences are configured correctly.

To do so, navigate to Setup > Accounting > Intercompany Preferences.

On this screen, detail the required accounts and settings. Ensure the accounts selected are Intercompany Elimination accounts. (This is enabled by a checkbox on the Chart of Account record)

Screenshot of Intercompany Preferences in NetSuite

At this point, confirm the preferences you’ve selected to ensure the output of the automation is summarised or detailed on the journal entry.

When you’ve entered the ‘Generate Intercompany Cross Charge’ section of the Period Close checklist, you’ll be prompted to generate transactions.

Screenshot of task to generate intercompany cross charges in NetSuite

NetSuite will indicate how many cross charges are left to generate for the month, based on your intercompany fulfilled.

When you click Generate Transactions NetSuite will run the process and show you the results.

Please note that the below transactions are different to the ones created above in the first section.

Notice here how there is a single journal created for A/R and a corresponding one created for A/P.

Screenshot of Cross Charge Workbench in NetSuite

Clicking into any Cross Charge Journal, you’ll see the output:

Screenshot of Cross Charge Journal in NetSuite

These transactions are automatically linked, to debit and credit the correct accounts in the correct subsidiaries. In addition, these transactions are automatically reconciled.

Once you’ve reviewed the automatically generated cross charge journals, you can finalise the task.

If for whatever reason you need to delete the transactions, you can hover over the action’s menu:

Screenshot of Cross Charge Workbench in NetSuite

In addition, if you run into any errors when using this process and the transactions fail to generate. Then click the Reset Automation action.

The Reset Automation deletes all transactions and does all the calculations again from scratch based on the underlying records and preferences of your intercompany setup. It is recommended to use this setting when you need to make changes to the underlying records.

In addition, the Messages Tab will display any error messages you encounter. These may detail accounting requirements, such as missing intercompany accounts. You’ll need to resolve these issues before using the Reset Automation action as mentioned above.

Once you’re completed with this task, and happy with the output click Go to Period Task

Screenshot of confirmation in NetSuite

Then click Mark Task Complete.

Screenshot of Task in NetSuite

That brings us to the end of this tips & tricks article, we hope you’ve learnt something! Annexa recommends changes be tested in Sandbox prior to implementation.

If you have any further questions, please reach out to the AnnexaAssist team at


Annexa is a leading NetSuite partner with extensive experience designing and implementing comprehensive and customised business systems, including payroll solutions, financial management, warehouse management and ecommerce solutions.