NetSuite: working with multiple subsidiaries (OneWorld)

Edited

NetSuite OneWorld accounts hold several subsidiaries (legal entities) in one account. With Apideck, one connection covers the whole account. You don't need a separate connection per subsidiary. This article explains how to choose which subsidiary your requests read from.

Three ways to pick a subsidiary

Option

Where you set it

Applies to

Default Subsidiary

A setting on the NetSuite connection in Vault

Every list request and the Profit & Loss and Balance Sheet reports for that connection

x-apideck-company-id header

On an individual request

That request only

filter[subsidiary_id]

On an individual list request

That request only

If more than one is set, the most specific one wins: filter[subsidiary_id] first, then the x-apideck-company-id header, then the connection's Default Subsidiary.

To find subsidiary IDs, call GET /accounting/companies. It always lists every subsidiary in the account, whatever the Default Subsidiary is set to.

Setting the Default Subsidiary

  • It's on the same Vault form as the NetSuite credentials. The dropdown is filled from the customer's own NetSuite account, so save the credentials first, then reopen the form to pick a subsidiary.

  • All subsidiaries (the default) returns records from every subsidiary. That's also the right choice for single-entity accounts, where the setting has no effect.

  • You can change it later. Restart any list you were paging through after changing it: a pagination cursor keeps the subsidiary it was created with.

Things to know

  • A parent subsidiary doesn't include its children. NetSuite matches the subsidiary exactly, so choosing a parent returns only the parent's own records. To cover a group, use All subsidiaries and narrow down per request.

- The exception is departments, locations, tracking categories and expense categories: a record marked *include children* in NetSuite is returned for each child subsidiary too.

  • Writes aren't scoped. When you create or update a record, its subsidiary comes from the request body, or NetSuite derives it from the record's customer or vendor. So a connection scoped to one subsidiary can create a record that its own list requests won't return.

  • Some data is always account-wide: currencies, payment methods, accounting periods, subsidiaries and attachments are returned in full. Company info always describes the account's top-level subsidiary.

  • Reports showing all zeros? If the Default Subsidiary points to a subsidiary that no longer exists, Profit & Loss and Balance Sheet return zeros instead of an error. Pick a subsidiary that still exists, or All subsidiaries.

  • Single-entity accounts: none of this applies, and filter[subsidiary_id] is ignored.

Related

Was this article helpful?

Sorry about that! Care to tell us more?

Thanks for the feedback!

There was an issue submitting your feedback
Please check your connection and try again.