NetSuite WSDL and XSD Structure

SOAP web services use single WSDL file that describes all supported operations and messages. You can access that file at the following link:

https://webservices.netsuite.com/wsdl/v2023_2_0/netsuite.wsdl

You can also download a .zip version of the file at the following link:

https://content.netsuite.com/download/WSDL_v2023_2_0.zip

In these links, v2023_2_0 reflects the WSDL version.

NetSuite defines WSDL versioning, the location of schemas, namespaces, and the endpoint as follows:

          WSDL: https://webservices.netsuite.com/wsdl/v2023_2_0/netsuite.wsdl 
   <xsd:import namespace="urn:core_2023_2_0.platform.webservices.netsuite.com"  
  schemaLocation="https://webservices.netsuite.com/xsd/platform/v2023_2_0/core.xsd"/> 
<port name="NetSuitePort" binding="tns:NetSuiteBinding">
   <soap:address location="https://webservices.netsuite.com/services/NetSuitePort_2023_2_0" /> 
</port> 

        
Note:

For more information on WSDL versioning, upgrading, and testing, see NetSuite WSDL Versioning. For information on WSDLs that pre-date 2023.2, see SOAP Web Services Archives.

The WSDL is composed of numerous NetSuite-specific types that are defined in related XSDs. Each XSD URL has an alias that can be used as a reference to the corresponding XSD file. The following tables show the organization of the XSD files.

Important:

NetSuite hosts customer accounts in multiple data centers. For that reason, the correct URL for SOAP web services access varies depending on the data center hosting the account.

For more details, see Dynamic Discovery of URLs.

Your integration must incorporate logic that dynamically determines the correct URL. You should use the getDataCenterUrls operation and the The DataCenterUrls REST Service to dynamically discover the correct domain URLs.

Messaging XSD Files

These files provide descriptions for the base SOAP web services functions used by all operations. For API documentation on each operation, see SOAP Web Services Operations.

URL

Schema Alias

Notes

https://webservices.netsuite.com/xsd/platform/v2023_2_0/common.xsd

platformCommon

This file also includes descriptions for the following subrecords:

  • Address

  • InventoryDetail

  • LandedCost

https://webservices.netsuite.com/xsd/platform/v2023_2_0/core.xsd

platformCore

Among other elements, this file includes descriptions for the following complex types, which are used for authentication:

  • Passport

  • SsoPassport

  • TokenPassport

https://webservices.netsuite.com/xsd/platform/v2023_2_0/faults.xsd

platformFaults

https://webservices.netsuite.com/xsd/platform/v2023_2_0/messages.xsd

platformMsgs

Record Type Definitions

The following XSD files provide descriptions for each record type in NetSuite. For field reference information on each record, see SuiteTalk SOAP Records Overview. For general information on working with records in SOAP web services, see Records in SOAP Web Services.

URL

Schema Alias

Record Types

https://webservices.netsuite.com/xsd/lists/v2023_2_0/scheduling.xsd

actSched

ContactCategory
CustomerCategory
SalesRole
PriceLevel
WinLossReason
Term
NoteType
PaymentMethod
CalendarEvent
CalendarEventSearch
CalendarEventSearchAdvanced
Task
TaskSearch
TaskSearchAdvanced
PhoneCall
PhoneCallSearch
PhoneCallSearchAdvanced
ProjectTask
Resource Allocation

https://webservices.netsuite.com/xsd/transactions/v2023_2_0/demandPlanning.xsd

demandPlanning

ItemDemandPlan
ItemSupplyPlan

https://webservices.netsuite.com/xsd/documents/v2023_2_0/fileCabinet.xsd

docfileCab

File
FileSearch
FileSearchAdvanced
Folder
FolderSearch
FolderSearchAdvanced

https://webservices.netsuite.com/xsd/general/v2023_2_0/communication.xsd

generalComm

Note
NoteSearch
NoteSearchAdvanced
Message
MessageSearch
MessageSearchAdvanced

https://webservices.netsuite.com/xsd/lists/v2023_2_0/accounting.xsd

listAcct

Billing Schedule
Bill of Materials (BOM)
BOM Revision
ContactCategory
CustomerCategory
SalesRole
PriceLevel
WinLossReason
Term
NoteType
PaymentMethod
LeadSource
Assembly Item (BOM Item)
DescriptionItem
DiscountItem
Download Item
GeneralToken
GiftCertificateItem
InventoryItem
ItemSearch
ItemSearchAdvanced
Kit/Package Item
Lot Numbered Assembly Item
Lot Numbered Inventory Item
MerchandiseHierarchyNode
MarkupItem
NonInventoryPurchaseItem
NonInventoryResaleItem
NonInventorySaleItem
OtherChargePurchaseItem
OtherChargeResaleItem
OtherChargeSaleItem
PaymentCard
PaymentCardToken
PaymentItem
SerializedAssemblyItem
Serialized Inventory Item
ServicePurchaseItem
ServiceResaleItem
ServiceSaleItem
SubtotalItem
Currency
ExpenseCategory
Account
AccountSearch
AccountSearchAdvanced
AccountingPeriod
Bin
BinSearch
BinSearchAdvanced
Classification
ClassificationSearch
ClassificationSearchAdvanced
Department
DepartmentSearch
DepartmentSearchAdvanced
Expense Category
Gift Certificate
FairValuePrice

https://webservices.netsuite.com/xsd/lists/v2023_2_0/accounting.xsd

listAcct

GiftCertificateSearch
GiftCertificateSearchAdvanced
GlobalAccountMapping
Inventory Number
ItemAccountMapping
Location
LocationSearch
LocationSearchAdvanced
Nexus
Revenue Recognition Schedule
Revenue Recognition Template
Sales Tax ItemItemSearchAdvanced
ContactRole
Bin
SalesTaxItem
TaxAcct
TaxGroup
TaxType
Subsidiary
SubsidiarySearch
SubsidiarySearchAdvanced
UnitsType
PartnerCategory
VendorCategory

https://webservices.netsuite.com/xsd/lists/v2023_2_0/employees.xsd

listEmp

Employee
EmployeeSearch
EmployeeSearchAdvanced
HCM Job

https://webservices.netsuite.com/xsd/lists/v2023_2_0/marketing.xsd

listMkt

Campaign
CampaignSearch
CampaignSearchAdvanced
CampaignCategory
CampaignAudience
CampaignFamily
CampaignSearchEngine
CampaignChannel
CampaignOffer
CampaignResponse
CampaignVertical
CampaignSubscription
PromotionCode
PromotionCodeSearch
PromotionCodeSearchAdvanced

https://webservices.netsuite.com/xsd/lists/v2023_2_0/relationships.xsd

listRel

Billing Account
Contact
ContactSearch
ContactSearchAdvanced
Customer
CustomerSearch
CustomerSearchAdvanced
CustomerStatus
CustomerSubsidiaryRelationship
Partner
PartnerSearch
PartnerSearchAdvanced
Vendor
VendorSearch
VendorSearchAdvanced
VendorSubsidiaryRelationship
EntityGroup
EntityGroupSearch
EntityGroupSearchAdvanced
Job
JobSearch
JobSearchAdvanced
JobType
JobStatus

https://webservices.netsuite.com/xsd/lists/v2023_2_0/supplyChain.xsd

listScm

ManufacturingCostTemplate
ManufacturingOperationTask
ManufacturingRouting

https://webservices.netsuite.com/xsd/lists/v2023_2_0/website.xsd

listSite

SiteCategory
SiteCategorySearch
SiteCategorySearchAdvanced

https://webservices.netsuite.com/xsd/lists/v2023_2_0/support.xsd

listSupport

SupportCase
SupportCaseSearch
SupportCaseSearchAdvanced
SupportCaseStatus
SupportCaseType
SupportCaseOrigin
SupportCaseIssue
SupportCasePriority
Solution
SolutionSearch
SolutionSearchAdvanced
Topic
TopicSearch
TopicSearchAdvanced
Issue
IssueSearch
IssueSearchAdvanced

https://webservices.netsuite.com/xsd/setup/v2023_2_0/customization.xsd

setupCustom

CustomRecord
CustomRecordSearch
CustomRecordSearchAdvanced
CustomList
CustomRecordType
EntityCustomField
CrmCustomField
OtherCustomField
ItemCustomField
TransactionBodyCustomField
TransactionColumnCustomField
ItemOptionCustomField
CustomRecordCustomField
CustomTransaction
CustomSegment

https://webservices.netsuite.com/xsd/transactions/v2023_2_0/bank.xsd

tranBank

Check
Deposit

https://webservices.netsuite.com/xsd/transactions/v2023_2_0/customers.xsd

tranCust

CashRefund
Charge
CustomerPayment
ReturnAuthorization
CreditMemo
CustomerRefund
CustomerDeposit
DepositApplication

https://webservices.netsuite.com/xsd/transactions/v2023_2_0/inventory.xsd

tranInvt

InventoryAdjustment
InventoryCostRevaluation
AssemblyBuild
AssemblyUnbuild
WorkOrder
WorkOrderClose
WorkOrderIssue
WorkOrderCompletionOperation

https://webservices.netsuite.com/xsd/transactions/v2023_2_0/employees.xsd

tranEmp

TimeBill
TimeBillSearch
TimeBillSearchAdvanced
ExpenseReport
TimeEntry
Timesheet
Paycheck

https://webservices.netsuite.com/xsd/transactions/v2023_2_0/financial.xsd

tranFin

Budget
BudgetSearch
BudgetSearchAdvanced

https://webservices.netsuite.com/xsd/transactions/v2023_2_0/general.xsd

tranGeneral

JournalEntry
InterCompanyJournalEntry
StatisticalJournalEntry
AdvIntercompanyJournalEntry

https://webservices.netsuite.com/xsd/transactions/v2023_2_0/purchases.xsd

tranPurch

VendorBill
PurchaseOrder
ItemReceipt
VendorPayment
VendorCredit
Purchase/Requisition
InboundShipment

https://webservices.netsuite.com/xsd/transactions/v2023_2_0/sales.xsd

tranSales

AccountingTransactionSearch
AccountingTransactionSearchAdvanced
Opportunity
OpportunitySearch
OpportunitySearchAdvanced
SalesOrder
TransactionSearch
TransactionSearchAdvanced
ItemFulfillment
Invoice
CashSale
Estimate

System Constants XSD Files

These files provide constant values for the corresponding types in the business records XSD files.

URL

Schema Alias

https://webservices.netsuite.com/xsd/lists/v2023_2_0/schedulingTypes.xsd

actSchedTyp

https://webservices.netsuite.com/xsd/transactions/v2023_2_0/demandPlanning.xsd

demandPlanningTyp

https://webservices.netsuite.com/xsd/documents/v2023_2_0/fileCabinetTypes.xsd

docFileCabTyp

https://webservices.netsuite.com/xsd/general/v2023_2_0/communicationTypes.xsd

generalCommTyp

https://webservices.netsuite.com/xsd/transactions/v2023_2_0/inventoryTypes.xsd

invtTyp

https://webservices.netsuite.com/xsd/lists/v2023_2_0/accountingTypes.xsd

listAcctTyp

https://webservices.netsuite.com/xsd/lists/v2023_2_0/employeeTypes.xsd

listEmpTyp

https://webservices.netsuite.com/xsd/lists/v2023_2_0/marketingTypes.xsd

listMktTyp

https://webservices.netsuite.com/xsd/lists/v2023_2_0/relationshipTypes.xsd

listRelTyp

https://webservices.netsuite.com/xsd/lists/v2023_2_0/supplyChainTypes.xsd

listScmTyp

https://webservices.netsuite.com/xsd/lists/v2023_2_0/supportTypes.xsd

listSupportTyp

https://webservices.netsuite.com/xsd/platform/v2023_2_0/coreTypes.xsd

platformCoreTyp

https://webservices.netsuite.com/xsd/platform/v2023_2_0/faultTypes.xsd

platformFaultsTyp

https://webservices.netsuite.com/xsd/setup/v2023_2_0/customizationTypes.xsd

setupCustomTyp

https://webservices.netsuite.com/xsd/transactions/v2023_2_0/saleTypes.xsd

tranSalesTyp

Example

For example, the addRequest message type has three levels of referencing.

                                                                                                                                                                                                                                                                                                                                                             

In the WSDL file, the addRequest message is defined as:

          <message name="addRequest">
   <part name="parameters" element="platformMsgs:add"/>
</message> 

        

The element called platformMsgs:add is defined in the platformMsgs XSD file. In this case, the platformMsgs alias refers to the xsd file at:

https://webservices.netsuite.com/xsd/platform/v2023_2_0/messages.xsd

In this file, the addRequest element is defined again as:

          <complexType name="AddRequest">
   <sequence>
       <element name="record" type="platformCore:Record" />
    </sequence>
</complexType> 

        

Again there is a reference that is not contained in this XSD file called platformCore:Record. The platformCore alias refers to the XSD file at:

https://webservices.netsuite.com/xsd/platform/v2023_2_0/core.xsd

The abstract type Record is defined as:

          <complexType name="Record" abstract="true"> 
   <sequence> 
      <element name="nullFieldList" type="platformCore:NullField" minOccurs="0" maxOccurs="1" /> 
   </sequence>
</complexType> 

        
Note:

In SOAP web services, Record is the base for all other NetSuite record types.

XML Samples of Supported Variations of a SOAP Request

Here you can see 3 variations of a SOAP request that are supported by NetSuite.

Variation A

In this variation namespace aliases are always used, as suggested by the official WSDL documentation.

          <soapenv:Body>
<platformMsgs:initialize>
<platformMsgs:initializeRecord>
<platformCore:type>itemReceipt</platformCore:type>
<platformCore:rference type="purchaseOrder" internalId="123"/>
</platformMsgs:initializeRecord>
</platformMsgs:initialize>
</soapenv:Body> 

        

Variation B

In this variation namespace aliases are used only when needed.

          <soapenv:Body>
<platformMsgs:initialize xmlns:platformMsgs="urn:messages_2019_1.platform.webservices.netsuite.com">
<platformMsgs:initializeRecord xmlns:platformCore="urn:core_2019_1.platform.webservices.netsuite.com">
<platformCore:type>itemReceipt</platformCore:type>
<platformCore:reference type="purchaseOrder" internalId="123"/>
</platformMsgs:initializeRecord>
</platformMsgs:initialize>
</soapenv:Body> 

        

Variation C

In this variation, the namespace aliases are used again only when necessary.

          <soapenv:Body>
<initialize xmlns="urn:messages_2019_1.platform.webservices.netsuite.com">
<initializeRecord>
<urn1:type xmlns:urn1="urn:core_2019_1.platform.webservices.netsuite.com">itemReceipt</urn1:type>
<urn2:reference intelId="123" type="purchaseOrder" xmlns:urn2="urn:core_2019_1.platform.webservices.netsuite.com:/>
</initializeRecord>
</initialize>
</soapenv:Body> 

        

Related Topics

SuiteTalk SOAP Web Services Platform Overview
SOAP Web Services Overview
NetSuite WSDL Versioning
SOAP Web Services Performance Optimization
SOAP Web Services Governance Overview
Web Services and RESTlet Concurrency Governance
Glossary

General Notices