<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE smbxml SYSTEM "http://www.netsuite.com/xml/dtd/smb_4_06.dtd">
<!--
smbXML Non-Inventory Item for Resale Record Import Example

Before attempting to import any example smbXML documents, NetSuite strongly suggests you read the smbXML Developer's Guide. This guide can be found on the NetSuite Web site at Partners > Developer Program > Technical Documentation. The Developer's Guide explains how to construct smbXML documents.

The Document Type Definition (DTD) defines the format used for smbXML documents imported into your NetSuite account. These documents can contain additions, updates and queries of NetSuite records and transactions. The DTD specifies required fields, field order and XML element and attribute structures. The DTD is your guideline for creating smbXML documents. The current DTD can be found on NetSuite's Web site at Partners > Developer Program > Technical Documentation.

This sample file provides a complete non-inventory item for resale record import example, including mandatory and optional item elements. A non-inventory item record import contains several references to objects that must already exist in your NetSuite account. Any objects referenced in this example that are available for import with smbXML are created prior to the example. This is necessary for the import to be successful.

Any referenced objects that cannot be created with smbXML must be created using the NetSuite user interface (UI) prior to importing the example. These situations are noted as they occur and instructions for creating the objects in the UI are included.-->

<!--
NetSuite IPR Software Notice
Copyright (c) 2000-2003 NetSuite, Inc. All Rights Reserved.-->

<smbxml missingFieldOverwrite="false">
	<!--The smbxml element may have multiple request elements.

Setting the missingFieldOverwrite attribute to false tells NetSuite to ignore missing elements on import and not to alter information in fields not included in the imported file. If this attribute is set to true, any elements not included in your smbXML file will be erased upon import. Setting the missingFieldOverwrite attribute at the smbxml element level applies the setting to the entire import. This attribute can be overridden at the request element level. Detailed information on this attribute is provided in the smbXML Developer's Guide.-->
	<!--Multiple request elements are allowed in a single smbXML document. Each request may only have one add, addOrUpdate or query command. Each command may only have one record.-->
	<request>
		<!--Add a non-inventory item to be referenced as a parent on this item record.-->
		<addOrUpdate>
			<!--An addOrUpdate request looks for the existence of an object (in this case, a non-inventory item) matching the handle or ID of the object being added. If it finds a match the information is updated for the existing object. If there is no match, a new object is created. We want to make certain the non-inventory item record exists in the system prior to referencing it on this item record. If the referenced record does not exist prior to the import of the item record, the record will fail to import. 

The following example represents a very minimal import for a non-inventory item record, but it is enough to allow us to import the record below. Non-inventory item records may also be created through the UI at Lists > Items > New > Non-inventory Item for Resale. For a complete example of a non-inventory item record import, see the example below.-->
			<nonInventoryResaleItem handle="NIVT569">
				<name>Vintage</name>
			</nonInventoryResaleItem>
		</addOrUpdate>
	</request>
	<!--Add an account record to be referenced on this item record. -->
	<request>
		<addOrUpdate>
			<account handle="EXPS1925">
				<accountTypeRef>
					<name>Expense</name>
				</accountTypeRef>
				<name>Sporting Goods</name>
			</account>
		</addOrUpdate>
	</request>
	<!--Add another account record to be referenced on the item record.-->
	<request>
		<addOrUpdate>
			<account handle="INCM7854">
				<accountTypeRef>
					<name>Income</name>
				</accountTypeRef>
				<name>Vintage Sport Sales</name>
			</account>
		</addOrUpdate>
	</request>
	<!--Add a vendor record to be referenced on this item record. For a complete example of a vendor record import, see the smbXML Vendor Record Example.-->
	<request>
		<addOrUpdate>
			<vendor handle="VEND7895">
				<entityId>Minnesota Vintage Sporting Goods</entityId>
			</vendor>
		</addOrUpdate>
	</request>
	<!--The following three records only apply if you use the Web Site or Store features. These features can be enabled at Setup > Enable Features > Web Site.

Add a store category to be referenced on this item record.
	<request>
		<addOrUpdate>
			<storeCategory handle="CAT1575">
				<name>Memorabilia</name>
				<parentRef>
					<name>Catalog</name>
				</parentRef>
			</storeCategory>
		</addOrUpdate>
	</request>
Add another store category.
	<request>
		<addOrUpdate>
			<storeCategory handle="CAT486">
				<name>Vintage Sport Equipment</name>
				<parentRef>
					<parentName>Catalog</parentName>
					<name>Memorabilia</name>
				</parentRef>
			</storeCategory>
		</addOrUpdate>
	</request>
Add another store category.
	<request>
		<addOrUpdate>
			<storeCategory handle="CAT4785">
				<name>Tennis</name>
				<parentRef>
					<parentName>Catalog</parentName>
					<parentName>Memorabilia</parentName>
					<name>Vintage Sport Equipment</name>
				</parentRef>
			</storeCategory>
		</addOrUpdate>
	</request> -->
	<!--Add a non-inventory item record.-->
	<!--Below is a list of the mandatory and optional references used in a non-inventory item record import. This list also includes information about where the objects being referenced may be created.

	Mandatory References:
		-	parentRef							created in the UI or via smbXML  (Parent references are only 														mandatory if the record is a child of another record.)
		-	vendorRef							created in the UI or via smbXML  (Vendor references are only 														mandatory if this item is a drop-ship item.)
		
	Optional References:
		-	incomeAccountRef				created in the UI or via smbXML
		-	expenseAccountRef				created in the UI or via smbXML
		-	weightUnitRef						standard measurements, cannot be created
		-	storeCategoryRef				created in the UI only
		-	storeDisplayThumbnailRef	created in the UI only
		-	storeDisplayImageRef			created in the UI only
		-	priceLevelRef						created in the UI only
		-	locationRef							created in the UI only
		
Note that for each of these references, where allowed, we have chosen to use handle references. Handle references are more precise and easier to use.-->
	<request>
		<addOrUpdate>
			<!--We use an addOrUpdate command here to indicate that if a non-inventory item record already exists for this item, the information should be updated. If a record does not exist, a new record will be created.-->
			<nonInventoryResaleItem handle="NIVT1254">
				<!--The nonInventoryResaleItem element is used to indicate the object you are adding or updating with this request.  You can use the handle attribute to create a handle for your item record with the nonInventoryResaleItem element. Creating this handle allows you to reference this item in other smbXML documents using handle references.-->
				<name>Tennis Racket, Wood</name>
				<!--The name element is your company's name for this item. This element is required and the information populates the Item Name/Number field on inventory item records. This field has a maximum length of 60 characters.-->
				<displayName>Vintage Wooden Tennis Racket</displayName>
				<!--The displayName element is a place to record an additional name for this item. This element is not required and the information populates the Display Name/Code field on item records. If you enter a display name, it will print in the Item column on sales transactions. This field has a maximum length of 60 characters. -->
				<vendorName>Racket-0012</vendorName>
				<!--The vendorName element is used to record the name your vendor uses for this item. This element is not required and the information entered populates the Vendor Name/Code field on item records. If you enter a vendor name, it will print on purchase transactions. This field has a maximum length of 30 characters. -->
				<parentHandle handle="NIVT569"/>
				<!--The parentHandle element is a reference to an existing item record. This particular item was created at the beginning of this example. Non-inventory item records can also be created in the UI at Lists > Items > New > Non-inventory Item for Resale. You can also use a name reference to include parent items. If this item record is a child of existing items, you must include a parentRef or parentHandle for each parent record. If any of the parent records were created in the UI, a name reference must be used unless the parent handles can be determined with a query.

To use name references for parent records, enter the following elements:
				<parentRef>
					<parentName>Memorabilia</parentName>
					<parentName>Sporting Goods</parentName>
					<name>Vintage</name>
				</parentRef>

The top-level parent record is listed first and each level is listed in descending order. These parent records must exist in NetSuite prior to importing your file and the name references must match the record names identically.

With handle references, you do not have to include each level of the parent hierarchy, only the immediate parent handle.-->
				<!-- If you use NetSuite's Web Site feature, you can choose to display this item in your Web site. The Web Site feature is only available in NetSuite and Oracle Small Business Suite. To enable the Web Site feature, go to Setup > Enable Features > Web Site. Check the Web Site box and click Save.

To include this item in your Web site, enter the following element:
				<isOnline>true</isOnline> 
The isOnline element is not required and the information populates the Display in Web Site field on item records. Because this field is a check box and records a true or false value, you must enter either true or false for this element.  If this element is not included, the field defaults to false. -->
				<purchaseDescription>Tennis Racket, Wilso, Wooden 0012</purchaseDescription>
				<!--The purchaseDescription element is used to record a description for this item that appears on your purchase transactions. This element is not required and the information entered populates the Purchase Description field of item records. This field has a maximum length of 999 characters. You may use the new line string &#xD; to separate lines. -->
				<cost>75.49</cost>
				<!--The cost element is used to record the price you pay for this item. The cost element is not required and the information entered populates the Purchase Price field on item records. The purchase price is used to calculate the total value of your stock of this inventory item. The information entered in this field must be a currency amount up to 9,999,999,999.99. -->
				<expenseAccountRef>
					<name>Sporting Goods</name>
				</expenseAccountRef>
				<!--The expenseAccountRef is used to reference an expense account for this item. This particular account was created at the beginning of this example. You can also create expense accounts through the UI at Lists > Accounts > New. This element is not required and the information entered populates the Expense Account field on item records. Expense accounts must be referenced with name references. If the account you reference is a child of other accounts, you must also include the parent accounts in your name reference.

If you do not include an expense account reference, your default expense account will populate this field. You can set a default expense account at Setup > Set Up Accounting > Accounts. -->
				<vendorHandle handle="VEND7895"/>
				<!--The vendorHandle element is a reference to a vendor record that already exists in NetSuite. This particular vendor record was created at the beginning of this example. Vendor records can also be created in the UI at Lists > Vendors > New. This element is only required if this item is a drop-ship item. The information entered populates the Preferred Vendor field on item records.

You can also use a name reference to include this vendor record. If the vendor record was created in the UI, a name reference must be used unless the vendor handle can be determined with a query.

To use name references for vendor records, enter the following elements:
				<vendorRef>
					<name>American Media</name>
				</vendorRef> -->
				<salesDescription>Vintage Wooden Tennis Racket, New Strings</salesDescription>
				<!--The salesDescription element is used to record a description for this item that appears on your sales transactions. This element is not required and the information entered populates the Sales Description field of item records. This field has a maximum length of 999 characters. You may use the new line string &#xD; to separate lines. -->
				<incomeAccountRef>
					<name>Vintage Sport Sales</name>
				</incomeAccountRef>
				<!--The incomeAccountRef is used to reference an income account for this item. This particular account was created at the beginning of this example. You can also create income accounts through the UI at Lists > Accounts > New. This element is not required and the information entered populates the Income Account field on item records. Income accounts must be referenced with name references. If the account you reference is a child of other accounts, you must also include the parent accounts in your name reference.

If you do not include an income account reference, your default income account will populate this field. You can set a default income account at Setup > Set Up Accounting > Accounts. -->
				<salesPrice>150.55</salesPrice>
				<!--The salesPrice element is used to record the price you sell this item for. This element is not required and the information entered populates the Sales Price field. The information entered in this field must be a currency amount up to 9,999,999,999.99. 

If you use Multiple Prices, the salesPrice element will only set the base price level of your item. You can include a list of price levels with your import. To include a list of item prices, you must include a name reference to each price level. The price levels must exist in NetSuite prior to the import. You can create new price levels in the UI at Lists > Other Lists > New > Price Level.

To include a price list if you use Multiple Prices, enter the following elements:
				<itemPriceList>
					<itemPriceLine>
						<itemPriceTypeRef>
							<name>Base Price</name>
						</itemPriceTypeRef>
						<itemPrice>150.55</itemPrice>
					</itemPriceLine>
					<itemPriceLine>
						<itemPriceTypeRef>
							<name>Alternate Price 1</name>
						</itemPriceTypeRef>
						<itemPrice>175.25</itemPrice>
					</itemPriceLine>
				</itemPriceList>
				
If you also use Multiple Currencies, you can include currency references for each price level.
				<itemPriceList>
					<itemPriceLine>
						<itemPriceTypeRef>
							<name>Base Price</name>
						</itemPriceTypeRef>
						<currencyRef>
							<name>U.S. dollar</name>
						</currencyRef>
						<itemPrice>150.55</itemPrice>
					</itemPriceLine>
					<itemPriceLine>
						<itemPriceTypeRef>
							<name>Alternate Price 1</name>
						</itemPriceTypeRef>
						<currencyRef>
							<name>British pound</name>
						</currencyRef>
						<itemPrice>175.25</itemPrice>
					</itemPriceLine>
				</itemPriceList>
				
The currency records must also exist in NetSuite prior to the file import. You can create new currency records at Lists > Currencies > New.

smbXML does not currently support price lists for multiple currencies only. If you use Multiple Currencies without Multiple Prices, you can import a sales price using the salesPrice element for your default currency. Any other currency prices must be entered manually through the UI. -->
				<shippingCost>16.95</shippingCost>
				<!--The shippingCost element is used to set a per-item shipping cost for this item. This element is not required and the information entered populates the Shipping Cost field on item records. The information entered in this field must be a currency amount up to 9,999,999,999.99. To use the shipping cost entered, you must also create a shipping item for per-item shipping costs. You can create a new shipping item at Lists > Shipping Items > New. -->
				<weight>7</weight>
				<!--The weight element is used to enter a shipping weight for this item. This element is not required and the information entered populates the Item weight field on item records. The information entered in this field must be a positive integer. To charge shipping by weight, you must also create a shipping item for weight. You can create new shipping items at Lists > Shipping Items > New. -->
				<weightUnitRef>
					<name>lb</name>
				</weightUnitRef>
				<!--The weightUnitRef element is used to indicate the unit measure of the weight entered in the Item weight field. This element is not required and the information entered populates the Item weight field. If you do not include a unit of measure, the default value is pounds. The information entered in this field must be one of the available choices below:
	-  lb for pounds
	-  oz for ounces
	-  kg for kilograms
	-  g for grams
You must only enter the abbreviation for the unit of measure. -->
				<isTaxable>true</isTaxable>
				<!--The isTaxable element is used to indicate if sales tax is charged on this item. This element is not required and the information populates the Taxable field on item records. Because this field is a check box and records a true or false value, you must enter either true or false for this element. -->
				<isInactive>false</isInactive>
				<!--The isInactive element is used to indicate if an item is inactive. This element is not required and the information populates the Item is Inactive field on item records. Because this field is a check box and records a true or false value, you must enter either true or false for this element. If you choose to enter true for this element, the item record is inactive. The record will not appear in lists or be available on transactions. -->
				<!-- If you use Customer Support and Service, you can indicate if this item is available for customer support.

				<offerSupport>true</offerSupport> 
The offerSupprt element is not required and the information entered populates the Offer Support field on item records. Because this field is a check box and records a true or false value, you must enter either true or false for this element. If you enter true, this item appears in the Item field on case records. -->
				<!--The following elements only apply if you use the Web Site or Store features. These features can be enabled at Setup > Enable Features > Web Site.

				<storeDisplayName>Vintage Wooden Tennis Racket</storeDisplayName>
The storeDisplayName element is used to enter a display name for this item that appears in your Web store. This element is not required and the information entered populates the Store Display Name field on item records. If you do not enter a store display name, the name entered in the Item Name/Number field appears in your Web store. The store display name can be a maximum of 40 characters.
				<storeCategoryList>
The storeCategoryList element is used to indicate the beginning of a category list for this item. This element is only required if you are including a category list.
					<storeCategoryRef>
						<parentName>Catalog</parentName>
						<parentName>Memorabilia</parentName>
						<parentName>Vintage Sport Equipment</parentName>
						<name>Tennis</name>
					</storeCategoryRef>
The storeCategoryRef elements are references to Web store categories that already exist in NetSuite. Store categories can only be created in the UI at Lists > Categories > New. 

When referencing categories, you must include the entire hierarchy. The top-level parent record is listed first and each level is listed in descending order. These parent records must also exist in NetSuite prior to importing your file and the name references must match the record names identically. 
				</storeCategoryList>
				<storeDescription>Vintage wooden tennis racket, restored with new strings.</storeDescription>
The storeDescription element is used to enter a brief description of this item to appear under the item name in your Web store or site. This element is not required and the information entered populates the Store Description field of item records. You can enter up to 999 characters in this field.
				<storeDisplayThumbnailRef>
					<name>tennisV.jpg</name>
				</storeDisplayThumbnailRef>
The storeDisplayThumnailRef element is used to reference an image file to appear in your Web store or site. This element is not required and the information populates the Item Display Thumbnail field. The image referenced appears next to the item listing in you Web site or store. The image being referenced must exist in NetSuite prior to importing this file. To add an image to NetSuite, you must upload that image into your NetSuite File Cabinet. You can upload images at Lists > File Cabinet.
				<storeDetailedDescription>This vintage racket has been totally restored to like new condition. It has new strings and a new finish.&#xD;Suitable to be used for light play or just hang it for simply hang it on display and admire the beauty.</storeDetailedDescription>
The storeDetailedDescription element is used to enter a detailed description of this item to appear when the item name is clicked in your Web store or site. This element is not required and the information entered populates the Detailed Description field of item records. You can enter up to 4000 characters in this field. You may use the new line string &#xD; to separate lines.
				<storeDisplayImageRef>
					<name>tennisV.jpg</name>
				</storeDisplayImageRef>
The storeDisplayImageRef element is used to reference an image file to appear in your Web store or site. This element is not required and the information populates the Item Display Image field. The image referenced appears when the item name is clicked. The image being referenced must exist in NetSuite prior to importing this file. To add an image to NetSuite, you must upload that image into your NetSuite File Cabinet. You can upload images at Lists > File Cabinet.
				<onSpecial>false</onSpecial>
The onSpecial element is used to indicate that this item is on special and it appears in the Specials category in your store or site. This element is not required and the information entered populates the On Special field on item records. Because this field is a check box and records a true or false value, you must enter either true or false for this element.
				<specialsDescription>Free shipping when you order now! 16.95 value</specialsDescription>
The specialsDescription element is used to enter a description for this item that appears when the item is on special. This element is not required and the information entered populates the Specials Description field on item records. You can enter up to 4000 characters in this field. You may use the new line string &#xD; to separate lines.
				<isFeatured>false</isFeatured>
The isFeatured element is used to indicate that this item is a featured item and it appears on the Welcome page in your store or site. This element is not required and the information entered populates the Featured Item field on item records. Because this field is a check box and records a true or false value, you must enter either true or false for this element.
				<featuredDescription>Supplies are limited!</featuredDescription>
The featuredDescription element is used to enter a description for this item that appears when the item is featured on the Welcome page. This element is not required and the information entered populates the Featured Description field on item records. You can enter up to 4000 characters in this field. You may use the new line string &#xD; to separate lines. -->
				<!--If you use Drop Shipments, you can indicate that this item is available for drop shipping. You can enable Drop Shipments at Setup > Enable Features > Purchase Transactions.
				<isDropShipItem>true</isDropShipItem>
The isDropShipItem element is not required and the information entered populates the Drop Ship Item field on item records. Because this field is a check box and records a true or false value, you must enter either true or false for this element. If you enter true, this item appears in the Item field on case records. If you enter true for this element, you must also include a preferred vendor for this item. -->
			</nonInventoryResaleItem>
		</addOrUpdate>
	</request>
</smbxml>
<!--
	To import an XML file:
	1. Click the Transactions tab.
	2. On the Transactions tab, under the Other heading, click Submit XML Document.
	3. Click Browse.
	4. Locate your smbXML field and select it.
	5. Click Submit. 
	
	You will see a status bar with the import progress. Once the import is complete, a message appears below the status bar indicating if there are any errors. You will also have the opportunity to download and view the XML response file from NetSuite. The response file lists any errors you may have received and acknowledgements for successful imports.

If you received any errors, you can edit your file to correct the errors and import the file again. Any requests that were successful do not need to be imported again. 

For more information about constructing and importing XML documents, see the Developer's Guide on the NetSuite Web site at Partners > Developer Program > Technical Documentation. -->
