Subsidiary API
Manage subsidiaries in NetSuite OneWorld. Subsidiaries represent separate legal entities or business units within your organization.
Endpoints
| Method | Endpoint | Description |
|---|---|---|
| GET | /record/v1/subsidiary | List all subsidiaries |
| GET | /record/v1/subsidiary/{id} | Get a specific subsidiary by ID |
| POST | /record/v1/subsidiary | Create a new subsidiary |
| PATCH | /record/v1/subsidiary/{id} | Update an existing subsidiary |
| DELETE | /record/v1/subsidiary/{id} | Delete a subsidiary |
Key Fields
Required Fields
| Field | Type | Description | Required |
|---|---|---|---|
name | String | Subsidiary name | Yes |
country | Object | Country where subsidiary operates | Yes |
Optional Fields
| Field | Type | Description | Required |
|---|---|---|---|
legalName | String | Legal name of the subsidiary | No |
currency | Object | Primary currency for this subsidiary | No |
parent | Object | Parent subsidiary (for subsidiary hierarchy) | No |
purchaseOrderQuantity | Number | Purchase order quantity | No |
purchaseOrderAmount | Number | Purchase order amount limit | No |
purchaseOrderQuantityDiff | Number | Purchase order quantity difference tolerance | No |
receiptAmount | Number | Receipt amount limit | No |
receiptQuantityDiff | Number | Receipt quantity difference tolerance | No |
state | Object/String | State/province (for applicable countries) | No |
isInactive | Boolean | Whether the subsidiary is inactive | No |
email | String | Subsidiary email address | No |
fax | String | Fax number | No |
url | String | Website URL | No |
logo | Object | Company logo file | No |
taxIdNum | String | Tax ID number (EIN, VAT, etc.) | No |
federalIdNumber | String | Federal ID number | No |
addr1 | String | Address line 1 | No |
addr2 | String | Address line 2 | No |
addr3 | String | Address line 3 | No |
city | String | City | No |
zip | String | Postal/ZIP code | No |
addrPhone | String | Phone number | No |
returnAddr1 | String | Return address line 1 | No |
returnAddr2 | String | Return address line 2 | No |
returnCity | String | Return address city | No |
returnState | Object/String | Return address state | No |
returnZip | String | Return address ZIP | No |
returnCountry | Object | Return address country | No |
shippingAddr1 | String | Shipping address line 1 | No |
shippingAddr2 | String | Shipping address line 2 | No |
shippingCity | String | Shipping city | No |
shippingState | Object/String | Shipping state | No |
shippingZip | String | Shipping ZIP | No |
shippingCountry | Object | Shipping country | No |
Example: Create Subsidiary
Request
POST /record/v1/subsidiary
Content-Type: application/json
{
"name": "US Operations",
"legalName": "Acme Corp USA LLC",
"country": {
"id": "US"
},
"state": {
"id": "CA"
},
"currency": {
"id": "1"
},
"parent": {
"id": "1"
},
"taxIdNum": "12-3456789",
"email": "us-ops@acme.com",
"url": "https://us.acme.com",
"addr1": "123 Main Street",
"city": "San Francisco",
"zip": "94102",
"addrPhone": "+1-415-555-0100",
"isInactive": false
}
Response
{
"id": "3",
"name": "US Operations",
"legalName": "Acme Corp USA LLC",
"country": {
"id": "US",
"refName": "United States"
},
"state": {
"id": "CA",
"refName": "California"
},
"currency": {
"id": "1",
"refName": "USA"
},
"parent": {
"id": "1",
"refName": "Parent Company"
},
"taxIdNum": "12-3456789",
"email": "us-ops@acme.com",
"url": "https://us.acme.com",
"addr1": "123 Main Street",
"city": "San Francisco",
"zip": "94102",
"addrPhone": "+1-415-555-0100",
"isInactive": false,
"links": [
{
"rel": "self",
"href": "https://{accountId}.suitetalk.api.netsuite.com/services/rest/record/v1/subsidiary/3"
}
]
}
Example: Update Subsidiary
Request
PATCH /record/v1/subsidiary/3
Content-Type: application/json
{
"email": "operations@acme.com",
"addrPhone": "+1-415-555-0200",
"url": "https://www.acme.com/us"
}
Response
{
"id": "3",
"name": "US Operations",
"email": "operations@acme.com",
"addrPhone": "+1-415-555-0200",
"url": "https://www.acme.com/us",
"links": [
{
"rel": "self",
"href": "https://{accountId}.suitetalk.api.netsuite.com/services/rest/record/v1/subsidiary/3"
}
]
}
Query Filters
You can filter subsidiaries using query parameters:
Filter by Country
GET /record/v1/subsidiary?q=country.id IS US
Filter by Parent Subsidiary
GET /record/v1/subsidiary?q=parent.id IS 1
Filter by Active Status
GET /record/v1/subsidiary?q=isInactive IS false
Filter by Currency
GET /record/v1/subsidiary?q=currency.id IS 1
Search by Name
GET /record/v1/subsidiary?q=name CONTAINS Operations
Complex Filter Example
GET /record/v1/subsidiary?q=country.id IS US AND isInactive IS false AND parent.id IS 1
Pagination and Sorting
GET /record/v1/subsidiary?limit=50&offset=0&orderby=name ASC
Important Notes
-
OneWorld Feature: Subsidiaries are only available in NetSuite OneWorld accounts. This feature must be enabled in your account.
-
Parent-Child Hierarchy: Subsidiaries can have parent-child relationships, allowing for complex organizational structures and consolidated reporting.
-
Currency Assignment: Each subsidiary should have a primary currency. This determines the default currency for transactions in that subsidiary.
-
Tax Identification: Different countries require different tax identification numbers (EIN in US, VAT in EU, etc.). Use the appropriate field for your jurisdiction.
-
Elimination: Parent subsidiaries are often used for elimination entries in consolidated financial statements.
-
Deletion Restrictions: Subsidiaries with transactions or other records (customers, items, etc.) cannot be deleted. Mark them as inactive instead.
-
Permissions: Creating and managing subsidiaries requires "Lists > Subsidiaries" permission and appropriate role access.
-
Address Fields: Maintain accurate address information as it's used for tax calculations, compliance, and document generation.
-
Multi-Book: In multi-book accounting environments, subsidiary configuration affects how transactions are recorded across different accounting books.
-
Intercompany Transactions: Subsidiaries are central to managing intercompany transactions and eliminations in consolidated reporting.
-
Feature Dependencies: Some NetSuite features (like Advanced Taxes, Payroll) have subsidiary-level configurations.
-
State/Province: For countries with state-level tax requirements (US, Canada, Australia), ensure state is properly set.