ItemInventoryMod

Modifies an inventory item. Starting with qbXML spec 7.0, you can modify the income account ref, using the IncomeAccountRef aggregate and the ApplyIncomeAccountRefToExistingTxns boolean. You need to use the ApplyIncomeAccountRefToExistingTxns boolean because the QuickBooks UI displays a prompt asking whether the change should apply to existing transactions or not. Specifying True for the boolean basically dismisses this with a “Yes” answer, allowing your changes to be made and changes any existing transactions that use the item with that AccountRef. Specifying “False” means that the mod will not take affect if there are existing transactions. Setting this to “True” should be used with caution and normally only after some user has indicated that they want those changes made to all those existing transactions! If any affected transactions are protected by a closing date and password, the IncomeAccountRef changes will not be made and so the Mod request will return an error without making the requested Mod. The Life Cycle of Inventory Items and Effects of Sales and Purchases The value of inventory is set when an inventory item is created or bought. QuickBooks uses cost averaging and decreases the value of the inventory asset account at the price when the sale is recorded. So, lets say a company starts carrying widgets as inventory items. First the inventory item must be created in QuickBooks. If the widgets are already in inventory based on a purchase made that will not be recorded in QuickBooks, the user or application would add the inventory item description along with the quantity on hand and the value (total purchase price) of the quantity on hand. If the purchase is to be recorded in QuickBooks the inventory item would be created with quantity and value of 0 (zero). Then a bill would be added to QB which would increase the inventory quantity and value. Lets say we bought 10 widgets for $100. QuickBooks would then consider each widget to be worth $10. The next day a customer buys 5 widgets for $20 each. A sales receipt or invoice is created for the purchase, the quantity of widgets is reduced by 5, to 5 and the value is reduced by $50 to $50. The inventory asset account is reduced by $50 and the undeposited funds or accounts receivable account is increased by $100. It appears that widgets will be a big seller, so the small business owner goes out and buys 10 more widgets. However, the supplier has also noticed a widget buying trend, so he’s increased the price to $25 each. So now our quantity is increased from 5 to 15 and the value is increased from $50 to $300, so they are considered to be worth $20 each. After purchasing the widgets another customer decides to buy 10 widgets but the price has been raised to $50 each. After the sales receipt or invoice is entered, the inventory is reduced to 5 and the value is reduced to $100. The inventory asset account is reduced by $200 and the undeposited funds or accounts receivable account is increased by $500.


Request

Response

XMLOPS

VB.NET

C#

Tag Type Max length Implementation Required

IItemInventoryMod

Modifies an inventory item. Starting with qbXML spec 7.0, you can modify the income account ref, using the IncomeAccountRef aggregate and the ApplyIncomeAccountRefToExistingTxns boolean. You need to use the ApplyIncomeAccountRefToExistingTxns boolean because the QuickBooks UI displays a prompt asking whether the change should apply to existing transactions or not. Specifying True for the boolean basically dismisses this with a “Yes” answer, allowing your changes to be made and changes any existing transactions that use the item with that AccountRef. Specifying “False” means that the mod will not take affect if there are existing transactions. Setting this to “True” should be used with caution and normally only after some user has indicated that they want those changes made to all those existing transactions! If any affected transactions are protected by a closing date and password, the IncomeAccountRef changes will not be made and so the Mod request will return an error without making the requested Mod. The Life Cycle of Inventory Items and Effects of Sales and Purchases The value of inventory is set when an inventory item is created or bought. QuickBooks uses cost averaging and decreases the value of the inventory asset account at the price when the sale is recorded. So, lets say a company starts carrying widgets as inventory items. First the inventory item must be created in QuickBooks. If the widgets are already in inventory based on a purchase made that will not be recorded in QuickBooks, the user or application would add the inventory item description along with the quantity on hand and the value (total purchase price) of the quantity on hand. If the purchase is to be recorded in QuickBooks the inventory item would be created with quantity and value of 0 (zero). Then a bill would be added to QB which would increase the inventory quantity and value. Lets say we bought 10 widgets for $100. QuickBooks would then consider each widget to be worth $10. The next day a customer buys 5 widgets for $20 each. A sales receipt or invoice is created for the purchase, the quantity of widgets is reduced by 5, to 5 and the value is reduced by $50 to $50. The inventory asset account is reduced by $50 and the undeposited funds or accounts receivable account is increased by $100. It appears that widgets will be a big seller, so the small business owner goes out and buys 10 more widgets. However, the supplier has also noticed a widget buying trend, so he’s increased the price to $25 each. So now our quantity is increased from 5 to 15 and the value is increased from $50 to $300, so they are considered to be worth $20 each. After purchasing the widgets another customer decides to buy 10 widgets but the price has been raised to $50 each. After the sales receipt or invoice is entered, the inventory is reduced to 5 and the value is reduced to $100. The inventory asset account is reduced by $200 and the undeposited funds or accounts receivable account is increased by $500.
       

ListID

The unique ID returned by QBPOS for this object. If supplied in a request, the ListID is a reference to an object required in the request. For example, in a SalesOrder or PurchaseOrder line item, the ListID that is required is an Item list ID.
IQBIDType     Y

useMacro

You use a macro in a request message set if you need to create some object in one request, then refer to it in a subsequent request within that same message set. For example, you could create an inventory item and then include that item as a line item in a sales order all in one request message set, rather than create the item, query for it, then include it in a separate SalesOrderAdd request. In this latter case, you are accessing QBPOS three times, versus only once, using macros. The item to be referenced is specified via the defmacro. The actual reference to that item in the succeeding request is done via the use macro, as follows: ItemInventoryAdd defMacro=”ListID:Inv1” In the above line, you simply replace Inv1 with the name you want to give the macro. When you reference this macro in another request (one that requires that object’s listID) in the same message set, you use this syntax: ListID useMacro=”ListID:Inv1” This is covered in more detail in the Programming Guide.
IQBStringType   2.0  

ALU

Alternate Lookup. A user-defined identifier to be used to look up an item. Typically, this field contains such as the manufacturer’s part number, but it can contain any text descriptions, catalog numbers, etc. Duplicate Alternate Lookups are not allowed. Do not duplicate the Item # or UPC in this field. This will adversely affect performance for item lookups.
IQBStringType 20 chars    

Attribute

A field used to describe an item characteristic, typically color, pattern, material, or a second size. One to eight characters.
IQBStringType 12 chars    

COGSAccount

This field is used if you are using QBPOS with QuickBooks. In QBPOS, in company preferences->Financial->Accounts, the end user specifies the QuickBooks income account and the QuickBooks Cost of Goods Sold (COGS) account for each type (inventory, assembly, special order, etc.) of QBPOS item. If you are using QuickBooks with QBPOS, you must specify in this COGSAccount field the COGS value specified in company preferences for inventory items.
IQBStringType      

Cost

The average cost of the item. Cost is automatically updated by receiving vouchers or manually updated by adjustment memos.
IQBAmountType      

DepartmentListID

The ListID of the department to be associated with this object, for example with this inventory item. The department must either exist in the QBPOS company already or you can replace the ListID value with a macro.
IQBIDType      

useMacro

You use a macro in a request message set if you need to create some object in one request, then refer to it in a subsequent request within that same message set. For example, you could create an inventory item and then include that item as a line item in a sales order all in one request message set, rather than create the item, query for it, then include it in a separate SalesOrderAdd request. In this latter case, you are accessing QBPOS three times, versus only once, using macros. The item to be referenced is specified via the defmacro. The actual reference to that item in the succeeding request is done via the use macro, as follows: ItemInventoryAdd defMacro=”ListID:Inv1” In the above line, you simply replace Inv1 with the name you want to give the macro. When you reference this macro in another request (one that requires that object’s listID) in the same message set, you use this syntax: ListID useMacro=”ListID:Inv1” This is covered in more detail in the Programming Guide.
IQBStringType   2.0  

Desc1

The principal item description field. This description is printed on receipts. For some versions of QBPOS, (Pro), this must be the same for all members of a style. Changes to this field can be applied to an item or to an entire style.
IQBStringType 30 chars    

Desc2

Secondary description field usually used for any additional information to describe this particular item, such as a vendor’s catalog number. Also can be used for additional information at the point of sale.
IQBStringType      

IncomeAccount

This field is used if you are using QBPOS with QuickBooks. In QBPOS, in company preferences->Financial->Accounts, the end user specifies the QuickBooks income account and the QuickBooks Cost of Goods Sold (COGS) account for each type (inventory, assembly, special order, etc.) of QBPOS item. If you are using QuickBooks with QBPOS, you must specify in this IncomeAccount field the Income Account value specified in company preferences for inventory items.
IQBStringType      

IsEligibleForCommission

Indicates whether the item is eligible for a commission.
IQBBoolType      

IsPrintingTags

Indicates whether the Print Tags checkbox is checked for this item, that is, whether this item is included in the list of items for which price tags are to be printed.
IQBBoolType      

IsUnorderable

Indicates whether the item is orderable. Items flagged as Unorderable do not show up on the reorder reminder list when their on hand number falls below the reorder point.
IQBBoolType      

IsEligibleForRewards

Indicator if item is eligible for rewards.
IQBBoolType   3.0  

IsWebItem

Indicator if item is a web item.
IQBBoolType   3.0  

ItemType

The type of item being added.
IQBENItemTypeType      

MarginPercent

Margin. The profit expressed as a percentage of the price. If defined in a department record, is used to calculate the prices of new items as they are added to inventory. Notice that modifying the margin in inventory automatically causes your price(s) and the markup (Mup %) to be recalculated. Margin % = price – costprice ´ 100
IQBIntType      

MarkupPercent

The item profit expressed as a percentage over the cost. Works in the same manner as Mrg %. Making an entry in this field causes QBPOS to recalculate your item prices and margin.
IQBIntType      

MSRP

Manufacturer’s Suggest Retail Price. Reference price that is printed on price tags if defined in inventory.
IQBAmountType      

OnHandStore01

The quantity of the item on hand in inventory.
IQBQuanType      

OnHandStore02

The quantity of the item on hand in inventory in store 2, valid only for multi-store versions of QBPOS.
IQBQuanType      

OnHandStore03

The quantity of the item on hand in inventory in store 3, valid only for multi-store versions of QBPOS.
IQBQuanType      

OnHandStore04

The quantity of the item on hand in inventory in store 4, valid only for multi-store versions of QBPOS.
IQBQuanType      

OnHandStore05

The quantity of the item on hand in inventory in store 5, valid only for multi-store versions of QBPOS.
IQBQuanType      

OnHandStore06

The quantity of the item on hand in inventory in store 6, valid only for multi-store versions of QBPOS.
IQBQuanType      

OnHandStore07

The quantity of the item on hand in inventory in store 7, valid only for multi-store versions of QBPOS.
IQBQuanType      

OnHandStore08

The quantity of the item on hand in inventory in store 8, valid only for multi-store versions of QBPOS.
IQBQuanType      

OnHandStore09

The quantity of the item on hand in inventory in store 9, valid only for multi-store versions of QBPOS.
IQBQuanType      

OnHandStore10

The quantity of the item on hand in inventory in store 10, valid only for multi-store versions of QBPOS.
IQBQuanType      

OnHandStore11

The quantity of the item on hand in inventory in store 11, valid only for multi-store versions of QBPOS.
IQBQuanType   3.0  

OnHandStore12

The quantity of the item on hand in inventory in store 12, valid only for multi-store versions of QBPOS.
IQBQuanType   3.0  

OnHandStore13

The quantity of the item on hand in inventory in store 13, valid only for multi-store versions of QBPOS.
IQBQuanType   3.0  

OnHandStore14

The quantity of the item on hand in inventory in store 14, valid only for multi-store versions of QBPOS.
IQBQuanType   3.0  

OnHandStore15

The quantity of the item on hand in inventory in store 15, valid only for multi-store versions of QBPOS.
IQBQuanType   3.0  

OnHandStore16

The quantity of the item on hand in inventory in store 16, valid only for multi-store versions of QBPOS.
IQBQuanType   3.0  

OnHandStore17

The quantity of the item on hand in inventory in store 17, valid only for multi-store versions of QBPOS.
IQBQuanType   3.0  

OnHandStore18

The quantity of the item on hand in inventory in store 18, valid only for multi-store versions of QBPOS.
IQBQuanType   3.0  

OnHandStore19

The quantity of the item on hand in inventory in store 19, valid only for multi-store versions of QBPOS.
IQBQuanType   3.0  

OnHandStore20

The quantity of the item on hand in inventory in store 20, valid only for multi-store versions of QBPOS.
IQBQuanType   3.0  

ReorderPointStore01

Reorder point for item.
IQBQuanType   3.0  

ReorderPointStore02

Reorder point for item.
IQBQuanType   3.0  

ReorderPointStore03

Reorder point for item.
IQBQuanType   3.0  

ReorderPointStore04

Reorder point for item.
IQBQuanType   3.0  

ReorderPointStore05

Reorder point for item.
IQBQuanType   3.0  

ReorderPointStore06

Reorder point for item.
IQBQuanType   3.0  

ReorderPointStore07

Reorder point for item.
IQBQuanType   3.0  

ReorderPointStore08

Reorder point for item.
IQBQuanType   3.0  

ReorderPointStore09

Reorder point for item.
IQBQuanType   3.0  

ReorderPointStore10

Reorder point for item.
IQBQuanType   3.0  

ReorderPointStore11

Reorder point for item.
IQBQuanType   3.0  

ReorderPointStore12

Reorder point for item.
IQBQuanType   3.0  

ReorderPointStore13

Reorder point for item.
IQBQuanType   3.0  

ReorderPointStore14

Reorder point for item.
IQBQuanType   3.0  

ReorderPointStore15

Reorder point for item.
IQBQuanType   3.0  

ReorderPointStore16

Reorder point for item.
IQBQuanType   3.0  

ReorderPointStore17

Reorder point for item.
IQBQuanType   3.0  

ReorderPointStore18

Reorder point for item.
IQBQuanType   3.0  

ReorderPointStore19

Reorder point for item.
IQBQuanType   3.0  

ReorderPointStore20

Reorder point for item.
IQBQuanType   3.0  

OrderByUnit

If you are using multiple units of measure instead of a single unit of measure, you can use one UOM to order by (OrderByUnit) and another to sell by (SellByUnit). The OrderByUnit value is used as the default unit of measure when you order this item from vendors. You can override this in a PurchaseOrderAdd by specifying a different unit of measure in that request.
IQBStringType 20 chars 2.0  

OrderCost

Notice that the Order cost (the Order Cost field in the New Item form) is different than inventory cost (Cost field). An item’s order cost is the current cost you pay a vendor for the item, while inventory cost is the averaged cost of the current on-hand quantity of the item. Over time it is normal for your order cost to move higher than your averaged cost, as you may have some quantity left in stock that was purchased at a lower cost. When you make a purchase order, the order cost in inventory is suggested as the purchase order cost in the Purchase Order form in QBPOS. You can edit this cost on the PO if necessary. When you receive the ordered items, the voucher that references the PO will automatically take its cost from the PO (if not referencing a PO, the order cost from inventory is suggested as the voucher cost). When a voucher with a changed cost is updated it will automatically update the Order Cost field in inventory, so that the new order cost is suggested on the next PO made for the item from the same vendor. QBPOS supports the use of fractional-cent costs with up to five decimal places.
IQBAmountType      

Price1

Every inventory item normally has Price1 set in order to establish the baseline or everyday retail price of the item. Accordingly, there is no markdown for Price1. However, you can use Prices 2 through 5 to specify discount pricing for the item. If you don’t specify Prices 2 through 5, however, and if PriceLevels are specified in company preferences, the markdowns specified in the PriceLevels will automatically be applied: Price2, Price3, Price4, and Price5 will be calculated from Price1 automatically using the PriceLevels. If you do specify Price2 through Price 4 for the item, and you also use PriceLevels, the Price2, Price3, Price4, and Price5 settings override the PriceLevels.
IQBAmountType      

Price2

Every inventory item normally has Price1 set in order to establish the baseline or everyday retail price of the item. Accordingly, there is no markdown for Price1. However, you can use Prices 2 through 5 to specify discount pricing for the item. If you don’t specify Prices 2 through 5, however, and if PriceLevels are specified in company preferences, the markdowns specified in the PriceLevels will automatically be applied: Price2, Price3, Price4, and Price5 will be calculated from Price1 automatically using the PriceLevels. If you do specify Price2 through Price 4 for the item, and you also use PriceLevels, the Price2, Price3, Price4, and Price5 settings override the PriceLevels.
IQBAmountType      

Price3

Every inventory item normally has Price1 set in order to establish the baseline or everyday retail price of the item. Accordingly, there is no markdown for Price1. However, you can use Prices 2 through 5 to specify discount pricing for the item. If you don’t specify Prices 2 through 5, however, and if PriceLevels are specified in company preferences, the markdowns specified in the PriceLevels will automatically be applied: Price2, Price3, Price4, and Price5 will be calculated from Price1 automatically using the PriceLevels. If you do specify Price2 through Price 4 for the item, and you also use PriceLevels, the Price2, Price3, Price4, and Price5 settings override the PriceLevels.
IQBAmountType      

Price4

Every inventory item normally has Price1 set in order to establish the baseline or everyday retail price of the item. Accordingly, there is no markdown for Price1. However, you can use Prices 2 through 5 to specify discount pricing for the item. If you don’t specify Prices 2 through 5, however, and if PriceLevels are specified in company preferences, the markdowns specified in the PriceLevels will automatically be applied: Price2, Price3, Price4, and Price5 will be calculated from Price1 automatically using the PriceLevels. If you do specify Price2 through Price 4 for the item, and you also use PriceLevels, the Price2, Price3, Price4, and Price5 settings override the PriceLevels.
IQBAmountType      

Price5

Every inventory item normally has Price1 set in order to establish the baseline or everyday retail price of the item. Accordingly, there is no markdown for Price1. However, you can use Prices 2 through 5 to specify discount pricing for the item. If you don’t specify Prices 2 through 5, however, and if PriceLevels are specified in company preferences, the markdowns specified in the PriceLevels will automatically be applied: Price2, Price3, Price4, and Price5 will be calculated from Price1 automatically using the PriceLevels. If you do specify Price2 through Price 4 for the item, and you also use PriceLevels, the Price2, Price3, Price4, and Price5 settings override the PriceLevels.
IQBAmountType   1.1  

ReorderPoint

The quantity at which an item should be reordered.
IQBQuanType      

SellByUnit

If you are using multiple units of measure instead of a single unit of measure, you can use one UOM to order by (OrderByUnit) and another to sell by (SellByUnit). The SellByUnit value is used as the default unit of measure when you sell the item, but you can override it in the SalesReceiptAdd by specifying a different value for the unit of measure.
IQBStringType 20 chars 2.0  

SerialFlag

The serial flag indicates whether the user is prompted to enter a serial number when the item is listed on documents. Select PROMPT to be prompted to enter a serial number, select OPTIONAL (default) and the user will not be prompted but can still enter a serial number on the document, as desired.
IQBENSerialFlagType      

Size

The size of an item; 1 to 8 characters. This field can also be used to describe a second item attribute other than size if desired.
IQBStringType 12 chars    

TaxCode

In the QBPOS UI, you specify sales tax behavior by creating sales tax locations and tax codes. (What the QBPOS UI calls a “tax location” is what the SDK calls a “tax category”.) The tax code and its name is shared between all tax categories (locations): that is, all tax categories will have the same set of tax codes. However, the actual tax rate(s) that are used in a given tax code can vary from one tax category to the next. The tax code rates that are actually applied at transaction time are those that are in the tax category that is currently specified as the default tax category (location) in sales tax preferences. You create and modify tax categories and tax codes using the TaxCategoryAdd/Mod and TaxCodeAdd/Mod requests respectively. You assign tax code rates to a tax code within a tax category using the TaxRecordMod request. You query for the tax preference information (tax rate information for each tax code under each tax category) using the CompanyQuery. However, currently the default tax category (location) can be specified only within the QBPOS UI. When you create or modify an inventory item in QBPOS, you apply a tax code to it, but not a tax category. At sales transaction time, the actual sales tax is calculated for each item, based on the tax code assigned to that item and the tax code rate(s) for that tax code under the tax category currently specified as the default tax category (location).
IQBStringType      

UnitOfMeasure

If the company is using only a single unit of measure, this specifies the unit of measure for the item. If the company is using multiple units of measure, this specifies the base unit of measure for the item. Inventory quantities are tracked and reported in terms of this base unit.
IQBStringType 20 chars 1.1  

UPC

Universal Product Code. The item’s unique UPC/EAN/ISBN identifier. This field must be 13 characters. If a shorter number is entered, QBPOS uses an appropriate algorithm to lengthen the entry to fill the 13-character field.
IQBStringType 18 chars    

VendorListID

The listID of the vendor being referenced in this object reference.
IQBIDType      

useMacro

You use a macro in a request message set if you need to create some object in one request, then refer to it in a subsequent request within that same message set. For example, you could create an inventory item and then include that item as a line item in a sales order all in one request message set, rather than create the item, query for it, then include it in a separate SalesOrderAdd request. In this latter case, you are accessing QBPOS three times, versus only once, using macros. The item to be referenced is specified via the defmacro. The actual reference to that item in the succeeding request is done via the use macro, as follows: ItemInventoryAdd defMacro=”ListID:Inv1” In the above line, you simply replace Inv1 with the name you want to give the macro. When you reference this macro in another request (one that requires that object’s listID) in the same message set, you use this syntax: ListID useMacro=”ListID:Inv1” This is covered in more detail in the Programming Guide.
IQBStringType   2.0  

WebDesc

Description of item on the web.
IQBStringType   3.0  

WebPrice

Price of item on the web.
IQBAmountType   3.0  

Manufacturer

Manufacturer of item.
IQBStringType 50 chars 3.0  

Weight

Weight of item.
IQBFloatType   3.0  

Keywords

Keywords of item.
IQBStringType   3.0  

WebCategories

Category of item on the web.
IQBStringType   3.0  

UnitOfMeasure1

Used to support multiple units of measure. In addition to the base unit of measure for an inventory item, you can specify up to three other units of measure. Any of these units of measure can be applied when you order (PurchaseOrderAdd) or sell (SalesReceiptAdd) the item.
IUnitOfMeasure1   2.0  

ALU

Alternate Lookup. A user-defined identifier to be used to look up an item. Typically, this field contains such as the manufacturer’s part number, but it can contain any text descriptions, catalog numbers, etc. Duplicate Alternate Lookups are not allowed. Do not duplicate the Item # or UPC in this field. This will adversely affect performance for item lookups.
IQBStringType 20 chars    

MSRP

Manufacturer’s Suggest Retail Price. Reference price that is printed on price tags if defined in inventory.
IQBAmountType      

NumberOfBaseUnits

If you use multiple units of measure, rather than a single UOM, you need to select one of the UOMs as the base unit. This base unit should be the smallest unit that you sell by. Inventory quantities are always expressed in terms of this base unit.
IQBQuanType      

Price1

Every inventory item normally has Price1 set in order to establish the baseline or everyday retail price of the item. Accordingly, there is no markdown for Price1. However, you can use Prices 2 through 5 to specify discount pricing for the item. If you don’t specify Prices 2 through 5, however, and if PriceLevels are specified in company preferences, the markdowns specified in the PriceLevels will automatically be applied: Price2, Price3, Price4, and Price5 will be calculated from Price1 automatically using the PriceLevels. If you do specify Price2 through Price 4 for the item, and you also use PriceLevels, the Price2, Price3, Price4, and Price5 settings override the PriceLevels.
IQBAmountType      

Price2

Every inventory item normally has Price1 set in order to establish the baseline or everyday retail price of the item. Accordingly, there is no markdown for Price1. However, you can use Prices 2 through 5 to specify discount pricing for the item. If you don’t specify Prices 2 through 5, however, and if PriceLevels are specified in company preferences, the markdowns specified in the PriceLevels will automatically be applied: Price2, Price3, Price4, and Price5 will be calculated from Price1 automatically using the PriceLevels. If you do specify Price2 through Price 4 for the item, and you also use PriceLevels, the Price2, Price3, Price4, and Price5 settings override the PriceLevels.
IQBAmountType      

Price3

Every inventory item normally has Price1 set in order to establish the baseline or everyday retail price of the item. Accordingly, there is no markdown for Price1. However, you can use Prices 2 through 5 to specify discount pricing for the item. If you don’t specify Prices 2 through 5, however, and if PriceLevels are specified in company preferences, the markdowns specified in the PriceLevels will automatically be applied: Price2, Price3, Price4, and Price5 will be calculated from Price1 automatically using the PriceLevels. If you do specify Price2 through Price 4 for the item, and you also use PriceLevels, the Price2, Price3, Price4, and Price5 settings override the PriceLevels.
IQBAmountType      

Price4

Every inventory item normally has Price1 set in order to establish the baseline or everyday retail price of the item. Accordingly, there is no markdown for Price1. However, you can use Prices 2 through 5 to specify discount pricing for the item. If you don’t specify Prices 2 through 5, however, and if PriceLevels are specified in company preferences, the markdowns specified in the PriceLevels will automatically be applied: Price2, Price3, Price4, and Price5 will be calculated from Price1 automatically using the PriceLevels. If you do specify Price2 through Price 4 for the item, and you also use PriceLevels, the Price2, Price3, Price4, and Price5 settings override the PriceLevels.
IQBAmountType      

Price5

Every inventory item normally has Price1 set in order to establish the baseline or everyday retail price of the item. Accordingly, there is no markdown for Price1. However, you can use Prices 2 through 5 to specify discount pricing for the item. If you don’t specify Prices 2 through 5, however, and if PriceLevels are specified in company preferences, the markdowns specified in the PriceLevels will automatically be applied: Price2, Price3, Price4, and Price5 will be calculated from Price1 automatically using the PriceLevels. If you do specify Price2 through Price 4 for the item, and you also use PriceLevels, the Price2, Price3, Price4, and Price5 settings override the PriceLevels.
IQBAmountType      

UnitOfMeasure

If the company is using only a single unit of measure, this specifies the unit of measure for the item. If the company is using multiple units of measure, this specifies the base unit of measure for the item. Inventory quantities are tracked and reported in terms of this base unit.
IQBStringType 20 chars    

UPC

Universal Product Code. The item’s unique UPC/EAN/ISBN identifier. This field must be 13 characters. If a shorter number is entered, QBPOS uses an appropriate algorithm to lengthen the entry to fill the 13-character field.
IQBStringType 18 chars    

UnitOfMeasure2

Used to support multiple units of measure. In addition to the base unit of measure for an inventory item, you can specify up to three other units of measure. Any of these units of measure can be applied when you order (PurchaseOrderAdd) or sell (SalesReceiptAdd) the item.
IUnitOfMeasure2   2.0  

ALU

Alternate Lookup. A user-defined identifier to be used to look up an item. Typically, this field contains such as the manufacturer’s part number, but it can contain any text descriptions, catalog numbers, etc. Duplicate Alternate Lookups are not allowed. Do not duplicate the Item # or UPC in this field. This will adversely affect performance for item lookups.
IQBStringType 20 chars    

MSRP

Manufacturer’s Suggest Retail Price. Reference price that is printed on price tags if defined in inventory.
IQBAmountType      

NumberOfBaseUnits

If you use multiple units of measure, rather than a single UOM, you need to select one of the UOMs as the base unit. This base unit should be the smallest unit that you sell by. Inventory quantities are always expressed in terms of this base unit.
IQBQuanType      

Price1

Every inventory item normally has Price1 set in order to establish the baseline or everyday retail price of the item. Accordingly, there is no markdown for Price1. However, you can use Prices 2 through 5 to specify discount pricing for the item. If you don’t specify Prices 2 through 5, however, and if PriceLevels are specified in company preferences, the markdowns specified in the PriceLevels will automatically be applied: Price2, Price3, Price4, and Price5 will be calculated from Price1 automatically using the PriceLevels. If you do specify Price2 through Price 4 for the item, and you also use PriceLevels, the Price2, Price3, Price4, and Price5 settings override the PriceLevels.
IQBAmountType      

Price2

Every inventory item normally has Price1 set in order to establish the baseline or everyday retail price of the item. Accordingly, there is no markdown for Price1. However, you can use Prices 2 through 5 to specify discount pricing for the item. If you don’t specify Prices 2 through 5, however, and if PriceLevels are specified in company preferences, the markdowns specified in the PriceLevels will automatically be applied: Price2, Price3, Price4, and Price5 will be calculated from Price1 automatically using the PriceLevels. If you do specify Price2 through Price 4 for the item, and you also use PriceLevels, the Price2, Price3, Price4, and Price5 settings override the PriceLevels.
IQBAmountType      

Price3

Every inventory item normally has Price1 set in order to establish the baseline or everyday retail price of the item. Accordingly, there is no markdown for Price1. However, you can use Prices 2 through 5 to specify discount pricing for the item. If you don’t specify Prices 2 through 5, however, and if PriceLevels are specified in company preferences, the markdowns specified in the PriceLevels will automatically be applied: Price2, Price3, Price4, and Price5 will be calculated from Price1 automatically using the PriceLevels. If you do specify Price2 through Price 4 for the item, and you also use PriceLevels, the Price2, Price3, Price4, and Price5 settings override the PriceLevels.
IQBAmountType      

Price4

Every inventory item normally has Price1 set in order to establish the baseline or everyday retail price of the item. Accordingly, there is no markdown for Price1. However, you can use Prices 2 through 5 to specify discount pricing for the item. If you don’t specify Prices 2 through 5, however, and if PriceLevels are specified in company preferences, the markdowns specified in the PriceLevels will automatically be applied: Price2, Price3, Price4, and Price5 will be calculated from Price1 automatically using the PriceLevels. If you do specify Price2 through Price 4 for the item, and you also use PriceLevels, the Price2, Price3, Price4, and Price5 settings override the PriceLevels.
IQBAmountType      

Price5

Every inventory item normally has Price1 set in order to establish the baseline or everyday retail price of the item. Accordingly, there is no markdown for Price1. However, you can use Prices 2 through 5 to specify discount pricing for the item. If you don’t specify Prices 2 through 5, however, and if PriceLevels are specified in company preferences, the markdowns specified in the PriceLevels will automatically be applied: Price2, Price3, Price4, and Price5 will be calculated from Price1 automatically using the PriceLevels. If you do specify Price2 through Price 4 for the item, and you also use PriceLevels, the Price2, Price3, Price4, and Price5 settings override the PriceLevels.
IQBAmountType      

UnitOfMeasure

If the company is using only a single unit of measure, this specifies the unit of measure for the item. If the company is using multiple units of measure, this specifies the base unit of measure for the item. Inventory quantities are tracked and reported in terms of this base unit.
IQBStringType 20 chars    

UPC

Universal Product Code. The item’s unique UPC/EAN/ISBN identifier. This field must be 13 characters. If a shorter number is entered, QBPOS uses an appropriate algorithm to lengthen the entry to fill the 13-character field.
IQBStringType 18 chars    

UnitOfMeasure3

Used to support multiple units of measure. In addition to the base unit of measure for an inventory item, you can specify up to three other units of measure. Any of these units of measure can be applied when you order (PurchaseOrderAdd) or sell (SalesReceiptAdd) the item.
IUnitOfMeasure3   2.0  

ALU

Alternate Lookup. A user-defined identifier to be used to look up an item. Typically, this field contains such as the manufacturer’s part number, but it can contain any text descriptions, catalog numbers, etc. Duplicate Alternate Lookups are not allowed. Do not duplicate the Item # or UPC in this field. This will adversely affect performance for item lookups.
IQBStringType 20 chars    

MSRP

Manufacturer’s Suggest Retail Price. Reference price that is printed on price tags if defined in inventory.
IQBAmountType      

NumberOfBaseUnits

If you use multiple units of measure, rather than a single UOM, you need to select one of the UOMs as the base unit. This base unit should be the smallest unit that you sell by. Inventory quantities are always expressed in terms of this base unit.
IQBQuanType      

Price1

Every inventory item normally has Price1 set in order to establish the baseline or everyday retail price of the item. Accordingly, there is no markdown for Price1. However, you can use Prices 2 through 5 to specify discount pricing for the item. If you don’t specify Prices 2 through 5, however, and if PriceLevels are specified in company preferences, the markdowns specified in the PriceLevels will automatically be applied: Price2, Price3, Price4, and Price5 will be calculated from Price1 automatically using the PriceLevels. If you do specify Price2 through Price 4 for the item, and you also use PriceLevels, the Price2, Price3, Price4, and Price5 settings override the PriceLevels.
IQBAmountType      

Price2

Every inventory item normally has Price1 set in order to establish the baseline or everyday retail price of the item. Accordingly, there is no markdown for Price1. However, you can use Prices 2 through 5 to specify discount pricing for the item. If you don’t specify Prices 2 through 5, however, and if PriceLevels are specified in company preferences, the markdowns specified in the PriceLevels will automatically be applied: Price2, Price3, Price4, and Price5 will be calculated from Price1 automatically using the PriceLevels. If you do specify Price2 through Price 4 for the item, and you also use PriceLevels, the Price2, Price3, Price4, and Price5 settings override the PriceLevels.
IQBAmountType      

Price3

Every inventory item normally has Price1 set in order to establish the baseline or everyday retail price of the item. Accordingly, there is no markdown for Price1. However, you can use Prices 2 through 5 to specify discount pricing for the item. If you don’t specify Prices 2 through 5, however, and if PriceLevels are specified in company preferences, the markdowns specified in the PriceLevels will automatically be applied: Price2, Price3, Price4, and Price5 will be calculated from Price1 automatically using the PriceLevels. If you do specify Price2 through Price 4 for the item, and you also use PriceLevels, the Price2, Price3, Price4, and Price5 settings override the PriceLevels.
IQBAmountType      

Price4

Every inventory item normally has Price1 set in order to establish the baseline or everyday retail price of the item. Accordingly, there is no markdown for Price1. However, you can use Prices 2 through 5 to specify discount pricing for the item. If you don’t specify Prices 2 through 5, however, and if PriceLevels are specified in company preferences, the markdowns specified in the PriceLevels will automatically be applied: Price2, Price3, Price4, and Price5 will be calculated from Price1 automatically using the PriceLevels. If you do specify Price2 through Price 4 for the item, and you also use PriceLevels, the Price2, Price3, Price4, and Price5 settings override the PriceLevels.
IQBAmountType      

Price5

Every inventory item normally has Price1 set in order to establish the baseline or everyday retail price of the item. Accordingly, there is no markdown for Price1. However, you can use Prices 2 through 5 to specify discount pricing for the item. If you don’t specify Prices 2 through 5, however, and if PriceLevels are specified in company preferences, the markdowns specified in the PriceLevels will automatically be applied: Price2, Price3, Price4, and Price5 will be calculated from Price1 automatically using the PriceLevels. If you do specify Price2 through Price 4 for the item, and you also use PriceLevels, the Price2, Price3, Price4, and Price5 settings override the PriceLevels.
IQBAmountType      

UnitOfMeasure

If the company is using only a single unit of measure, this specifies the unit of measure for the item. If the company is using multiple units of measure, this specifies the base unit of measure for the item. Inventory quantities are tracked and reported in terms of this base unit.
IQBStringType 20 chars    

UPC

Universal Product Code. The item’s unique UPC/EAN/ISBN identifier. This field must be 13 characters. If a shorter number is entered, QBPOS uses an appropriate algorithm to lengthen the entry to fill the 13-character field.
IQBStringType 18 chars    

VendorInfo2

Available for certain QBPOS versions, such as Pro versions. If multiple vendors are used for an item, up to 5 vendors can be specified. Each vendor can have a unique UPC, Alternate Lokoup, and order cost.
IVendorInfo2      

ALU

Alternate Lookup. A user-defined identifier to be used to look up an item. Typically, this field contains such as the manufacturer’s part number, but it can contain any text descriptions, catalog numbers, etc. Duplicate Alternate Lookups are not allowed. Do not duplicate the Item # or UPC in this field. This will adversely affect performance for item lookups.
IQBStringType 20 chars    

OrderCost

Notice that the Order cost (the Order Cost field in the New Item form) is different than inventory cost (Cost field). An item’s order cost is the current cost you pay a vendor for the item, while inventory cost is the averaged cost of the current on-hand quantity of the item. Over time it is normal for your order cost to move higher than your averaged cost, as you may have some quantity left in stock that was purchased at a lower cost. When you make a purchase order, the order cost in inventory is suggested as the purchase order cost in the Purchase Order form in QBPOS. You can edit this cost on the PO if necessary. When you receive the ordered items, the voucher that references the PO will automatically take its cost from the PO (if not referencing a PO, the order cost from inventory is suggested as the voucher cost). When a voucher with a changed cost is updated it will automatically update the Order Cost field in inventory, so that the new order cost is suggested on the next PO made for the item from the same vendor. QBPOS supports the use of fractional-cent costs with up to five decimal places.
IQBAmountType      

UPC

Universal Product Code. The item’s unique UPC/EAN/ISBN identifier. This field must be 13 characters. If a shorter number is entered, QBPOS uses an appropriate algorithm to lengthen the entry to fill the 13-character field.
IQBStringType 18 chars    

VendorListID

The listID of the vendor being referenced in this object reference.
IQBIDType     Y

useMacro

You use a macro in a request message set if you need to create some object in one request, then refer to it in a subsequent request within that same message set. For example, you could create an inventory item and then include that item as a line item in a sales order all in one request message set, rather than create the item, query for it, then include it in a separate SalesOrderAdd request. In this latter case, you are accessing QBPOS three times, versus only once, using macros. The item to be referenced is specified via the defmacro. The actual reference to that item in the succeeding request is done via the use macro, as follows: ItemInventoryAdd defMacro=”ListID:Inv1” In the above line, you simply replace Inv1 with the name you want to give the macro. When you reference this macro in another request (one that requires that object’s listID) in the same message set, you use this syntax: ListID useMacro=”ListID:Inv1” This is covered in more detail in the Programming Guide.
IQBStringType   2.0  

VendorInfo3

Available for certain QBPOS versions, such as Pro versions. If multiple vendors are used for an item, up to 5 vendors can be specified. Each vendor can have a unique UPC, Alternate Lokoup, and order cost.
IVendorInfo3      

ALU

Alternate Lookup. A user-defined identifier to be used to look up an item. Typically, this field contains such as the manufacturer’s part number, but it can contain any text descriptions, catalog numbers, etc. Duplicate Alternate Lookups are not allowed. Do not duplicate the Item # or UPC in this field. This will adversely affect performance for item lookups.
IQBStringType 20 chars    

OrderCost

Notice that the Order cost (the Order Cost field in the New Item form) is different than inventory cost (Cost field). An item’s order cost is the current cost you pay a vendor for the item, while inventory cost is the averaged cost of the current on-hand quantity of the item. Over time it is normal for your order cost to move higher than your averaged cost, as you may have some quantity left in stock that was purchased at a lower cost. When you make a purchase order, the order cost in inventory is suggested as the purchase order cost in the Purchase Order form in QBPOS. You can edit this cost on the PO if necessary. When you receive the ordered items, the voucher that references the PO will automatically take its cost from the PO (if not referencing a PO, the order cost from inventory is suggested as the voucher cost). When a voucher with a changed cost is updated it will automatically update the Order Cost field in inventory, so that the new order cost is suggested on the next PO made for the item from the same vendor. QBPOS supports the use of fractional-cent costs with up to five decimal places.
IQBAmountType      

UPC

Universal Product Code. The item’s unique UPC/EAN/ISBN identifier. This field must be 13 characters. If a shorter number is entered, QBPOS uses an appropriate algorithm to lengthen the entry to fill the 13-character field.
IQBStringType 18 chars    

VendorListID

The listID of the vendor being referenced in this object reference.
IQBIDType     Y

useMacro

You use a macro in a request message set if you need to create some object in one request, then refer to it in a subsequent request within that same message set. For example, you could create an inventory item and then include that item as a line item in a sales order all in one request message set, rather than create the item, query for it, then include it in a separate SalesOrderAdd request. In this latter case, you are accessing QBPOS three times, versus only once, using macros. The item to be referenced is specified via the defmacro. The actual reference to that item in the succeeding request is done via the use macro, as follows: ItemInventoryAdd defMacro=”ListID:Inv1” In the above line, you simply replace Inv1 with the name you want to give the macro. When you reference this macro in another request (one that requires that object’s listID) in the same message set, you use this syntax: ListID useMacro=”ListID:Inv1” This is covered in more detail in the Programming Guide.
IQBStringType   2.0  

VendorInfo4

Available for certain QBPOS versions, such as Pro versions. If multiple vendors are used for an item, up to 5 vendors can be specified. Each vendor can have a unique UPC, Alternate Lokoup, and order cost.
IVendorInfo4      

ALU

Alternate Lookup. A user-defined identifier to be used to look up an item. Typically, this field contains such as the manufacturer’s part number, but it can contain any text descriptions, catalog numbers, etc. Duplicate Alternate Lookups are not allowed. Do not duplicate the Item # or UPC in this field. This will adversely affect performance for item lookups.
IQBStringType 20 chars    

OrderCost

Notice that the Order cost (the Order Cost field in the New Item form) is different than inventory cost (Cost field). An item’s order cost is the current cost you pay a vendor for the item, while inventory cost is the averaged cost of the current on-hand quantity of the item. Over time it is normal for your order cost to move higher than your averaged cost, as you may have some quantity left in stock that was purchased at a lower cost. When you make a purchase order, the order cost in inventory is suggested as the purchase order cost in the Purchase Order form in QBPOS. You can edit this cost on the PO if necessary. When you receive the ordered items, the voucher that references the PO will automatically take its cost from the PO (if not referencing a PO, the order cost from inventory is suggested as the voucher cost). When a voucher with a changed cost is updated it will automatically update the Order Cost field in inventory, so that the new order cost is suggested on the next PO made for the item from the same vendor. QBPOS supports the use of fractional-cent costs with up to five decimal places.
IQBAmountType      

UPC

Universal Product Code. The item’s unique UPC/EAN/ISBN identifier. This field must be 13 characters. If a shorter number is entered, QBPOS uses an appropriate algorithm to lengthen the entry to fill the 13-character field.
IQBStringType 18 chars    

VendorListID

The listID of the vendor being referenced in this object reference.
IQBIDType     Y

useMacro

You use a macro in a request message set if you need to create some object in one request, then refer to it in a subsequent request within that same message set. For example, you could create an inventory item and then include that item as a line item in a sales order all in one request message set, rather than create the item, query for it, then include it in a separate SalesOrderAdd request. In this latter case, you are accessing QBPOS three times, versus only once, using macros. The item to be referenced is specified via the defmacro. The actual reference to that item in the succeeding request is done via the use macro, as follows: ItemInventoryAdd defMacro=”ListID:Inv1” In the above line, you simply replace Inv1 with the name you want to give the macro. When you reference this macro in another request (one that requires that object’s listID) in the same message set, you use this syntax: ListID useMacro=”ListID:Inv1” This is covered in more detail in the Programming Guide.
IQBStringType   2.0  

VendorInfo5

Available for certain QBPOS versions, such as Pro versions. If multiple vendors are used for an item, up to 5 vendors can be specified. Each vendor can have a unique UPC, Alternate Lokoup, and order cost.
IVendorInfo5      

ALU

Alternate Lookup. A user-defined identifier to be used to look up an item. Typically, this field contains such as the manufacturer’s part number, but it can contain any text descriptions, catalog numbers, etc. Duplicate Alternate Lookups are not allowed. Do not duplicate the Item # or UPC in this field. This will adversely affect performance for item lookups.
IQBStringType 20 chars    

OrderCost

Notice that the Order cost (the Order Cost field in the New Item form) is different than inventory cost (Cost field). An item’s order cost is the current cost you pay a vendor for the item, while inventory cost is the averaged cost of the current on-hand quantity of the item. Over time it is normal for your order cost to move higher than your averaged cost, as you may have some quantity left in stock that was purchased at a lower cost. When you make a purchase order, the order cost in inventory is suggested as the purchase order cost in the Purchase Order form in QBPOS. You can edit this cost on the PO if necessary. When you receive the ordered items, the voucher that references the PO will automatically take its cost from the PO (if not referencing a PO, the order cost from inventory is suggested as the voucher cost). When a voucher with a changed cost is updated it will automatically update the Order Cost field in inventory, so that the new order cost is suggested on the next PO made for the item from the same vendor. QBPOS supports the use of fractional-cent costs with up to five decimal places.
IQBAmountType      

UPC

Universal Product Code. The item’s unique UPC/EAN/ISBN identifier. This field must be 13 characters. If a shorter number is entered, QBPOS uses an appropriate algorithm to lengthen the entry to fill the 13-character field.
IQBStringType 18 chars    

VendorListID

The listID of the vendor being referenced in this object reference.
IQBIDType     Y

useMacro

You use a macro in a request message set if you need to create some object in one request, then refer to it in a subsequent request within that same message set. For example, you could create an inventory item and then include that item as a line item in a sales order all in one request message set, rather than create the item, query for it, then include it in a separate SalesOrderAdd request. In this latter case, you are accessing QBPOS three times, versus only once, using macros. The item to be referenced is specified via the defmacro. The actual reference to that item in the succeeding request is done via the use macro, as follows: ItemInventoryAdd defMacro=”ListID:Inv1” In the above line, you simply replace Inv1 with the name you want to give the macro. When you reference this macro in another request (one that requires that object’s listID) in the same message set, you use this syntax: ListID useMacro=”ListID:Inv1” This is covered in more detail in the Programming Guide.
IQBStringType   2.0  

IsEcommerce

For Receipts: ​Value will be 1 when the Receipt is generated for sale transaction done in e-commerce though the supplier/partner. For Inventory: Value will be 1 when the Inventory created through the E-commerce supplier/partner.
IQBBoolType   4.0  

OnlineStoreNames

Name of the E-Commerce Player store name. E.g. Store1, Store 2, etc…
IQBStringType 1500 chars 4.0  

IncludeRetElementList

You can use the IncludeRetElement feature to restrict the data returned in the response to the specified qbposXML field here. If you do this, only those elements specified will be returned. To use this feature, you simply add the qbposXML element name to the IncludeRetElementList. The following example shows how to do this, specifying that only the CreatedBy and ClockOutTime elements are to be returned in the TimeEntryAdd response: Dim MyTimeEntry As ITimeEntryAdd Set MyTimeEntry = requestMsgSet.AppendTimeEntryAddRq MyTimeEntry.IncludeRetElementList.Add “CreatedBy” MyTimeEntry.IncludeRetElementList.Add “ClockOutTime” ‘ set the other properties as desired…
IBSTRList 50 chars 2.0  
Tag Type Max length Implementation Required

IResponse

Modifies an inventory item. Starting with qbXML spec 7.0, you can modify the income account ref, using the IncomeAccountRef aggregate and the ApplyIncomeAccountRefToExistingTxns boolean. You need to use the ApplyIncomeAccountRefToExistingTxns boolean because the QuickBooks UI displays a prompt asking whether the change should apply to existing transactions or not. Specifying True for the boolean basically dismisses this with a “Yes” answer, allowing your changes to be made and changes any existing transactions that use the item with that AccountRef. Specifying “False” means that the mod will not take affect if there are existing transactions. Setting this to “True” should be used with caution and normally only after some user has indicated that they want those changes made to all those existing transactions! If any affected transactions are protected by a closing date and password, the IncomeAccountRef changes will not be made and so the Mod request will return an error without making the requested Mod. The Life Cycle of Inventory Items and Effects of Sales and Purchases The value of inventory is set when an inventory item is created or bought. QuickBooks uses cost averaging and decreases the value of the inventory asset account at the price when the sale is recorded. So, lets say a company starts carrying widgets as inventory items. First the inventory item must be created in QuickBooks. If the widgets are already in inventory based on a purchase made that will not be recorded in QuickBooks, the user or application would add the inventory item description along with the quantity on hand and the value (total purchase price) of the quantity on hand. If the purchase is to be recorded in QuickBooks the inventory item would be created with quantity and value of 0 (zero). Then a bill would be added to QB which would increase the inventory quantity and value. Lets say we bought 10 widgets for $100. QuickBooks would then consider each widget to be worth $10. The next day a customer buys 5 widgets for $20 each. A sales receipt or invoice is created for the purchase, the quantity of widgets is reduced by 5, to 5 and the value is reduced by $50 to $50. The inventory asset account is reduced by $50 and the undeposited funds or accounts receivable account is increased by $100. It appears that widgets will be a big seller, so the small business owner goes out and buys 10 more widgets. However, the supplier has also noticed a widget buying trend, so he’s increased the price to $25 each. So now our quantity is increased from 5 to 15 and the value is increased from $50 to $300, so they are considered to be worth $20 each. After purchasing the widgets another customer decides to buy 10 widgets but the price has been raised to $50 each. After the sales receipt or invoice is entered, the inventory is reduced to 5 and the value is reduced to $100. The inventory asset account is reduced by $200 and the undeposited funds or accounts receivable account is increased by $500.
       

StatusCode

A number that corresponds to a statusSeverity and statusMessage. Five status codes relate directly to signon messages: 2000, 2010, 2020, 2030, and 2040. For details about these and other statusCode values that can be returned, see the statusCode table on the Error Codes page.
IQBIntType     Y

StatusSeverity

One of the following values: INFO The request was completed, and the results are consistent with what your application expected. WARNING The request was completed, but the results might not be consistent with what you expected. ERROR The request was not completed. No data will appear in the server’s response after the statusMessage.
IQBStringType     Y

StatusMessage

A user-readable explanation of the success or error condition that is indicated by the statusCode. For details about the statusMessage values that can be returned, see the “Explanation” column of the statusCode table on the Error Codes page.
IQBStringType     Y

Detail

IItemInventoryRet      

ListID

The unique ID returned by QBPOS for this object. If supplied in a request, the ListID is a reference to an object required in the request. For example, in a SalesOrder or PurchaseOrder line item, the ListID that is required is an Item list ID.
IQBIDType      

TimeCreated

The timestamp indicating the time when this object was created in QBPOS.
IQBDateTimeType   1.1  

TimeModified

The time when the object was modified by QBPOS.
IQBDateTimeType      

ALU

Alternate Lookup. A user-defined identifier to be used to look up an item. Typically, this field contains such as the manufacturer’s part number, but it can contain any text descriptions, catalog numbers, etc. Duplicate Alternate Lookups are not allowed. Do not duplicate the Item # or UPC in this field. This will adversely affect performance for item lookups.
IQBStringType 20 chars    

Attribute

A field used to describe an item characteristic, typically color, pattern, material, or a second size. One to eight characters.
IQBStringType 12 chars    

COGSAccount

This field is used if you are using QBPOS with QuickBooks. In QBPOS, in company preferences->Financial->Accounts, the end user specifies the QuickBooks income account and the QuickBooks Cost of Goods Sold (COGS) account for each type (inventory, assembly, special order, etc.) of QBPOS item. If you are using QuickBooks with QBPOS, you must specify in this COGSAccount field the COGS value specified in company preferences for inventory items.
IQBStringType      

Cost

The average cost of the item. Cost is automatically updated by receiving vouchers or manually updated by adjustment memos.
IQBAmountType      

DepartmentCode

Enter a unique 1-3 character code, identifying the department. The first character usually indicates the broadest classification. The department code can be used when defining an item in inventory.
IQBStringType 3 chars    

DepartmentListID

The ListID of the department to be associated with this object, for example with this inventory item. The department must either exist in the QBPOS company already or you can replace the ListID value with a macro.
IQBIDType      

Desc1

The principal item description field. This description is printed on receipts. For some versions of QBPOS, (Pro), this must be the same for all members of a style. Changes to this field can be applied to an item or to an entire style.
IQBStringType 30 chars    

Desc2

Secondary description field usually used for any additional information to describe this particular item, such as a vendor’s catalog number. Also can be used for additional information at the point of sale.
IQBStringType      

IncomeAccount

This field is used if you are using QBPOS with QuickBooks. In QBPOS, in company preferences->Financial->Accounts, the end user specifies the QuickBooks income account and the QuickBooks Cost of Goods Sold (COGS) account for each type (inventory, assembly, special order, etc.) of QBPOS item. If you are using QuickBooks with QBPOS, you must specify in this IncomeAccount field the Income Account value specified in company preferences for inventory items.
IQBStringType      

IsBelowReorder

Indicates whether the item is below the reorder point.
IQBBoolType      

IsEligibleForCommission

Indicates whether the item is eligible for a commission.
IQBBoolType      

IsPrintingTags

Indicates whether the Print Tags checkbox is checked for this item, that is, whether this item is included in the list of items for which price tags are to be printed.
IQBBoolType      

IsUnorderable

Indicates whether the item is orderable. Items flagged as Unorderable do not show up on the reorder reminder list when their on hand number falls below the reorder point.
IQBBoolType      

HasPictures

Indicator that item has pictures.
IQBBoolType   2.5  

IsEligibleForRewards

Indicator if item is eligible for rewards.
IQBBoolType   3.0  

IsWebItem

Indicator if item is a web item.
IQBBoolType   3.0  

ItemNumber

Unique number assigned to the item when it is added to QBPOS.
IQBIntType      

ItemType

The type of item being added.
IQBENItemTypeType      

LastReceived

Date this item was last received into inventory.
IQBDateType      

MarginPercent

Margin. The profit expressed as a percentage of the price. If defined in a department record, is used to calculate the prices of new items as they are added to inventory. Notice that modifying the margin in inventory automatically causes your price(s) and the markup (Mup %) to be recalculated. Margin % = price – costprice ´ 100
IQBIntType      

MarkupPercent

The item profit expressed as a percentage over the cost. Works in the same manner as Mrg %. Making an entry in this field causes QBPOS to recalculate your item prices and margin.
IQBIntType      

MSRP

Manufacturer’s Suggest Retail Price. Reference price that is printed on price tags if defined in inventory.
IQBAmountType      

OnHandStore01

The quantity of the item on hand in inventory.
IQBQuanType      

OnHandStore02

The quantity of the item on hand in inventory in store 2, valid only for multi-store versions of QBPOS.
IQBQuanType      

OnHandStore03

The quantity of the item on hand in inventory in store 3, valid only for multi-store versions of QBPOS.
IQBQuanType      

OnHandStore04

The quantity of the item on hand in inventory in store 4, valid only for multi-store versions of QBPOS.
IQBQuanType      

OnHandStore05

The quantity of the item on hand in inventory in store 5, valid only for multi-store versions of QBPOS.
IQBQuanType      

OnHandStore06

The quantity of the item on hand in inventory in store 6, valid only for multi-store versions of QBPOS.
IQBQuanType      

OnHandStore07

The quantity of the item on hand in inventory in store 7, valid only for multi-store versions of QBPOS.
IQBQuanType      

OnHandStore08

The quantity of the item on hand in inventory in store 8, valid only for multi-store versions of QBPOS.
IQBQuanType      

OnHandStore09

The quantity of the item on hand in inventory in store 9, valid only for multi-store versions of QBPOS.
IQBQuanType      

OnHandStore10

The quantity of the item on hand in inventory in store 10, valid only for multi-store versions of QBPOS.
IQBQuanType      

OnHandStore11

The quantity of the item on hand in inventory in store 11, valid only for multi-store versions of QBPOS.
IQBQuanType   3.0  

OnHandStore12

The quantity of the item on hand in inventory in store 12, valid only for multi-store versions of QBPOS.
IQBQuanType   3.0  

OnHandStore13

The quantity of the item on hand in inventory in store 13, valid only for multi-store versions of QBPOS.
IQBQuanType   3.0  

OnHandStore14

The quantity of the item on hand in inventory in store 14, valid only for multi-store versions of QBPOS.
IQBQuanType   3.0  

OnHandStore15

The quantity of the item on hand in inventory in store 15, valid only for multi-store versions of QBPOS.
IQBQuanType   3.0  

OnHandStore16

The quantity of the item on hand in inventory in store 16, valid only for multi-store versions of QBPOS.
IQBQuanType   3.0  

OnHandStore17

The quantity of the item on hand in inventory in store 17, valid only for multi-store versions of QBPOS.
IQBQuanType   3.0  

OnHandStore18

The quantity of the item on hand in inventory in store 18, valid only for multi-store versions of QBPOS.
IQBQuanType   3.0  

OnHandStore19

The quantity of the item on hand in inventory in store 19, valid only for multi-store versions of QBPOS.
IQBQuanType   3.0  

OnHandStore20

The quantity of the item on hand in inventory in store 20, valid only for multi-store versions of QBPOS.
IQBQuanType   3.0  

ReorderPointStore01

Reorder point for item.
IQBQuanType   3.0  

ReorderPointStore02

Reorder point for item.
IQBQuanType   3.0  

ReorderPointStore03

Reorder point for item.
IQBQuanType   3.0  

ReorderPointStore04

Reorder point for item.
IQBQuanType   3.0  

ReorderPointStore05

Reorder point for item.
IQBQuanType   3.0  

ReorderPointStore06

Reorder point for item.
IQBQuanType   3.0  

ReorderPointStore07

Reorder point for item.
IQBQuanType   3.0  

ReorderPointStore08

Reorder point for item.
IQBQuanType   3.0  

ReorderPointStore09

Reorder point for item.
IQBQuanType   3.0  

ReorderPointStore10

Reorder point for item.
IQBQuanType   3.0  

ReorderPointStore11

Reorder point for item.
IQBQuanType   3.0  

ReorderPointStore12

Reorder point for item.
IQBQuanType   3.0  

ReorderPointStore13

Reorder point for item.
IQBQuanType   3.0  

ReorderPointStore14

Reorder point for item.
IQBQuanType   3.0  

ReorderPointStore15

Reorder point for item.
IQBQuanType   3.0  

ReorderPointStore16

Reorder point for item.
IQBQuanType   3.0  

ReorderPointStore17

Reorder point for item.
IQBQuanType   3.0  

ReorderPointStore18

Reorder point for item.
IQBQuanType   3.0  

ReorderPointStore19

Reorder point for item.
IQBQuanType   3.0  

ReorderPointStore20

Reorder point for item.
IQBQuanType   3.0  

OrderByUnit

If you are using multiple units of measure instead of a single unit of measure, you can use one UOM to order by (OrderByUnit) and another to sell by (SellByUnit). The OrderByUnit value is used as the default unit of measure when you order this item from vendors. You can override this in a PurchaseOrderAdd by specifying a different unit of measure in that request.
IQBStringType 20 chars 2.0  

OrderCost

Notice that the Order cost (the Order Cost field in the New Item form) is different than inventory cost (Cost field). An item’s order cost is the current cost you pay a vendor for the item, while inventory cost is the averaged cost of the current on-hand quantity of the item. Over time it is normal for your order cost to move higher than your averaged cost, as you may have some quantity left in stock that was purchased at a lower cost. When you make a purchase order, the order cost in inventory is suggested as the purchase order cost in the Purchase Order form in QBPOS. You can edit this cost on the PO if necessary. When you receive the ordered items, the voucher that references the PO will automatically take its cost from the PO (if not referencing a PO, the order cost from inventory is suggested as the voucher cost). When a voucher with a changed cost is updated it will automatically update the Order Cost field in inventory, so that the new order cost is suggested on the next PO made for the item from the same vendor. QBPOS supports the use of fractional-cent costs with up to five decimal places.
IQBAmountType      

Price1

Every inventory item normally has Price1 set in order to establish the baseline or everyday retail price of the item. Accordingly, there is no markdown for Price1. However, you can use Prices 2 through 5 to specify discount pricing for the item. If you don’t specify Prices 2 through 5, however, and if PriceLevels are specified in company preferences, the markdowns specified in the PriceLevels will automatically be applied: Price2, Price3, Price4, and Price5 will be calculated from Price1 automatically using the PriceLevels. If you do specify Price2 through Price 4 for the item, and you also use PriceLevels, the Price2, Price3, Price4, and Price5 settings override the PriceLevels.
IQBAmountType      

Price2

Every inventory item normally has Price1 set in order to establish the baseline or everyday retail price of the item. Accordingly, there is no markdown for Price1. However, you can use Prices 2 through 5 to specify discount pricing for the item. If you don’t specify Prices 2 through 5, however, and if PriceLevels are specified in company preferences, the markdowns specified in the PriceLevels will automatically be applied: Price2, Price3, Price4, and Price5 will be calculated from Price1 automatically using the PriceLevels. If you do specify Price2 through Price 4 for the item, and you also use PriceLevels, the Price2, Price3, Price4, and Price5 settings override the PriceLevels.
IQBAmountType      

Price3

Every inventory item normally has Price1 set in order to establish the baseline or everyday retail price of the item. Accordingly, there is no markdown for Price1. However, you can use Prices 2 through 5 to specify discount pricing for the item. If you don’t specify Prices 2 through 5, however, and if PriceLevels are specified in company preferences, the markdowns specified in the PriceLevels will automatically be applied: Price2, Price3, Price4, and Price5 will be calculated from Price1 automatically using the PriceLevels. If you do specify Price2 through Price 4 for the item, and you also use PriceLevels, the Price2, Price3, Price4, and Price5 settings override the PriceLevels.
IQBAmountType      

Price4

Every inventory item normally has Price1 set in order to establish the baseline or everyday retail price of the item. Accordingly, there is no markdown for Price1. However, you can use Prices 2 through 5 to specify discount pricing for the item. If you don’t specify Prices 2 through 5, however, and if PriceLevels are specified in company preferences, the markdowns specified in the PriceLevels will automatically be applied: Price2, Price3, Price4, and Price5 will be calculated from Price1 automatically using the PriceLevels. If you do specify Price2 through Price 4 for the item, and you also use PriceLevels, the Price2, Price3, Price4, and Price5 settings override the PriceLevels.
IQBAmountType      

Price5

Every inventory item normally has Price1 set in order to establish the baseline or everyday retail price of the item. Accordingly, there is no markdown for Price1. However, you can use Prices 2 through 5 to specify discount pricing for the item. If you don’t specify Prices 2 through 5, however, and if PriceLevels are specified in company preferences, the markdowns specified in the PriceLevels will automatically be applied: Price2, Price3, Price4, and Price5 will be calculated from Price1 automatically using the PriceLevels. If you do specify Price2 through Price 4 for the item, and you also use PriceLevels, the Price2, Price3, Price4, and Price5 settings override the PriceLevels.
IQBAmountType   1.1  

QuantityOnCustomerOrder

The quantity, in terms of the base unit of measure, of the inventory item that is currently under order by customers and therefore not available.
IQBQuanType   2.0  

QuantityOnHand

The number of units of an item currently in stock. This number is updated by receiving vouchers and sales receipts, as items are added to or subtracted from inventory. Notice that in multi-store configurations, the on hand quantity is a company-wide number: it reflects the units available throughout all the stores. To get the on hand quantity at a particular store, you can use the appropriate store number on-hand quantity query filter, for example, OnHandStore6Filter, within the ItemInventoryQuery request.
IQBQuanType      

QuantityOnOrder

This number of units of the specified item that are currently on order. In multi-store configurations, this number is the on-order number for all of the stores.
IQBQuanType      

QuantityOnPendingOrder

This number of units of the specified item that are currently pending on orders.
IQBQuanType   2.5  

AvailableQtyList

List of avaliable quantities by store.
IAvailableQtyList   2.5  

(List of IAvailableQty Objects)

       

StoreNumber

This is used only for multi-store versions of QBPOS. The value is between 1 and 10, since a maximum of 10 stores are currently supported.
IQBIntType      

QuantityOnOrder

This number of units of the specified item that are currently on order. In multi-store configurations, this number is the on-order number for all of the stores.
IQBQuanType      

QuantityOnCustomerOrder

The quantity, in terms of the base unit of measure, of the inventory item that is currently under order by customers and therefore not available.
IQBQuanType      

QuantityOnPendingOrder

This number of units of the specified item that are currently pending on orders.
IQBQuanType      

ReorderPoint

The quantity at which an item should be reordered.
IQBQuanType      

SellByUnit

If you are using multiple units of measure instead of a single unit of measure, you can use one UOM to order by (OrderByUnit) and another to sell by (SellByUnit). The SellByUnit value is used as the default unit of measure when you sell the item, but you can override it in the SalesReceiptAdd by specifying a different value for the unit of measure.
IQBStringType 20 chars 2.0  

SerialFlag

The serial flag indicates whether the user is prompted to enter a serial number when the item is listed on documents. Select PROMPT to be prompted to enter a serial number, select OPTIONAL (default) and the user will not be prompted but can still enter a serial number on the document, as desired.
IQBENSerialFlagType      

Size

The size of an item; 1 to 8 characters. This field can also be used to describe a second item attribute other than size if desired.
IQBStringType 12 chars    

StoreExchangeStatus

In multi store configurations, if the customer’s information has changed, this information is updated at the headquarters store. This response field indicates whether the information was successfully updated or not.
IQBENStoreExchangeStatusType      

TaxCode

In the QBPOS UI, you specify sales tax behavior by creating sales tax locations and tax codes. (What the QBPOS UI calls a “tax location” is what the SDK calls a “tax category”.) The tax code and its name is shared between all tax categories (locations): that is, all tax categories will have the same set of tax codes. However, the actual tax rate(s) that are used in a given tax code can vary from one tax category to the next. The tax code rates that are actually applied at transaction time are those that are in the tax category that is currently specified as the default tax category (location) in sales tax preferences. You create and modify tax categories and tax codes using the TaxCategoryAdd/Mod and TaxCodeAdd/Mod requests respectively. You assign tax code rates to a tax code within a tax category using the TaxRecordMod request. You query for the tax preference information (tax rate information for each tax code under each tax category) using the CompanyQuery. However, currently the default tax category (location) can be specified only within the QBPOS UI. When you create or modify an inventory item in QBPOS, you apply a tax code to it, but not a tax category. At sales transaction time, the actual sales tax is calculated for each item, based on the tax code assigned to that item and the tax code rate(s) for that tax code under the tax category currently specified as the default tax category (location).
IQBStringType      

UnitOfMeasure

If the company is using only a single unit of measure, this specifies the unit of measure for the item. If the company is using multiple units of measure, this specifies the base unit of measure for the item. Inventory quantities are tracked and reported in terms of this base unit.
IQBStringType 20 chars 1.1  

UPC

Universal Product Code. The item’s unique UPC/EAN/ISBN identifier. This field must be 13 characters. If a shorter number is entered, QBPOS uses an appropriate algorithm to lengthen the entry to fill the 13-character field.
IQBStringType 18 chars    

VendorCode

The code assigned to the vendor specified for the item.
IQBStringType 3 chars    

VendorListID

The listID of the vendor being referenced in this object reference.
IQBIDType      

WebDesc

Description of item on the web.
IQBStringType   3.0  

WebPrice

Price of item on the web.
IQBAmountType   3.0  

Manufacturer

Manufacturer of item.
IQBStringType 50 chars 3.0  

Weight

Weight of item.
IQBFloatType   3.0  

WebSKU

SKU of item on the web.
IQBStringType 20 chars 3.0  

Keywords

Keywords of item.
IQBStringType   3.0  

WebCategories

Category of item on the web.
IQBStringType   3.0  

UnitOfMeasure1

Used to support multiple units of measure. In addition to the base unit of measure for an inventory item, you can specify up to three other units of measure. Any of these units of measure can be applied when you order (PurchaseOrderAdd) or sell (SalesReceiptAdd) the item.
IUnitOfMeasure1   2.0  

ALU

Alternate Lookup. A user-defined identifier to be used to look up an item. Typically, this field contains such as the manufacturer’s part number, but it can contain any text descriptions, catalog numbers, etc. Duplicate Alternate Lookups are not allowed. Do not duplicate the Item # or UPC in this field. This will adversely affect performance for item lookups.
IQBStringType 20 chars    

MSRP

Manufacturer’s Suggest Retail Price. Reference price that is printed on price tags if defined in inventory.
IQBAmountType      

NumberOfBaseUnits

If you use multiple units of measure, rather than a single UOM, you need to select one of the UOMs as the base unit. This base unit should be the smallest unit that you sell by. Inventory quantities are always expressed in terms of this base unit.
IQBQuanType      

Price1

Every inventory item normally has Price1 set in order to establish the baseline or everyday retail price of the item. Accordingly, there is no markdown for Price1. However, you can use Prices 2 through 5 to specify discount pricing for the item. If you don’t specify Prices 2 through 5, however, and if PriceLevels are specified in company preferences, the markdowns specified in the PriceLevels will automatically be applied: Price2, Price3, Price4, and Price5 will be calculated from Price1 automatically using the PriceLevels. If you do specify Price2 through Price 4 for the item, and you also use PriceLevels, the Price2, Price3, Price4, and Price5 settings override the PriceLevels.
IQBAmountType      

Price2

Every inventory item normally has Price1 set in order to establish the baseline or everyday retail price of the item. Accordingly, there is no markdown for Price1. However, you can use Prices 2 through 5 to specify discount pricing for the item. If you don’t specify Prices 2 through 5, however, and if PriceLevels are specified in company preferences, the markdowns specified in the PriceLevels will automatically be applied: Price2, Price3, Price4, and Price5 will be calculated from Price1 automatically using the PriceLevels. If you do specify Price2 through Price 4 for the item, and you also use PriceLevels, the Price2, Price3, Price4, and Price5 settings override the PriceLevels.
IQBAmountType      

Price3

Every inventory item normally has Price1 set in order to establish the baseline or everyday retail price of the item. Accordingly, there is no markdown for Price1. However, you can use Prices 2 through 5 to specify discount pricing for the item. If you don’t specify Prices 2 through 5, however, and if PriceLevels are specified in company preferences, the markdowns specified in the PriceLevels will automatically be applied: Price2, Price3, Price4, and Price5 will be calculated from Price1 automatically using the PriceLevels. If you do specify Price2 through Price 4 for the item, and you also use PriceLevels, the Price2, Price3, Price4, and Price5 settings override the PriceLevels.
IQBAmountType      

Price4

Every inventory item normally has Price1 set in order to establish the baseline or everyday retail price of the item. Accordingly, there is no markdown for Price1. However, you can use Prices 2 through 5 to specify discount pricing for the item. If you don’t specify Prices 2 through 5, however, and if PriceLevels are specified in company preferences, the markdowns specified in the PriceLevels will automatically be applied: Price2, Price3, Price4, and Price5 will be calculated from Price1 automatically using the PriceLevels. If you do specify Price2 through Price 4 for the item, and you also use PriceLevels, the Price2, Price3, Price4, and Price5 settings override the PriceLevels.
IQBAmountType      

Price5

Every inventory item normally has Price1 set in order to establish the baseline or everyday retail price of the item. Accordingly, there is no markdown for Price1. However, you can use Prices 2 through 5 to specify discount pricing for the item. If you don’t specify Prices 2 through 5, however, and if PriceLevels are specified in company preferences, the markdowns specified in the PriceLevels will automatically be applied: Price2, Price3, Price4, and Price5 will be calculated from Price1 automatically using the PriceLevels. If you do specify Price2 through Price 4 for the item, and you also use PriceLevels, the Price2, Price3, Price4, and Price5 settings override the PriceLevels.
IQBAmountType      

UnitOfMeasure

If the company is using only a single unit of measure, this specifies the unit of measure for the item. If the company is using multiple units of measure, this specifies the base unit of measure for the item. Inventory quantities are tracked and reported in terms of this base unit.
IQBStringType 20 chars    

UPC

Universal Product Code. The item’s unique UPC/EAN/ISBN identifier. This field must be 13 characters. If a shorter number is entered, QBPOS uses an appropriate algorithm to lengthen the entry to fill the 13-character field.
IQBStringType 18 chars    

UnitOfMeasure2

Used to support multiple units of measure. In addition to the base unit of measure for an inventory item, you can specify up to three other units of measure. Any of these units of measure can be applied when you order (PurchaseOrderAdd) or sell (SalesReceiptAdd) the item.
IUnitOfMeasure2   2.0  

ALU

Alternate Lookup. A user-defined identifier to be used to look up an item. Typically, this field contains such as the manufacturer’s part number, but it can contain any text descriptions, catalog numbers, etc. Duplicate Alternate Lookups are not allowed. Do not duplicate the Item # or UPC in this field. This will adversely affect performance for item lookups.
IQBStringType 20 chars    

MSRP

Manufacturer’s Suggest Retail Price. Reference price that is printed on price tags if defined in inventory.
IQBAmountType      

NumberOfBaseUnits

If you use multiple units of measure, rather than a single UOM, you need to select one of the UOMs as the base unit. This base unit should be the smallest unit that you sell by. Inventory quantities are always expressed in terms of this base unit.
IQBQuanType      

Price1

Every inventory item normally has Price1 set in order to establish the baseline or everyday retail price of the item. Accordingly, there is no markdown for Price1. However, you can use Prices 2 through 5 to specify discount pricing for the item. If you don’t specify Prices 2 through 5, however, and if PriceLevels are specified in company preferences, the markdowns specified in the PriceLevels will automatically be applied: Price2, Price3, Price4, and Price5 will be calculated from Price1 automatically using the PriceLevels. If you do specify Price2 through Price 4 for the item, and you also use PriceLevels, the Price2, Price3, Price4, and Price5 settings override the PriceLevels.
IQBAmountType      

Price2

Every inventory item normally has Price1 set in order to establish the baseline or everyday retail price of the item. Accordingly, there is no markdown for Price1. However, you can use Prices 2 through 5 to specify discount pricing for the item. If you don’t specify Prices 2 through 5, however, and if PriceLevels are specified in company preferences, the markdowns specified in the PriceLevels will automatically be applied: Price2, Price3, Price4, and Price5 will be calculated from Price1 automatically using the PriceLevels. If you do specify Price2 through Price 4 for the item, and you also use PriceLevels, the Price2, Price3, Price4, and Price5 settings override the PriceLevels.
IQBAmountType      

Price3

Every inventory item normally has Price1 set in order to establish the baseline or everyday retail price of the item. Accordingly, there is no markdown for Price1. However, you can use Prices 2 through 5 to specify discount pricing for the item. If you don’t specify Prices 2 through 5, however, and if PriceLevels are specified in company preferences, the markdowns specified in the PriceLevels will automatically be applied: Price2, Price3, Price4, and Price5 will be calculated from Price1 automatically using the PriceLevels. If you do specify Price2 through Price 4 for the item, and you also use PriceLevels, the Price2, Price3, Price4, and Price5 settings override the PriceLevels.
IQBAmountType      

Price4

Every inventory item normally has Price1 set in order to establish the baseline or everyday retail price of the item. Accordingly, there is no markdown for Price1. However, you can use Prices 2 through 5 to specify discount pricing for the item. If you don’t specify Prices 2 through 5, however, and if PriceLevels are specified in company preferences, the markdowns specified in the PriceLevels will automatically be applied: Price2, Price3, Price4, and Price5 will be calculated from Price1 automatically using the PriceLevels. If you do specify Price2 through Price 4 for the item, and you also use PriceLevels, the Price2, Price3, Price4, and Price5 settings override the PriceLevels.
IQBAmountType      

Price5

Every inventory item normally has Price1 set in order to establish the baseline or everyday retail price of the item. Accordingly, there is no markdown for Price1. However, you can use Prices 2 through 5 to specify discount pricing for the item. If you don’t specify Prices 2 through 5, however, and if PriceLevels are specified in company preferences, the markdowns specified in the PriceLevels will automatically be applied: Price2, Price3, Price4, and Price5 will be calculated from Price1 automatically using the PriceLevels. If you do specify Price2 through Price 4 for the item, and you also use PriceLevels, the Price2, Price3, Price4, and Price5 settings override the PriceLevels.
IQBAmountType      

UnitOfMeasure

If the company is using only a single unit of measure, this specifies the unit of measure for the item. If the company is using multiple units of measure, this specifies the base unit of measure for the item. Inventory quantities are tracked and reported in terms of this base unit.
IQBStringType 20 chars    

UPC

Universal Product Code. The item’s unique UPC/EAN/ISBN identifier. This field must be 13 characters. If a shorter number is entered, QBPOS uses an appropriate algorithm to lengthen the entry to fill the 13-character field.
IQBStringType 18 chars    

UnitOfMeasure3

Used to support multiple units of measure. In addition to the base unit of measure for an inventory item, you can specify up to three other units of measure. Any of these units of measure can be applied when you order (PurchaseOrderAdd) or sell (SalesReceiptAdd) the item.
IUnitOfMeasure3   2.0  

ALU

Alternate Lookup. A user-defined identifier to be used to look up an item. Typically, this field contains such as the manufacturer’s part number, but it can contain any text descriptions, catalog numbers, etc. Duplicate Alternate Lookups are not allowed. Do not duplicate the Item # or UPC in this field. This will adversely affect performance for item lookups.
IQBStringType 20 chars    

MSRP

Manufacturer’s Suggest Retail Price. Reference price that is printed on price tags if defined in inventory.
IQBAmountType      

NumberOfBaseUnits

If you use multiple units of measure, rather than a single UOM, you need to select one of the UOMs as the base unit. This base unit should be the smallest unit that you sell by. Inventory quantities are always expressed in terms of this base unit.
IQBQuanType      

Price1

Every inventory item normally has Price1 set in order to establish the baseline or everyday retail price of the item. Accordingly, there is no markdown for Price1. However, you can use Prices 2 through 5 to specify discount pricing for the item. If you don’t specify Prices 2 through 5, however, and if PriceLevels are specified in company preferences, the markdowns specified in the PriceLevels will automatically be applied: Price2, Price3, Price4, and Price5 will be calculated from Price1 automatically using the PriceLevels. If you do specify Price2 through Price 4 for the item, and you also use PriceLevels, the Price2, Price3, Price4, and Price5 settings override the PriceLevels.
IQBAmountType      

Price2

Every inventory item normally has Price1 set in order to establish the baseline or everyday retail price of the item. Accordingly, there is no markdown for Price1. However, you can use Prices 2 through 5 to specify discount pricing for the item. If you don’t specify Prices 2 through 5, however, and if PriceLevels are specified in company preferences, the markdowns specified in the PriceLevels will automatically be applied: Price2, Price3, Price4, and Price5 will be calculated from Price1 automatically using the PriceLevels. If you do specify Price2 through Price 4 for the item, and you also use PriceLevels, the Price2, Price3, Price4, and Price5 settings override the PriceLevels.
IQBAmountType      

Price3

Every inventory item normally has Price1 set in order to establish the baseline or everyday retail price of the item. Accordingly, there is no markdown for Price1. However, you can use Prices 2 through 5 to specify discount pricing for the item. If you don’t specify Prices 2 through 5, however, and if PriceLevels are specified in company preferences, the markdowns specified in the PriceLevels will automatically be applied: Price2, Price3, Price4, and Price5 will be calculated from Price1 automatically using the PriceLevels. If you do specify Price2 through Price 4 for the item, and you also use PriceLevels, the Price2, Price3, Price4, and Price5 settings override the PriceLevels.
IQBAmountType      

Price4

Every inventory item normally has Price1 set in order to establish the baseline or everyday retail price of the item. Accordingly, there is no markdown for Price1. However, you can use Prices 2 through 5 to specify discount pricing for the item. If you don’t specify Prices 2 through 5, however, and if PriceLevels are specified in company preferences, the markdowns specified in the PriceLevels will automatically be applied: Price2, Price3, Price4, and Price5 will be calculated from Price1 automatically using the PriceLevels. If you do specify Price2 through Price 4 for the item, and you also use PriceLevels, the Price2, Price3, Price4, and Price5 settings override the PriceLevels.
IQBAmountType      

Price5

Every inventory item normally has Price1 set in order to establish the baseline or everyday retail price of the item. Accordingly, there is no markdown for Price1. However, you can use Prices 2 through 5 to specify discount pricing for the item. If you don’t specify Prices 2 through 5, however, and if PriceLevels are specified in company preferences, the markdowns specified in the PriceLevels will automatically be applied: Price2, Price3, Price4, and Price5 will be calculated from Price1 automatically using the PriceLevels. If you do specify Price2 through Price 4 for the item, and you also use PriceLevels, the Price2, Price3, Price4, and Price5 settings override the PriceLevels.
IQBAmountType      

UnitOfMeasure

If the company is using only a single unit of measure, this specifies the unit of measure for the item. If the company is using multiple units of measure, this specifies the base unit of measure for the item. Inventory quantities are tracked and reported in terms of this base unit.
IQBStringType 20 chars    

UPC

Universal Product Code. The item’s unique UPC/EAN/ISBN identifier. This field must be 13 characters. If a shorter number is entered, QBPOS uses an appropriate algorithm to lengthen the entry to fill the 13-character field.
IQBStringType 18 chars    

VendorInfo2

Available for certain QBPOS versions, such as Pro versions. If multiple vendors are used for an item, up to 5 vendors can be specified. Each vendor can have a unique UPC, Alternate Lokoup, and order cost.
IVendorInfo2      

ALU

Alternate Lookup. A user-defined identifier to be used to look up an item. Typically, this field contains such as the manufacturer’s part number, but it can contain any text descriptions, catalog numbers, etc. Duplicate Alternate Lookups are not allowed. Do not duplicate the Item # or UPC in this field. This will adversely affect performance for item lookups.
IQBStringType 20 chars    

OrderCost

Notice that the Order cost (the Order Cost field in the New Item form) is different than inventory cost (Cost field). An item’s order cost is the current cost you pay a vendor for the item, while inventory cost is the averaged cost of the current on-hand quantity of the item. Over time it is normal for your order cost to move higher than your averaged cost, as you may have some quantity left in stock that was purchased at a lower cost. When you make a purchase order, the order cost in inventory is suggested as the purchase order cost in the Purchase Order form in QBPOS. You can edit this cost on the PO if necessary. When you receive the ordered items, the voucher that references the PO will automatically take its cost from the PO (if not referencing a PO, the order cost from inventory is suggested as the voucher cost). When a voucher with a changed cost is updated it will automatically update the Order Cost field in inventory, so that the new order cost is suggested on the next PO made for the item from the same vendor. QBPOS supports the use of fractional-cent costs with up to five decimal places.
IQBAmountType      

UPC

Universal Product Code. The item’s unique UPC/EAN/ISBN identifier. This field must be 13 characters. If a shorter number is entered, QBPOS uses an appropriate algorithm to lengthen the entry to fill the 13-character field.
IQBStringType 18 chars    

VendorListID

The listID of the vendor being referenced in this object reference.
IQBIDType     Y

useMacro

You use a macro in a request message set if you need to create some object in one request, then refer to it in a subsequent request within that same message set. For example, you could create an inventory item and then include that item as a line item in a sales order all in one request message set, rather than create the item, query for it, then include it in a separate SalesOrderAdd request. In this latter case, you are accessing QBPOS three times, versus only once, using macros. The item to be referenced is specified via the defmacro. The actual reference to that item in the succeeding request is done via the use macro, as follows: ItemInventoryAdd defMacro=”ListID:Inv1” In the above line, you simply replace Inv1 with the name you want to give the macro. When you reference this macro in another request (one that requires that object’s listID) in the same message set, you use this syntax: ListID useMacro=”ListID:Inv1” This is covered in more detail in the Programming Guide.
IQBStringType   2.0  

VendorInfo3

Available for certain QBPOS versions, such as Pro versions. If multiple vendors are used for an item, up to 5 vendors can be specified. Each vendor can have a unique UPC, Alternate Lokoup, and order cost.
IVendorInfo3      

ALU

Alternate Lookup. A user-defined identifier to be used to look up an item. Typically, this field contains such as the manufacturer’s part number, but it can contain any text descriptions, catalog numbers, etc. Duplicate Alternate Lookups are not allowed. Do not duplicate the Item # or UPC in this field. This will adversely affect performance for item lookups.
IQBStringType 20 chars    

OrderCost

Notice that the Order cost (the Order Cost field in the New Item form) is different than inventory cost (Cost field). An item’s order cost is the current cost you pay a vendor for the item, while inventory cost is the averaged cost of the current on-hand quantity of the item. Over time it is normal for your order cost to move higher than your averaged cost, as you may have some quantity left in stock that was purchased at a lower cost. When you make a purchase order, the order cost in inventory is suggested as the purchase order cost in the Purchase Order form in QBPOS. You can edit this cost on the PO if necessary. When you receive the ordered items, the voucher that references the PO will automatically take its cost from the PO (if not referencing a PO, the order cost from inventory is suggested as the voucher cost). When a voucher with a changed cost is updated it will automatically update the Order Cost field in inventory, so that the new order cost is suggested on the next PO made for the item from the same vendor. QBPOS supports the use of fractional-cent costs with up to five decimal places.
IQBAmountType      

UPC

Universal Product Code. The item’s unique UPC/EAN/ISBN identifier. This field must be 13 characters. If a shorter number is entered, QBPOS uses an appropriate algorithm to lengthen the entry to fill the 13-character field.
IQBStringType 18 chars    

VendorListID

The listID of the vendor being referenced in this object reference.
IQBIDType     Y

useMacro

You use a macro in a request message set if you need to create some object in one request, then refer to it in a subsequent request within that same message set. For example, you could create an inventory item and then include that item as a line item in a sales order all in one request message set, rather than create the item, query for it, then include it in a separate SalesOrderAdd request. In this latter case, you are accessing QBPOS three times, versus only once, using macros. The item to be referenced is specified via the defmacro. The actual reference to that item in the succeeding request is done via the use macro, as follows: ItemInventoryAdd defMacro=”ListID:Inv1” In the above line, you simply replace Inv1 with the name you want to give the macro. When you reference this macro in another request (one that requires that object’s listID) in the same message set, you use this syntax: ListID useMacro=”ListID:Inv1” This is covered in more detail in the Programming Guide.
IQBStringType   2.0  

VendorInfo4

Available for certain QBPOS versions, such as Pro versions. If multiple vendors are used for an item, up to 5 vendors can be specified. Each vendor can have a unique UPC, Alternate Lokoup, and order cost.
IVendorInfo4      

ALU

Alternate Lookup. A user-defined identifier to be used to look up an item. Typically, this field contains such as the manufacturer’s part number, but it can contain any text descriptions, catalog numbers, etc. Duplicate Alternate Lookups are not allowed. Do not duplicate the Item # or UPC in this field. This will adversely affect performance for item lookups.
IQBStringType 20 chars    

OrderCost

Notice that the Order cost (the Order Cost field in the New Item form) is different than inventory cost (Cost field). An item’s order cost is the current cost you pay a vendor for the item, while inventory cost is the averaged cost of the current on-hand quantity of the item. Over time it is normal for your order cost to move higher than your averaged cost, as you may have some quantity left in stock that was purchased at a lower cost. When you make a purchase order, the order cost in inventory is suggested as the purchase order cost in the Purchase Order form in QBPOS. You can edit this cost on the PO if necessary. When you receive the ordered items, the voucher that references the PO will automatically take its cost from the PO (if not referencing a PO, the order cost from inventory is suggested as the voucher cost). When a voucher with a changed cost is updated it will automatically update the Order Cost field in inventory, so that the new order cost is suggested on the next PO made for the item from the same vendor. QBPOS supports the use of fractional-cent costs with up to five decimal places.
IQBAmountType      

UPC

Universal Product Code. The item’s unique UPC/EAN/ISBN identifier. This field must be 13 characters. If a shorter number is entered, QBPOS uses an appropriate algorithm to lengthen the entry to fill the 13-character field.
IQBStringType 18 chars    

VendorListID

The listID of the vendor being referenced in this object reference.
IQBIDType     Y

useMacro

You use a macro in a request message set if you need to create some object in one request, then refer to it in a subsequent request within that same message set. For example, you could create an inventory item and then include that item as a line item in a sales order all in one request message set, rather than create the item, query for it, then include it in a separate SalesOrderAdd request. In this latter case, you are accessing QBPOS three times, versus only once, using macros. The item to be referenced is specified via the defmacro. The actual reference to that item in the succeeding request is done via the use macro, as follows: ItemInventoryAdd defMacro=”ListID:Inv1” In the above line, you simply replace Inv1 with the name you want to give the macro. When you reference this macro in another request (one that requires that object’s listID) in the same message set, you use this syntax: ListID useMacro=”ListID:Inv1” This is covered in more detail in the Programming Guide.
IQBStringType   2.0  

VendorInfo5

Available for certain QBPOS versions, such as Pro versions. If multiple vendors are used for an item, up to 5 vendors can be specified. Each vendor can have a unique UPC, Alternate Lokoup, and order cost.
IVendorInfo5      

ALU

Alternate Lookup. A user-defined identifier to be used to look up an item. Typically, this field contains such as the manufacturer’s part number, but it can contain any text descriptions, catalog numbers, etc. Duplicate Alternate Lookups are not allowed. Do not duplicate the Item # or UPC in this field. This will adversely affect performance for item lookups.
IQBStringType 20 chars    

OrderCost

Notice that the Order cost (the Order Cost field in the New Item form) is different than inventory cost (Cost field). An item’s order cost is the current cost you pay a vendor for the item, while inventory cost is the averaged cost of the current on-hand quantity of the item. Over time it is normal for your order cost to move higher than your averaged cost, as you may have some quantity left in stock that was purchased at a lower cost. When you make a purchase order, the order cost in inventory is suggested as the purchase order cost in the Purchase Order form in QBPOS. You can edit this cost on the PO if necessary. When you receive the ordered items, the voucher that references the PO will automatically take its cost from the PO (if not referencing a PO, the order cost from inventory is suggested as the voucher cost). When a voucher with a changed cost is updated it will automatically update the Order Cost field in inventory, so that the new order cost is suggested on the next PO made for the item from the same vendor. QBPOS supports the use of fractional-cent costs with up to five decimal places.
IQBAmountType      

UPC

Universal Product Code. The item’s unique UPC/EAN/ISBN identifier. This field must be 13 characters. If a shorter number is entered, QBPOS uses an appropriate algorithm to lengthen the entry to fill the 13-character field.
IQBStringType 18 chars    

VendorListID

The listID of the vendor being referenced in this object reference.
IQBIDType     Y

useMacro

You use a macro in a request message set if you need to create some object in one request, then refer to it in a subsequent request within that same message set. For example, you could create an inventory item and then include that item as a line item in a sales order all in one request message set, rather than create the item, query for it, then include it in a separate SalesOrderAdd request. In this latter case, you are accessing QBPOS three times, versus only once, using macros. The item to be referenced is specified via the defmacro. The actual reference to that item in the succeeding request is done via the use macro, as follows: ItemInventoryAdd defMacro=”ListID:Inv1” In the above line, you simply replace Inv1 with the name you want to give the macro. When you reference this macro in another request (one that requires that object’s listID) in the same message set, you use this syntax: ListID useMacro=”ListID:Inv1” This is covered in more detail in the Programming Guide.
IQBStringType   2.0  

DataExtRetList

If you specify any custom fields/private data extensions to be returned in the query request (in the OwnerIDList), then this Ret List will contain all of the data extensions that belong to each specified OwnerID. For example, if you specify an OwnerID value of 0 (custom fields), then the query will return all custom data for the returned records.
IDataExtRetList   1.2  

(List of IDataExtRet Objects)

       

OwnerID

OwnerID refers to the owner of a data extension, and must be 0 or a valid GUID. (Custom fields, which are visible in the QuickBooks UI, always have an OwnerID of 0. ) Usually you would keep your application’s GUID confidential to prevent other applications from accessing your data extensions. But if you want to share data extensions with another application, the applications need to use the same GUID. In this case, each application could use two GUIDs, one for shared data extensions and one for confidential data extensions. (An application can have any number of GUIDs.) When you share a data extension with another application, the other application must know both the OwnerID and the DataExtName, as these together form a data extension’s unique name.
IQBGUIDType     Y

DataExtName

The name of the data extension. If this is a custom field, DataExtName will be visible as a label in the QuickBooks user interface. Also because OwnerID and DataExtName together make the data extension unique, and because custom fields all have the same OwnerID of zero, the DataExtName must be a unique value among existing custom fields. In contrast, the DataExtName for private data extensions must be unique only for the specified OwnerID GUID.
IQBStringType     Y

DataExtType

b>DataExtType The type of the data extension.
IQBENDataExtTypeType     Y

DataExtValue

The data in this field. The maximum length of DataExtValue will depend on the DataExtType of this data extension. For example, if DataExtType is STR255TYPE, the maximum length of DataExtValue is 255 characters. If DataExtType is STR1024TYPE, the maximum size of DataExtValue is 1KB.
IQBStringType     Y

IsEcommerce

For Receipts: ​Value will be 1 when the Receipt is generated for sale transaction done in e-commerce though the supplier/partner. For Inventory: Value will be 1 when the Inventory created through the E-commerce supplier/partner.
IQBBoolType   4.0  

OnlineStoreNames

Name of the E-Commerce Player store name. E.g. Store1, Store 2, etc…
IQBStringType 1500 chars 4.0  

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
<?xml version="1.0" encoding="utf-8"?>
<?qbposxml version="4.0"?>
<QBPOSXML>
        <QBPOSXMLMsgsRq onError="stopOnError">
                <ItemInventoryModRq>
                        <ItemInventoryMod> <!-- required -->
                                <ListID  useMacro="MACROTYPE">IDTYPE</ListID> <!-- required -->
                                <ALU >STRTYPE</ALU> <!-- optional -->
                                <Attribute >STRTYPE</Attribute> <!-- optional -->
                                <COGSAccount >STRTYPE</COGSAccount> <!-- optional -->
                                <Cost >AMTTYPE</Cost> <!-- optional -->
                                <DepartmentListID  useMacro="MACROTYPE">IDTYPE</DepartmentListID> <!-- optional -->
                                <Desc1 >STRTYPE</Desc1> <!-- optional -->
                                <Desc2 >STRTYPE</Desc2> <!-- optional -->
                                <IncomeAccount >STRTYPE</IncomeAccount> <!-- optional -->
                                <IsEligibleForCommission >BOOLTYPE</IsEligibleForCommission> <!-- optional -->
                                <IsPrintingTags >BOOLTYPE</IsPrintingTags> <!-- optional -->
                                <IsUnorderable >BOOLTYPE</IsUnorderable> <!-- optional -->
                                <IsEligibleForRewards >BOOLTYPE</IsEligibleForRewards> <!-- optional -->
                                <IsWebItem >BOOLTYPE</IsWebItem> <!-- optional -->
                                <!-- ItemType may have one of the following values: Inventory, NonInventory, Service, Assembly, Group, SpecialOrder -->
                                <ItemType >ENUMTYPE</ItemType> <!-- optional -->
                                <MarginPercent >INTTYPE</MarginPercent> <!-- optional -->
                                <MarkupPercent >INTTYPE</MarkupPercent> <!-- optional -->
                                <MSRP >AMTTYPE</MSRP> <!-- optional -->
                                <OnHandStore01 >QUANTYPE</OnHandStore01> <!-- optional -->
                                <OnHandStore02 >QUANTYPE</OnHandStore02> <!-- optional -->
                                <OnHandStore03 >QUANTYPE</OnHandStore03> <!-- optional -->
                                <OnHandStore04 >QUANTYPE</OnHandStore04> <!-- optional -->
                                <OnHandStore05 >QUANTYPE</OnHandStore05> <!-- optional -->
                                <OnHandStore06 >QUANTYPE</OnHandStore06> <!-- optional -->
                                <OnHandStore07 >QUANTYPE</OnHandStore07> <!-- optional -->
                                <OnHandStore08 >QUANTYPE</OnHandStore08> <!-- optional -->
                                <OnHandStore09 >QUANTYPE</OnHandStore09> <!-- optional -->
                                <OnHandStore10 >QUANTYPE</OnHandStore10> <!-- optional -->
                                <OnHandStore11 >QUANTYPE</OnHandStore11> <!-- optional -->
                                <OnHandStore12 >QUANTYPE</OnHandStore12> <!-- optional -->
                                <OnHandStore13 >QUANTYPE</OnHandStore13> <!-- optional -->
                                <OnHandStore14 >QUANTYPE</OnHandStore14> <!-- optional -->
                                <OnHandStore15 >QUANTYPE</OnHandStore15> <!-- optional -->
                                <OnHandStore16 >QUANTYPE</OnHandStore16> <!-- optional -->
                                <OnHandStore17 >QUANTYPE</OnHandStore17> <!-- optional -->
                                <OnHandStore18 >QUANTYPE</OnHandStore18> <!-- optional -->
                                <OnHandStore19 >QUANTYPE</OnHandStore19> <!-- optional -->
                                <OnHandStore20 >QUANTYPE</OnHandStore20> <!-- optional -->
                                <ReorderPointStore01 >QUANTYPE</ReorderPointStore01> <!-- optional -->
                                <ReorderPointStore02 >QUANTYPE</ReorderPointStore02> <!-- optional -->
                                <ReorderPointStore03 >QUANTYPE</ReorderPointStore03> <!-- optional -->
                                <ReorderPointStore04 >QUANTYPE</ReorderPointStore04> <!-- optional -->
                                <ReorderPointStore05 >QUANTYPE</ReorderPointStore05> <!-- optional -->
                                <ReorderPointStore06 >QUANTYPE</ReorderPointStore06> <!-- optional -->
                                <ReorderPointStore07 >QUANTYPE</ReorderPointStore07> <!-- optional -->
                                <ReorderPointStore08 >QUANTYPE</ReorderPointStore08> <!-- optional -->
                                <ReorderPointStore09 >QUANTYPE</ReorderPointStore09> <!-- optional -->
                                <ReorderPointStore10 >QUANTYPE</ReorderPointStore10> <!-- optional -->
                                <ReorderPointStore11 >QUANTYPE</ReorderPointStore11> <!-- optional -->
                                <ReorderPointStore12 >QUANTYPE</ReorderPointStore12> <!-- optional -->
                                <ReorderPointStore13 >QUANTYPE</ReorderPointStore13> <!-- optional -->
                                <ReorderPointStore14 >QUANTYPE</ReorderPointStore14> <!-- optional -->
                                <ReorderPointStore15 >QUANTYPE</ReorderPointStore15> <!-- optional -->
                                <ReorderPointStore16 >QUANTYPE</ReorderPointStore16> <!-- optional -->
                                <ReorderPointStore17 >QUANTYPE</ReorderPointStore17> <!-- optional -->
                                <ReorderPointStore18 >QUANTYPE</ReorderPointStore18> <!-- optional -->
                                <ReorderPointStore19 >QUANTYPE</ReorderPointStore19> <!-- optional -->
                                <ReorderPointStore20 >QUANTYPE</ReorderPointStore20> <!-- optional -->
                                <OrderByUnit >STRTYPE</OrderByUnit> <!-- optional -->
                                <OrderCost >AMTTYPE</OrderCost> <!-- optional -->
                                <Price1 >AMTTYPE</Price1> <!-- optional -->
                                <Price2 >AMTTYPE</Price2> <!-- optional -->
                                <Price3 >AMTTYPE</Price3> <!-- optional -->
                                <Price4 >AMTTYPE</Price4> <!-- optional -->
                                <Price5 >AMTTYPE</Price5> <!-- optional -->
                                <ReorderPoint >QUANTYPE</ReorderPoint> <!-- optional -->
                                <SellByUnit >STRTYPE</SellByUnit> <!-- optional -->
                                <!-- SerialFlag may have one of the following values: Optional, Prompt -->
                                <SerialFlag >ENUMTYPE</SerialFlag> <!-- optional -->
                                <Size >STRTYPE</Size> <!-- optional -->
                                <TaxCode >STRTYPE</TaxCode> <!-- optional -->
                                <UnitOfMeasure >STRTYPE</UnitOfMeasure> <!-- optional -->
                                <UPC >STRTYPE</UPC> <!-- optional -->
                                <VendorListID  useMacro="MACROTYPE">IDTYPE</VendorListID> <!-- optional -->
                                <WebDesc >STRTYPE</WebDesc> <!-- optional -->
                                <WebPrice >AMTTYPE</WebPrice> <!-- optional -->
                                <Manufacturer >STRTYPE</Manufacturer> <!-- optional -->
                                <Weight >FLOATTYPE</Weight> <!-- optional -->
                                <Keywords >STRTYPE</Keywords> <!-- optional -->
                                <WebCategories >STRTYPE</WebCategories> <!-- optional -->
                                <UnitOfMeasure1> <!-- optional -->
                                        <ALU >STRTYPE</ALU> <!-- optional -->
                                        <MSRP >AMTTYPE</MSRP> <!-- optional -->
                                        <NumberOfBaseUnits >QUANTYPE</NumberOfBaseUnits> <!-- optional -->
                                        <Price1 >AMTTYPE</Price1> <!-- optional -->
                                        <Price2 >AMTTYPE</Price2> <!-- optional -->
                                        <Price3 >AMTTYPE</Price3> <!-- optional -->
                                        <Price4 >AMTTYPE</Price4> <!-- optional -->
                                        <Price5 >AMTTYPE</Price5> <!-- optional -->
                                        <UnitOfMeasure >STRTYPE</UnitOfMeasure> <!-- optional -->
                                        <UPC >STRTYPE</UPC> <!-- optional -->
                                </UnitOfMeasure1>
                                <UnitOfMeasure2> <!-- optional -->
                                        <ALU >STRTYPE</ALU> <!-- optional -->
                                        <MSRP >AMTTYPE</MSRP> <!-- optional -->
                                        <NumberOfBaseUnits >QUANTYPE</NumberOfBaseUnits> <!-- optional -->
                                        <Price1 >AMTTYPE</Price1> <!-- optional -->
                                        <Price2 >AMTTYPE</Price2> <!-- optional -->
                                        <Price3 >AMTTYPE</Price3> <!-- optional -->
                                        <Price4 >AMTTYPE</Price4> <!-- optional -->
                                        <Price5 >AMTTYPE</Price5> <!-- optional -->
                                        <UnitOfMeasure >STRTYPE</UnitOfMeasure> <!-- optional -->
                                        <UPC >STRTYPE</UPC> <!-- optional -->
                                </UnitOfMeasure2>
                                <UnitOfMeasure3> <!-- optional -->
                                        <ALU >STRTYPE</ALU> <!-- optional -->
                                        <MSRP >AMTTYPE</MSRP> <!-- optional -->
                                        <NumberOfBaseUnits >QUANTYPE</NumberOfBaseUnits> <!-- optional -->
                                        <Price1 >AMTTYPE</Price1> <!-- optional -->
                                        <Price2 >AMTTYPE</Price2> <!-- optional -->
                                        <Price3 >AMTTYPE</Price3> <!-- optional -->
                                        <Price4 >AMTTYPE</Price4> <!-- optional -->
                                        <Price5 >AMTTYPE</Price5> <!-- optional -->
                                        <UnitOfMeasure >STRTYPE</UnitOfMeasure> <!-- optional -->
                                        <UPC >STRTYPE</UPC> <!-- optional -->
                                </UnitOfMeasure3>
                                <VendorInfo2> <!-- optional -->
                                        <ALU >STRTYPE</ALU> <!-- optional -->
                                        <OrderCost >AMTTYPE</OrderCost> <!-- optional -->
                                        <UPC >STRTYPE</UPC> <!-- optional -->
                                        <VendorListID  useMacro="MACROTYPE">IDTYPE</VendorListID> <!-- required -->
                                </VendorInfo2>
                                <VendorInfo3> <!-- optional -->
                                        <ALU >STRTYPE</ALU> <!-- optional -->
                                        <OrderCost >AMTTYPE</OrderCost> <!-- optional -->
                                        <UPC >STRTYPE</UPC> <!-- optional -->
                                        <VendorListID  useMacro="MACROTYPE">IDTYPE</VendorListID> <!-- required -->
                                </VendorInfo3>
                                <VendorInfo4> <!-- optional -->
                                        <ALU >STRTYPE</ALU> <!-- optional -->
                                        <OrderCost >AMTTYPE</OrderCost> <!-- optional -->
                                        <UPC >STRTYPE</UPC> <!-- optional -->
                                        <VendorListID  useMacro="MACROTYPE">IDTYPE</VendorListID> <!-- required -->
                                </VendorInfo4>
                                <VendorInfo5> <!-- optional -->
                                        <ALU >STRTYPE</ALU> <!-- optional -->
                                        <OrderCost >AMTTYPE</OrderCost> <!-- optional -->
                                        <UPC >STRTYPE</UPC> <!-- optional -->
                                        <VendorListID  useMacro="MACROTYPE">IDTYPE</VendorListID> <!-- required -->
                                </VendorInfo5>
                        </ItemInventoryMod>
                        <IsEcommerce >BOOLTYPE</IsEcommerce> <!-- optional -->
                        <OnlineStoreNames >STRTYPE</OnlineStoreNames> <!-- optional -->
                        <IncludeRetElement >STRTYPE</IncludeRetElement> <!-- optional, may repeat -->
                </ItemInventoryModRq>

                <ItemInventoryModRs statusCode="INTTYPE" statusSeverity="STRTYPE" statusMessage="STRTYPE">
                        <ItemInventoryRet> <!-- optional -->
                                <ListID >IDTYPE</ListID> <!-- optional -->
                                <TimeCreated >DATETIMETYPE</TimeCreated> <!-- optional -->
                                <TimeModified >DATETIMETYPE</TimeModified> <!-- optional -->
                                <ALU >STRTYPE</ALU> <!-- optional -->
                                <Attribute >STRTYPE</Attribute> <!-- optional -->
                                <COGSAccount >STRTYPE</COGSAccount> <!-- optional -->
                                <Cost >AMTTYPE</Cost> <!-- optional -->
                                <DepartmentCode >STRTYPE</DepartmentCode> <!-- optional -->
                                <DepartmentListID >IDTYPE</DepartmentListID> <!-- optional -->
                                <Desc1 >STRTYPE</Desc1> <!-- optional -->
                                <Desc2 >STRTYPE</Desc2> <!-- optional -->
                                <IncomeAccount >STRTYPE</IncomeAccount> <!-- optional -->
                                <IsBelowReorder >BOOLTYPE</IsBelowReorder> <!-- optional -->
                                <IsEligibleForCommission >BOOLTYPE</IsEligibleForCommission> <!-- optional -->
                                <IsPrintingTags >BOOLTYPE</IsPrintingTags> <!-- optional -->
                                <IsUnorderable >BOOLTYPE</IsUnorderable> <!-- optional -->
                                <HasPictures >BOOLTYPE</HasPictures> <!-- optional -->
                                <IsEligibleForRewards >BOOLTYPE</IsEligibleForRewards> <!-- optional -->
                                <IsWebItem >BOOLTYPE</IsWebItem> <!-- optional -->
                                <ItemNumber >INTTYPE</ItemNumber> <!-- optional -->
                                <!-- ItemType may have one of the following values: Inventory, NonInventory, Service, Assembly, Group, SpecialOrder -->
                                <ItemType >ENUMTYPE</ItemType> <!-- optional -->
                                <LastReceived >DATETYPE</LastReceived> <!-- optional -->
                                <MarginPercent >INTTYPE</MarginPercent> <!-- optional -->
                                <MarkupPercent >INTTYPE</MarkupPercent> <!-- optional -->
                                <MSRP >AMTTYPE</MSRP> <!-- optional -->
                                <OnHandStore01 >QUANTYPE</OnHandStore01> <!-- optional -->
                                <OnHandStore02 >QUANTYPE</OnHandStore02> <!-- optional -->
                                <OnHandStore03 >QUANTYPE</OnHandStore03> <!-- optional -->
                                <OnHandStore04 >QUANTYPE</OnHandStore04> <!-- optional -->
                                <OnHandStore05 >QUANTYPE</OnHandStore05> <!-- optional -->
                                <OnHandStore06 >QUANTYPE</OnHandStore06> <!-- optional -->
                                <OnHandStore07 >QUANTYPE</OnHandStore07> <!-- optional -->
                                <OnHandStore08 >QUANTYPE</OnHandStore08> <!-- optional -->
                                <OnHandStore09 >QUANTYPE</OnHandStore09> <!-- optional -->
                                <OnHandStore10 >QUANTYPE</OnHandStore10> <!-- optional -->
                                <OnHandStore11 >QUANTYPE</OnHandStore11> <!-- optional -->
                                <OnHandStore12 >QUANTYPE</OnHandStore12> <!-- optional -->
                                <OnHandStore13 >QUANTYPE</OnHandStore13> <!-- optional -->
                                <OnHandStore14 >QUANTYPE</OnHandStore14> <!-- optional -->
                                <OnHandStore15 >QUANTYPE</OnHandStore15> <!-- optional -->
                                <OnHandStore16 >QUANTYPE</OnHandStore16> <!-- optional -->
                                <OnHandStore17 >QUANTYPE</OnHandStore17> <!-- optional -->
                                <OnHandStore18 >QUANTYPE</OnHandStore18> <!-- optional -->
                                <OnHandStore19 >QUANTYPE</OnHandStore19> <!-- optional -->
                                <OnHandStore20 >QUANTYPE</OnHandStore20> <!-- optional -->
                                <ReorderPointStore01 >QUANTYPE</ReorderPointStore01> <!-- optional -->
                                <ReorderPointStore02 >QUANTYPE</ReorderPointStore02> <!-- optional -->
                                <ReorderPointStore03 >QUANTYPE</ReorderPointStore03> <!-- optional -->
                                <ReorderPointStore04 >QUANTYPE</ReorderPointStore04> <!-- optional -->
                                <ReorderPointStore05 >QUANTYPE</ReorderPointStore05> <!-- optional -->
                                <ReorderPointStore06 >QUANTYPE</ReorderPointStore06> <!-- optional -->
                                <ReorderPointStore07 >QUANTYPE</ReorderPointStore07> <!-- optional -->
                                <ReorderPointStore08 >QUANTYPE</ReorderPointStore08> <!-- optional -->
                                <ReorderPointStore09 >QUANTYPE</ReorderPointStore09> <!-- optional -->
                                <ReorderPointStore10 >QUANTYPE</ReorderPointStore10> <!-- optional -->
                                <ReorderPointStore11 >QUANTYPE</ReorderPointStore11> <!-- optional -->
                                <ReorderPointStore12 >QUANTYPE</ReorderPointStore12> <!-- optional -->
                                <ReorderPointStore13 >QUANTYPE</ReorderPointStore13> <!-- optional -->
                                <ReorderPointStore14 >QUANTYPE</ReorderPointStore14> <!-- optional -->
                                <ReorderPointStore15 >QUANTYPE</ReorderPointStore15> <!-- optional -->
                                <ReorderPointStore16 >QUANTYPE</ReorderPointStore16> <!-- optional -->
                                <ReorderPointStore17 >QUANTYPE</ReorderPointStore17> <!-- optional -->
                                <ReorderPointStore18 >QUANTYPE</ReorderPointStore18> <!-- optional -->
                                <ReorderPointStore19 >QUANTYPE</ReorderPointStore19> <!-- optional -->
                                <ReorderPointStore20 >QUANTYPE</ReorderPointStore20> <!-- optional -->
                                <OrderByUnit >STRTYPE</OrderByUnit> <!-- optional -->
                                <OrderCost >AMTTYPE</OrderCost> <!-- optional -->
                                <Price1 >AMTTYPE</Price1> <!-- optional -->
                                <Price2 >AMTTYPE</Price2> <!-- optional -->
                                <Price3 >AMTTYPE</Price3> <!-- optional -->
                                <Price4 >AMTTYPE</Price4> <!-- optional -->
                                <Price5 >AMTTYPE</Price5> <!-- optional -->
                                <QuantityOnCustomerOrder >QUANTYPE</QuantityOnCustomerOrder> <!-- optional -->
                                <QuantityOnHand >QUANTYPE</QuantityOnHand> <!-- optional -->
                                <QuantityOnOrder >QUANTYPE</QuantityOnOrder> <!-- optional -->
                                <QuantityOnPendingOrder >QUANTYPE</QuantityOnPendingOrder> <!-- optional -->
                                <AvailableQty> <!-- must occur 0 - 10 times -->
                                        <StoreNumber >INTTYPE</StoreNumber> <!-- optional -->
                                        <QuantityOnOrder >QUANTYPE</QuantityOnOrder> <!-- optional -->
                                        <QuantityOnCustomerOrder >QUANTYPE</QuantityOnCustomerOrder> <!-- optional -->
                                        <QuantityOnPendingOrder >QUANTYPE</QuantityOnPendingOrder> <!-- optional -->
                                </AvailableQty>
                                <ReorderPoint >QUANTYPE</ReorderPoint> <!-- optional -->
                                <SellByUnit >STRTYPE</SellByUnit> <!-- optional -->
                                <!-- SerialFlag may have one of the following values: Optional, Prompt -->
                                <SerialFlag >ENUMTYPE</SerialFlag> <!-- optional -->
                                <Size >STRTYPE</Size> <!-- optional -->
                                <!-- StoreExchangeStatus may have one of the following values: Modified, Sent, Acknowledged -->
                                <StoreExchangeStatus >ENUMTYPE</StoreExchangeStatus> <!-- optional -->
                                <TaxCode >STRTYPE</TaxCode> <!-- optional -->
                                <UnitOfMeasure >STRTYPE</UnitOfMeasure> <!-- optional -->
                                <UPC >STRTYPE</UPC> <!-- optional -->
                                <VendorCode >STRTYPE</VendorCode> <!-- optional -->
                                <VendorListID >IDTYPE</VendorListID> <!-- optional -->
                                <WebDesc >STRTYPE</WebDesc> <!-- optional -->
                                <WebPrice >AMTTYPE</WebPrice> <!-- optional -->
                                <Manufacturer >STRTYPE</Manufacturer> <!-- optional -->
                                <Weight >FLOATTYPE</Weight> <!-- optional -->
                                <WebSKU >STRTYPE</WebSKU> <!-- optional -->
                                <Keywords >STRTYPE</Keywords> <!-- optional -->
                                <WebCategories >STRTYPE</WebCategories> <!-- optional -->
                                <UnitOfMeasure1> <!-- optional -->
                                        <ALU >STRTYPE</ALU> <!-- optional -->
                                        <MSRP >AMTTYPE</MSRP> <!-- optional -->
                                        <NumberOfBaseUnits >QUANTYPE</NumberOfBaseUnits> <!-- optional -->
                                        <Price1 >AMTTYPE</Price1> <!-- optional -->
                                        <Price2 >AMTTYPE</Price2> <!-- optional -->
                                        <Price3 >AMTTYPE</Price3> <!-- optional -->
                                        <Price4 >AMTTYPE</Price4> <!-- optional -->
                                        <Price5 >AMTTYPE</Price5> <!-- optional -->
                                        <UnitOfMeasure >STRTYPE</UnitOfMeasure> <!-- optional -->
                                        <UPC >STRTYPE</UPC> <!-- optional -->
                                </UnitOfMeasure1>
                                <UnitOfMeasure2> <!-- optional -->
                                        <ALU >STRTYPE</ALU> <!-- optional -->
                                        <MSRP >AMTTYPE</MSRP> <!-- optional -->
                                        <NumberOfBaseUnits >QUANTYPE</NumberOfBaseUnits> <!-- optional -->
                                        <Price1 >AMTTYPE</Price1> <!-- optional -->
                                        <Price2 >AMTTYPE</Price2> <!-- optional -->
                                        <Price3 >AMTTYPE</Price3> <!-- optional -->
                                        <Price4 >AMTTYPE</Price4> <!-- optional -->
                                        <Price5 >AMTTYPE</Price5> <!-- optional -->
                                        <UnitOfMeasure >STRTYPE</UnitOfMeasure> <!-- optional -->
                                        <UPC >STRTYPE</UPC> <!-- optional -->
                                </UnitOfMeasure2>
                                <UnitOfMeasure3> <!-- optional -->
                                        <ALU >STRTYPE</ALU> <!-- optional -->
                                        <MSRP >AMTTYPE</MSRP> <!-- optional -->
                                        <NumberOfBaseUnits >QUANTYPE</NumberOfBaseUnits> <!-- optional -->
                                        <Price1 >AMTTYPE</Price1> <!-- optional -->
                                        <Price2 >AMTTYPE</Price2> <!-- optional -->
                                        <Price3 >AMTTYPE</Price3> <!-- optional -->
                                        <Price4 >AMTTYPE</Price4> <!-- optional -->
                                        <Price5 >AMTTYPE</Price5> <!-- optional -->
                                        <UnitOfMeasure >STRTYPE</UnitOfMeasure> <!-- optional -->
                                        <UPC >STRTYPE</UPC> <!-- optional -->
                                </UnitOfMeasure3>
                                <VendorInfo2> <!-- optional -->
                                        <ALU >STRTYPE</ALU> <!-- optional -->
                                        <OrderCost >AMTTYPE</OrderCost> <!-- optional -->
                                        <UPC >STRTYPE</UPC> <!-- optional -->
                                        <VendorListID  useMacro="MACROTYPE">IDTYPE</VendorListID> <!-- required -->
                                </VendorInfo2>
                                <VendorInfo3> <!-- optional -->
                                        <ALU >STRTYPE</ALU> <!-- optional -->
                                        <OrderCost >AMTTYPE</OrderCost> <!-- optional -->
                                        <UPC >STRTYPE</UPC> <!-- optional -->
                                        <VendorListID  useMacro="MACROTYPE">IDTYPE</VendorListID> <!-- required -->
                                </VendorInfo3>
                                <VendorInfo4> <!-- optional -->
                                        <ALU >STRTYPE</ALU> <!-- optional -->
                                        <OrderCost >AMTTYPE</OrderCost> <!-- optional -->
                                        <UPC >STRTYPE</UPC> <!-- optional -->
                                        <VendorListID  useMacro="MACROTYPE">IDTYPE</VendorListID> <!-- required -->
                                </VendorInfo4>
                                <VendorInfo5> <!-- optional -->
                                        <ALU >STRTYPE</ALU> <!-- optional -->
                                        <OrderCost >AMTTYPE</OrderCost> <!-- optional -->
                                        <UPC >STRTYPE</UPC> <!-- optional -->
                                        <VendorListID  useMacro="MACROTYPE">IDTYPE</VendorListID> <!-- required -->
                                </VendorInfo5>
                                <DataExtRet> <!-- optional, may repeat -->
                                        <OwnerID >GUIDTYPE</OwnerID> <!-- required -->
                                        <DataExtName >STRTYPE</DataExtName> <!-- required -->
                                        <!-- DataExtType may have one of the following values: INTTYPE, AMTTYPE, PRICETYPE, QUANTYPE, PERCENTTYPE, DATETIMETYPE, STR255TYPE, STR1024TYPE -->
                                        <DataExtType >ENUMTYPE</DataExtType> <!-- required -->
                                        <DataExtValue >STRTYPE</DataExtValue> <!-- required -->
                                </DataExtRet>
                                <IsEcommerce >BOOLTYPE</IsEcommerce> <!-- optional -->
                                <OnlineStoreNames >STRTYPE</OnlineStoreNames> <!-- optional -->
                        </ItemInventoryRet>
                </ItemInventoryModRs>
        </QBPOSXMLMsgsRq>
</QBPOSXML>

   1
   2
   3
   4
   5
   6
   7
   8
   9
  10
  11
  12
  13
  14
  15
  16
  17
  18
  19
  20
  21
  22
  23
  24
  25
  26
  27
  28
  29
  30
  31
  32
  33
  34
  35
  36
  37
  38
  39
  40
  41
  42
  43
  44
  45
  46
  47
  48
  49
  50
  51
  52
  53
  54
  55
  56
  57
  58
  59
  60
  61
  62
  63
  64
  65
  66
  67
  68
  69
  70
  71
  72
  73
  74
  75
  76
  77
  78
  79
  80
  81
  82
  83
  84
  85
  86
  87
  88
  89
  90
  91
  92
  93
  94
  95
  96
  97
  98
  99
 100
 101
 102
 103
 104
 105
 106
 107
 108
 109
 110
 111
 112
 113
 114
 115
 116
 117
 118
 119
 120
 121
 122
 123
 124
 125
 126
 127
 128
 129
 130
 131
 132
 133
 134
 135
 136
 137
 138
 139
 140
 141
 142
 143
 144
 145
 146
 147
 148
 149
 150
 151
 152
 153
 154
 155
 156
 157
 158
 159
 160
 161
 162
 163
 164
 165
 166
 167
 168
 169
 170
 171
 172
 173
 174
 175
 176
 177
 178
 179
 180
 181
 182
 183
 184
 185
 186
 187
 188
 189
 190
 191
 192
 193
 194
 195
 196
 197
 198
 199
 200
 201
 202
 203
 204
 205
 206
 207
 208
 209
 210
 211
 212
 213
 214
 215
 216
 217
 218
 219
 220
 221
 222
 223
 224
 225
 226
 227
 228
 229
 230
 231
 232
 233
 234
 235
 236
 237
 238
 239
 240
 241
 242
 243
 244
 245
 246
 247
 248
 249
 250
 251
 252
 253
 254
 255
 256
 257
 258
 259
 260
 261
 262
 263
 264
 265
 266
 267
 268
 269
 270
 271
 272
 273
 274
 275
 276
 277
 278
 279
 280
 281
 282
 283
 284
 285
 286
 287
 288
 289
 290
 291
 292
 293
 294
 295
 296
 297
 298
 299
 300
 301
 302
 303
 304
 305
 306
 307
 308
 309
 310
 311
 312
 313
 314
 315
 316
 317
 318
 319
 320
 321
 322
 323
 324
 325
 326
 327
 328
 329
 330
 331
 332
 333
 334
 335
 336
 337
 338
 339
 340
 341
 342
 343
 344
 345
 346
 347
 348
 349
 350
 351
 352
 353
 354
 355
 356
 357
 358
 359
 360
 361
 362
 363
 364
 365
 366
 367
 368
 369
 370
 371
 372
 373
 374
 375
 376
 377
 378
 379
 380
 381
 382
 383
 384
 385
 386
 387
 388
 389
 390
 391
 392
 393
 394
 395
 396
 397
 398
 399
 400
 401
 402
 403
 404
 405
 406
 407
 408
 409
 410
 411
 412
 413
 414
 415
 416
 417
 418
 419
 420
 421
 422
 423
 424
 425
 426
 427
 428
 429
 430
 431
 432
 433
 434
 435
 436
 437
 438
 439
 440
 441
 442
 443
 444
 445
 446
 447
 448
 449
 450
 451
 452
 453
 454
 455
 456
 457
 458
 459
 460
 461
 462
 463
 464
 465
 466
 467
 468
 469
 470
 471
 472
 473
 474
 475
 476
 477
 478
 479
 480
 481
 482
 483
 484
 485
 486
 487
 488
 489
 490
 491
 492
 493
 494
 495
 496
 497
 498
 499
 500
 501
 502
 503
 504
 505
 506
 507
 508
 509
 510
 511
 512
 513
 514
 515
 516
 517
 518
 519
 520
 521
 522
 523
 524
 525
 526
 527
 528
 529
 530
 531
 532
 533
 534
 535
 536
 537
 538
 539
 540
 541
 542
 543
 544
 545
 546
 547
 548
 549
 550
 551
 552
 553
 554
 555
 556
 557
 558
 559
 560
 561
 562
 563
 564
 565
 566
 567
 568
 569
 570
 571
 572
 573
 574
 575
 576
 577
 578
 579
 580
 581
 582
 583
 584
 585
 586
 587
 588
 589
 590
 591
 592
 593
 594
 595
 596
 597
 598
 599
 600
 601
 602
 603
 604
 605
 606
 607
 608
 609
 610
 611
 612
 613
 614
 615
 616
 617
 618
 619
 620
 621
 622
 623
 624
 625
 626
 627
 628
 629
 630
 631
 632
 633
 634
 635
 636
 637
 638
 639
 640
 641
 642
 643
 644
 645
 646
 647
 648
 649
 650
 651
 652
 653
 654
 655
 656
 657
 658
 659
 660
 661
 662
 663
 664
 665
 666
 667
 668
 669
 670
 671
 672
 673
 674
 675
 676
 677
 678
 679
 680
 681
 682
 683
 684
 685
 686
 687
 688
 689
 690
 691
 692
 693
 694
 695
 696
 697
 698
 699
 700
 701
 702
 703
 704
 705
 706
 707
 708
 709
 710
 711
 712
 713
 714
 715
 716
 717
 718
 719
 720
 721
 722
 723
 724
 725
 726
 727
 728
 729
 730
 731
 732
 733
 734
 735
 736
 737
 738
 739
 740
 741
 742
 743
 744
 745
 746
 747
 748
 749
 750
 751
 752
 753
 754
 755
 756
 757
 758
 759
 760
 761
 762
 763
 764
 765
 766
 767
 768
 769
 770
 771
 772
 773
 774
 775
 776
 777
 778
 779
 780
 781
 782
 783
 784
 785
 786
 787
 788
 789
 790
 791
 792
 793
 794
 795
 796
 797
 798
 799
 800
 801
 802
 803
 804
 805
 806
 807
 808
 809
 810
 811
 812
 813
 814
 815
 816
 817
 818
 819
 820
 821
 822
 823
 824
 825
 826
 827
 828
 829
 830
 831
 832
 833
 834
 835
 836
 837
 838
 839
 840
 841
 842
 843
 844
 845
 846
 847
 848
 849
 850
 851
 852
 853
 854
 855
 856
 857
 858
 859
 860
 861
 862
 863
 864
 865
 866
 867
 868
 869
 870
 871
 872
 873
 874
 875
 876
 877
 878
 879
 880
 881
 882
 883
 884
 885
 886
 887
 888
 889
 890
 891
 892
 893
 894
 895
 896
 897
 898
 899
 900
 901
 902
 903
 904
 905
 906
 907
 908
 909
 910
 911
 912
 913
 914
 915
 916
 917
 918
 919
 920
 921
 922
 923
 924
 925
 926
 927
 928
 929
 930
 931
 932
 933
 934
 935
 936
 937
 938
 939
 940
 941
 942
 943
 944
 945
 946
 947
 948
 949
 950
 951
 952
 953
 954
 955
 956
 957
 958
 959
 960
 961
 962
 963
 964
 965
 966
 967
 968
 969
 970
 971
 972
 973
 974
 975
 976
 977
 978
 979
 980
 981
 982
 983
 984
 985
 986
 987
 988
 989
 990
 991
 992
 993
 994
 995
 996
 997
 998
 999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
'The following sample code is generated as an illustration of
'Creating requests and parsing responses ONLY
'This code is NOT intended to show best practices or ideal code
'Use at your most careful discretion

imports System
imports System.Net
imports System.Drawing
imports System.Collections
imports System.ComponentModel
imports System.Windows.Forms
imports System.Data
imports System.IO
imports Interop.qbposfc4

        Public Class SampleItemInventoryMod
                Public Sub  DoItemInventoryMod()
                        Dim sessionBegun as Boolean
                        sessionBegun = False
                        Dim connectionOpen as Boolean
                        connectionOpen = False
                        Dim sessionManager as QBPOSSessionManager
                        sessionManager = nothing

                        Try
                                'Create the session Manager object
                                sessionManager = new QBPOSSessionManager

                                'Create the message set request object to hold our request
                                Dim requestMsgSet as IMsgSetRequest
                                requestMsgSet = sessionManager.CreateMsgSetRequest(4,0)
                                requestMsgSet.Attributes.OnError = ENRqOnError.roeContinue

                                BuildItemInventoryModRq(requestMsgSet)

                                'Connect to QuickBooks and begin a session
                                sessionManager.OpenConnection("","Sample Code from OSR")
                                connectionOpen = True
                                sessionManager.BeginSession("")
                                sessionBegun = True

                                'Send the request and get the response from QuickBooks
                                Dim responseMsgSet as IMsgSetResponse
                                responseMsgSet = sessionManager.DoRequests(requestMsgSet)

                                'End the session and close the connection to QuickBooks
                                sessionManager.EndSession()
                                sessionBegun = False
                                sessionManager.CloseConnection()
                                connectionOpen = False

                                WalkItemInventoryModRs(responseMsgSet)
                        Catch e as Exception
                                MessageBox.Show(e.Message, "Error")
                                if (sessionBegun) then
                                        sessionManager.EndSession()
                                End If
                                if (connectionOpen) then
                                        sessionManager.CloseConnection()
                                End If
                        End Try
                End Sub
                Public Sub BuildItemInventoryModRq(requestMsgSet as IMsgSetRequest)
                        Dim ItemInventoryModRq as IItemInventoryMod
                        ItemInventoryModRq= requestMsgSet.AppendItemInventoryModRq()
                        'Set field value for ListID
                        ItemInventoryModRq.ListID.SetValue("200000-1011023419")
                        'Set attributes
                        'Set field value for ListID to use Macro
                        ItemInventoryModRq.ListID.SetValueUseMacro("200000-1011023419")
                        'Set field value for ALU
                        ItemInventoryModRq.ALU.SetValue("ab")
                        'Set field value for Attribute
                        ItemInventoryModRq.Attribute.SetValue("ab")
                        'Set field value for COGSAccount
                        ItemInventoryModRq.COGSAccount.SetValue("ab")
                        'Set field value for Cost
                        ItemInventoryModRq.Cost.SetValue(10.01)
                        'Set field value for DepartmentListID
                        ItemInventoryModRq.DepartmentListID.SetValue("200000-1011023419")
                        'Set attributes
                        'Set field value for DepartmentListID to use Macro
                        ItemInventoryModRq.DepartmentListID.SetValueUseMacro("200000-1011023419")
                        'Set field value for Desc1
                        ItemInventoryModRq.Desc1.SetValue("ab")
                        'Set field value for Desc2
                        ItemInventoryModRq.Desc2.SetValue("ab")
                        'Set field value for IncomeAccount
                        ItemInventoryModRq.IncomeAccount.SetValue("ab")
                        'Set field value for IsEligibleForCommission
                        ItemInventoryModRq.IsEligibleForCommission.SetValue(True)
                        'Set field value for IsPrintingTags
                        ItemInventoryModRq.IsPrintingTags.SetValue(True)
                        'Set field value for IsUnorderable
                        ItemInventoryModRq.IsUnorderable.SetValue(True)
                        'Set field value for IsEligibleForRewards
                        ItemInventoryModRq.IsEligibleForRewards.SetValue(True)
                        'Set field value for IsWebItem
                        ItemInventoryModRq.IsWebItem.SetValue(True)
                        'Set field value for ItemType
                        ItemInventoryModRq.ItemType.SetValue(ENItemType.itInventory)
                        'Set field value for MarginPercent
                        ItemInventoryModRq.MarginPercent.SetValue(6)
                        'Set field value for MarkupPercent
                        ItemInventoryModRq.MarkupPercent.SetValue(6)
                        'Set field value for MSRP
                        ItemInventoryModRq.MSRP.SetValue(10.01)
                        'Set field value for OnHandStore01
                        ItemInventoryModRq.OnHandStore01.SetValue(2)
                        'Set field value for OnHandStore02
                        ItemInventoryModRq.OnHandStore02.SetValue(2)
                        'Set field value for OnHandStore03
                        ItemInventoryModRq.OnHandStore03.SetValue(2)
                        'Set field value for OnHandStore04
                        ItemInventoryModRq.OnHandStore04.SetValue(2)
                        'Set field value for OnHandStore05
                        ItemInventoryModRq.OnHandStore05.SetValue(2)
                        'Set field value for OnHandStore06
                        ItemInventoryModRq.OnHandStore06.SetValue(2)
                        'Set field value for OnHandStore07
                        ItemInventoryModRq.OnHandStore07.SetValue(2)
                        'Set field value for OnHandStore08
                        ItemInventoryModRq.OnHandStore08.SetValue(2)
                        'Set field value for OnHandStore09
                        ItemInventoryModRq.OnHandStore09.SetValue(2)
                        'Set field value for OnHandStore10
                        ItemInventoryModRq.OnHandStore10.SetValue(2)
                        'Set field value for OnHandStore11
                        ItemInventoryModRq.OnHandStore11.SetValue(2)
                        'Set field value for OnHandStore12
                        ItemInventoryModRq.OnHandStore12.SetValue(2)
                        'Set field value for OnHandStore13
                        ItemInventoryModRq.OnHandStore13.SetValue(2)
                        'Set field value for OnHandStore14
                        ItemInventoryModRq.OnHandStore14.SetValue(2)
                        'Set field value for OnHandStore15
                        ItemInventoryModRq.OnHandStore15.SetValue(2)
                        'Set field value for OnHandStore16
                        ItemInventoryModRq.OnHandStore16.SetValue(2)
                        'Set field value for OnHandStore17
                        ItemInventoryModRq.OnHandStore17.SetValue(2)
                        'Set field value for OnHandStore18
                        ItemInventoryModRq.OnHandStore18.SetValue(2)
                        'Set field value for OnHandStore19
                        ItemInventoryModRq.OnHandStore19.SetValue(2)
                        'Set field value for OnHandStore20
                        ItemInventoryModRq.OnHandStore20.SetValue(2)
                        'Set field value for ReorderPointStore01
                        ItemInventoryModRq.ReorderPointStore01.SetValue(2)
                        'Set field value for ReorderPointStore02
                        ItemInventoryModRq.ReorderPointStore02.SetValue(2)
                        'Set field value for ReorderPointStore03
                        ItemInventoryModRq.ReorderPointStore03.SetValue(2)
                        'Set field value for ReorderPointStore04
                        ItemInventoryModRq.ReorderPointStore04.SetValue(2)
                        'Set field value for ReorderPointStore05
                        ItemInventoryModRq.ReorderPointStore05.SetValue(2)
                        'Set field value for ReorderPointStore06
                        ItemInventoryModRq.ReorderPointStore06.SetValue(2)
                        'Set field value for ReorderPointStore07
                        ItemInventoryModRq.ReorderPointStore07.SetValue(2)
                        'Set field value for ReorderPointStore08
                        ItemInventoryModRq.ReorderPointStore08.SetValue(2)
                        'Set field value for ReorderPointStore09
                        ItemInventoryModRq.ReorderPointStore09.SetValue(2)
                        'Set field value for ReorderPointStore10
                        ItemInventoryModRq.ReorderPointStore10.SetValue(2)
                        'Set field value for ReorderPointStore11
                        ItemInventoryModRq.ReorderPointStore11.SetValue(2)
                        'Set field value for ReorderPointStore12
                        ItemInventoryModRq.ReorderPointStore12.SetValue(2)
                        'Set field value for ReorderPointStore13
                        ItemInventoryModRq.ReorderPointStore13.SetValue(2)
                        'Set field value for ReorderPointStore14
                        ItemInventoryModRq.ReorderPointStore14.SetValue(2)
                        'Set field value for ReorderPointStore15
                        ItemInventoryModRq.ReorderPointStore15.SetValue(2)
                        'Set field value for ReorderPointStore16
                        ItemInventoryModRq.ReorderPointStore16.SetValue(2)
                        'Set field value for ReorderPointStore17
                        ItemInventoryModRq.ReorderPointStore17.SetValue(2)
                        'Set field value for ReorderPointStore18
                        ItemInventoryModRq.ReorderPointStore18.SetValue(2)
                        'Set field value for ReorderPointStore19
                        ItemInventoryModRq.ReorderPointStore19.SetValue(2)
                        'Set field value for ReorderPointStore20
                        ItemInventoryModRq.ReorderPointStore20.SetValue(2)
                        'Set field value for OrderByUnit
                        ItemInventoryModRq.OrderByUnit.SetValue("ab")
                        'Set field value for OrderCost
                        ItemInventoryModRq.OrderCost.SetValue(10.01)
                        'Set field value for Price1
                        ItemInventoryModRq.Price1.SetValue(10.01)
                        'Set field value for Price2
                        ItemInventoryModRq.Price2.SetValue(10.01)
                        'Set field value for Price3
                        ItemInventoryModRq.Price3.SetValue(10.01)
                        'Set field value for Price4
                        ItemInventoryModRq.Price4.SetValue(10.01)
                        'Set field value for Price5
                        ItemInventoryModRq.Price5.SetValue(10.01)
                        'Set field value for ReorderPoint
                        ItemInventoryModRq.ReorderPoint.SetValue(2)
                        'Set field value for SellByUnit
                        ItemInventoryModRq.SellByUnit.SetValue("ab")
                        'Set field value for SerialFlag
                        ItemInventoryModRq.SerialFlag.SetValue(ENSerialFlag.sfOptional)
                        'Set field value for Size
                        ItemInventoryModRq.Size.SetValue("ab")
                        'Set field value for TaxCode
                        ItemInventoryModRq.TaxCode.SetValue("ab")
                        'Set field value for UnitOfMeasure
                        ItemInventoryModRq.UnitOfMeasure.SetValue("ab")
                        'Set field value for UPC
                        ItemInventoryModRq.UPC.SetValue("ab")
                        'Set field value for VendorListID
                        ItemInventoryModRq.VendorListID.SetValue("200000-1011023419")
                        'Set attributes
                        'Set field value for VendorListID to use Macro
                        ItemInventoryModRq.VendorListID.SetValueUseMacro("200000-1011023419")
                        'Set field value for WebDesc
                        ItemInventoryModRq.WebDesc.SetValue("ab")
                        'Set field value for WebPrice
                        ItemInventoryModRq.WebPrice.SetValue(10.01)
                        'Set field value for Manufacturer
                        ItemInventoryModRq.Manufacturer.SetValue("ab")
                        'Set field value for Weight
                        ItemInventoryModRq.Weight.SetValue(12.34)
                        'Set field value for Keywords
                        ItemInventoryModRq.Keywords.SetValue("ab")
                        'Set field value for WebCategories
                        ItemInventoryModRq.WebCategories.SetValue("ab")
                        'Set field value for ALU
                        ItemInventoryModRq.UnitOfMeasure1.ALU.SetValue("ab")
                        'Set field value for MSRP
                        ItemInventoryModRq.UnitOfMeasure1.MSRP.SetValue(10.01)
                        'Set field value for NumberOfBaseUnits
                        ItemInventoryModRq.UnitOfMeasure1.NumberOfBaseUnits.SetValue(2)
                        'Set field value for Price1
                        ItemInventoryModRq.UnitOfMeasure1.Price1.SetValue(10.01)
                        'Set field value for Price2
                        ItemInventoryModRq.UnitOfMeasure1.Price2.SetValue(10.01)
                        'Set field value for Price3
                        ItemInventoryModRq.UnitOfMeasure1.Price3.SetValue(10.01)
                        'Set field value for Price4
                        ItemInventoryModRq.UnitOfMeasure1.Price4.SetValue(10.01)
                        'Set field value for Price5
                        ItemInventoryModRq.UnitOfMeasure1.Price5.SetValue(10.01)
                        'Set field value for UnitOfMeasure
                        ItemInventoryModRq.UnitOfMeasure1.UnitOfMeasure.SetValue("ab")
                        'Set field value for UPC
                        ItemInventoryModRq.UnitOfMeasure1.UPC.SetValue("ab")
                        'Set field value for ALU
                        ItemInventoryModRq.UnitOfMeasure2.ALU.SetValue("ab")
                        'Set field value for MSRP
                        ItemInventoryModRq.UnitOfMeasure2.MSRP.SetValue(10.01)
                        'Set field value for NumberOfBaseUnits
                        ItemInventoryModRq.UnitOfMeasure2.NumberOfBaseUnits.SetValue(2)
                        'Set field value for Price1
                        ItemInventoryModRq.UnitOfMeasure2.Price1.SetValue(10.01)
                        'Set field value for Price2
                        ItemInventoryModRq.UnitOfMeasure2.Price2.SetValue(10.01)
                        'Set field value for Price3
                        ItemInventoryModRq.UnitOfMeasure2.Price3.SetValue(10.01)
                        'Set field value for Price4
                        ItemInventoryModRq.UnitOfMeasure2.Price4.SetValue(10.01)
                        'Set field value for Price5
                        ItemInventoryModRq.UnitOfMeasure2.Price5.SetValue(10.01)
                        'Set field value for UnitOfMeasure
                        ItemInventoryModRq.UnitOfMeasure2.UnitOfMeasure.SetValue("ab")
                        'Set field value for UPC
                        ItemInventoryModRq.UnitOfMeasure2.UPC.SetValue("ab")
                        'Set field value for ALU
                        ItemInventoryModRq.UnitOfMeasure3.ALU.SetValue("ab")
                        'Set field value for MSRP
                        ItemInventoryModRq.UnitOfMeasure3.MSRP.SetValue(10.01)
                        'Set field value for NumberOfBaseUnits
                        ItemInventoryModRq.UnitOfMeasure3.NumberOfBaseUnits.SetValue(2)
                        'Set field value for Price1
                        ItemInventoryModRq.UnitOfMeasure3.Price1.SetValue(10.01)
                        'Set field value for Price2
                        ItemInventoryModRq.UnitOfMeasure3.Price2.SetValue(10.01)
                        'Set field value for Price3
                        ItemInventoryModRq.UnitOfMeasure3.Price3.SetValue(10.01)
                        'Set field value for Price4
                        ItemInventoryModRq.UnitOfMeasure3.Price4.SetValue(10.01)
                        'Set field value for Price5
                        ItemInventoryModRq.UnitOfMeasure3.Price5.SetValue(10.01)
                        'Set field value for UnitOfMeasure
                        ItemInventoryModRq.UnitOfMeasure3.UnitOfMeasure.SetValue("ab")
                        'Set field value for UPC
                        ItemInventoryModRq.UnitOfMeasure3.UPC.SetValue("ab")
                        'Set field value for ALU
                        ItemInventoryModRq.VendorInfo2.ALU.SetValue("ab")
                        'Set field value for OrderCost
                        ItemInventoryModRq.VendorInfo2.OrderCost.SetValue(10.01)
                        'Set field value for UPC
                        ItemInventoryModRq.VendorInfo2.UPC.SetValue("ab")
                        'Set field value for VendorListID
                        ItemInventoryModRq.VendorInfo2.VendorListID.SetValue("200000-1011023419")
                        'Set attributes
                        'Set field value for VendorListID to use Macro
                        ItemInventoryModRq.VendorInfo2.VendorListID.SetValueUseMacro("200000-1011023419")
                        'Set field value for ALU
                        ItemInventoryModRq.VendorInfo3.ALU.SetValue("ab")
                        'Set field value for OrderCost
                        ItemInventoryModRq.VendorInfo3.OrderCost.SetValue(10.01)
                        'Set field value for UPC
                        ItemInventoryModRq.VendorInfo3.UPC.SetValue("ab")
                        'Set field value for VendorListID
                        ItemInventoryModRq.VendorInfo3.VendorListID.SetValue("200000-1011023419")
                        'Set attributes
                        'Set field value for VendorListID to use Macro
                        ItemInventoryModRq.VendorInfo3.VendorListID.SetValueUseMacro("200000-1011023419")
                        'Set field value for ALU
                        ItemInventoryModRq.VendorInfo4.ALU.SetValue("ab")
                        'Set field value for OrderCost
                        ItemInventoryModRq.VendorInfo4.OrderCost.SetValue(10.01)
                        'Set field value for UPC
                        ItemInventoryModRq.VendorInfo4.UPC.SetValue("ab")
                        'Set field value for VendorListID
                        ItemInventoryModRq.VendorInfo4.VendorListID.SetValue("200000-1011023419")
                        'Set attributes
                        'Set field value for VendorListID to use Macro
                        ItemInventoryModRq.VendorInfo4.VendorListID.SetValueUseMacro("200000-1011023419")
                        'Set field value for ALU
                        ItemInventoryModRq.VendorInfo5.ALU.SetValue("ab")
                        'Set field value for OrderCost
                        ItemInventoryModRq.VendorInfo5.OrderCost.SetValue(10.01)
                        'Set field value for UPC
                        ItemInventoryModRq.VendorInfo5.UPC.SetValue("ab")
                        'Set field value for VendorListID
                        ItemInventoryModRq.VendorInfo5.VendorListID.SetValue("200000-1011023419")
                        'Set attributes
                        'Set field value for VendorListID to use Macro
                        ItemInventoryModRq.VendorInfo5.VendorListID.SetValueUseMacro("200000-1011023419")
                        'Set field value for IsEcommerce
                        ItemInventoryModRq.IsEcommerce.SetValue(True)
                        'Set field value for OnlineStoreNames
                        ItemInventoryModRq.OnlineStoreNames.SetValue("ab")
                        'Set field value for IncludeRetElementList
                        'May create more than one of these if needed
                        ItemInventoryModRq.IncludeRetElementList.Add("ab")
                End Sub




                Public Sub WalkItemInventoryModRs( responseMsgSet as IMsgSetResponse)
                        if (responseMsgSet is nothing) then
                                Exit Sub
                        End If

                        Dim responseList as IResponseList
                        responseList = responseMsgSet.ResponseList
                        if (responseList is nothing) then
                                Exit Sub
                        End If

                        'if we sent only one request, there is only one response, we'll walk the list for this sample
                        for j=0 to responseList.Count-1
                                Dim response as IResponse
                                response = responseList.GetAt(j)
                                'check the status code of the response, 0=ok, >0 is warning
                                if (response.StatusCode >= 0) then
                                        'the request-specific response is in the details, make sure we have some
                                        if (not response.Detail is nothing) then
                                                'make sure the response is the type we're expecting
                                                Dim responseType as ENResponseType
                                                responseType = CType(response.Type.GetValue(),ENResponseType)
                                                if (responseType = ENResponseType.rtItemInventoryModRs) then
                                                        'upcast to more specific type here, this is safe because we checked with response.Type check above
                                                        Dim ItemInventoryRet as IItemInventoryRet
                                                        ItemInventoryRet = CType(response.Detail,IItemInventoryRet)
                                                                WalkItemInventoryRet(ItemInventoryRet)
                                                End If
                                        End If
                                End If
                        Next j
                End Sub




                Public Sub WalkItemInventoryRet(ItemInventoryRet as IItemInventoryRet)
                        if (ItemInventoryRet is nothing) then
                                Exit Sub
                        End If

                        'Go through all the elements of IItemInventoryRet
                        'Get value of ListID
                        if ( not ItemInventoryRet.ListID is nothing) then
                                Dim ListID1501 as String
                                ListID1501 = ItemInventoryRet.ListID.GetValue()
                        End If
                        'Get value of TimeCreated
                        if ( not ItemInventoryRet.TimeCreated is nothing) then
                                Dim TimeCreated1502 as DateTime
                                TimeCreated1502 = ItemInventoryRet.TimeCreated.GetValue()
                        End If
                        'Get value of TimeModified
                        if ( not ItemInventoryRet.TimeModified is nothing) then
                                Dim TimeModified1503 as DateTime
                                TimeModified1503 = ItemInventoryRet.TimeModified.GetValue()
                        End If
                        'Get value of ALU
                        if ( not ItemInventoryRet.ALU is nothing) then
                                Dim ALU1504 as String
                                ALU1504 = ItemInventoryRet.ALU.GetValue()
                        End If
                        'Get value of Attribute
                        if ( not ItemInventoryRet.Attribute is nothing) then
                                Dim Attribute1505 as String
                                Attribute1505 = ItemInventoryRet.Attribute.GetValue()
                        End If
                        'Get value of COGSAccount
                        if ( not ItemInventoryRet.COGSAccount is nothing) then
                                Dim COGSAccount1506 as String
                                COGSAccount1506 = ItemInventoryRet.COGSAccount.GetValue()
                        End If
                        'Get value of Cost
                        if ( not ItemInventoryRet.Cost is nothing) then
                                Dim Cost1507 as Double
                                Cost1507 = ItemInventoryRet.Cost.GetValue()
                        End If
                        'Get value of DepartmentCode
                        if ( not ItemInventoryRet.DepartmentCode is nothing) then
                                Dim DepartmentCode1508 as String
                                DepartmentCode1508 = ItemInventoryRet.DepartmentCode.GetValue()
                        End If
                        'Get value of DepartmentListID
                        if ( not ItemInventoryRet.DepartmentListID is nothing) then
                                Dim DepartmentListID1509 as String
                                DepartmentListID1509 = ItemInventoryRet.DepartmentListID.GetValue()
                        End If
                        'Get value of Desc1
                        if ( not ItemInventoryRet.Desc1 is nothing) then
                                Dim Desc11510 as String
                                Desc11510 = ItemInventoryRet.Desc1.GetValue()
                        End If
                        'Get value of Desc2
                        if ( not ItemInventoryRet.Desc2 is nothing) then
                                Dim Desc21511 as String
                                Desc21511 = ItemInventoryRet.Desc2.GetValue()
                        End If
                        'Get value of IncomeAccount
                        if ( not ItemInventoryRet.IncomeAccount is nothing) then
                                Dim IncomeAccount1512 as String
                                IncomeAccount1512 = ItemInventoryRet.IncomeAccount.GetValue()
                        End If
                        'Get value of IsBelowReorder
                        if ( not ItemInventoryRet.IsBelowReorder is nothing) then
                                Dim IsBelowReorder1513 as Boolean
                                IsBelowReorder1513 = ItemInventoryRet.IsBelowReorder.GetValue()
                        End If
                        'Get value of IsEligibleForCommission
                        if ( not ItemInventoryRet.IsEligibleForCommission is nothing) then
                                Dim IsEligibleForCommission1514 as Boolean
                                IsEligibleForCommission1514 = ItemInventoryRet.IsEligibleForCommission.GetValue()
                        End If
                        'Get value of IsPrintingTags
                        if ( not ItemInventoryRet.IsPrintingTags is nothing) then
                                Dim IsPrintingTags1515 as Boolean
                                IsPrintingTags1515 = ItemInventoryRet.IsPrintingTags.GetValue()
                        End If
                        'Get value of IsUnorderable
                        if ( not ItemInventoryRet.IsUnorderable is nothing) then
                                Dim IsUnorderable1516 as Boolean
                                IsUnorderable1516 = ItemInventoryRet.IsUnorderable.GetValue()
                        End If
                        'Get value of HasPictures
                        if ( not ItemInventoryRet.HasPictures is nothing) then
                                Dim HasPictures1517 as Boolean
                                HasPictures1517 = ItemInventoryRet.HasPictures.GetValue()
                        End If
                        'Get value of IsEligibleForRewards
                        if ( not ItemInventoryRet.IsEligibleForRewards is nothing) then
                                Dim IsEligibleForRewards1518 as Boolean
                                IsEligibleForRewards1518 = ItemInventoryRet.IsEligibleForRewards.GetValue()
                        End If
                        'Get value of IsWebItem
                        if ( not ItemInventoryRet.IsWebItem is nothing) then
                                Dim IsWebItem1519 as Boolean
                                IsWebItem1519 = ItemInventoryRet.IsWebItem.GetValue()
                        End If
                        'Get value of ItemNumber
                        if ( not ItemInventoryRet.ItemNumber is nothing) then
                                Dim ItemNumber1520 as Integer
                                ItemNumber1520 = ItemInventoryRet.ItemNumber.GetValue()
                        End If
                        'Get value of ItemType
                        if ( not ItemInventoryRet.ItemType is nothing) then
                                Dim ItemType1521 as ENItemType
                                ItemType1521 = ItemInventoryRet.ItemType.GetValue()
                        End If
                        'Get value of LastReceived
                        if ( not ItemInventoryRet.LastReceived is nothing) then
                                Dim LastReceived1522 as DateTime
                                LastReceived1522 = ItemInventoryRet.LastReceived.GetValue()
                        End If
                        'Get value of MarginPercent
                        if ( not ItemInventoryRet.MarginPercent is nothing) then
                                Dim MarginPercent1523 as Integer
                                MarginPercent1523 = ItemInventoryRet.MarginPercent.GetValue()
                        End If
                        'Get value of MarkupPercent
                        if ( not ItemInventoryRet.MarkupPercent is nothing) then
                                Dim MarkupPercent1524 as Integer
                                MarkupPercent1524 = ItemInventoryRet.MarkupPercent.GetValue()
                        End If
                        'Get value of MSRP
                        if ( not ItemInventoryRet.MSRP is nothing) then
                                Dim MSRP1525 as Double
                                MSRP1525 = ItemInventoryRet.MSRP.GetValue()
                        End If
                        'Get value of OnHandStore01
                        if ( not ItemInventoryRet.OnHandStore01 is nothing) then
                                Dim OnHandStore011526 as Double
                                OnHandStore011526 = ItemInventoryRet.OnHandStore01.GetValue()
                        End If
                        'Get value of OnHandStore02
                        if ( not ItemInventoryRet.OnHandStore02 is nothing) then
                                Dim OnHandStore021527 as Double
                                OnHandStore021527 = ItemInventoryRet.OnHandStore02.GetValue()
                        End If
                        'Get value of OnHandStore03
                        if ( not ItemInventoryRet.OnHandStore03 is nothing) then
                                Dim OnHandStore031528 as Double
                                OnHandStore031528 = ItemInventoryRet.OnHandStore03.GetValue()
                        End If
                        'Get value of OnHandStore04
                        if ( not ItemInventoryRet.OnHandStore04 is nothing) then
                                Dim OnHandStore041529 as Double
                                OnHandStore041529 = ItemInventoryRet.OnHandStore04.GetValue()
                        End If
                        'Get value of OnHandStore05
                        if ( not ItemInventoryRet.OnHandStore05 is nothing) then
                                Dim OnHandStore051530 as Double
                                OnHandStore051530 = ItemInventoryRet.OnHandStore05.GetValue()
                        End If
                        'Get value of OnHandStore06
                        if ( not ItemInventoryRet.OnHandStore06 is nothing) then
                                Dim OnHandStore061531 as Double
                                OnHandStore061531 = ItemInventoryRet.OnHandStore06.GetValue()
                        End If
                        'Get value of OnHandStore07
                        if ( not ItemInventoryRet.OnHandStore07 is nothing) then
                                Dim OnHandStore071532 as Double
                                OnHandStore071532 = ItemInventoryRet.OnHandStore07.GetValue()
                        End If
                        'Get value of OnHandStore08
                        if ( not ItemInventoryRet.OnHandStore08 is nothing) then
                                Dim OnHandStore081533 as Double
                                OnHandStore081533 = ItemInventoryRet.OnHandStore08.GetValue()
                        End If
                        'Get value of OnHandStore09
                        if ( not ItemInventoryRet.OnHandStore09 is nothing) then
                                Dim OnHandStore091534 as Double
                                OnHandStore091534 = ItemInventoryRet.OnHandStore09.GetValue()
                        End If
                        'Get value of OnHandStore10
                        if ( not ItemInventoryRet.OnHandStore10 is nothing) then
                                Dim OnHandStore101535 as Double
                                OnHandStore101535 = ItemInventoryRet.OnHandStore10.GetValue()
                        End If
                        'Get value of OnHandStore11
                        if ( not ItemInventoryRet.OnHandStore11 is nothing) then
                                Dim OnHandStore111536 as Double
                                OnHandStore111536 = ItemInventoryRet.OnHandStore11.GetValue()
                        End If
                        'Get value of OnHandStore12
                        if ( not ItemInventoryRet.OnHandStore12 is nothing) then
                                Dim OnHandStore121537 as Double
                                OnHandStore121537 = ItemInventoryRet.OnHandStore12.GetValue()
                        End If
                        'Get value of OnHandStore13
                        if ( not ItemInventoryRet.OnHandStore13 is nothing) then
                                Dim OnHandStore131538 as Double
                                OnHandStore131538 = ItemInventoryRet.OnHandStore13.GetValue()
                        End If
                        'Get value of OnHandStore14
                        if ( not ItemInventoryRet.OnHandStore14 is nothing) then
                                Dim OnHandStore141539 as Double
                                OnHandStore141539 = ItemInventoryRet.OnHandStore14.GetValue()
                        End If
                        'Get value of OnHandStore15
                        if ( not ItemInventoryRet.OnHandStore15 is nothing) then
                                Dim OnHandStore151540 as Double
                                OnHandStore151540 = ItemInventoryRet.OnHandStore15.GetValue()
                        End If
                        'Get value of OnHandStore16
                        if ( not ItemInventoryRet.OnHandStore16 is nothing) then
                                Dim OnHandStore161541 as Double
                                OnHandStore161541 = ItemInventoryRet.OnHandStore16.GetValue()
                        End If
                        'Get value of OnHandStore17
                        if ( not ItemInventoryRet.OnHandStore17 is nothing) then
                                Dim OnHandStore171542 as Double
                                OnHandStore171542 = ItemInventoryRet.OnHandStore17.GetValue()
                        End If
                        'Get value of OnHandStore18
                        if ( not ItemInventoryRet.OnHandStore18 is nothing) then
                                Dim OnHandStore181543 as Double
                                OnHandStore181543 = ItemInventoryRet.OnHandStore18.GetValue()
                        End If
                        'Get value of OnHandStore19
                        if ( not ItemInventoryRet.OnHandStore19 is nothing) then
                                Dim OnHandStore191544 as Double
                                OnHandStore191544 = ItemInventoryRet.OnHandStore19.GetValue()
                        End If
                        'Get value of OnHandStore20
                        if ( not ItemInventoryRet.OnHandStore20 is nothing) then
                                Dim OnHandStore201545 as Double
                                OnHandStore201545 = ItemInventoryRet.OnHandStore20.GetValue()
                        End If
                        'Get value of ReorderPointStore01
                        if ( not ItemInventoryRet.ReorderPointStore01 is nothing) then
                                Dim ReorderPointStore011546 as Double
                                ReorderPointStore011546 = ItemInventoryRet.ReorderPointStore01.GetValue()
                        End If
                        'Get value of ReorderPointStore02
                        if ( not ItemInventoryRet.ReorderPointStore02 is nothing) then
                                Dim ReorderPointStore021547 as Double
                                ReorderPointStore021547 = ItemInventoryRet.ReorderPointStore02.GetValue()
                        End If
                        'Get value of ReorderPointStore03
                        if ( not ItemInventoryRet.ReorderPointStore03 is nothing) then
                                Dim ReorderPointStore031548 as Double
                                ReorderPointStore031548 = ItemInventoryRet.ReorderPointStore03.GetValue()
                        End If
                        'Get value of ReorderPointStore04
                        if ( not ItemInventoryRet.ReorderPointStore04 is nothing) then
                                Dim ReorderPointStore041549 as Double
                                ReorderPointStore041549 = ItemInventoryRet.ReorderPointStore04.GetValue()
                        End If
                        'Get value of ReorderPointStore05
                        if ( not ItemInventoryRet.ReorderPointStore05 is nothing) then
                                Dim ReorderPointStore051550 as Double
                                ReorderPointStore051550 = ItemInventoryRet.ReorderPointStore05.GetValue()
                        End If
                        'Get value of ReorderPointStore06
                        if ( not ItemInventoryRet.ReorderPointStore06 is nothing) then
                                Dim ReorderPointStore061551 as Double
                                ReorderPointStore061551 = ItemInventoryRet.ReorderPointStore06.GetValue()
                        End If
                        'Get value of ReorderPointStore07
                        if ( not ItemInventoryRet.ReorderPointStore07 is nothing) then
                                Dim ReorderPointStore071552 as Double
                                ReorderPointStore071552 = ItemInventoryRet.ReorderPointStore07.GetValue()
                        End If
                        'Get value of ReorderPointStore08
                        if ( not ItemInventoryRet.ReorderPointStore08 is nothing) then
                                Dim ReorderPointStore081553 as Double
                                ReorderPointStore081553 = ItemInventoryRet.ReorderPointStore08.GetValue()
                        End If
                        'Get value of ReorderPointStore09
                        if ( not ItemInventoryRet.ReorderPointStore09 is nothing) then
                                Dim ReorderPointStore091554 as Double
                                ReorderPointStore091554 = ItemInventoryRet.ReorderPointStore09.GetValue()
                        End If
                        'Get value of ReorderPointStore10
                        if ( not ItemInventoryRet.ReorderPointStore10 is nothing) then
                                Dim ReorderPointStore101555 as Double
                                ReorderPointStore101555 = ItemInventoryRet.ReorderPointStore10.GetValue()
                        End If
                        'Get value of ReorderPointStore11
                        if ( not ItemInventoryRet.ReorderPointStore11 is nothing) then
                                Dim ReorderPointStore111556 as Double
                                ReorderPointStore111556 = ItemInventoryRet.ReorderPointStore11.GetValue()
                        End If
                        'Get value of ReorderPointStore12
                        if ( not ItemInventoryRet.ReorderPointStore12 is nothing) then
                                Dim ReorderPointStore121557 as Double
                                ReorderPointStore121557 = ItemInventoryRet.ReorderPointStore12.GetValue()
                        End If
                        'Get value of ReorderPointStore13
                        if ( not ItemInventoryRet.ReorderPointStore13 is nothing) then
                                Dim ReorderPointStore131558 as Double
                                ReorderPointStore131558 = ItemInventoryRet.ReorderPointStore13.GetValue()
                        End If
                        'Get value of ReorderPointStore14
                        if ( not ItemInventoryRet.ReorderPointStore14 is nothing) then
                                Dim ReorderPointStore141559 as Double
                                ReorderPointStore141559 = ItemInventoryRet.ReorderPointStore14.GetValue()
                        End If
                        'Get value of ReorderPointStore15
                        if ( not ItemInventoryRet.ReorderPointStore15 is nothing) then
                                Dim ReorderPointStore151560 as Double
                                ReorderPointStore151560 = ItemInventoryRet.ReorderPointStore15.GetValue()
                        End If
                        'Get value of ReorderPointStore16
                        if ( not ItemInventoryRet.ReorderPointStore16 is nothing) then
                                Dim ReorderPointStore161561 as Double
                                ReorderPointStore161561 = ItemInventoryRet.ReorderPointStore16.GetValue()
                        End If
                        'Get value of ReorderPointStore17
                        if ( not ItemInventoryRet.ReorderPointStore17 is nothing) then
                                Dim ReorderPointStore171562 as Double
                                ReorderPointStore171562 = ItemInventoryRet.ReorderPointStore17.GetValue()
                        End If
                        'Get value of ReorderPointStore18
                        if ( not ItemInventoryRet.ReorderPointStore18 is nothing) then
                                Dim ReorderPointStore181563 as Double
                                ReorderPointStore181563 = ItemInventoryRet.ReorderPointStore18.GetValue()
                        End If
                        'Get value of ReorderPointStore19
                        if ( not ItemInventoryRet.ReorderPointStore19 is nothing) then
                                Dim ReorderPointStore191564 as Double
                                ReorderPointStore191564 = ItemInventoryRet.ReorderPointStore19.GetValue()
                        End If
                        'Get value of ReorderPointStore20
                        if ( not ItemInventoryRet.ReorderPointStore20 is nothing) then
                                Dim ReorderPointStore201565 as Double
                                ReorderPointStore201565 = ItemInventoryRet.ReorderPointStore20.GetValue()
                        End If
                        'Get value of OrderByUnit
                        if ( not ItemInventoryRet.OrderByUnit is nothing) then
                                Dim OrderByUnit1566 as String
                                OrderByUnit1566 = ItemInventoryRet.OrderByUnit.GetValue()
                        End If
                        'Get value of OrderCost
                        if ( not ItemInventoryRet.OrderCost is nothing) then
                                Dim OrderCost1567 as Double
                                OrderCost1567 = ItemInventoryRet.OrderCost.GetValue()
                        End If
                        'Get value of Price1
                        if ( not ItemInventoryRet.Price1 is nothing) then
                                Dim Price11568 as Double
                                Price11568 = ItemInventoryRet.Price1.GetValue()
                        End If
                        'Get value of Price2
                        if ( not ItemInventoryRet.Price2 is nothing) then
                                Dim Price21569 as Double
                                Price21569 = ItemInventoryRet.Price2.GetValue()
                        End If
                        'Get value of Price3
                        if ( not ItemInventoryRet.Price3 is nothing) then
                                Dim Price31570 as Double
                                Price31570 = ItemInventoryRet.Price3.GetValue()
                        End If
                        'Get value of Price4
                        if ( not ItemInventoryRet.Price4 is nothing) then
                                Dim Price41571 as Double
                                Price41571 = ItemInventoryRet.Price4.GetValue()
                        End If
                        'Get value of Price5
                        if ( not ItemInventoryRet.Price5 is nothing) then
                                Dim Price51572 as Double
                                Price51572 = ItemInventoryRet.Price5.GetValue()
                        End If
                        'Get value of QuantityOnCustomerOrder
                        if ( not ItemInventoryRet.QuantityOnCustomerOrder is nothing) then
                                Dim QuantityOnCustomerOrder1573 as Double
                                QuantityOnCustomerOrder1573 = ItemInventoryRet.QuantityOnCustomerOrder.GetValue()
                        End If
                        'Get value of QuantityOnHand
                        if ( not ItemInventoryRet.QuantityOnHand is nothing) then
                                Dim QuantityOnHand1574 as Double
                                QuantityOnHand1574 = ItemInventoryRet.QuantityOnHand.GetValue()
                        End If
                        'Get value of QuantityOnOrder
                        if ( not ItemInventoryRet.QuantityOnOrder is nothing) then
                                Dim QuantityOnOrder1575 as Double
                                QuantityOnOrder1575 = ItemInventoryRet.QuantityOnOrder.GetValue()
                        End If
                        'Get value of QuantityOnPendingOrder
                        if ( not ItemInventoryRet.QuantityOnPendingOrder is nothing) then
                                Dim QuantityOnPendingOrder1576 as Double
                                QuantityOnPendingOrder1576 = ItemInventoryRet.QuantityOnPendingOrder.GetValue()
                        End If
                        if (not ItemInventoryRet.AvailableQtyList is nothing)
                                Dim i1577 as Integer
                                for i1577 = 0  to ItemInventoryRet.AvailableQtyList.Count - 1
                                        Dim AvailableQty as IAvailableQty
                                        AvailableQty = ItemInventoryRet.AvailableQtyList.GetAt(i1577)
                                        'Get value of StoreNumber
                                        if ( not AvailableQty.StoreNumber is nothing) then
                                                Dim StoreNumber1578 as Integer
                                                StoreNumber1578 = AvailableQty.StoreNumber.GetValue()
                                        End If
                                        'Get value of QuantityOnOrder
                                        if ( not AvailableQty.QuantityOnOrder is nothing) then
                                                Dim QuantityOnOrder1579 as Double
                                                QuantityOnOrder1579 = AvailableQty.QuantityOnOrder.GetValue()
                                        End If
                                        'Get value of QuantityOnCustomerOrder
                                        if ( not AvailableQty.QuantityOnCustomerOrder is nothing) then
                                                Dim QuantityOnCustomerOrder1580 as Double
                                                QuantityOnCustomerOrder1580 = AvailableQty.QuantityOnCustomerOrder.GetValue()
                                        End If
                                        'Get value of QuantityOnPendingOrder
                                        if ( not AvailableQty.QuantityOnPendingOrder is nothing) then
                                                Dim QuantityOnPendingOrder1581 as Double
                                                QuantityOnPendingOrder1581 = AvailableQty.QuantityOnPendingOrder.GetValue()
                                        End If
                                Next i1577
                        End If
                        'Get value of ReorderPoint
                        if ( not ItemInventoryRet.ReorderPoint is nothing) then
                                Dim ReorderPoint1582 as Double
                                ReorderPoint1582 = ItemInventoryRet.ReorderPoint.GetValue()
                        End If
                        'Get value of SellByUnit
                        if ( not ItemInventoryRet.SellByUnit is nothing) then
                                Dim SellByUnit1583 as String
                                SellByUnit1583 = ItemInventoryRet.SellByUnit.GetValue()
                        End If
                        'Get value of SerialFlag
                        if ( not ItemInventoryRet.SerialFlag is nothing) then
                                Dim SerialFlag1584 as ENSerialFlag
                                SerialFlag1584 = ItemInventoryRet.SerialFlag.GetValue()
                        End If
                        'Get value of Size
                        if ( not ItemInventoryRet.Size is nothing) then
                                Dim Size1585 as String
                                Size1585 = ItemInventoryRet.Size.GetValue()
                        End If
                        'Get value of StoreExchangeStatus
                        if ( not ItemInventoryRet.StoreExchangeStatus is nothing) then
                                Dim StoreExchangeStatus1586 as ENStoreExchangeStatus
                                StoreExchangeStatus1586 = ItemInventoryRet.StoreExchangeStatus.GetValue()
                        End If
                        'Get value of TaxCode
                        if ( not ItemInventoryRet.TaxCode is nothing) then
                                Dim TaxCode1587 as String
                                TaxCode1587 = ItemInventoryRet.TaxCode.GetValue()
                        End If
                        'Get value of UnitOfMeasure
                        if ( not ItemInventoryRet.UnitOfMeasure is nothing) then
                                Dim UnitOfMeasure1588 as String
                                UnitOfMeasure1588 = ItemInventoryRet.UnitOfMeasure.GetValue()
                        End If
                        'Get value of UPC
                        if ( not ItemInventoryRet.UPC is nothing) then
                                Dim UPC1589 as String
                                UPC1589 = ItemInventoryRet.UPC.GetValue()
                        End If
                        'Get value of VendorCode
                        if ( not ItemInventoryRet.VendorCode is nothing) then
                                Dim VendorCode1590 as String
                                VendorCode1590 = ItemInventoryRet.VendorCode.GetValue()
                        End If
                        'Get value of VendorListID
                        if ( not ItemInventoryRet.VendorListID is nothing) then
                                Dim VendorListID1591 as String
                                VendorListID1591 = ItemInventoryRet.VendorListID.GetValue()
                        End If
                        'Get value of WebDesc
                        if ( not ItemInventoryRet.WebDesc is nothing) then
                                Dim WebDesc1592 as String
                                WebDesc1592 = ItemInventoryRet.WebDesc.GetValue()
                        End If
                        'Get value of WebPrice
                        if ( not ItemInventoryRet.WebPrice is nothing) then
                                Dim WebPrice1593 as Double
                                WebPrice1593 = ItemInventoryRet.WebPrice.GetValue()
                        End If
                        'Get value of Manufacturer
                        if ( not ItemInventoryRet.Manufacturer is nothing) then
                                Dim Manufacturer1594 as String
                                Manufacturer1594 = ItemInventoryRet.Manufacturer.GetValue()
                        End If
                        'Get value of Weight
                        if ( not ItemInventoryRet.Weight is nothing) then
                                Dim Weight1595 as Single
                                Weight1595 = ItemInventoryRet.Weight.GetValue()
                        End If
                        'Get value of WebSKU
                        if ( not ItemInventoryRet.WebSKU is nothing) then
                                Dim WebSKU1596 as String
                                WebSKU1596 = ItemInventoryRet.WebSKU.GetValue()
                        End If
                        'Get value of Keywords
                        if ( not ItemInventoryRet.Keywords is nothing) then
                                Dim Keywords1597 as String
                                Keywords1597 = ItemInventoryRet.Keywords.GetValue()
                        End If
                        'Get value of WebCategories
                        if ( not ItemInventoryRet.WebCategories is nothing) then
                                Dim WebCategories1598 as String
                                WebCategories1598 = ItemInventoryRet.WebCategories.GetValue()
                        End If
                        if (not ItemInventoryRet.UnitOfMeasure1 is nothing) then
                                'Get value of ALU
                                if ( not ItemInventoryRet.UnitOfMeasure1.ALU is nothing) then
                                        Dim ALU1599 as String
                                        ALU1599 = ItemInventoryRet.UnitOfMeasure1.ALU.GetValue()
                                End If
                                'Get value of MSRP
                                if ( not ItemInventoryRet.UnitOfMeasure1.MSRP is nothing) then
                                        Dim MSRP1600 as Double
                                        MSRP1600 = ItemInventoryRet.UnitOfMeasure1.MSRP.GetValue()
                                End If
                                'Get value of NumberOfBaseUnits
                                if ( not ItemInventoryRet.UnitOfMeasure1.NumberOfBaseUnits is nothing) then
                                        Dim NumberOfBaseUnits1601 as Double
                                        NumberOfBaseUnits1601 = ItemInventoryRet.UnitOfMeasure1.NumberOfBaseUnits.GetValue()
                                End If
                                'Get value of Price1
                                if ( not ItemInventoryRet.UnitOfMeasure1.Price1 is nothing) then
                                        Dim Price11602 as Double
                                        Price11602 = ItemInventoryRet.UnitOfMeasure1.Price1.GetValue()
                                End If
                                'Get value of Price2
                                if ( not ItemInventoryRet.UnitOfMeasure1.Price2 is nothing) then
                                        Dim Price21603 as Double
                                        Price21603 = ItemInventoryRet.UnitOfMeasure1.Price2.GetValue()
                                End If
                                'Get value of Price3
                                if ( not ItemInventoryRet.UnitOfMeasure1.Price3 is nothing) then
                                        Dim Price31604 as Double
                                        Price31604 = ItemInventoryRet.UnitOfMeasure1.Price3.GetValue()
                                End If
                                'Get value of Price4
                                if ( not ItemInventoryRet.UnitOfMeasure1.Price4 is nothing) then
                                        Dim Price41605 as Double
                                        Price41605 = ItemInventoryRet.UnitOfMeasure1.Price4.GetValue()
                                End If
                                'Get value of Price5
                                if ( not ItemInventoryRet.UnitOfMeasure1.Price5 is nothing) then
                                        Dim Price51606 as Double
                                        Price51606 = ItemInventoryRet.UnitOfMeasure1.Price5.GetValue()
                                End If
                                'Get value of UnitOfMeasure
                                if ( not ItemInventoryRet.UnitOfMeasure1.UnitOfMeasure is nothing) then
                                        Dim UnitOfMeasure1607 as String
                                        UnitOfMeasure1607 = ItemInventoryRet.UnitOfMeasure1.UnitOfMeasure.GetValue()
                                End If
                                'Get value of UPC
                                if ( not ItemInventoryRet.UnitOfMeasure1.UPC is nothing) then
                                        Dim UPC1608 as String
                                        UPC1608 = ItemInventoryRet.UnitOfMeasure1.UPC.GetValue()
                                End If
                        End If
                        if (not ItemInventoryRet.UnitOfMeasure2 is nothing) then
                                'Get value of ALU
                                if ( not ItemInventoryRet.UnitOfMeasure2.ALU is nothing) then
                                        Dim ALU1609 as String
                                        ALU1609 = ItemInventoryRet.UnitOfMeasure2.ALU.GetValue()
                                End If
                                'Get value of MSRP
                                if ( not ItemInventoryRet.UnitOfMeasure2.MSRP is nothing) then
                                        Dim MSRP1610 as Double
                                        MSRP1610 = ItemInventoryRet.UnitOfMeasure2.MSRP.GetValue()
                                End If
                                'Get value of NumberOfBaseUnits
                                if ( not ItemInventoryRet.UnitOfMeasure2.NumberOfBaseUnits is nothing) then
                                        Dim NumberOfBaseUnits1611 as Double
                                        NumberOfBaseUnits1611 = ItemInventoryRet.UnitOfMeasure2.NumberOfBaseUnits.GetValue()
                                End If
                                'Get value of Price1
                                if ( not ItemInventoryRet.UnitOfMeasure2.Price1 is nothing) then
                                        Dim Price11612 as Double
                                        Price11612 = ItemInventoryRet.UnitOfMeasure2.Price1.GetValue()
                                End If
                                'Get value of Price2
                                if ( not ItemInventoryRet.UnitOfMeasure2.Price2 is nothing) then
                                        Dim Price21613 as Double
                                        Price21613 = ItemInventoryRet.UnitOfMeasure2.Price2.GetValue()
                                End If
                                'Get value of Price3
                                if ( not ItemInventoryRet.UnitOfMeasure2.Price3 is nothing) then
                                        Dim Price31614 as Double
                                        Price31614 = ItemInventoryRet.UnitOfMeasure2.Price3.GetValue()
                                End If
                                'Get value of Price4
                                if ( not ItemInventoryRet.UnitOfMeasure2.Price4 is nothing) then
                                        Dim Price41615 as Double
                                        Price41615 = ItemInventoryRet.UnitOfMeasure2.Price4.GetValue()
                                End If
                                'Get value of Price5
                                if ( not ItemInventoryRet.UnitOfMeasure2.Price5 is nothing) then
                                        Dim Price51616 as Double
                                        Price51616 = ItemInventoryRet.UnitOfMeasure2.Price5.GetValue()
                                End If
                                'Get value of UnitOfMeasure
                                if ( not ItemInventoryRet.UnitOfMeasure2.UnitOfMeasure is nothing) then
                                        Dim UnitOfMeasure1617 as String
                                        UnitOfMeasure1617 = ItemInventoryRet.UnitOfMeasure2.UnitOfMeasure.GetValue()
                                End If
                                'Get value of UPC
                                if ( not ItemInventoryRet.UnitOfMeasure2.UPC is nothing) then
                                        Dim UPC1618 as String
                                        UPC1618 = ItemInventoryRet.UnitOfMeasure2.UPC.GetValue()
                                End If
                        End If
                        if (not ItemInventoryRet.UnitOfMeasure3 is nothing) then
                                'Get value of ALU
                                if ( not ItemInventoryRet.UnitOfMeasure3.ALU is nothing) then
                                        Dim ALU1619 as String
                                        ALU1619 = ItemInventoryRet.UnitOfMeasure3.ALU.GetValue()
                                End If
                                'Get value of MSRP
                                if ( not ItemInventoryRet.UnitOfMeasure3.MSRP is nothing) then
                                        Dim MSRP1620 as Double
                                        MSRP1620 = ItemInventoryRet.UnitOfMeasure3.MSRP.GetValue()
                                End If
                                'Get value of NumberOfBaseUnits
                                if ( not ItemInventoryRet.UnitOfMeasure3.NumberOfBaseUnits is nothing) then
                                        Dim NumberOfBaseUnits1621 as Double
                                        NumberOfBaseUnits1621 = ItemInventoryRet.UnitOfMeasure3.NumberOfBaseUnits.GetValue()
                                End If
                                'Get value of Price1
                                if ( not ItemInventoryRet.UnitOfMeasure3.Price1 is nothing) then
                                        Dim Price11622 as Double
                                        Price11622 = ItemInventoryRet.UnitOfMeasure3.Price1.GetValue()
                                End If
                                'Get value of Price2
                                if ( not ItemInventoryRet.UnitOfMeasure3.Price2 is nothing) then
                                        Dim Price21623 as Double
                                        Price21623 = ItemInventoryRet.UnitOfMeasure3.Price2.GetValue()
                                End If
                                'Get value of Price3
                                if ( not ItemInventoryRet.UnitOfMeasure3.Price3 is nothing) then
                                        Dim Price31624 as Double
                                        Price31624 = ItemInventoryRet.UnitOfMeasure3.Price3.GetValue()
                                End If
                                'Get value of Price4
                                if ( not ItemInventoryRet.UnitOfMeasure3.Price4 is nothing) then
                                        Dim Price41625 as Double
                                        Price41625 = ItemInventoryRet.UnitOfMeasure3.Price4.GetValue()
                                End If
                                'Get value of Price5
                                if ( not ItemInventoryRet.UnitOfMeasure3.Price5 is nothing) then
                                        Dim Price51626 as Double
                                        Price51626 = ItemInventoryRet.UnitOfMeasure3.Price5.GetValue()
                                End If
                                'Get value of UnitOfMeasure
                                if ( not ItemInventoryRet.UnitOfMeasure3.UnitOfMeasure is nothing) then
                                        Dim UnitOfMeasure1627 as String
                                        UnitOfMeasure1627 = ItemInventoryRet.UnitOfMeasure3.UnitOfMeasure.GetValue()
                                End If
                                'Get value of UPC
                                if ( not ItemInventoryRet.UnitOfMeasure3.UPC is nothing) then
                                        Dim UPC1628 as String
                                        UPC1628 = ItemInventoryRet.UnitOfMeasure3.UPC.GetValue()
                                End If
                        End If
                        if (not ItemInventoryRet.VendorInfo2 is nothing) then
                                'Get value of ALU
                                if ( not ItemInventoryRet.VendorInfo2.ALU is nothing) then
                                        Dim ALU1629 as String
                                        ALU1629 = ItemInventoryRet.VendorInfo2.ALU.GetValue()
                                End If
                                'Get value of OrderCost
                                if ( not ItemInventoryRet.VendorInfo2.OrderCost is nothing) then
                                        Dim OrderCost1630 as Double
                                        OrderCost1630 = ItemInventoryRet.VendorInfo2.OrderCost.GetValue()
                                End If
                                'Get value of UPC
                                if ( not ItemInventoryRet.VendorInfo2.UPC is nothing) then
                                        Dim UPC1631 as String
                                        UPC1631 = ItemInventoryRet.VendorInfo2.UPC.GetValue()
                                End If
                                'Get value of VendorListID
                                Dim VendorListID1632 as String
                                VendorListID1632 = ItemInventoryRet.VendorInfo2.VendorListID.GetValue()
                        End If
                        if (not ItemInventoryRet.VendorInfo3 is nothing) then
                                'Get value of ALU
                                if ( not ItemInventoryRet.VendorInfo3.ALU is nothing) then
                                        Dim ALU1633 as String
                                        ALU1633 = ItemInventoryRet.VendorInfo3.ALU.GetValue()
                                End If
                                'Get value of OrderCost
                                if ( not ItemInventoryRet.VendorInfo3.OrderCost is nothing) then
                                        Dim OrderCost1634 as Double
                                        OrderCost1634 = ItemInventoryRet.VendorInfo3.OrderCost.GetValue()
                                End If
                                'Get value of UPC
                                if ( not ItemInventoryRet.VendorInfo3.UPC is nothing) then
                                        Dim UPC1635 as String
                                        UPC1635 = ItemInventoryRet.VendorInfo3.UPC.GetValue()
                                End If
                                'Get value of VendorListID
                                Dim VendorListID1636 as String
                                VendorListID1636 = ItemInventoryRet.VendorInfo3.VendorListID.GetValue()
                        End If
                        if (not ItemInventoryRet.VendorInfo4 is nothing) then
                                'Get value of ALU
                                if ( not ItemInventoryRet.VendorInfo4.ALU is nothing) then
                                        Dim ALU1637 as String
                                        ALU1637 = ItemInventoryRet.VendorInfo4.ALU.GetValue()
                                End If
                                'Get value of OrderCost
                                if ( not ItemInventoryRet.VendorInfo4.OrderCost is nothing) then
                                        Dim OrderCost1638 as Double
                                        OrderCost1638 = ItemInventoryRet.VendorInfo4.OrderCost.GetValue()
                                End If
                                'Get value of UPC
                                if ( not ItemInventoryRet.VendorInfo4.UPC is nothing) then
                                        Dim UPC1639 as String
                                        UPC1639 = ItemInventoryRet.VendorInfo4.UPC.GetValue()
                                End If
                                'Get value of VendorListID
                                Dim VendorListID1640 as String
                                VendorListID1640 = ItemInventoryRet.VendorInfo4.VendorListID.GetValue()
                        End If
                        if (not ItemInventoryRet.VendorInfo5 is nothing) then
                                'Get value of ALU
                                if ( not ItemInventoryRet.VendorInfo5.ALU is nothing) then
                                        Dim ALU1641 as String
                                        ALU1641 = ItemInventoryRet.VendorInfo5.ALU.GetValue()
                                End If
                                'Get value of OrderCost
                                if ( not ItemInventoryRet.VendorInfo5.OrderCost is nothing) then
                                        Dim OrderCost1642 as Double
                                        OrderCost1642 = ItemInventoryRet.VendorInfo5.OrderCost.GetValue()
                                End If
                                'Get value of UPC
                                if ( not ItemInventoryRet.VendorInfo5.UPC is nothing) then
                                        Dim UPC1643 as String
                                        UPC1643 = ItemInventoryRet.VendorInfo5.UPC.GetValue()
                                End If
                                'Get value of VendorListID
                                Dim VendorListID1644 as String
                                VendorListID1644 = ItemInventoryRet.VendorInfo5.VendorListID.GetValue()
                        End If
                        if (not ItemInventoryRet.DataExtRetList is nothing)
                                Dim i1645 as Integer
                                for i1645 = 0  to ItemInventoryRet.DataExtRetList.Count - 1
                                        Dim DataExtRet as IDataExtRet
                                        DataExtRet = ItemInventoryRet.DataExtRetList.GetAt(i1645)
                                        'Get value of OwnerID
                                        Dim OwnerID1646 as String
                                        OwnerID1646 = DataExtRet.OwnerID.GetValue()
                                        'Get value of DataExtName
                                        Dim DataExtName1647 as String
                                        DataExtName1647 = DataExtRet.DataExtName.GetValue()
                                        'Get value of DataExtType
                                        Dim DataExtType1648 as ENDataExtType
                                        DataExtType1648 = DataExtRet.DataExtType.GetValue()
                                        'Get value of DataExtValue
                                        Dim DataExtValue1649 as String
                                        DataExtValue1649 = DataExtRet.DataExtValue.GetValue()
                                Next i1645
                        End If
                        'Get value of IsEcommerce
                        if ( not ItemInventoryRet.IsEcommerce is nothing) then
                                Dim IsEcommerce1650 as Boolean
                                IsEcommerce1650 = ItemInventoryRet.IsEcommerce.GetValue()
                        End If
                        'Get value of OnlineStoreNames
                        if ( not ItemInventoryRet.OnlineStoreNames is nothing) then
                                Dim OnlineStoreNames1651 as String
                                OnlineStoreNames1651 = ItemInventoryRet.OnlineStoreNames.GetValue()
                        End If
                End Sub




        End Class

   1
   2
   3
   4
   5
   6
   7
   8
   9
  10
  11
  12
  13
  14
  15
  16
  17
  18
  19
  20
  21
  22
  23
  24
  25
  26
  27
  28
  29
  30
  31
  32
  33
  34
  35
  36
  37
  38
  39
  40
  41
  42
  43
  44
  45
  46
  47
  48
  49
  50
  51
  52
  53
  54
  55
  56
  57
  58
  59
  60
  61
  62
  63
  64
  65
  66
  67
  68
  69
  70
  71
  72
  73
  74
  75
  76
  77
  78
  79
  80
  81
  82
  83
  84
  85
  86
  87
  88
  89
  90
  91
  92
  93
  94
  95
  96
  97
  98
  99
 100
 101
 102
 103
 104
 105
 106
 107
 108
 109
 110
 111
 112
 113
 114
 115
 116
 117
 118
 119
 120
 121
 122
 123
 124
 125
 126
 127
 128
 129
 130
 131
 132
 133
 134
 135
 136
 137
 138
 139
 140
 141
 142
 143
 144
 145
 146
 147
 148
 149
 150
 151
 152
 153
 154
 155
 156
 157
 158
 159
 160
 161
 162
 163
 164
 165
 166
 167
 168
 169
 170
 171
 172
 173
 174
 175
 176
 177
 178
 179
 180
 181
 182
 183
 184
 185
 186
 187
 188
 189
 190
 191
 192
 193
 194
 195
 196
 197
 198
 199
 200
 201
 202
 203
 204
 205
 206
 207
 208
 209
 210
 211
 212
 213
 214
 215
 216
 217
 218
 219
 220
 221
 222
 223
 224
 225
 226
 227
 228
 229
 230
 231
 232
 233
 234
 235
 236
 237
 238
 239
 240
 241
 242
 243
 244
 245
 246
 247
 248
 249
 250
 251
 252
 253
 254
 255
 256
 257
 258
 259
 260
 261
 262
 263
 264
 265
 266
 267
 268
 269
 270
 271
 272
 273
 274
 275
 276
 277
 278
 279
 280
 281
 282
 283
 284
 285
 286
 287
 288
 289
 290
 291
 292
 293
 294
 295
 296
 297
 298
 299
 300
 301
 302
 303
 304
 305
 306
 307
 308
 309
 310
 311
 312
 313
 314
 315
 316
 317
 318
 319
 320
 321
 322
 323
 324
 325
 326
 327
 328
 329
 330
 331
 332
 333
 334
 335
 336
 337
 338
 339
 340
 341
 342
 343
 344
 345
 346
 347
 348
 349
 350
 351
 352
 353
 354
 355
 356
 357
 358
 359
 360
 361
 362
 363
 364
 365
 366
 367
 368
 369
 370
 371
 372
 373
 374
 375
 376
 377
 378
 379
 380
 381
 382
 383
 384
 385
 386
 387
 388
 389
 390
 391
 392
 393
 394
 395
 396
 397
 398
 399
 400
 401
 402
 403
 404
 405
 406
 407
 408
 409
 410
 411
 412
 413
 414
 415
 416
 417
 418
 419
 420
 421
 422
 423
 424
 425
 426
 427
 428
 429
 430
 431
 432
 433
 434
 435
 436
 437
 438
 439
 440
 441
 442
 443
 444
 445
 446
 447
 448
 449
 450
 451
 452
 453
 454
 455
 456
 457
 458
 459
 460
 461
 462
 463
 464
 465
 466
 467
 468
 469
 470
 471
 472
 473
 474
 475
 476
 477
 478
 479
 480
 481
 482
 483
 484
 485
 486
 487
 488
 489
 490
 491
 492
 493
 494
 495
 496
 497
 498
 499
 500
 501
 502
 503
 504
 505
 506
 507
 508
 509
 510
 511
 512
 513
 514
 515
 516
 517
 518
 519
 520
 521
 522
 523
 524
 525
 526
 527
 528
 529
 530
 531
 532
 533
 534
 535
 536
 537
 538
 539
 540
 541
 542
 543
 544
 545
 546
 547
 548
 549
 550
 551
 552
 553
 554
 555
 556
 557
 558
 559
 560
 561
 562
 563
 564
 565
 566
 567
 568
 569
 570
 571
 572
 573
 574
 575
 576
 577
 578
 579
 580
 581
 582
 583
 584
 585
 586
 587
 588
 589
 590
 591
 592
 593
 594
 595
 596
 597
 598
 599
 600
 601
 602
 603
 604
 605
 606
 607
 608
 609
 610
 611
 612
 613
 614
 615
 616
 617
 618
 619
 620
 621
 622
 623
 624
 625
 626
 627
 628
 629
 630
 631
 632
 633
 634
 635
 636
 637
 638
 639
 640
 641
 642
 643
 644
 645
 646
 647
 648
 649
 650
 651
 652
 653
 654
 655
 656
 657
 658
 659
 660
 661
 662
 663
 664
 665
 666
 667
 668
 669
 670
 671
 672
 673
 674
 675
 676
 677
 678
 679
 680
 681
 682
 683
 684
 685
 686
 687
 688
 689
 690
 691
 692
 693
 694
 695
 696
 697
 698
 699
 700
 701
 702
 703
 704
 705
 706
 707
 708
 709
 710
 711
 712
 713
 714
 715
 716
 717
 718
 719
 720
 721
 722
 723
 724
 725
 726
 727
 728
 729
 730
 731
 732
 733
 734
 735
 736
 737
 738
 739
 740
 741
 742
 743
 744
 745
 746
 747
 748
 749
 750
 751
 752
 753
 754
 755
 756
 757
 758
 759
 760
 761
 762
 763
 764
 765
 766
 767
 768
 769
 770
 771
 772
 773
 774
 775
 776
 777
 778
 779
 780
 781
 782
 783
 784
 785
 786
 787
 788
 789
 790
 791
 792
 793
 794
 795
 796
 797
 798
 799
 800
 801
 802
 803
 804
 805
 806
 807
 808
 809
 810
 811
 812
 813
 814
 815
 816
 817
 818
 819
 820
 821
 822
 823
 824
 825
 826
 827
 828
 829
 830
 831
 832
 833
 834
 835
 836
 837
 838
 839
 840
 841
 842
 843
 844
 845
 846
 847
 848
 849
 850
 851
 852
 853
 854
 855
 856
 857
 858
 859
 860
 861
 862
 863
 864
 865
 866
 867
 868
 869
 870
 871
 872
 873
 874
 875
 876
 877
 878
 879
 880
 881
 882
 883
 884
 885
 886
 887
 888
 889
 890
 891
 892
 893
 894
 895
 896
 897
 898
 899
 900
 901
 902
 903
 904
 905
 906
 907
 908
 909
 910
 911
 912
 913
 914
 915
 916
 917
 918
 919
 920
 921
 922
 923
 924
 925
 926
 927
 928
 929
 930
 931
 932
 933
 934
 935
 936
 937
 938
 939
 940
 941
 942
 943
 944
 945
 946
 947
 948
 949
 950
 951
 952
 953
 954
 955
 956
 957
 958
 959
 960
 961
 962
 963
 964
 965
 966
 967
 968
 969
 970
 971
 972
 973
 974
 975
 976
 977
 978
 979
 980
 981
 982
 983
 984
 985
 986
 987
 988
 989
 990
 991
 992
 993
 994
 995
 996
 997
 998
 999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
//The following sample code is generated as an illustration of
//Creating requests and parsing responses ONLY
//This code is NOT intended to show best practices or ideal code
//Use at your most careful discretion

using System;
using System.Net;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.IO;
using Interop.qbposfc4;

namespace com.intuit.idn.samples
{
        public class SampleItemInventoryMod
        {
                public void  DoItemInventoryMod()
                {
                        bool sessionBegun = false;
                        bool connectionOpen = false;
                        QBPOSSessionManager sessionManager = null;

                        try
                        {
                                //Create the session Manager object
                                sessionManager = new QBPOSSessionManager();

                                //Create the message set request object to hold our request
                                IMsgSetRequest requestMsgSet = sessionManager.CreateMsgSetRequest(4,0);
                                requestMsgSet.Attributes.OnError = ENRqOnError.roeContinue;

                                BuildItemInventoryModRq(requestMsgSet);

                                //Connect to QuickBooks and begin a session
                                sessionManager.OpenConnection("","Sample Code from OSR");
                                connectionOpen = true;
                                sessionManager.BeginSession("");
                                sessionBegun = true;

                                //Send the request and get the response from QuickBooks
                                IMsgSetResponse responseMsgSet = sessionManager.DoRequests(requestMsgSet);

                                //End the session and close the connection to QuickBooks
                                sessionManager.EndSession();
                                sessionBegun = false;
                                sessionManager.CloseConnection();
                                connectionOpen = false;

                                WalkItemInventoryModRs(responseMsgSet);
                        }
                        catch (Exception e)
                        {
                                MessageBox.Show(e.Message, "Error");
                                if (sessionBegun)
                                {
                                        sessionManager.EndSession();
                                }
                                if (connectionOpen)
                                {
                                        sessionManager.CloseConnection();
                                }
                        }
                }
                void BuildItemInventoryModRq(IMsgSetRequest requestMsgSet)
                {
                        IItemInventoryMod ItemInventoryModRq= requestMsgSet.AppendItemInventoryModRq();
                        //Set field value for ListID
                        ItemInventoryModRq.ListID.SetValue("200000-1011023419");
                        //Set attributes
                        //Set field value for ListID to use Macro
                        ItemInventoryModRq.ListID.SetValueUseMacro("200000-1011023419");
                        //Set field value for ALU
                        ItemInventoryModRq.ALU.SetValue("ab");
                        //Set field value for Attribute
                        ItemInventoryModRq.Attribute.SetValue("ab");
                        //Set field value for COGSAccount
                        ItemInventoryModRq.COGSAccount.SetValue("ab");
                        //Set field value for Cost
                        ItemInventoryModRq.Cost.SetValue(10.01);
                        //Set field value for DepartmentListID
                        ItemInventoryModRq.DepartmentListID.SetValue("200000-1011023419");
                        //Set attributes
                        //Set field value for DepartmentListID to use Macro
                        ItemInventoryModRq.DepartmentListID.SetValueUseMacro("200000-1011023419");
                        //Set field value for Desc1
                        ItemInventoryModRq.Desc1.SetValue("ab");
                        //Set field value for Desc2
                        ItemInventoryModRq.Desc2.SetValue("ab");
                        //Set field value for IncomeAccount
                        ItemInventoryModRq.IncomeAccount.SetValue("ab");
                        //Set field value for IsEligibleForCommission
                        ItemInventoryModRq.IsEligibleForCommission.SetValue(true);
                        //Set field value for IsPrintingTags
                        ItemInventoryModRq.IsPrintingTags.SetValue(true);
                        //Set field value for IsUnorderable
                        ItemInventoryModRq.IsUnorderable.SetValue(true);
                        //Set field value for IsEligibleForRewards
                        ItemInventoryModRq.IsEligibleForRewards.SetValue(true);
                        //Set field value for IsWebItem
                        ItemInventoryModRq.IsWebItem.SetValue(true);
                        //Set field value for ItemType
                        ItemInventoryModRq.ItemType.SetValue(ENItemType.itInventory);
                        //Set field value for MarginPercent
                        ItemInventoryModRq.MarginPercent.SetValue(6);
                        //Set field value for MarkupPercent
                        ItemInventoryModRq.MarkupPercent.SetValue(6);
                        //Set field value for MSRP
                        ItemInventoryModRq.MSRP.SetValue(10.01);
                        //Set field value for OnHandStore01
                        ItemInventoryModRq.OnHandStore01.SetValue(2);
                        //Set field value for OnHandStore02
                        ItemInventoryModRq.OnHandStore02.SetValue(2);
                        //Set field value for OnHandStore03
                        ItemInventoryModRq.OnHandStore03.SetValue(2);
                        //Set field value for OnHandStore04
                        ItemInventoryModRq.OnHandStore04.SetValue(2);
                        //Set field value for OnHandStore05
                        ItemInventoryModRq.OnHandStore05.SetValue(2);
                        //Set field value for OnHandStore06
                        ItemInventoryModRq.OnHandStore06.SetValue(2);
                        //Set field value for OnHandStore07
                        ItemInventoryModRq.OnHandStore07.SetValue(2);
                        //Set field value for OnHandStore08
                        ItemInventoryModRq.OnHandStore08.SetValue(2);
                        //Set field value for OnHandStore09
                        ItemInventoryModRq.OnHandStore09.SetValue(2);
                        //Set field value for OnHandStore10
                        ItemInventoryModRq.OnHandStore10.SetValue(2);
                        //Set field value for OnHandStore11
                        ItemInventoryModRq.OnHandStore11.SetValue(2);
                        //Set field value for OnHandStore12
                        ItemInventoryModRq.OnHandStore12.SetValue(2);
                        //Set field value for OnHandStore13
                        ItemInventoryModRq.OnHandStore13.SetValue(2);
                        //Set field value for OnHandStore14
                        ItemInventoryModRq.OnHandStore14.SetValue(2);
                        //Set field value for OnHandStore15
                        ItemInventoryModRq.OnHandStore15.SetValue(2);
                        //Set field value for OnHandStore16
                        ItemInventoryModRq.OnHandStore16.SetValue(2);
                        //Set field value for OnHandStore17
                        ItemInventoryModRq.OnHandStore17.SetValue(2);
                        //Set field value for OnHandStore18
                        ItemInventoryModRq.OnHandStore18.SetValue(2);
                        //Set field value for OnHandStore19
                        ItemInventoryModRq.OnHandStore19.SetValue(2);
                        //Set field value for OnHandStore20
                        ItemInventoryModRq.OnHandStore20.SetValue(2);
                        //Set field value for ReorderPointStore01
                        ItemInventoryModRq.ReorderPointStore01.SetValue(2);
                        //Set field value for ReorderPointStore02
                        ItemInventoryModRq.ReorderPointStore02.SetValue(2);
                        //Set field value for ReorderPointStore03
                        ItemInventoryModRq.ReorderPointStore03.SetValue(2);
                        //Set field value for ReorderPointStore04
                        ItemInventoryModRq.ReorderPointStore04.SetValue(2);
                        //Set field value for ReorderPointStore05
                        ItemInventoryModRq.ReorderPointStore05.SetValue(2);
                        //Set field value for ReorderPointStore06
                        ItemInventoryModRq.ReorderPointStore06.SetValue(2);
                        //Set field value for ReorderPointStore07
                        ItemInventoryModRq.ReorderPointStore07.SetValue(2);
                        //Set field value for ReorderPointStore08
                        ItemInventoryModRq.ReorderPointStore08.SetValue(2);
                        //Set field value for ReorderPointStore09
                        ItemInventoryModRq.ReorderPointStore09.SetValue(2);
                        //Set field value for ReorderPointStore10
                        ItemInventoryModRq.ReorderPointStore10.SetValue(2);
                        //Set field value for ReorderPointStore11
                        ItemInventoryModRq.ReorderPointStore11.SetValue(2);
                        //Set field value for ReorderPointStore12
                        ItemInventoryModRq.ReorderPointStore12.SetValue(2);
                        //Set field value for ReorderPointStore13
                        ItemInventoryModRq.ReorderPointStore13.SetValue(2);
                        //Set field value for ReorderPointStore14
                        ItemInventoryModRq.ReorderPointStore14.SetValue(2);
                        //Set field value for ReorderPointStore15
                        ItemInventoryModRq.ReorderPointStore15.SetValue(2);
                        //Set field value for ReorderPointStore16
                        ItemInventoryModRq.ReorderPointStore16.SetValue(2);
                        //Set field value for ReorderPointStore17
                        ItemInventoryModRq.ReorderPointStore17.SetValue(2);
                        //Set field value for ReorderPointStore18
                        ItemInventoryModRq.ReorderPointStore18.SetValue(2);
                        //Set field value for ReorderPointStore19
                        ItemInventoryModRq.ReorderPointStore19.SetValue(2);
                        //Set field value for ReorderPointStore20
                        ItemInventoryModRq.ReorderPointStore20.SetValue(2);
                        //Set field value for OrderByUnit
                        ItemInventoryModRq.OrderByUnit.SetValue("ab");
                        //Set field value for OrderCost
                        ItemInventoryModRq.OrderCost.SetValue(10.01);
                        //Set field value for Price1
                        ItemInventoryModRq.Price1.SetValue(10.01);
                        //Set field value for Price2
                        ItemInventoryModRq.Price2.SetValue(10.01);
                        //Set field value for Price3
                        ItemInventoryModRq.Price3.SetValue(10.01);
                        //Set field value for Price4
                        ItemInventoryModRq.Price4.SetValue(10.01);
                        //Set field value for Price5
                        ItemInventoryModRq.Price5.SetValue(10.01);
                        //Set field value for ReorderPoint
                        ItemInventoryModRq.ReorderPoint.SetValue(2);
                        //Set field value for SellByUnit
                        ItemInventoryModRq.SellByUnit.SetValue("ab");
                        //Set field value for SerialFlag
                        ItemInventoryModRq.SerialFlag.SetValue(ENSerialFlag.sfOptional);
                        //Set field value for Size
                        ItemInventoryModRq.Size.SetValue("ab");
                        //Set field value for TaxCode
                        ItemInventoryModRq.TaxCode.SetValue("ab");
                        //Set field value for UnitOfMeasure
                        ItemInventoryModRq.UnitOfMeasure.SetValue("ab");
                        //Set field value for UPC
                        ItemInventoryModRq.UPC.SetValue("ab");
                        //Set field value for VendorListID
                        ItemInventoryModRq.VendorListID.SetValue("200000-1011023419");
                        //Set attributes
                        //Set field value for VendorListID to use Macro
                        ItemInventoryModRq.VendorListID.SetValueUseMacro("200000-1011023419");
                        //Set field value for WebDesc
                        ItemInventoryModRq.WebDesc.SetValue("ab");
                        //Set field value for WebPrice
                        ItemInventoryModRq.WebPrice.SetValue(10.01);
                        //Set field value for Manufacturer
                        ItemInventoryModRq.Manufacturer.SetValue("ab");
                        //Set field value for Weight
                        ItemInventoryModRq.Weight.SetValue(12.34F);
                        //Set field value for Keywords
                        ItemInventoryModRq.Keywords.SetValue("ab");
                        //Set field value for WebCategories
                        ItemInventoryModRq.WebCategories.SetValue("ab");
                        //Set field value for ALU
                        ItemInventoryModRq.UnitOfMeasure1.ALU.SetValue("ab");
                        //Set field value for MSRP
                        ItemInventoryModRq.UnitOfMeasure1.MSRP.SetValue(10.01);
                        //Set field value for NumberOfBaseUnits
                        ItemInventoryModRq.UnitOfMeasure1.NumberOfBaseUnits.SetValue(2);
                        //Set field value for Price1
                        ItemInventoryModRq.UnitOfMeasure1.Price1.SetValue(10.01);
                        //Set field value for Price2
                        ItemInventoryModRq.UnitOfMeasure1.Price2.SetValue(10.01);
                        //Set field value for Price3
                        ItemInventoryModRq.UnitOfMeasure1.Price3.SetValue(10.01);
                        //Set field value for Price4
                        ItemInventoryModRq.UnitOfMeasure1.Price4.SetValue(10.01);
                        //Set field value for Price5
                        ItemInventoryModRq.UnitOfMeasure1.Price5.SetValue(10.01);
                        //Set field value for UnitOfMeasure
                        ItemInventoryModRq.UnitOfMeasure1.UnitOfMeasure.SetValue("ab");
                        //Set field value for UPC
                        ItemInventoryModRq.UnitOfMeasure1.UPC.SetValue("ab");
                        //Set field value for ALU
                        ItemInventoryModRq.UnitOfMeasure2.ALU.SetValue("ab");
                        //Set field value for MSRP
                        ItemInventoryModRq.UnitOfMeasure2.MSRP.SetValue(10.01);
                        //Set field value for NumberOfBaseUnits
                        ItemInventoryModRq.UnitOfMeasure2.NumberOfBaseUnits.SetValue(2);
                        //Set field value for Price1
                        ItemInventoryModRq.UnitOfMeasure2.Price1.SetValue(10.01);
                        //Set field value for Price2
                        ItemInventoryModRq.UnitOfMeasure2.Price2.SetValue(10.01);
                        //Set field value for Price3
                        ItemInventoryModRq.UnitOfMeasure2.Price3.SetValue(10.01);
                        //Set field value for Price4
                        ItemInventoryModRq.UnitOfMeasure2.Price4.SetValue(10.01);
                        //Set field value for Price5
                        ItemInventoryModRq.UnitOfMeasure2.Price5.SetValue(10.01);
                        //Set field value for UnitOfMeasure
                        ItemInventoryModRq.UnitOfMeasure2.UnitOfMeasure.SetValue("ab");
                        //Set field value for UPC
                        ItemInventoryModRq.UnitOfMeasure2.UPC.SetValue("ab");
                        //Set field value for ALU
                        ItemInventoryModRq.UnitOfMeasure3.ALU.SetValue("ab");
                        //Set field value for MSRP
                        ItemInventoryModRq.UnitOfMeasure3.MSRP.SetValue(10.01);
                        //Set field value for NumberOfBaseUnits
                        ItemInventoryModRq.UnitOfMeasure3.NumberOfBaseUnits.SetValue(2);
                        //Set field value for Price1
                        ItemInventoryModRq.UnitOfMeasure3.Price1.SetValue(10.01);
                        //Set field value for Price2
                        ItemInventoryModRq.UnitOfMeasure3.Price2.SetValue(10.01);
                        //Set field value for Price3
                        ItemInventoryModRq.UnitOfMeasure3.Price3.SetValue(10.01);
                        //Set field value for Price4
                        ItemInventoryModRq.UnitOfMeasure3.Price4.SetValue(10.01);
                        //Set field value for Price5
                        ItemInventoryModRq.UnitOfMeasure3.Price5.SetValue(10.01);
                        //Set field value for UnitOfMeasure
                        ItemInventoryModRq.UnitOfMeasure3.UnitOfMeasure.SetValue("ab");
                        //Set field value for UPC
                        ItemInventoryModRq.UnitOfMeasure3.UPC.SetValue("ab");
                        //Set field value for ALU
                        ItemInventoryModRq.VendorInfo2.ALU.SetValue("ab");
                        //Set field value for OrderCost
                        ItemInventoryModRq.VendorInfo2.OrderCost.SetValue(10.01);
                        //Set field value for UPC
                        ItemInventoryModRq.VendorInfo2.UPC.SetValue("ab");
                        //Set field value for VendorListID
                        ItemInventoryModRq.VendorInfo2.VendorListID.SetValue("200000-1011023419");
                        //Set attributes
                        //Set field value for VendorListID to use Macro
                        ItemInventoryModRq.VendorInfo2.VendorListID.SetValueUseMacro("200000-1011023419");
                        //Set field value for ALU
                        ItemInventoryModRq.VendorInfo3.ALU.SetValue("ab");
                        //Set field value for OrderCost
                        ItemInventoryModRq.VendorInfo3.OrderCost.SetValue(10.01);
                        //Set field value for UPC
                        ItemInventoryModRq.VendorInfo3.UPC.SetValue("ab");
                        //Set field value for VendorListID
                        ItemInventoryModRq.VendorInfo3.VendorListID.SetValue("200000-1011023419");
                        //Set attributes
                        //Set field value for VendorListID to use Macro
                        ItemInventoryModRq.VendorInfo3.VendorListID.SetValueUseMacro("200000-1011023419");
                        //Set field value for ALU
                        ItemInventoryModRq.VendorInfo4.ALU.SetValue("ab");
                        //Set field value for OrderCost
                        ItemInventoryModRq.VendorInfo4.OrderCost.SetValue(10.01);
                        //Set field value for UPC
                        ItemInventoryModRq.VendorInfo4.UPC.SetValue("ab");
                        //Set field value for VendorListID
                        ItemInventoryModRq.VendorInfo4.VendorListID.SetValue("200000-1011023419");
                        //Set attributes
                        //Set field value for VendorListID to use Macro
                        ItemInventoryModRq.VendorInfo4.VendorListID.SetValueUseMacro("200000-1011023419");
                        //Set field value for ALU
                        ItemInventoryModRq.VendorInfo5.ALU.SetValue("ab");
                        //Set field value for OrderCost
                        ItemInventoryModRq.VendorInfo5.OrderCost.SetValue(10.01);
                        //Set field value for UPC
                        ItemInventoryModRq.VendorInfo5.UPC.SetValue("ab");
                        //Set field value for VendorListID
                        ItemInventoryModRq.VendorInfo5.VendorListID.SetValue("200000-1011023419");
                        //Set attributes
                        //Set field value for VendorListID to use Macro
                        ItemInventoryModRq.VendorInfo5.VendorListID.SetValueUseMacro("200000-1011023419");
                        //Set field value for IsEcommerce
                        ItemInventoryModRq.IsEcommerce.SetValue(true);
                        //Set field value for OnlineStoreNames
                        ItemInventoryModRq.OnlineStoreNames.SetValue("ab");
                        //Set field value for IncludeRetElementList
                        //May create more than one of these if needed
                        ItemInventoryModRq.IncludeRetElementList.Add("ab");
                }




                void WalkItemInventoryModRs(IMsgSetResponse responseMsgSet)
                {
                        if (responseMsgSet == null) return;
                        IResponseList responseList = responseMsgSet.ResponseList;
                        if (responseList == null) return;
                        //if we sent only one request, there is only one response, we'll walk the list for this sample
                        for(int i=0; i < responseList.Count; i++)
                        {
                                IResponse response = responseList.GetAt(i);
                                //check the status code of the response, 0=ok, >0 is warning
                                if (response.StatusCode >= 0)
                                {
                                        //the request-specific response is in the details, make sure we have some
                                        if (response.Detail != null)
                                        {
                                                //make sure the response is the type we're expecting
                                                ENResponseType responseType = (ENResponseType)response.Type.GetValue();
                                                if (responseType == ENResponseType.rtItemInventoryModRs)
                                                {
                                                        //upcast to more specific type here, this is safe because we checked with response.Type check above
                                                        IItemInventoryRet ItemInventoryRet = (IItemInventoryRet)response.Detail;
                                                                WalkItemInventoryRet(ItemInventoryRet);
                                                }
                                        }
                                }
                        }
                }




                void WalkItemInventoryRet(IItemInventoryRet ItemInventoryRet)
                {
                        if (ItemInventoryRet == null) return;
                        //Go through all the elements of IItemInventoryRet
                        //Get value of ListID
                        if (ItemInventoryRet.ListID != null)
                        {
                                string ListID1652 = (string)ItemInventoryRet.ListID.GetValue();
                        }
                        //Get value of TimeCreated
                        if (ItemInventoryRet.TimeCreated != null)
                        {
                                DateTime TimeCreated1653 = (DateTime)ItemInventoryRet.TimeCreated.GetValue();
                        }
                        //Get value of TimeModified
                        if (ItemInventoryRet.TimeModified != null)
                        {
                                DateTime TimeModified1654 = (DateTime)ItemInventoryRet.TimeModified.GetValue();
                        }
                        //Get value of ALU
                        if (ItemInventoryRet.ALU != null)
                        {
                                string ALU1655 = (string)ItemInventoryRet.ALU.GetValue();
                        }
                        //Get value of Attribute
                        if (ItemInventoryRet.Attribute != null)
                        {
                                string Attribute1656 = (string)ItemInventoryRet.Attribute.GetValue();
                        }
                        //Get value of COGSAccount
                        if (ItemInventoryRet.COGSAccount != null)
                        {
                                string COGSAccount1657 = (string)ItemInventoryRet.COGSAccount.GetValue();
                        }
                        //Get value of Cost
                        if (ItemInventoryRet.Cost != null)
                        {
                                double Cost1658 = (double)ItemInventoryRet.Cost.GetValue();
                        }
                        //Get value of DepartmentCode
                        if (ItemInventoryRet.DepartmentCode != null)
                        {
                                string DepartmentCode1659 = (string)ItemInventoryRet.DepartmentCode.GetValue();
                        }
                        //Get value of DepartmentListID
                        if (ItemInventoryRet.DepartmentListID != null)
                        {
                                string DepartmentListID1660 = (string)ItemInventoryRet.DepartmentListID.GetValue();
                        }
                        //Get value of Desc1
                        if (ItemInventoryRet.Desc1 != null)
                        {
                                string Desc11661 = (string)ItemInventoryRet.Desc1.GetValue();
                        }
                        //Get value of Desc2
                        if (ItemInventoryRet.Desc2 != null)
                        {
                                string Desc21662 = (string)ItemInventoryRet.Desc2.GetValue();
                        }
                        //Get value of IncomeAccount
                        if (ItemInventoryRet.IncomeAccount != null)
                        {
                                string IncomeAccount1663 = (string)ItemInventoryRet.IncomeAccount.GetValue();
                        }
                        //Get value of IsBelowReorder
                        if (ItemInventoryRet.IsBelowReorder != null)
                        {
                                bool IsBelowReorder1664 = (bool)ItemInventoryRet.IsBelowReorder.GetValue();
                        }
                        //Get value of IsEligibleForCommission
                        if (ItemInventoryRet.IsEligibleForCommission != null)
                        {
                                bool IsEligibleForCommission1665 = (bool)ItemInventoryRet.IsEligibleForCommission.GetValue();
                        }
                        //Get value of IsPrintingTags
                        if (ItemInventoryRet.IsPrintingTags != null)
                        {
                                bool IsPrintingTags1666 = (bool)ItemInventoryRet.IsPrintingTags.GetValue();
                        }
                        //Get value of IsUnorderable
                        if (ItemInventoryRet.IsUnorderable != null)
                        {
                                bool IsUnorderable1667 = (bool)ItemInventoryRet.IsUnorderable.GetValue();
                        }
                        //Get value of HasPictures
                        if (ItemInventoryRet.HasPictures != null)
                        {
                                bool HasPictures1668 = (bool)ItemInventoryRet.HasPictures.GetValue();
                        }
                        //Get value of IsEligibleForRewards
                        if (ItemInventoryRet.IsEligibleForRewards != null)
                        {
                                bool IsEligibleForRewards1669 = (bool)ItemInventoryRet.IsEligibleForRewards.GetValue();
                        }
                        //Get value of IsWebItem
                        if (ItemInventoryRet.IsWebItem != null)
                        {
                                bool IsWebItem1670 = (bool)ItemInventoryRet.IsWebItem.GetValue();
                        }
                        //Get value of ItemNumber
                        if (ItemInventoryRet.ItemNumber != null)
                        {
                                int ItemNumber1671 = (int)ItemInventoryRet.ItemNumber.GetValue();
                        }
                        //Get value of ItemType
                        if (ItemInventoryRet.ItemType != null)
                        {
                                ENItemType ItemType1672 = (ENItemType)ItemInventoryRet.ItemType.GetValue();
                        }
                        //Get value of LastReceived
                        if (ItemInventoryRet.LastReceived != null)
                        {
                                DateTime LastReceived1673 = (DateTime)ItemInventoryRet.LastReceived.GetValue();
                        }
                        //Get value of MarginPercent
                        if (ItemInventoryRet.MarginPercent != null)
                        {
                                int MarginPercent1674 = (int)ItemInventoryRet.MarginPercent.GetValue();
                        }
                        //Get value of MarkupPercent
                        if (ItemInventoryRet.MarkupPercent != null)
                        {
                                int MarkupPercent1675 = (int)ItemInventoryRet.MarkupPercent.GetValue();
                        }
                        //Get value of MSRP
                        if (ItemInventoryRet.MSRP != null)
                        {
                                double MSRP1676 = (double)ItemInventoryRet.MSRP.GetValue();
                        }
                        //Get value of OnHandStore01
                        if (ItemInventoryRet.OnHandStore01 != null)
                        {
                                int OnHandStore011677 = (int)ItemInventoryRet.OnHandStore01.GetValue();
                        }
                        //Get value of OnHandStore02
                        if (ItemInventoryRet.OnHandStore02 != null)
                        {
                                int OnHandStore021678 = (int)ItemInventoryRet.OnHandStore02.GetValue();
                        }
                        //Get value of OnHandStore03
                        if (ItemInventoryRet.OnHandStore03 != null)
                        {
                                int OnHandStore031679 = (int)ItemInventoryRet.OnHandStore03.GetValue();
                        }
                        //Get value of OnHandStore04
                        if (ItemInventoryRet.OnHandStore04 != null)
                        {
                                int OnHandStore041680 = (int)ItemInventoryRet.OnHandStore04.GetValue();
                        }
                        //Get value of OnHandStore05
                        if (ItemInventoryRet.OnHandStore05 != null)
                        {
                                int OnHandStore051681 = (int)ItemInventoryRet.OnHandStore05.GetValue();
                        }
                        //Get value of OnHandStore06
                        if (ItemInventoryRet.OnHandStore06 != null)
                        {
                                int OnHandStore061682 = (int)ItemInventoryRet.OnHandStore06.GetValue();
                        }
                        //Get value of OnHandStore07
                        if (ItemInventoryRet.OnHandStore07 != null)
                        {
                                int OnHandStore071683 = (int)ItemInventoryRet.OnHandStore07.GetValue();
                        }
                        //Get value of OnHandStore08
                        if (ItemInventoryRet.OnHandStore08 != null)
                        {
                                int OnHandStore081684 = (int)ItemInventoryRet.OnHandStore08.GetValue();
                        }
                        //Get value of OnHandStore09
                        if (ItemInventoryRet.OnHandStore09 != null)
                        {
                                int OnHandStore091685 = (int)ItemInventoryRet.OnHandStore09.GetValue();
                        }
                        //Get value of OnHandStore10
                        if (ItemInventoryRet.OnHandStore10 != null)
                        {
                                int OnHandStore101686 = (int)ItemInventoryRet.OnHandStore10.GetValue();
                        }
                        //Get value of OnHandStore11
                        if (ItemInventoryRet.OnHandStore11 != null)
                        {
                                int OnHandStore111687 = (int)ItemInventoryRet.OnHandStore11.GetValue();
                        }
                        //Get value of OnHandStore12
                        if (ItemInventoryRet.OnHandStore12 != null)
                        {
                                int OnHandStore121688 = (int)ItemInventoryRet.OnHandStore12.GetValue();
                        }
                        //Get value of OnHandStore13
                        if (ItemInventoryRet.OnHandStore13 != null)
                        {
                                int OnHandStore131689 = (int)ItemInventoryRet.OnHandStore13.GetValue();
                        }
                        //Get value of OnHandStore14
                        if (ItemInventoryRet.OnHandStore14 != null)
                        {
                                int OnHandStore141690 = (int)ItemInventoryRet.OnHandStore14.GetValue();
                        }
                        //Get value of OnHandStore15
                        if (ItemInventoryRet.OnHandStore15 != null)
                        {
                                int OnHandStore151691 = (int)ItemInventoryRet.OnHandStore15.GetValue();
                        }
                        //Get value of OnHandStore16
                        if (ItemInventoryRet.OnHandStore16 != null)
                        {
                                int OnHandStore161692 = (int)ItemInventoryRet.OnHandStore16.GetValue();
                        }
                        //Get value of OnHandStore17
                        if (ItemInventoryRet.OnHandStore17 != null)
                        {
                                int OnHandStore171693 = (int)ItemInventoryRet.OnHandStore17.GetValue();
                        }
                        //Get value of OnHandStore18
                        if (ItemInventoryRet.OnHandStore18 != null)
                        {
                                int OnHandStore181694 = (int)ItemInventoryRet.OnHandStore18.GetValue();
                        }
                        //Get value of OnHandStore19
                        if (ItemInventoryRet.OnHandStore19 != null)
                        {
                                int OnHandStore191695 = (int)ItemInventoryRet.OnHandStore19.GetValue();
                        }
                        //Get value of OnHandStore20
                        if (ItemInventoryRet.OnHandStore20 != null)
                        {
                                int OnHandStore201696 = (int)ItemInventoryRet.OnHandStore20.GetValue();
                        }
                        //Get value of ReorderPointStore01
                        if (ItemInventoryRet.ReorderPointStore01 != null)
                        {
                                int ReorderPointStore011697 = (int)ItemInventoryRet.ReorderPointStore01.GetValue();
                        }
                        //Get value of ReorderPointStore02
                        if (ItemInventoryRet.ReorderPointStore02 != null)
                        {
                                int ReorderPointStore021698 = (int)ItemInventoryRet.ReorderPointStore02.GetValue();
                        }
                        //Get value of ReorderPointStore03
                        if (ItemInventoryRet.ReorderPointStore03 != null)
                        {
                                int ReorderPointStore031699 = (int)ItemInventoryRet.ReorderPointStore03.GetValue();
                        }
                        //Get value of ReorderPointStore04
                        if (ItemInventoryRet.ReorderPointStore04 != null)
                        {
                                int ReorderPointStore041700 = (int)ItemInventoryRet.ReorderPointStore04.GetValue();
                        }
                        //Get value of ReorderPointStore05
                        if (ItemInventoryRet.ReorderPointStore05 != null)
                        {
                                int ReorderPointStore051701 = (int)ItemInventoryRet.ReorderPointStore05.GetValue();
                        }
                        //Get value of ReorderPointStore06
                        if (ItemInventoryRet.ReorderPointStore06 != null)
                        {
                                int ReorderPointStore061702 = (int)ItemInventoryRet.ReorderPointStore06.GetValue();
                        }
                        //Get value of ReorderPointStore07
                        if (ItemInventoryRet.ReorderPointStore07 != null)
                        {
                                int ReorderPointStore071703 = (int)ItemInventoryRet.ReorderPointStore07.GetValue();
                        }
                        //Get value of ReorderPointStore08
                        if (ItemInventoryRet.ReorderPointStore08 != null)
                        {
                                int ReorderPointStore081704 = (int)ItemInventoryRet.ReorderPointStore08.GetValue();
                        }
                        //Get value of ReorderPointStore09
                        if (ItemInventoryRet.ReorderPointStore09 != null)
                        {
                                int ReorderPointStore091705 = (int)ItemInventoryRet.ReorderPointStore09.GetValue();
                        }
                        //Get value of ReorderPointStore10
                        if (ItemInventoryRet.ReorderPointStore10 != null)
                        {
                                int ReorderPointStore101706 = (int)ItemInventoryRet.ReorderPointStore10.GetValue();
                        }
                        //Get value of ReorderPointStore11
                        if (ItemInventoryRet.ReorderPointStore11 != null)
                        {
                                int ReorderPointStore111707 = (int)ItemInventoryRet.ReorderPointStore11.GetValue();
                        }
                        //Get value of ReorderPointStore12
                        if (ItemInventoryRet.ReorderPointStore12 != null)
                        {
                                int ReorderPointStore121708 = (int)ItemInventoryRet.ReorderPointStore12.GetValue();
                        }
                        //Get value of ReorderPointStore13
                        if (ItemInventoryRet.ReorderPointStore13 != null)
                        {
                                int ReorderPointStore131709 = (int)ItemInventoryRet.ReorderPointStore13.GetValue();
                        }
                        //Get value of ReorderPointStore14
                        if (ItemInventoryRet.ReorderPointStore14 != null)
                        {
                                int ReorderPointStore141710 = (int)ItemInventoryRet.ReorderPointStore14.GetValue();
                        }
                        //Get value of ReorderPointStore15
                        if (ItemInventoryRet.ReorderPointStore15 != null)
                        {
                                int ReorderPointStore151711 = (int)ItemInventoryRet.ReorderPointStore15.GetValue();
                        }
                        //Get value of ReorderPointStore16
                        if (ItemInventoryRet.ReorderPointStore16 != null)
                        {
                                int ReorderPointStore161712 = (int)ItemInventoryRet.ReorderPointStore16.GetValue();
                        }
                        //Get value of ReorderPointStore17
                        if (ItemInventoryRet.ReorderPointStore17 != null)
                        {
                                int ReorderPointStore171713 = (int)ItemInventoryRet.ReorderPointStore17.GetValue();
                        }
                        //Get value of ReorderPointStore18
                        if (ItemInventoryRet.ReorderPointStore18 != null)
                        {
                                int ReorderPointStore181714 = (int)ItemInventoryRet.ReorderPointStore18.GetValue();
                        }
                        //Get value of ReorderPointStore19
                        if (ItemInventoryRet.ReorderPointStore19 != null)
                        {
                                int ReorderPointStore191715 = (int)ItemInventoryRet.ReorderPointStore19.GetValue();
                        }
                        //Get value of ReorderPointStore20
                        if (ItemInventoryRet.ReorderPointStore20 != null)
                        {
                                int ReorderPointStore201716 = (int)ItemInventoryRet.ReorderPointStore20.GetValue();
                        }
                        //Get value of OrderByUnit
                        if (ItemInventoryRet.OrderByUnit != null)
                        {
                                string OrderByUnit1717 = (string)ItemInventoryRet.OrderByUnit.GetValue();
                        }
                        //Get value of OrderCost
                        if (ItemInventoryRet.OrderCost != null)
                        {
                                double OrderCost1718 = (double)ItemInventoryRet.OrderCost.GetValue();
                        }
                        //Get value of Price1
                        if (ItemInventoryRet.Price1 != null)
                        {
                                double Price11719 = (double)ItemInventoryRet.Price1.GetValue();
                        }
                        //Get value of Price2
                        if (ItemInventoryRet.Price2 != null)
                        {
                                double Price21720 = (double)ItemInventoryRet.Price2.GetValue();
                        }
                        //Get value of Price3
                        if (ItemInventoryRet.Price3 != null)
                        {
                                double Price31721 = (double)ItemInventoryRet.Price3.GetValue();
                        }
                        //Get value of Price4
                        if (ItemInventoryRet.Price4 != null)
                        {
                                double Price41722 = (double)ItemInventoryRet.Price4.GetValue();
                        }
                        //Get value of Price5
                        if (ItemInventoryRet.Price5 != null)
                        {
                                double Price51723 = (double)ItemInventoryRet.Price5.GetValue();
                        }
                        //Get value of QuantityOnCustomerOrder
                        if (ItemInventoryRet.QuantityOnCustomerOrder != null)
                        {
                                int QuantityOnCustomerOrder1724 = (int)ItemInventoryRet.QuantityOnCustomerOrder.GetValue();
                        }
                        //Get value of QuantityOnHand
                        if (ItemInventoryRet.QuantityOnHand != null)
                        {
                                int QuantityOnHand1725 = (int)ItemInventoryRet.QuantityOnHand.GetValue();
                        }
                        //Get value of QuantityOnOrder
                        if (ItemInventoryRet.QuantityOnOrder != null)
                        {
                                int QuantityOnOrder1726 = (int)ItemInventoryRet.QuantityOnOrder.GetValue();
                        }
                        //Get value of QuantityOnPendingOrder
                        if (ItemInventoryRet.QuantityOnPendingOrder != null)
                        {
                                int QuantityOnPendingOrder1727 = (int)ItemInventoryRet.QuantityOnPendingOrder.GetValue();
                        }
                        if (ItemInventoryRet.AvailableQtyList != null)
                        {
                                for (int i1728 = 0; i1728 < ItemInventoryRet.AvailableQtyList.Count; i1728++)
                                {
                                        IAvailableQty AvailableQty = ItemInventoryRet.AvailableQtyList.GetAt(i1728);
                                        //Get value of StoreNumber
                                        if (AvailableQty.StoreNumber != null)
                                        {
                                                int StoreNumber1729 = (int)AvailableQty.StoreNumber.GetValue();
                                        }
                                        //Get value of QuantityOnOrder
                                        if (AvailableQty.QuantityOnOrder != null)
                                        {
                                                int QuantityOnOrder1730 = (int)AvailableQty.QuantityOnOrder.GetValue();
                                        }
                                        //Get value of QuantityOnCustomerOrder
                                        if (AvailableQty.QuantityOnCustomerOrder != null)
                                        {
                                                int QuantityOnCustomerOrder1731 = (int)AvailableQty.QuantityOnCustomerOrder.GetValue();
                                        }
                                        //Get value of QuantityOnPendingOrder
                                        if (AvailableQty.QuantityOnPendingOrder != null)
                                        {
                                                int QuantityOnPendingOrder1732 = (int)AvailableQty.QuantityOnPendingOrder.GetValue();
                                        }
                                }
                        }
                        //Get value of ReorderPoint
                        if (ItemInventoryRet.ReorderPoint != null)
                        {
                                int ReorderPoint1733 = (int)ItemInventoryRet.ReorderPoint.GetValue();
                        }
                        //Get value of SellByUnit
                        if (ItemInventoryRet.SellByUnit != null)
                        {
                                string SellByUnit1734 = (string)ItemInventoryRet.SellByUnit.GetValue();
                        }
                        //Get value of SerialFlag
                        if (ItemInventoryRet.SerialFlag != null)
                        {
                                ENSerialFlag SerialFlag1735 = (ENSerialFlag)ItemInventoryRet.SerialFlag.GetValue();
                        }
                        //Get value of Size
                        if (ItemInventoryRet.Size != null)
                        {
                                string Size1736 = (string)ItemInventoryRet.Size.GetValue();
                        }
                        //Get value of StoreExchangeStatus
                        if (ItemInventoryRet.StoreExchangeStatus != null)
                        {
                                ENStoreExchangeStatus StoreExchangeStatus1737 = (ENStoreExchangeStatus)ItemInventoryRet.StoreExchangeStatus.GetValue();
                        }
                        //Get value of TaxCode
                        if (ItemInventoryRet.TaxCode != null)
                        {
                                string TaxCode1738 = (string)ItemInventoryRet.TaxCode.GetValue();
                        }
                        //Get value of UnitOfMeasure
                        if (ItemInventoryRet.UnitOfMeasure != null)
                        {
                                string UnitOfMeasure1739 = (string)ItemInventoryRet.UnitOfMeasure.GetValue();
                        }
                        //Get value of UPC
                        if (ItemInventoryRet.UPC != null)
                        {
                                string UPC1740 = (string)ItemInventoryRet.UPC.GetValue();
                        }
                        //Get value of VendorCode
                        if (ItemInventoryRet.VendorCode != null)
                        {
                                string VendorCode1741 = (string)ItemInventoryRet.VendorCode.GetValue();
                        }
                        //Get value of VendorListID
                        if (ItemInventoryRet.VendorListID != null)
                        {
                                string VendorListID1742 = (string)ItemInventoryRet.VendorListID.GetValue();
                        }
                        //Get value of WebDesc
                        if (ItemInventoryRet.WebDesc != null)
                        {
                                string WebDesc1743 = (string)ItemInventoryRet.WebDesc.GetValue();
                        }
                        //Get value of WebPrice
                        if (ItemInventoryRet.WebPrice != null)
                        {
                                double WebPrice1744 = (double)ItemInventoryRet.WebPrice.GetValue();
                        }
                        //Get value of Manufacturer
                        if (ItemInventoryRet.Manufacturer != null)
                        {
                                string Manufacturer1745 = (string)ItemInventoryRet.Manufacturer.GetValue();
                        }
                        //Get value of Weight
                        if (ItemInventoryRet.Weight != null)
                        {
                                float Weight1746 = (float)ItemInventoryRet.Weight.GetValue();
                        }
                        //Get value of WebSKU
                        if (ItemInventoryRet.WebSKU != null)
                        {
                                string WebSKU1747 = (string)ItemInventoryRet.WebSKU.GetValue();
                        }
                        //Get value of Keywords
                        if (ItemInventoryRet.Keywords != null)
                        {
                                string Keywords1748 = (string)ItemInventoryRet.Keywords.GetValue();
                        }
                        //Get value of WebCategories
                        if (ItemInventoryRet.WebCategories != null)
                        {
                                string WebCategories1749 = (string)ItemInventoryRet.WebCategories.GetValue();
                        }
                        if (ItemInventoryRet.UnitOfMeasure1 != null)
                        {
                                //Get value of ALU
                                if (ItemInventoryRet.UnitOfMeasure1.ALU != null)
                                {
                                        string ALU1750 = (string)ItemInventoryRet.UnitOfMeasure1.ALU.GetValue();
                                }
                                //Get value of MSRP
                                if (ItemInventoryRet.UnitOfMeasure1.MSRP != null)
                                {
                                        double MSRP1751 = (double)ItemInventoryRet.UnitOfMeasure1.MSRP.GetValue();
                                }
                                //Get value of NumberOfBaseUnits
                                if (ItemInventoryRet.UnitOfMeasure1.NumberOfBaseUnits != null)
                                {
                                        int NumberOfBaseUnits1752 = (int)ItemInventoryRet.UnitOfMeasure1.NumberOfBaseUnits.GetValue();
                                }
                                //Get value of Price1
                                if (ItemInventoryRet.UnitOfMeasure1.Price1 != null)
                                {
                                        double Price11753 = (double)ItemInventoryRet.UnitOfMeasure1.Price1.GetValue();
                                }
                                //Get value of Price2
                                if (ItemInventoryRet.UnitOfMeasure1.Price2 != null)
                                {
                                        double Price21754 = (double)ItemInventoryRet.UnitOfMeasure1.Price2.GetValue();
                                }
                                //Get value of Price3
                                if (ItemInventoryRet.UnitOfMeasure1.Price3 != null)
                                {
                                        double Price31755 = (double)ItemInventoryRet.UnitOfMeasure1.Price3.GetValue();
                                }
                                //Get value of Price4
                                if (ItemInventoryRet.UnitOfMeasure1.Price4 != null)
                                {
                                        double Price41756 = (double)ItemInventoryRet.UnitOfMeasure1.Price4.GetValue();
                                }
                                //Get value of Price5
                                if (ItemInventoryRet.UnitOfMeasure1.Price5 != null)
                                {
                                        double Price51757 = (double)ItemInventoryRet.UnitOfMeasure1.Price5.GetValue();
                                }
                                //Get value of UnitOfMeasure
                                if (ItemInventoryRet.UnitOfMeasure1.UnitOfMeasure != null)
                                {
                                        string UnitOfMeasure1758 = (string)ItemInventoryRet.UnitOfMeasure1.UnitOfMeasure.GetValue();
                                }
                                //Get value of UPC
                                if (ItemInventoryRet.UnitOfMeasure1.UPC != null)
                                {
                                        string UPC1759 = (string)ItemInventoryRet.UnitOfMeasure1.UPC.GetValue();
                                }
                        }
                        if (ItemInventoryRet.UnitOfMeasure2 != null)
                        {
                                //Get value of ALU
                                if (ItemInventoryRet.UnitOfMeasure2.ALU != null)
                                {
                                        string ALU1760 = (string)ItemInventoryRet.UnitOfMeasure2.ALU.GetValue();
                                }
                                //Get value of MSRP
                                if (ItemInventoryRet.UnitOfMeasure2.MSRP != null)
                                {
                                        double MSRP1761 = (double)ItemInventoryRet.UnitOfMeasure2.MSRP.GetValue();
                                }
                                //Get value of NumberOfBaseUnits
                                if (ItemInventoryRet.UnitOfMeasure2.NumberOfBaseUnits != null)
                                {
                                        int NumberOfBaseUnits1762 = (int)ItemInventoryRet.UnitOfMeasure2.NumberOfBaseUnits.GetValue();
                                }
                                //Get value of Price1
                                if (ItemInventoryRet.UnitOfMeasure2.Price1 != null)
                                {
                                        double Price11763 = (double)ItemInventoryRet.UnitOfMeasure2.Price1.GetValue();
                                }
                                //Get value of Price2
                                if (ItemInventoryRet.UnitOfMeasure2.Price2 != null)
                                {
                                        double Price21764 = (double)ItemInventoryRet.UnitOfMeasure2.Price2.GetValue();
                                }
                                //Get value of Price3
                                if (ItemInventoryRet.UnitOfMeasure2.Price3 != null)
                                {
                                        double Price31765 = (double)ItemInventoryRet.UnitOfMeasure2.Price3.GetValue();
                                }
                                //Get value of Price4
                                if (ItemInventoryRet.UnitOfMeasure2.Price4 != null)
                                {
                                        double Price41766 = (double)ItemInventoryRet.UnitOfMeasure2.Price4.GetValue();
                                }
                                //Get value of Price5
                                if (ItemInventoryRet.UnitOfMeasure2.Price5 != null)
                                {
                                        double Price51767 = (double)ItemInventoryRet.UnitOfMeasure2.Price5.GetValue();
                                }
                                //Get value of UnitOfMeasure
                                if (ItemInventoryRet.UnitOfMeasure2.UnitOfMeasure != null)
                                {
                                        string UnitOfMeasure1768 = (string)ItemInventoryRet.UnitOfMeasure2.UnitOfMeasure.GetValue();
                                }
                                //Get value of UPC
                                if (ItemInventoryRet.UnitOfMeasure2.UPC != null)
                                {
                                        string UPC1769 = (string)ItemInventoryRet.UnitOfMeasure2.UPC.GetValue();
                                }
                        }
                        if (ItemInventoryRet.UnitOfMeasure3 != null)
                        {
                                //Get value of ALU
                                if (ItemInventoryRet.UnitOfMeasure3.ALU != null)
                                {
                                        string ALU1770 = (string)ItemInventoryRet.UnitOfMeasure3.ALU.GetValue();
                                }
                                //Get value of MSRP
                                if (ItemInventoryRet.UnitOfMeasure3.MSRP != null)
                                {
                                        double MSRP1771 = (double)ItemInventoryRet.UnitOfMeasure3.MSRP.GetValue();
                                }
                                //Get value of NumberOfBaseUnits
                                if (ItemInventoryRet.UnitOfMeasure3.NumberOfBaseUnits != null)
                                {
                                        int NumberOfBaseUnits1772 = (int)ItemInventoryRet.UnitOfMeasure3.NumberOfBaseUnits.GetValue();
                                }
                                //Get value of Price1
                                if (ItemInventoryRet.UnitOfMeasure3.Price1 != null)
                                {
                                        double Price11773 = (double)ItemInventoryRet.UnitOfMeasure3.Price1.GetValue();
                                }
                                //Get value of Price2
                                if (ItemInventoryRet.UnitOfMeasure3.Price2 != null)
                                {
                                        double Price21774 = (double)ItemInventoryRet.UnitOfMeasure3.Price2.GetValue();
                                }
                                //Get value of Price3
                                if (ItemInventoryRet.UnitOfMeasure3.Price3 != null)
                                {
                                        double Price31775 = (double)ItemInventoryRet.UnitOfMeasure3.Price3.GetValue();
                                }
                                //Get value of Price4
                                if (ItemInventoryRet.UnitOfMeasure3.Price4 != null)
                                {
                                        double Price41776 = (double)ItemInventoryRet.UnitOfMeasure3.Price4.GetValue();
                                }
                                //Get value of Price5
                                if (ItemInventoryRet.UnitOfMeasure3.Price5 != null)
                                {
                                        double Price51777 = (double)ItemInventoryRet.UnitOfMeasure3.Price5.GetValue();
                                }
                                //Get value of UnitOfMeasure
                                if (ItemInventoryRet.UnitOfMeasure3.UnitOfMeasure != null)
                                {
                                        string UnitOfMeasure1778 = (string)ItemInventoryRet.UnitOfMeasure3.UnitOfMeasure.GetValue();
                                }
                                //Get value of UPC
                                if (ItemInventoryRet.UnitOfMeasure3.UPC != null)
                                {
                                        string UPC1779 = (string)ItemInventoryRet.UnitOfMeasure3.UPC.GetValue();
                                }
                        }
                        if (ItemInventoryRet.VendorInfo2 != null)
                        {
                                //Get value of ALU
                                if (ItemInventoryRet.VendorInfo2.ALU != null)
                                {
                                        string ALU1780 = (string)ItemInventoryRet.VendorInfo2.ALU.GetValue();
                                }
                                //Get value of OrderCost
                                if (ItemInventoryRet.VendorInfo2.OrderCost != null)
                                {
                                        double OrderCost1781 = (double)ItemInventoryRet.VendorInfo2.OrderCost.GetValue();
                                }
                                //Get value of UPC
                                if (ItemInventoryRet.VendorInfo2.UPC != null)
                                {
                                        string UPC1782 = (string)ItemInventoryRet.VendorInfo2.UPC.GetValue();
                                }
                                //Get value of VendorListID
                                string VendorListID1783 = (string)ItemInventoryRet.VendorInfo2.VendorListID.GetValue();
                        }
                        if (ItemInventoryRet.VendorInfo3 != null)
                        {
                                //Get value of ALU
                                if (ItemInventoryRet.VendorInfo3.ALU != null)
                                {
                                        string ALU1784 = (string)ItemInventoryRet.VendorInfo3.ALU.GetValue();
                                }
                                //Get value of OrderCost
                                if (ItemInventoryRet.VendorInfo3.OrderCost != null)
                                {
                                        double OrderCost1785 = (double)ItemInventoryRet.VendorInfo3.OrderCost.GetValue();
                                }
                                //Get value of UPC
                                if (ItemInventoryRet.VendorInfo3.UPC != null)
                                {
                                        string UPC1786 = (string)ItemInventoryRet.VendorInfo3.UPC.GetValue();
                                }
                                //Get value of VendorListID
                                string VendorListID1787 = (string)ItemInventoryRet.VendorInfo3.VendorListID.GetValue();
                        }
                        if (ItemInventoryRet.VendorInfo4 != null)
                        {
                                //Get value of ALU
                                if (ItemInventoryRet.VendorInfo4.ALU != null)
                                {
                                        string ALU1788 = (string)ItemInventoryRet.VendorInfo4.ALU.GetValue();
                                }
                                //Get value of OrderCost
                                if (ItemInventoryRet.VendorInfo4.OrderCost != null)
                                {
                                        double OrderCost1789 = (double)ItemInventoryRet.VendorInfo4.OrderCost.GetValue();
                                }
                                //Get value of UPC
                                if (ItemInventoryRet.VendorInfo4.UPC != null)
                                {
                                        string UPC1790 = (string)ItemInventoryRet.VendorInfo4.UPC.GetValue();
                                }
                                //Get value of VendorListID
                                string VendorListID1791 = (string)ItemInventoryRet.VendorInfo4.VendorListID.GetValue();
                        }
                        if (ItemInventoryRet.VendorInfo5 != null)
                        {
                                //Get value of ALU
                                if (ItemInventoryRet.VendorInfo5.ALU != null)
                                {
                                        string ALU1792 = (string)ItemInventoryRet.VendorInfo5.ALU.GetValue();
                                }
                                //Get value of OrderCost
                                if (ItemInventoryRet.VendorInfo5.OrderCost != null)
                                {
                                        double OrderCost1793 = (double)ItemInventoryRet.VendorInfo5.OrderCost.GetValue();
                                }
                                //Get value of UPC
                                if (ItemInventoryRet.VendorInfo5.UPC != null)
                                {
                                        string UPC1794 = (string)ItemInventoryRet.VendorInfo5.UPC.GetValue();
                                }
                                //Get value of VendorListID
                                string VendorListID1795 = (string)ItemInventoryRet.VendorInfo5.VendorListID.GetValue();
                        }
                        if (ItemInventoryRet.DataExtRetList != null)
                        {
                                for (int i1796 = 0; i1796 < ItemInventoryRet.DataExtRetList.Count; i1796++)
                                {
                                        IDataExtRet DataExtRet = ItemInventoryRet.DataExtRetList.GetAt(i1796);
                                        //Get value of OwnerID
                                        string OwnerID1797 = (string)DataExtRet.OwnerID.GetValue();
                                        //Get value of DataExtName
                                        string DataExtName1798 = (string)DataExtRet.DataExtName.GetValue();
                                        //Get value of DataExtType
                                        ENDataExtType DataExtType1799 = (ENDataExtType)DataExtRet.DataExtType.GetValue();
                                        //Get value of DataExtValue
                                        string DataExtValue1800 = (string)DataExtRet.DataExtValue.GetValue();
                                }
                        }
                        //Get value of IsEcommerce
                        if (ItemInventoryRet.IsEcommerce != null)
                        {
                                bool IsEcommerce1801 = (bool)ItemInventoryRet.IsEcommerce.GetValue();
                        }
                        //Get value of OnlineStoreNames
                        if (ItemInventoryRet.OnlineStoreNames != null)
                        {
                                string OnlineStoreNames1802 = (string)ItemInventoryRet.OnlineStoreNames.GetValue();
                        }
                }




        }
}