Skip to main content

Intercompany Transfer Order API

Transfer inventory between different subsidiaries (OneWorld accounts only).


Endpoints

MethodEndpointDescription
GET/record/v1/intercompanyTransferOrderList IC transfer orders
GET/record/v1/intercompanyTransferOrder/{id}Get specific IC transfer
POST/record/v1/intercompanyTransferOrderCreate IC transfer
PATCH/record/v1/intercompanyTransferOrder/{id}Update IC transfer
DELETE/record/v1/intercompanyTransferOrder/{id}Delete IC transfer

Key Fields

FieldTypeDescriptionRequired
tranDatestringTransfer date (YYYY-MM-DD)Yes
subsidiaryobjectFrom subsidiary (source)Yes
toSubsidiaryobjectTo subsidiary (destination)Yes
locationobjectFrom locationYes
transferLocationobjectTo locationYes
orderStatusobjectTransfer statusRead-only
memostringMemo/notesNo
shipDatestringPlanned ship dateNo
expectedReceiptDatestringExpected receipt dateNo
shipMethodobjectShipping methodNo
useItemCostAsTransferCostbooleanUse item cost for transfer pricingNo
itemcollectionItems to transferYes

Example: Create Intercompany Transfer Order

Request

POST /record/v1/intercompanyTransferOrder
Content-Type: application/json
Authorization: Bearer YOUR_ACCESS_TOKEN
{
"tranDate": "2025-12-25",
"subsidiary": {
"id": "1"
},
"toSubsidiary": {
"id": "2"
},
"location": {
"id": "1"
},
"transferLocation": {
"id": "5"
},
"shipDate": "2025-12-26",
"expectedReceiptDate": "2025-12-30",
"memo": "Transfer to UK subsidiary for Q1 sales demand",
"useItemCostAsTransferCost": false,
"item": {
"items": [
{
"item": { "id": "789" },
"quantity": 100,
"rate": 30.00,
"amount": 3000.00
},
{
"item": { "id": "790" },
"quantity": 50,
"rate": 45.00,
"amount": 2250.00
}
]
}
}

Response

{
"id": "4001",
"tranId": "ICTO-10001",
"tranDate": "2025-12-25",
"subsidiary": {
"id": "1",
"refName": "US Parent Company"
},
"toSubsidiary": {
"id": "2",
"refName": "UK Subsidiary"
},
"location": {
"id": "1",
"refName": "US Main Warehouse"
},
"transferLocation": {
"id": "5",
"refName": "UK Distribution Center"
},
"orderStatus": {
"id": "PENDING_FULFILLMENT",
"refName": "Pending Fulfillment"
},
"shipDate": "2025-12-26",
"expectedReceiptDate": "2025-12-30",
"memo": "Transfer to UK subsidiary for Q1 sales demand",
"total": 5250.00,
"links": [
{
"rel": "self",
"href": "https://ACCOUNT_ID.suitetalk.api.netsuite.com/services/rest/record/v1/intercompanyTransferOrder/4001"
}
]
}

Example: Update Intercompany Transfer Order

Request

PATCH /record/v1/intercompanyTransferOrder/4001
Content-Type: application/json
Authorization: Bearer YOUR_ACCESS_TOKEN
{
"expectedReceiptDate": "2026-01-05",
"memo": "Transfer to UK subsidiary - delayed due to customs processing"
}

Response

{
"id": "4001",
"tranId": "ICTO-10001",
"expectedReceiptDate": "2026-01-05",
"memo": "Transfer to UK subsidiary - delayed due to customs processing",
"lastModifiedDate": "2025-12-25T17:15:00Z",
"links": [
{
"rel": "self",
"href": "https://ACCOUNT_ID.suitetalk.api.netsuite.com/services/rest/record/v1/intercompanyTransferOrder/4001"
}
]
}

Sublists

Item Sublist

FieldTypeDescriptionRequired
itemobjectItem referenceYes
quantitynumberQuantity to transferYes
ratenumberTransfer price per unitConditional
amountnumberTotal line amountNo
descriptionstringLine descriptionNo
expectedReceiptDatestringLine-level expected receiptNo
commitInventoryobjectCommit inventory optionNo
quantityCommittednumberQuantity fulfilledRead-only
quantityReceivednumberQuantity receivedRead-only
isClosedbooleanLine closed statusNo

Query Filters

Find by Source Subsidiary

GET /record/v1/intercompanyTransferOrder?q=subsidiary='1'

Find by Destination Subsidiary

GET /record/v1/intercompanyTransferOrder?q=toSubsidiary='2'

Find by Date Range

GET /record/v1/intercompanyTransferOrder?q=tranDate BETWEEN '2025-12-01' AND '2025-12-31'

Find by Status

GET /record/v1/intercompanyTransferOrder?q=orderStatus='PENDING_FULFILLMENT'

Find Between Specific Subsidiaries

GET /record/v1/intercompanyTransferOrder?q=subsidiary='1' AND toSubsidiary='2'

Find by Location

GET /record/v1/intercompanyTransferOrder?q=location='1'
GET /record/v1/intercompanyTransferOrder/4001?expandSubResources=true

Important Notes

OneWorld Requirement

  • OneWorld Only: Intercompany transfer orders require NetSuite OneWorld
  • Must have multiple subsidiaries configured
  • Source and destination subsidiaries must be different
  • For same-subsidiary transfers, use Transfer Order

Accounting Impact

Intercompany Transactions Created:

  1. Intercompany Journal Entries

    • Debit/Credit between subsidiaries
    • Proper intercompany accounts
    • Automatic creation based on transfer
  2. Elimination Entries

    • Created for consolidated reporting
    • Removes intercompany balances from consolidation
    • Ensures accurate financial statements
  3. Subsidiary-Specific Inventory Records

    • Proper inventory tracking per subsidiary
    • Currency conversion handling
    • Location-specific inventory levels

Example Accounting:

Source Subsidiary (US):
DR: Intercompany Receivable (from UK) - $3,000
CR: Inventory Asset - $3,000

Destination Subsidiary (UK):
DR: Inventory Asset - £2,400 (converted)
CR: Intercompany Payable (to US) - £2,400

Elimination (Consolidated):
DR: Intercompany Payable - £2,400
CR: Intercompany Receivable - $3,000 (converted)

Transfer Pricing

Manual Transfer Pricing:

{
"useItemCostAsTransferCost": false,
"item": {
"items": [
{
"item": { "id": "789" },
"quantity": 100,
"rate": 30.00,
"amount": 3000.00
}
]
}
}

Use Item Cost:

{
"useItemCostAsTransferCost": true,
"item": {
"items": [
{
"item": { "id": "789" },
"quantity": 100
}
]
}
}

Transfer pricing considerations:

  • Tax implications across jurisdictions
  • Arm's length pricing requirements
  • Internal cost allocation policies
  • Currency conversion impact

Currency Handling

  • Each subsidiary has its own currency
  • System automatically converts amounts
  • Transfer price set in source subsidiary currency
  • Destination subsidiary records in its currency
  • Exchange rate applied at transaction date

Example:

Source (US - USD): $30.00 per unit
Destination (UK - GBP): £24.00 per unit (at 0.80 exchange rate)

Intercompany Transfer Statuses

Same as regular transfer orders:

StatusDescription
PENDING_APPROVALAwaiting approval
PENDING_FULFILLMENTApproved, ready to ship
PARTIALLY_FULFILLEDSome items shipped
PENDING_RECEIPTShipped, awaiting receipt
PARTIALLY_RECEIVEDPartially received
RECEIVEDFully received
CLOSEDManually closed
CANCELLEDCancelled

Workflow

  1. Create Intercompany Transfer Order
  2. Approval (if required by workflow)
  3. Item Fulfillment (from source subsidiary location)
  4. Item Receipt (to destination subsidiary location)
  5. Intercompany Journal Entries (automatically created)

Multi-Currency Example

Full example with different currencies:

{
"tranDate": "2025-12-25",
"subsidiary": {
"id": "1",
"currency": "USD"
},
"toSubsidiary": {
"id": "2",
"currency": "GBP"
},
"location": {
"id": "1"
},
"transferLocation": {
"id": "5"
},
"exchangeRate": 0.80,
"item": {
"items": [
{
"item": { "id": "789" },
"quantity": 100,
"rate": 30.00,
"amount": 3000.00
}
]
}
}

Customs and Compliance

For international transfers:

{
"memo": "CUSTOMS INFO: HS Code 8471.30.01 - Commercial Invoice attached. INCOTERMS: DDP",
"shipMethod": {
"id": "INTERNATIONAL_FREIGHT"
}
}

Consider:

  • Customs documentation requirements
  • Import/export regulations
  • VAT/GST implications
  • Trade compliance

Permissions Required

  • Create: Intercompany Transfer Order > Create permission
  • Edit: Intercompany Transfer Order > Edit permission
  • View: Intercompany Transfer Order > View permission
  • Delete: Intercompany Transfer Order > Delete permission
  • Approve: Intercompany Transfer Order > Approve permission
  • Access: Permissions to both source and destination subsidiaries

Subsidiary Access

  • User must have access to both subsidiaries
  • Source subsidiary for fulfillment
  • Destination subsidiary for receipt
  • Consolidation subsidiary for eliminations

Best Practices

  1. Transfer Pricing Policy: Establish clear transfer pricing rules
  2. Documentation: Maintain proper documentation for tax authorities
  3. Currency: Monitor exchange rate fluctuations
  4. Compliance: Follow international trade regulations
  5. Reconciliation: Regularly reconcile intercompany balances
  6. Approval Workflow: Use approval workflow for control
  7. Tax Planning: Consult tax advisors for cross-border transfers

Limitations

  • Requires OneWorld account
  • Cannot transfer between same subsidiary (use Transfer Order)
  • Items must exist in both subsidiaries
  • Location must be assigned to correct subsidiary
  • Currency conversion required
  • May require additional customs/compliance fields

See Also