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​