SalesReceiptAdd

Adds a SalesReceipt.


Request

Response

XMLOPS

VB.NET

C#

Tag Type Max length Implementation Required

ISalesReceiptAdd

Adds a SalesReceipt.
       

defMacro

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  

Associate

The employee making the adjustment transaction.
IQBStringType 40 chars    

Cashier

Name of the employee taking the sales order. Notice that this value is auto-filled with the logged-in employee name if logins are required.
IQBStringType 16 chars    

Comments

The Comment field contains a description of the transaction, for example, why a memo was issued, or why cash was paid out (receipt).
IQBStringType 2000 chars    

CustomerListID

Unique QBPOS ID value identifying the customer being referenced.
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  

Discount

Discount amount: Enter the amount of any discount applicable to the PO. Discounts are applied to the PO subtotal. Entering an amount causes the Disc % field to be automatically calculated.
IQBAmountType      

DiscountPercent

Enter a percentage discount applicable to the PO. Discounts are applied to the PO subtotal. Entering a discount percentage causes the Disc $ field to be automatically calculated.
IQBFloatType      

PriceLevelNumber

If you are giving a price level discount to this customer, rather than discount percent, you need to specify which of the four supported levels you want to apply.
IQBENPriceLevelNumberType      

PromoCode

This field is used to record a miscellaneous note on a SalesOrder, normally identifying a special sale. An entry in this field may be required depending on settings in the company preferences.
IQBStringType 10 chars    

QuickBooksFlag

This element is used only if QBPOS is being used with QuickBooks Financial Software. The value here displays the status of data export for a memo: NOT POSTED (not yet sent to QuickBooks), COMPLETE (sent to QuickBooks), or ERROR (attempting to send the memo to QuickBooks resulted in an error). Values: NotPosted, Completed, Error, UnbilledPurchases No default value.
IQBENQuickBooksFlagType      

SalesOrderTxnID

Object reference to the specified SalesOrder. As a result of this object reference, the SalesOrder is automatically updated.
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  

SalesReceiptType

There are several receipt types in QBPOS, including the following: Sales receipts, which provide a permanent record of merchandise sold to customers. Return receipts, which record the return of merchandise from customers. Payout receipts, which record money paid out of the cash drawer for various reasons, such as to buy office supplies, donate to a local charity, or to remove cash for security reasons Deposit receipts record deposits taken on customer orders (Pro).
IQBENSalesReceiptTypeType      

ShipDate

The date the merchandise shipped.
IQBDateType      

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      

TaxCategory

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 20 chars    

TipReceiver

The QBPOS employee to whom the tip is to be paid.
IQBStringType 40 chars 2.0  

TrackingNumber

This value is the number provided to customers by the shipping company to help them track merchandise location and progress during shipment.
IQBStringType 50 chars    

TxnDate

The date of the sales receipt. In some cases, if you leave TxnDate out of an -Add message, QuickBooks will prefill TxnDate with the date of the last-saved transaction of the same type.
IQBDateType      

TxnState

Indicates whether the transaction is complete (Normal) or is a “held document” (Held) which means it is not yet finalized. For example, a saved draft pending while awaiting some work or decision.
IQBENTxnStateType   1.1  

Workstation

Workstation from which the transaction was made.
IQBIntType      

ShippingInformation

Indicates destination address and shipping method to be used to deliver the ordered merchandise.
IShippingInformation      

AddressName

Name of the ship adddress.
IQBStringType 32 chars 2.5  

City

The city name in the address.
IQBStringType 31 chars    

CompanyName

The name of the business.
IQBStringType 41 chars    

Country

The country of residence of this employee.
IQBStringType 32 chars 1.1  

FullName

Full name of the entity, for example customer or vendor fullname.
IQBStringType      

Phone

Primary Telephone number of this person or entity.
IQBStringType 40 chars    

Phone2

Alternate phone number or fax number for this person or entity. This maps to Phone 2 in the QBPOS UI.
IQBStringType 40 chars    

Phone3

Alternate phone number or fax number for this person or entity. This maps to Alt. Phone in the QBPOS UI.
IQBStringType 40 chars 1.1  

Phone4

Alternate phone number, fax number, or other contact information for this person or entity. This maps to Alt. Contact in the QBPOS UI.
IQBStringType 40 chars 1.1  

PostalCode

The postal code used in the address.
IQBStringType 10 chars    

ShipBy

The shipping method used to send merchandise to a customer.
IQBStringType 50 chars    

Shipping

Indicates the amount to be paid for shipping.
IQBAmountType      

State

The state name in the address.
IQBStringType 21 chars    

Street

Street Address of the vendor, customer, or other addressee.
IQBStringType 41 chars    

Street2

Street Address of the vendor, customer, or other addressee.
IQBStringType 41 chars 3.0  

SalesReceiptItemAddList

The list of sales receipt line item objects returned in the response.
ISalesReceiptItemAddList      

(List of ISalesReceiptItemAdd Objects)

       

TxnID

QuickBooks generates a unique TxnID for each transaction that is added to QuickBooks. A TxnID returned from a request can be used to refer to the transaction in subsequent requests. Notice that you cannot supply the TxnID of a TimeTracking transaction to TransactionQueryRq requests. If you do, you get an error stating that no such record could be found, even though the transaction is in QuickBooks. This behavior reflects the behavior in the QuicKBooks UI in the Find window.
IQBIDType   4.0  

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    

Associate

The employee making the adjustment transaction.
IQBStringType 40 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    

Commission

The commission amount for the item, based on the item price and the Associates commission percent, if item eligible for commissions.
IQBAmountType      

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      

Discount

Discount amount: Enter the amount of any discount applicable to the PO. Discounts are applied to the PO subtotal. Entering an amount causes the Disc % field to be automatically calculated.
IQBAmountType      

DiscountPercent

Enter a percentage discount applicable to the PO. Discounts are applied to the PO subtotal. Entering a discount percentage causes the Disc $ field to be automatically calculated.
IQBFloatType      

DiscountType

Allows you to specify the reason for an item discount. Discount types can be customized in company preferences and used to filter reports.
IQBStringType 32 chars    

ExtendedPrice

The extended price of a line item, which is item Quantity X item Price.
IQBAmountType      

Price

The purchase price or sales price of this item.
IQBAmountType      

Qty

The quantity of the line item being ordered or transferred.
IQBQuanType      

SerialNumber

Item serial numbers can be recorded in QBPOS for purposes of warranty tracking or meeting legal requirements. Once recorded, former documents can be quickly located by searching by serial number. To use serial number tracking: 1. In inventory, specify those items for which you want to record serial numbers by selecting PROMPT in the Serial # Tracking field. 2. When listing these items on documents (except purchase orders and cost memos), the QBPOS user is prompted to enter a unique serial number for each unit being processed. If listing several items on a document for which you have set the serial number requirement, the user is prompted to enter serial numbers for each unit of each of those items in sequence.
IQBStringType 25 chars    

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 2.0  

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    

TenderAccountAddList

The list of tender account objects contained in the response, indicating the tender accounts used to pay for items.
ITenderAccountAddList      

(List of ITenderAccountAdd Objects)

       

TenderAmount

Amount paid by the customer.
IQBAmountType     Y

TipAmount

The amount of the gratuity paid to the employee.
IQBAmountType   2.0  

TenderCashAddList

The list of tender cash objects contained in the response, indicating the cash amounts recieved in payment for items.
ITenderCashAddList      

(List of ITenderCashAdd Objects)

       

TenderAmount

Amount paid by the customer.
IQBAmountType     Y

TenderCheckAddList

The list of tender check objects contained in the response, indicating the checks tendered in payment for items.
ITenderCheckAddList      

(List of ITenderCheckAdd Objects)

       

CheckNumber

The number of the check used as payment.
IQBStringType 32 chars    

TenderAmount

Amount paid by the customer.
IQBAmountType     Y

TenderCreditCardAddList

The list of tender credit card objects contained in the response, indicating the credit card accounts used to pay for items.
ITenderCreditCardAddList      

(List of ITenderCreditCardAdd Objects)

       

CardName

The name of the credit card used in the transaction, for example, Visa.
IQBStringType 16 chars 1.1 Y

TenderAmount

Amount paid by the customer.
IQBAmountType     Y

TipAmount

The amount of the gratuity paid to the employee.
IQBAmountType   2.0  

TenderDebitCardAddList

The list of tender debit card objects contained in the response, indicating the debit card accounts used to pay for items.
ITenderDebitCardAddList   1.2  

(List of ITenderDebitCardAdd Objects)

       

Cashback

Indicates the amount of cash given back to the customer from the debit card transaction.
IQBAmountType      

TenderAmount

Amount paid by the customer.
IQBAmountType     Y

TenderDepositAddList

The list of deposit objects contained in the response, indicating the deposits made in the original transaction request.
ITenderDepositAddList      

(List of ITenderDepositAdd Objects)

       

TenderAmount

Amount paid by the customer.
IQBAmountType     Y

TenderGiftAddList

The list of tender gift certificate objects contained in the response, indicating the gift certificates used to pay for items.
ITenderGiftAddList      

(List of ITenderGiftAdd Objects)

       

GiftCertificateNumber

Number of the gift certificate used for full or partial payment.
IQBStringType 32 chars    

TenderAmount

Amount paid by the customer.
IQBAmountType     Y

TenderGiftCardAddList

The list of tender gift card objects contained in the response, indicating the gift card accounts used to pay for items.
ITenderGiftCardAddList   2.0  

(List of ITenderGiftCardAdd Objects)

       

TenderAmount

Amount paid by the customer.
IQBAmountType     Y

TipAmount

The amount of the gratuity paid to the employee.
IQBAmountType      

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  

TransactionPostedBy

The E-commerce supplier/partner name where the receipt generated for the made sale transaction. E.g. Webgility
IQBStringType 50 chars 4.0  

TransactionStoreName

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

TransactionStoreType

Name of E-Commerce Player name. E.g. Amazon, WallMart, EBay,etc…
IQBStringType 50 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

Adds a SalesReceipt.
       

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

ISalesReceiptRet      

TxnID

QuickBooks generates a unique TxnID for each transaction that is added to QuickBooks. A TxnID returned from a request can be used to refer to the transaction in subsequent requests. Notice that you cannot supply the TxnID of a TimeTracking transaction to TransactionQueryRq requests. If you do, you get an error stating that no such record could be found, even though the transaction is in QuickBooks. This behavior reflects the behavior in the QuicKBooks UI in the Find window.
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      

Associate

The employee making the adjustment transaction.
IQBStringType 40 chars    

Cashier

Name of the employee taking the sales order. Notice that this value is auto-filled with the logged-in employee name if logins are required.
IQBStringType 16 chars    

Comments

The Comment field contains a description of the transaction, for example, why a memo was issued, or why cash was paid out (receipt).
IQBStringType 2000 chars    

CustomerListID

Unique QBPOS ID value identifying the customer being referenced.
IQBIDType      

Discount

Discount amount: Enter the amount of any discount applicable to the PO. Discounts are applied to the PO subtotal. Entering an amount causes the Disc % field to be automatically calculated.
IQBAmountType      

DiscountPercent

Enter a percentage discount applicable to the PO. Discounts are applied to the PO subtotal. Entering a discount percentage causes the Disc $ field to be automatically calculated.
IQBFloatType      

HistoryDocStatus

Indicates the current status of the cost memo created as a result of this request. Status of reversed means that this was an original memo that had to be corrected. Status of reversing means that this memo caused an older memo to be reversed. Status of regular means that the document has been corrected.
IQBENHistoryDocStatusType      

ItemsCount

The number of line items in the adjustment add request that added the adjustment to QBPOS.
IQBIntType      

PriceLevelNumber

If you are giving a price level discount to this customer, rather than discount percent, you need to specify which of the four supported levels you want to apply.
IQBENPriceLevelNumberType      

PromoCode

This field is used to record a miscellaneous note on a SalesOrder, normally identifying a special sale. An entry in this field may be required depending on settings in the company preferences.
IQBStringType 10 chars    

QuickBooksFlag

This element is used only if QBPOS is being used with QuickBooks Financial Software. The value here displays the status of data export for a memo: NOT POSTED (not yet sent to QuickBooks), COMPLETE (sent to QuickBooks), or ERROR (attempting to send the memo to QuickBooks resulted in an error). Values: NotPosted, Completed, Error, UnbilledPurchases No default value.
IQBENQuickBooksFlagType      

SalesOrderTxnID

Object reference to the specified SalesOrder. As a result of this object reference, the SalesOrder is automatically updated.
IQBIDType      

SalesReceiptNumber

This is a unique number automatically assigned to the receipt at creation time by QBPOS.
IQBIntType      

SalesReceiptType

There are several receipt types in QBPOS, including the following: Sales receipts, which provide a permanent record of merchandise sold to customers. Return receipts, which record the return of merchandise from customers. Payout receipts, which record money paid out of the cash drawer for various reasons, such as to buy office supplies, donate to a local charity, or to remove cash for security reasons Deposit receipts record deposits taken on customer orders (Pro).
IQBENSalesReceiptTypeType      

ShipDate

The date the merchandise shipped.
IQBDateType      

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      

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      

Subtotal

The sum of the extended prices for all items listed on a receipt.
IQBAmountType      

TaxAmount

By default, a tax code is assigned to individual items, and the tax is calculated when the sale is made. The tax that is actually assessed depends on the tax location (tax category) that is in effect. Notice that the tax amount is returned in the response to a non-held SalesReceiptAdd request: you do not specify or set this tax amount. To change the tax, you have to set up tax category in company preferences that has the tax rate that you need. If you don’t want any taxes to be applied, for example, the sale is to a government agency or some other tax exempt entity, specify the value “Exempt” for the TaxCategory when you build your SalesReceiptAdd request.
IQBAmountType      

TaxCategory

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 20 chars    

TaxPercentage

You can specify either a tax amount or a tax percentage, but not both. The other value and the document total tax amounts will be recomputed to reflect the value you specify. Note that the Tax % field in the receipt totals area is disabled if multiple tax rates apply to sold items.
IQBFloatType      

TenderType

Identifies which payment method was used for customer payment in the transaction.
IQBENTenderTypeType      

TipReceiver

The QBPOS employee to whom the tip is to be paid.
IQBStringType 40 chars 2.0  

Total

The total PO amount after discounts and fees are applied.Total = Subtotal - Disc $ + Fee This value is updated when a voucher that references the PO is updated.
IQBAmountType      

TrackingNumber

This value is the number provided to customers by the shipping company to help them track merchandise location and progress during shipment.
IQBStringType 50 chars    

TxnDate

The date of the sales receipt. In some cases, if you leave TxnDate out of an -Add message, QuickBooks will prefill TxnDate with the date of the last-saved transaction of the same type.
IQBDateType      

TxnState

Indicates whether the transaction is complete (Normal) or is a “held document” (Held) which means it is not yet finalized. For example, a saved draft pending while awaiting some work or decision.
IQBENTxnStateType   1.1  

Workstation

Workstation from which the transaction was made.
IQBIntType      

BillingInformation

As in the QBPOS UI, this information is supplied to the SalesOrder form automatically when a customer is selected from the customer list. However, if the customer has a new address or if the customer does not yet exist in QBPOS, the required information can be supplied in these data fields.
IBillingInformation      

City

The city name in the address.
IQBStringType 31 chars    

CompanyName

The name of the business.
IQBStringType 41 chars    

Country

The country of residence of this employee.
IQBStringType 32 chars 1.1  

FirstName

The first name.
IQBStringType 30 chars    

LastName

The last name.
IQBStringType 30 chars    

Phone

Primary Telephone number of this person or entity.
IQBStringType 40 chars    

Phone2

Alternate phone number or fax number for this person or entity. This maps to Phone 2 in the QBPOS UI.
IQBStringType 40 chars    

Phone3

Alternate phone number or fax number for this person or entity. This maps to Alt. Phone in the QBPOS UI.
IQBStringType 40 chars 1.1  

Phone4

Alternate phone number, fax number, or other contact information for this person or entity. This maps to Alt. Contact in the QBPOS UI.
IQBStringType 40 chars 1.1  

PostalCode

The postal code used in the address.
IQBStringType 10 chars    

Salutation

A formal reference, such as Mr. or Dr., that precedes a name.
IQBStringType 15 chars    

State

The state name in the address.
IQBStringType 21 chars    

Street

Street Address of the vendor, customer, or other addressee.
IQBStringType 41 chars    

Street2

Street Address of the vendor, customer, or other addressee.
IQBStringType 41 chars 3.0  

WebNumber

Number used on a web site.
IQBStringType 32 chars 3.0  

ShippingInformation

Indicates destination address and shipping method to be used to deliver the ordered merchandise.
IShippingInformation      

AddressName

Name of the ship adddress.
IQBStringType 32 chars 2.5  

City

The city name in the address.
IQBStringType 31 chars    

CompanyName

The name of the business.
IQBStringType 41 chars    

Country

The country of residence of this employee.
IQBStringType 32 chars 1.1  

FullName

Full name of the entity, for example customer or vendor fullname.
IQBStringType      

Phone

Primary Telephone number of this person or entity.
IQBStringType 40 chars    

Phone2

Alternate phone number or fax number for this person or entity. This maps to Phone 2 in the QBPOS UI.
IQBStringType 40 chars    

Phone3

Alternate phone number or fax number for this person or entity. This maps to Alt. Phone in the QBPOS UI.
IQBStringType 40 chars 1.1  

Phone4

Alternate phone number, fax number, or other contact information for this person or entity. This maps to Alt. Contact in the QBPOS UI.
IQBStringType 40 chars 1.1  

PostalCode

The postal code used in the address.
IQBStringType 10 chars    

ShipBy

The shipping method used to send merchandise to a customer.
IQBStringType 50 chars    

Shipping

Indicates the amount to be paid for shipping.
IQBAmountType      

State

The state name in the address.
IQBStringType 21 chars    

Street

Street Address of the vendor, customer, or other addressee.
IQBStringType 41 chars    

Street2

Street Address of the vendor, customer, or other addressee.
IQBStringType 41 chars 3.0  

SalesReceiptItemRetList

The list of sales receipt line item objects returned in the response.
ISalesReceiptItemRetList      

(List of ISalesReceiptItemRet Objects)

       

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      

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    

Associate

The employee making the adjustment transaction.
IQBStringType 40 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    

Commission

The commission amount for the item, based on the item price and the Associates commission percent, if item eligible for commissions.
IQBAmountType      

Cost

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

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      

Discount

Discount amount: Enter the amount of any discount applicable to the PO. Discounts are applied to the PO subtotal. Entering an amount causes the Disc % field to be automatically calculated.
IQBAmountType      

DiscountPercent

Enter a percentage discount applicable to the PO. Discounts are applied to the PO subtotal. Entering a discount percentage causes the Disc $ field to be automatically calculated.
IQBFloatType      

DiscountType

Allows you to specify the reason for an item discount. Discount types can be customized in company preferences and used to filter reports.
IQBStringType 32 chars    

DiscountSource

DiscountSource may have one of the following values: None, Pricing, Manual, Reward
IQBENDiscountSourceType   2.5  

ExtendedPrice

The extended price of a line item, which is item Quantity X item Price.
IQBAmountType      

ExtendedTax

Total tax per line item in the order. Per item Tax X item Quantity
IQBAmountType      

ItemNumber

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

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   2.0  

Price

The purchase price or sales price of this item.
IQBAmountType      

PriceLevelNumber

If you are giving a price level discount to this customer, rather than discount percent, you need to specify which of the four supported levels you want to apply.
IQBENPriceLevelNumberType      

Qty

The quantity of the line item being ordered or transferred.
IQBQuanType      

SerialNumber

Item serial numbers can be recorded in QBPOS for purposes of warranty tracking or meeting legal requirements. Once recorded, former documents can be quickly located by searching by serial number. To use serial number tracking: 1. In inventory, specify those items for which you want to record serial numbers by selecting PROMPT in the Serial # Tracking field. 2. When listing these items on documents (except purchase orders and cost memos), the QBPOS user is prompted to enter a unique serial number for each unit being processed. If listing several items on a document for which you have set the serial number requirement, the user is prompted to enter serial numbers for each unit of each of those items in sequence.
IQBStringType 25 chars    

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    

TaxAmount

By default, a tax code is assigned to individual items, and the tax is calculated when the sale is made. The tax that is actually assessed depends on the tax location (tax category) that is in effect. Notice that the tax amount is returned in the response to a non-held SalesReceiptAdd request: you do not specify or set this tax amount. To change the tax, you have to set up tax category in company preferences that has the tax rate that you need. If you don’t want any taxes to be applied, for example, the sale is to a government agency or some other tax exempt entity, specify the value “Exempt” for the TaxCategory when you build your SalesReceiptAdd request.
IQBAmountType      

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      

TaxPercentage

You can specify either a tax amount or a tax percentage, but not both. The other value and the document total tax amounts will be recomputed to reflect the value you specify. Note that the Tax % field in the receipt totals area is disabled if multiple tax rates apply to sold items.
IQBFloatType      

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 2.0  

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    

WebDesc

Description of item on the web.
IQBStringType   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  

TenderAccountRetList

The list of tender account objects contained in the response, indicating the tender accounts used to pay for items.
ITenderAccountRetList      

(List of ITenderAccountRet Objects)

       

TenderAmount

Amount paid by the customer.
IQBAmountType      

TipAmount

The amount of the gratuity paid to the employee.
IQBAmountType   2.0  

TenderCashRetList

The list of tender cash objects contained in the response, indicating the cash amounts recieved in payment for items.
ITenderCashRetList      

(List of ITenderCashRet Objects)

       

TenderAmount

Amount paid by the customer.
IQBAmountType      

TenderCheckRetList

The list of tender check objects contained in the response, indicating the checks tendered in payment for items.
ITenderCheckRetList      

(List of ITenderCheckRet Objects)

       

CheckNumber

The number of the check used as payment.
IQBStringType 32 chars    

TenderAmount

Amount paid by the customer.
IQBAmountType      

TenderCreditCardRetList

The list of tender credit card objects contained in the response, indicating the credit card accounts used to pay for items.
ITenderCreditCardRetList      

(List of ITenderCreditCardRet Objects)

       

CardName

The name of the credit card used in the transaction, for example, Visa.
IQBStringType 16 chars 1.1  

TenderAmount

Amount paid by the customer.
IQBAmountType      

TipAmount

The amount of the gratuity paid to the employee.
IQBAmountType   2.0  

TenderDebitCardRetList

The list of tender debit card objects contained in the response, indicating the debit card accounts used to pay for items.
ITenderDebitCardRetList   1.2  

(List of ITenderDebitCardRet Objects)

       

Cashback

Indicates the amount of cash given back to the customer from the debit card transaction.
IQBAmountType      

TenderAmount

Amount paid by the customer.
IQBAmountType      

TenderDepositRetList

The list of deposit objects contained in the response, indicating the deposits made in the original transaction request.
ITenderDepositRetList      

(List of ITenderDepositRet Objects)

       

TenderAmount

Amount paid by the customer.
IQBAmountType      

TenderGiftRetList

The list of tender gift certificate objects contained in the response, indicating the gift certificates used to pay for items.
ITenderGiftRetList      

(List of ITenderGiftRet Objects)

       

GiftCertificateNumber

Number of the gift certificate used for full or partial payment.
IQBStringType 32 chars    

TenderAmount

Amount paid by the customer.
IQBAmountType      

TenderGiftCardRetList

The list of tender gift card objects contained in the response, indicating the gift card accounts used to pay for items.
ITenderGiftCardRetList   2.0  

(List of ITenderGiftCardRet Objects)

       

TenderAmount

Amount paid by the customer.
IQBAmountType      

TipAmount

The amount of the gratuity paid to the employee.
IQBAmountType      

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  

TransactionPostedBy

The E-commerce supplier/partner name where the receipt generated for the made sale transaction. E.g. Webgility
IQBStringType 50 chars 4.0  

TransactionStoreName

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

TransactionStoreType

Name of E-Commerce Player name. E.g. Amazon, WallMart, EBay,etc…
IQBStringType 50 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
<?xml version="1.0" encoding="utf-8"?>
<?qbposxml version="4.0"?>
<QBPOSXML>
        <QBPOSXMLMsgsRq onError="stopOnError">
                <SalesReceiptAddRq>
                        <SalesReceiptAdd defMacro="MACROTYPE"> <!-- required -->
                                <Associate >STRTYPE</Associate> <!-- optional -->
                                <Cashier >STRTYPE</Cashier> <!-- optional -->
                                <Comments >STRTYPE</Comments> <!-- optional -->
                                <CustomerListID  useMacro="MACROTYPE">IDTYPE</CustomerListID> <!-- optional -->
                                <Discount >AMTTYPE</Discount> <!-- optional -->
                                <DiscountPercent >FLOATTYPE</DiscountPercent> <!-- optional -->
                                <!-- PriceLevelNumber may have one of the following values: 1, 2, 3, 4, 5 -->
                                <PriceLevelNumber >ENUMTYPE</PriceLevelNumber> <!-- optional -->
                                <PromoCode >STRTYPE</PromoCode> <!-- optional -->
                                <!-- QuickBooksFlag may have one of the following values: NotPosted, Completed, Error, UnbilledPurchases -->
                                <QuickBooksFlag >ENUMTYPE</QuickBooksFlag> <!-- optional -->
                                <SalesOrderTxnID  useMacro="MACROTYPE">IDTYPE</SalesOrderTxnID> <!-- optional -->
                                <!-- SalesReceiptType may have one of the following values: Sales, Return, Deposit, Refund, Payout, Payin -->
                                <SalesReceiptType >ENUMTYPE</SalesReceiptType> <!-- optional -->
                                <ShipDate >DATETYPE</ShipDate> <!-- optional -->
                                <StoreNumber >INTTYPE</StoreNumber> <!-- optional -->
                                <TaxCategory >STRTYPE</TaxCategory> <!-- optional -->
                                <TipReceiver >STRTYPE</TipReceiver> <!-- optional -->
                                <TrackingNumber >STRTYPE</TrackingNumber> <!-- optional -->
                                <TxnDate >DATETYPE</TxnDate> <!-- optional -->
                                <!-- TxnState may have one of the following values: Normal, Held -->
                                <TxnState >ENUMTYPE</TxnState> <!-- optional -->
                                <Workstation >INTTYPE</Workstation> <!-- optional -->
                                <ShippingInformation> <!-- optional -->
                                        <AddressName >STRTYPE</AddressName> <!-- optional -->
                                        <City >STRTYPE</City> <!-- optional -->
                                        <CompanyName >STRTYPE</CompanyName> <!-- optional -->
                                        <Country >STRTYPE</Country> <!-- optional -->
                                        <FullName >STRTYPE</FullName> <!-- optional -->
                                        <Phone >STRTYPE</Phone> <!-- optional -->
                                        <Phone2 >STRTYPE</Phone2> <!-- optional -->
                                        <Phone3 >STRTYPE</Phone3> <!-- optional -->
                                        <Phone4 >STRTYPE</Phone4> <!-- optional -->
                                        <PostalCode >STRTYPE</PostalCode> <!-- optional -->
                                        <ShipBy >STRTYPE</ShipBy> <!-- optional -->
                                        <Shipping >AMTTYPE</Shipping> <!-- optional -->
                                        <State >STRTYPE</State> <!-- optional -->
                                        <Street >STRTYPE</Street> <!-- optional -->
                                        <Street2 >STRTYPE</Street2> <!-- optional -->
                                </ShippingInformation>
                                <SalesReceiptItemAdd> <!-- optional, may repeat -->
                                        <TxnID >IDTYPE</TxnID> <!-- optional -->
                                        <ListID  useMacro="MACROTYPE">IDTYPE</ListID> <!-- required -->
                                        <ALU >STRTYPE</ALU> <!-- optional -->
                                        <Associate >STRTYPE</Associate> <!-- optional -->
                                        <Attribute >STRTYPE</Attribute> <!-- optional -->
                                        <Commission >AMTTYPE</Commission> <!-- optional -->
                                        <Desc1 >STRTYPE</Desc1> <!-- optional -->
                                        <Desc2 >STRTYPE</Desc2> <!-- optional -->
                                        <Discount >AMTTYPE</Discount> <!-- optional -->
                                        <DiscountPercent >FLOATTYPE</DiscountPercent> <!-- optional -->
                                        <DiscountType >STRTYPE</DiscountType> <!-- optional -->
                                        <ExtendedPrice >AMTTYPE</ExtendedPrice> <!-- optional -->
                                        <Price >AMTTYPE</Price> <!-- optional -->
                                        <Qty >QUANTYPE</Qty> <!-- optional -->
                                        <SerialNumber >STRTYPE</SerialNumber> <!-- optional -->
                                        <Size >STRTYPE</Size> <!-- optional -->
                                        <TaxCode >STRTYPE</TaxCode> <!-- optional -->
                                        <UnitOfMeasure >STRTYPE</UnitOfMeasure> <!-- optional -->
                                        <UPC >STRTYPE</UPC> <!-- optional -->
                                </SalesReceiptItemAdd>
                                <TenderAccountAdd> <!-- optional, may repeat -->
                                        <TenderAmount >AMTTYPE</TenderAmount> <!-- required -->
                                        <TipAmount >AMTTYPE</TipAmount> <!-- optional -->
                                </TenderAccountAdd>
                                <TenderCashAdd> <!-- optional, may repeat -->
                                        <TenderAmount >AMTTYPE</TenderAmount> <!-- required -->
                                </TenderCashAdd>
                                <TenderCheckAdd> <!-- optional, may repeat -->
                                        <CheckNumber >STRTYPE</CheckNumber> <!-- optional -->
                                        <TenderAmount >AMTTYPE</TenderAmount> <!-- required -->
                                </TenderCheckAdd>
                                <TenderCreditCardAdd> <!-- optional, may repeat -->
                                        <CardName >STRTYPE</CardName> <!-- required -->
                                        <TenderAmount >AMTTYPE</TenderAmount> <!-- required -->
                                        <TipAmount >AMTTYPE</TipAmount> <!-- optional -->
                                </TenderCreditCardAdd>
                                <TenderDebitCardAdd> <!-- optional, may repeat -->
                                        <Cashback >AMTTYPE</Cashback> <!-- optional -->
                                        <TenderAmount >AMTTYPE</TenderAmount> <!-- required -->
                                </TenderDebitCardAdd>
                                <TenderDepositAdd> <!-- optional, may repeat -->
                                        <TenderAmount >AMTTYPE</TenderAmount> <!-- required -->
                                </TenderDepositAdd>
                                <TenderGiftAdd> <!-- optional, may repeat -->
                                        <GiftCertificateNumber >STRTYPE</GiftCertificateNumber> <!-- optional -->
                                        <TenderAmount >AMTTYPE</TenderAmount> <!-- required -->
                                </TenderGiftAdd>
                                <TenderGiftCardAdd> <!-- optional, may repeat -->
                                        <TenderAmount >AMTTYPE</TenderAmount> <!-- required -->
                                        <TipAmount >AMTTYPE</TipAmount> <!-- optional -->
                                </TenderGiftCardAdd>
                        </SalesReceiptAdd>
                        <IsEcommerce >BOOLTYPE</IsEcommerce> <!-- optional -->
                        <TransactionPostedBy >STRTYPE</TransactionPostedBy> <!-- optional -->
                        <TransactionStoreName >STRTYPE</TransactionStoreName> <!-- optional -->
                        <TransactionStoreType >STRTYPE</TransactionStoreType> <!-- optional -->
                        <IncludeRetElement >STRTYPE</IncludeRetElement> <!-- optional, may repeat -->
                </SalesReceiptAddRq>

                <SalesReceiptAddRs statusCode="INTTYPE" statusSeverity="STRTYPE" statusMessage="STRTYPE">
                        <SalesReceiptRet> <!-- optional -->
                                <TxnID >IDTYPE</TxnID> <!-- optional -->
                                <TimeCreated >DATETIMETYPE</TimeCreated> <!-- optional -->
                                <TimeModified >DATETIMETYPE</TimeModified> <!-- optional -->
                                <Associate >STRTYPE</Associate> <!-- optional -->
                                <Cashier >STRTYPE</Cashier> <!-- optional -->
                                <Comments >STRTYPE</Comments> <!-- optional -->
                                <CustomerListID >IDTYPE</CustomerListID> <!-- optional -->
                                <Discount >AMTTYPE</Discount> <!-- optional -->
                                <DiscountPercent >FLOATTYPE</DiscountPercent> <!-- optional -->
                                <!-- HistoryDocStatus may have one of the following values: Regular, Reversed, Reversing -->
                                <HistoryDocStatus >ENUMTYPE</HistoryDocStatus> <!-- optional -->
                                <ItemsCount >INTTYPE</ItemsCount> <!-- optional -->
                                <!-- PriceLevelNumber may have one of the following values: 1, 2, 3, 4, 5 -->
                                <PriceLevelNumber >ENUMTYPE</PriceLevelNumber> <!-- optional -->
                                <PromoCode >STRTYPE</PromoCode> <!-- optional -->
                                <!-- QuickBooksFlag may have one of the following values: NotPosted, Completed, Error, UnbilledPurchases -->
                                <QuickBooksFlag >ENUMTYPE</QuickBooksFlag> <!-- optional -->
                                <SalesOrderTxnID >IDTYPE</SalesOrderTxnID> <!-- optional -->
                                <SalesReceiptNumber >INTTYPE</SalesReceiptNumber> <!-- optional -->
                                <!-- SalesReceiptType may have one of the following values: Sales, Return, Deposit, Refund, Payout, Payin -->
                                <SalesReceiptType >ENUMTYPE</SalesReceiptType> <!-- optional -->
                                <ShipDate >DATETYPE</ShipDate> <!-- optional -->
                                <!-- StoreExchangeStatus may have one of the following values: Modified, Sent, Acknowledged -->
                                <StoreExchangeStatus >ENUMTYPE</StoreExchangeStatus> <!-- optional -->
                                <StoreNumber >INTTYPE</StoreNumber> <!-- optional -->
                                <Subtotal >AMTTYPE</Subtotal> <!-- optional -->
                                <TaxAmount >AMTTYPE</TaxAmount> <!-- optional -->
                                <TaxCategory >STRTYPE</TaxCategory> <!-- optional -->
                                <TaxPercentage >FLOATTYPE</TaxPercentage> <!-- optional -->
                                <!-- TenderType may have one of the following values: None, Cash, Check, CreditCard, DebitCard, GiftCard, Account, Gift, Deposit, Split -->
                                <TenderType >ENUMTYPE</TenderType> <!-- optional -->
                                <TipReceiver >STRTYPE</TipReceiver> <!-- optional -->
                                <Total >AMTTYPE</Total> <!-- optional -->
                                <TrackingNumber >STRTYPE</TrackingNumber> <!-- optional -->
                                <TxnDate >DATETYPE</TxnDate> <!-- optional -->
                                <!-- TxnState may have one of the following values: Normal, Held -->
                                <TxnState >ENUMTYPE</TxnState> <!-- optional -->
                                <Workstation >INTTYPE</Workstation> <!-- optional -->
                                <BillingInformation> <!-- optional -->
                                        <City >STRTYPE</City> <!-- optional -->
                                        <CompanyName >STRTYPE</CompanyName> <!-- optional -->
                                        <Country >STRTYPE</Country> <!-- optional -->
                                        <FirstName >STRTYPE</FirstName> <!-- optional -->
                                        <LastName >STRTYPE</LastName> <!-- optional -->
                                        <Phone >STRTYPE</Phone> <!-- optional -->
                                        <Phone2 >STRTYPE</Phone2> <!-- optional -->
                                        <Phone3 >STRTYPE</Phone3> <!-- optional -->
                                        <Phone4 >STRTYPE</Phone4> <!-- optional -->
                                        <PostalCode >STRTYPE</PostalCode> <!-- optional -->
                                        <Salutation >STRTYPE</Salutation> <!-- optional -->
                                        <State >STRTYPE</State> <!-- optional -->
                                        <Street >STRTYPE</Street> <!-- optional -->
                                        <Street2 >STRTYPE</Street2> <!-- optional -->
                                        <WebNumber >STRTYPE</WebNumber> <!-- optional -->
                                </BillingInformation>
                                <ShippingInformation> <!-- optional -->
                                        <AddressName >STRTYPE</AddressName> <!-- optional -->
                                        <City >STRTYPE</City> <!-- optional -->
                                        <CompanyName >STRTYPE</CompanyName> <!-- optional -->
                                        <Country >STRTYPE</Country> <!-- optional -->
                                        <FullName >STRTYPE</FullName> <!-- optional -->
                                        <Phone >STRTYPE</Phone> <!-- optional -->
                                        <Phone2 >STRTYPE</Phone2> <!-- optional -->
                                        <Phone3 >STRTYPE</Phone3> <!-- optional -->
                                        <Phone4 >STRTYPE</Phone4> <!-- optional -->
                                        <PostalCode >STRTYPE</PostalCode> <!-- optional -->
                                        <ShipBy >STRTYPE</ShipBy> <!-- optional -->
                                        <Shipping >AMTTYPE</Shipping> <!-- optional -->
                                        <State >STRTYPE</State> <!-- optional -->
                                        <Street >STRTYPE</Street> <!-- optional -->
                                        <Street2 >STRTYPE</Street2> <!-- optional -->
                                </ShippingInformation>
                                <SalesReceiptItemRet> <!-- optional, may repeat -->
                                        <ListID >IDTYPE</ListID> <!-- optional -->
                                        <ALU >STRTYPE</ALU> <!-- optional -->
                                        <Associate >STRTYPE</Associate> <!-- optional -->
                                        <Attribute >STRTYPE</Attribute> <!-- optional -->
                                        <Commission >AMTTYPE</Commission> <!-- optional -->
                                        <Cost >AMTTYPE</Cost> <!-- optional -->
                                        <Desc1 >STRTYPE</Desc1> <!-- optional -->
                                        <Desc2 >STRTYPE</Desc2> <!-- optional -->
                                        <Discount >AMTTYPE</Discount> <!-- optional -->
                                        <DiscountPercent >FLOATTYPE</DiscountPercent> <!-- optional -->
                                        <DiscountType >STRTYPE</DiscountType> <!-- optional -->
                                        <!-- DiscountSource may have one of the following values: None, Pricing, Manual, Reward -->
                                        <DiscountSource >ENUMTYPE</DiscountSource> <!-- optional -->
                                        <ExtendedPrice >AMTTYPE</ExtendedPrice> <!-- optional -->
                                        <ExtendedTax >AMTTYPE</ExtendedTax> <!-- optional -->
                                        <ItemNumber >INTTYPE</ItemNumber> <!-- optional -->
                                        <NumberOfBaseUnits >QUANTYPE</NumberOfBaseUnits> <!-- optional -->
                                        <Price >AMTTYPE</Price> <!-- optional -->
                                        <!-- PriceLevelNumber may have one of the following values: 1, 2, 3, 4, 5 -->
                                        <PriceLevelNumber >ENUMTYPE</PriceLevelNumber> <!-- optional -->
                                        <Qty >QUANTYPE</Qty> <!-- optional -->
                                        <SerialNumber >STRTYPE</SerialNumber> <!-- optional -->
                                        <Size >STRTYPE</Size> <!-- optional -->
                                        <TaxAmount >AMTTYPE</TaxAmount> <!-- optional -->
                                        <TaxCode >STRTYPE</TaxCode> <!-- optional -->
                                        <TaxPercentage >FLOATTYPE</TaxPercentage> <!-- optional -->
                                        <UnitOfMeasure >STRTYPE</UnitOfMeasure> <!-- optional -->
                                        <UPC >STRTYPE</UPC> <!-- optional -->
                                        <WebDesc >STRTYPE</WebDesc> <!-- optional -->
                                        <Manufacturer >STRTYPE</Manufacturer> <!-- optional -->
                                        <Weight >FLOATTYPE</Weight> <!-- optional -->
                                        <WebSKU >STRTYPE</WebSKU> <!-- optional -->
                                </SalesReceiptItemRet>
                                <TenderAccountRet> <!-- optional, may repeat -->
                                        <TenderAmount >AMTTYPE</TenderAmount> <!-- optional -->
                                        <TipAmount >AMTTYPE</TipAmount> <!-- optional -->
                                </TenderAccountRet>
                                <TenderCashRet> <!-- optional, may repeat -->
                                        <TenderAmount >AMTTYPE</TenderAmount> <!-- optional -->
                                </TenderCashRet>
                                <TenderCheckRet> <!-- optional, may repeat -->
                                        <CheckNumber >STRTYPE</CheckNumber> <!-- optional -->
                                        <TenderAmount >AMTTYPE</TenderAmount> <!-- optional -->
                                </TenderCheckRet>
                                <TenderCreditCardRet> <!-- optional, may repeat -->
                                        <CardName >STRTYPE</CardName> <!-- optional -->
                                        <TenderAmount >AMTTYPE</TenderAmount> <!-- optional -->
                                        <TipAmount >AMTTYPE</TipAmount> <!-- optional -->
                                </TenderCreditCardRet>
                                <TenderDebitCardRet> <!-- optional, may repeat -->
                                        <Cashback >AMTTYPE</Cashback> <!-- optional -->
                                        <TenderAmount >AMTTYPE</TenderAmount> <!-- optional -->
                                </TenderDebitCardRet>
                                <TenderDepositRet> <!-- optional, may repeat -->
                                        <TenderAmount >AMTTYPE</TenderAmount> <!-- optional -->
                                </TenderDepositRet>
                                <TenderGiftRet> <!-- optional, may repeat -->
                                        <GiftCertificateNumber >STRTYPE</GiftCertificateNumber> <!-- optional -->
                                        <TenderAmount >AMTTYPE</TenderAmount> <!-- optional -->
                                </TenderGiftRet>
                                <TenderGiftCardRet> <!-- optional, may repeat -->
                                        <TenderAmount >AMTTYPE</TenderAmount> <!-- optional -->
                                        <TipAmount >AMTTYPE</TipAmount> <!-- optional -->
                                </TenderGiftCardRet>
                                <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 -->
                                <TransactionPostedBy >STRTYPE</TransactionPostedBy> <!-- optional -->
                                <TransactionStoreName >STRTYPE</TransactionStoreName> <!-- optional -->
                                <TransactionStoreType >STRTYPE</TransactionStoreType> <!-- optional -->
                        </SalesReceiptRet>
                </SalesReceiptAddRs>
        </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
'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 SampleSalesReceiptAdd
                Public Sub  DoSalesReceiptAdd()
                        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

                                BuildSalesReceiptAddRq(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

                                WalkSalesReceiptAddRs(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 BuildSalesReceiptAddRq(requestMsgSet as IMsgSetRequest)
                        Dim SalesReceiptAddRq as ISalesReceiptAdd
                        SalesReceiptAddRq= requestMsgSet.AppendSalesReceiptAddRq()
                        'Set field value for Associate
                        SalesReceiptAddRq.Associate.SetValue("ab")
                        'Set field value for Cashier
                        SalesReceiptAddRq.Cashier.SetValue("ab")
                        'Set field value for Comments
                        SalesReceiptAddRq.Comments.SetValue("ab")
                        'Set field value for CustomerListID
                        SalesReceiptAddRq.CustomerListID.SetValue("200000-1011023419")
                        'Set attributes
                        'Set field value for CustomerListID to use Macro
                        SalesReceiptAddRq.CustomerListID.SetValueUseMacro("200000-1011023419")
                        'Set field value for Discount
                        SalesReceiptAddRq.Discount.SetValue(10.01)
                        'Set field value for DiscountPercent
                        SalesReceiptAddRq.DiscountPercent.SetValue(12.34)
                        'Set field value for PriceLevelNumber
                        SalesReceiptAddRq.PriceLevelNumber.SetValue(ENPriceLevelNumber.pln1)
                        'Set field value for PromoCode
                        SalesReceiptAddRq.PromoCode.SetValue("ab")
                        'Set field value for QuickBooksFlag
                        SalesReceiptAddRq.QuickBooksFlag.SetValue(ENQuickBooksFlag.qbfNotPosted)
                        'Set field value for SalesOrderTxnID
                        SalesReceiptAddRq.SalesOrderTxnID.SetValue("200000-1011023419")
                        'Set attributes
                        'Set field value for SalesOrderTxnID to use Macro
                        SalesReceiptAddRq.SalesOrderTxnID.SetValueUseMacro("200000-1011023419")
                        'Set field value for SalesReceiptType
                        SalesReceiptAddRq.SalesReceiptType.SetValue(ENSalesReceiptType.srtSales)
                        'Set field value for ShipDate
                        SalesReceiptAddRq.ShipDate.SetValue(DateTime.Parse("12/15/2007"))
                        'Set field value for StoreNumber
                        SalesReceiptAddRq.StoreNumber.SetValue(6)
                        'Set field value for TaxCategory
                        SalesReceiptAddRq.TaxCategory.SetValue("ab")
                        'Set field value for TipReceiver
                        SalesReceiptAddRq.TipReceiver.SetValue("ab")
                        'Set field value for TrackingNumber
                        SalesReceiptAddRq.TrackingNumber.SetValue("ab")
                        'Set field value for TxnDate
                        SalesReceiptAddRq.TxnDate.SetValue(DateTime.Parse("12/15/2007"))
                        'Set field value for TxnState
                        SalesReceiptAddRq.TxnState.SetValue(ENTxnState.tsNormal)
                        'Set field value for Workstation
                        SalesReceiptAddRq.Workstation.SetValue(6)
                        'Set field value for AddressName
                        SalesReceiptAddRq.ShippingInformation.AddressName.SetValue("ab")
                        'Set field value for City
                        SalesReceiptAddRq.ShippingInformation.City.SetValue("ab")
                        'Set field value for CompanyName
                        SalesReceiptAddRq.ShippingInformation.CompanyName.SetValue("ab")
                        'Set field value for Country
                        SalesReceiptAddRq.ShippingInformation.Country.SetValue("ab")
                        'Set field value for FullName
                        SalesReceiptAddRq.ShippingInformation.FullName.SetValue("ab")
                        'Set field value for Phone
                        SalesReceiptAddRq.ShippingInformation.Phone.SetValue("ab")
                        'Set field value for Phone2
                        SalesReceiptAddRq.ShippingInformation.Phone2.SetValue("ab")
                        'Set field value for Phone3
                        SalesReceiptAddRq.ShippingInformation.Phone3.SetValue("ab")
                        'Set field value for Phone4
                        SalesReceiptAddRq.ShippingInformation.Phone4.SetValue("ab")
                        'Set field value for PostalCode
                        SalesReceiptAddRq.ShippingInformation.PostalCode.SetValue("ab")
                        'Set field value for ShipBy
                        SalesReceiptAddRq.ShippingInformation.ShipBy.SetValue("ab")
                        'Set field value for Shipping
                        SalesReceiptAddRq.ShippingInformation.Shipping.SetValue(10.01)
                        'Set field value for State
                        SalesReceiptAddRq.ShippingInformation.State.SetValue("ab")
                        'Set field value for Street
                        SalesReceiptAddRq.ShippingInformation.Street.SetValue("ab")
                        'Set field value for Street2
                        SalesReceiptAddRq.ShippingInformation.Street2.SetValue("ab")
                        Dim SalesReceiptItemAdd3615 as ISalesReceiptItemAdd
                        SalesReceiptItemAdd3615=SalesReceiptAddRq.SalesReceiptItemAddList.Append()
                        'Set field value for TxnID
                        SalesReceiptItemAdd3615.TxnID.SetValue("200000-1011023419")
                        'Set field value for ListID
                        SalesReceiptItemAdd3615.ListID.SetValue("200000-1011023419")
                        'Set attributes
                        'Set field value for ListID to use Macro
                        SalesReceiptItemAdd3615.ListID.SetValueUseMacro("200000-1011023419")
                        'Set field value for ALU
                        SalesReceiptItemAdd3615.ALU.SetValue("ab")
                        'Set field value for Associate
                        SalesReceiptItemAdd3615.Associate.SetValue("ab")
                        'Set field value for Attribute
                        SalesReceiptItemAdd3615.Attribute.SetValue("ab")
                        'Set field value for Commission
                        SalesReceiptItemAdd3615.Commission.SetValue(10.01)
                        'Set field value for Desc1
                        SalesReceiptItemAdd3615.Desc1.SetValue("ab")
                        'Set field value for Desc2
                        SalesReceiptItemAdd3615.Desc2.SetValue("ab")
                        'Set field value for Discount
                        SalesReceiptItemAdd3615.Discount.SetValue(10.01)
                        'Set field value for DiscountPercent
                        SalesReceiptItemAdd3615.DiscountPercent.SetValue(12.34)
                        'Set field value for DiscountType
                        SalesReceiptItemAdd3615.DiscountType.SetValue("ab")
                        'Set field value for ExtendedPrice
                        SalesReceiptItemAdd3615.ExtendedPrice.SetValue(10.01)
                        'Set field value for Price
                        SalesReceiptItemAdd3615.Price.SetValue(10.01)
                        'Set field value for Qty
                        SalesReceiptItemAdd3615.Qty.SetValue(2)
                        'Set field value for SerialNumber
                        SalesReceiptItemAdd3615.SerialNumber.SetValue("ab")
                        'Set field value for Size
                        SalesReceiptItemAdd3615.Size.SetValue("ab")
                        'Set field value for TaxCode
                        SalesReceiptItemAdd3615.TaxCode.SetValue("ab")
                        'Set field value for UnitOfMeasure
                        SalesReceiptItemAdd3615.UnitOfMeasure.SetValue("ab")
                        'Set field value for UPC
                        SalesReceiptItemAdd3615.UPC.SetValue("ab")
                        Dim TenderAccountAdd3616 as ITenderAccountAdd
                        TenderAccountAdd3616=SalesReceiptAddRq.TenderAccountAddList.Append()
                        'Set field value for TenderAmount
                        TenderAccountAdd3616.TenderAmount.SetValue(10.01)
                        'Set field value for TipAmount
                        TenderAccountAdd3616.TipAmount.SetValue(10.01)
                        Dim TenderCashAdd3617 as ITenderCashAdd
                        TenderCashAdd3617=SalesReceiptAddRq.TenderCashAddList.Append()
                        'Set field value for TenderAmount
                        TenderCashAdd3617.TenderAmount.SetValue(10.01)
                        Dim TenderCheckAdd3618 as ITenderCheckAdd
                        TenderCheckAdd3618=SalesReceiptAddRq.TenderCheckAddList.Append()
                        'Set field value for CheckNumber
                        TenderCheckAdd3618.CheckNumber.SetValue("ab")
                        'Set field value for TenderAmount
                        TenderCheckAdd3618.TenderAmount.SetValue(10.01)
                        Dim TenderCreditCardAdd3619 as ITenderCreditCardAdd
                        TenderCreditCardAdd3619=SalesReceiptAddRq.TenderCreditCardAddList.Append()
                        'Set field value for CardName
                        TenderCreditCardAdd3619.CardName.SetValue("ab")
                        'Set field value for TenderAmount
                        TenderCreditCardAdd3619.TenderAmount.SetValue(10.01)
                        'Set field value for TipAmount
                        TenderCreditCardAdd3619.TipAmount.SetValue(10.01)
                        Dim TenderDebitCardAdd3620 as ITenderDebitCardAdd
                        TenderDebitCardAdd3620=SalesReceiptAddRq.TenderDebitCardAddList.Append()
                        'Set field value for Cashback
                        TenderDebitCardAdd3620.Cashback.SetValue(10.01)
                        'Set field value for TenderAmount
                        TenderDebitCardAdd3620.TenderAmount.SetValue(10.01)
                        Dim TenderDepositAdd3621 as ITenderDepositAdd
                        TenderDepositAdd3621=SalesReceiptAddRq.TenderDepositAddList.Append()
                        'Set field value for TenderAmount
                        TenderDepositAdd3621.TenderAmount.SetValue(10.01)
                        Dim TenderGiftAdd3622 as ITenderGiftAdd
                        TenderGiftAdd3622=SalesReceiptAddRq.TenderGiftAddList.Append()
                        'Set field value for GiftCertificateNumber
                        TenderGiftAdd3622.GiftCertificateNumber.SetValue("ab")
                        'Set field value for TenderAmount
                        TenderGiftAdd3622.TenderAmount.SetValue(10.01)
                        Dim TenderGiftCardAdd3623 as ITenderGiftCardAdd
                        TenderGiftCardAdd3623=SalesReceiptAddRq.TenderGiftCardAddList.Append()
                        'Set field value for TenderAmount
                        TenderGiftCardAdd3623.TenderAmount.SetValue(10.01)
                        'Set field value for TipAmount
                        TenderGiftCardAdd3623.TipAmount.SetValue(10.01)
                        'Set field value for IsEcommerce
                        SalesReceiptAddRq.IsEcommerce.SetValue(True)
                        'Set field value for TransactionPostedBy
                        SalesReceiptAddRq.TransactionPostedBy.SetValue("ab")
                        'Set field value for TransactionStoreName
                        SalesReceiptAddRq.TransactionStoreName.SetValue("ab")
                        'Set field value for TransactionStoreType
                        SalesReceiptAddRq.TransactionStoreType.SetValue("ab")
                        'Set field value for IncludeRetElementList
                        'May create more than one of these if needed
                        SalesReceiptAddRq.IncludeRetElementList.Add("ab")
                End Sub




                Public Sub WalkSalesReceiptAddRs( 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.rtSalesReceiptAddRs) then
                                                        'upcast to more specific type here, this is safe because we checked with response.Type check above
                                                        Dim SalesReceiptRet as ISalesReceiptRet
                                                        SalesReceiptRet = CType(response.Detail,ISalesReceiptRet)
                                                                WalkSalesReceiptRet(SalesReceiptRet)
                                                End If
                                        End If
                                End If
                        Next j
                End Sub




                Public Sub WalkSalesReceiptRet(SalesReceiptRet as ISalesReceiptRet)
                        if (SalesReceiptRet is nothing) then
                                Exit Sub
                        End If

                        'Go through all the elements of ISalesReceiptRet
                        'Get value of TxnID
                        if ( not SalesReceiptRet.TxnID is nothing) then
                                Dim TxnID3624 as String
                                TxnID3624 = SalesReceiptRet.TxnID.GetValue()
                        End If
                        'Get value of TimeCreated
                        if ( not SalesReceiptRet.TimeCreated is nothing) then
                                Dim TimeCreated3625 as DateTime
                                TimeCreated3625 = SalesReceiptRet.TimeCreated.GetValue()
                        End If
                        'Get value of TimeModified
                        if ( not SalesReceiptRet.TimeModified is nothing) then
                                Dim TimeModified3626 as DateTime
                                TimeModified3626 = SalesReceiptRet.TimeModified.GetValue()
                        End If
                        'Get value of Associate
                        if ( not SalesReceiptRet.Associate is nothing) then
                                Dim Associate3627 as String
                                Associate3627 = SalesReceiptRet.Associate.GetValue()
                        End If
                        'Get value of Cashier
                        if ( not SalesReceiptRet.Cashier is nothing) then
                                Dim Cashier3628 as String
                                Cashier3628 = SalesReceiptRet.Cashier.GetValue()
                        End If
                        'Get value of Comments
                        if ( not SalesReceiptRet.Comments is nothing) then
                                Dim Comments3629 as String
                                Comments3629 = SalesReceiptRet.Comments.GetValue()
                        End If
                        'Get value of CustomerListID
                        if ( not SalesReceiptRet.CustomerListID is nothing) then
                                Dim CustomerListID3630 as String
                                CustomerListID3630 = SalesReceiptRet.CustomerListID.GetValue()
                        End If
                        'Get value of Discount
                        if ( not SalesReceiptRet.Discount is nothing) then
                                Dim Discount3631 as Double
                                Discount3631 = SalesReceiptRet.Discount.GetValue()
                        End If
                        'Get value of DiscountPercent
                        if ( not SalesReceiptRet.DiscountPercent is nothing) then
                                Dim DiscountPercent3632 as Single
                                DiscountPercent3632 = SalesReceiptRet.DiscountPercent.GetValue()
                        End If
                        'Get value of HistoryDocStatus
                        if ( not SalesReceiptRet.HistoryDocStatus is nothing) then
                                Dim HistoryDocStatus3633 as ENHistoryDocStatus
                                HistoryDocStatus3633 = SalesReceiptRet.HistoryDocStatus.GetValue()
                        End If
                        'Get value of ItemsCount
                        if ( not SalesReceiptRet.ItemsCount is nothing) then
                                Dim ItemsCount3634 as Integer
                                ItemsCount3634 = SalesReceiptRet.ItemsCount.GetValue()
                        End If
                        'Get value of PriceLevelNumber
                        if ( not SalesReceiptRet.PriceLevelNumber is nothing) then
                                Dim PriceLevelNumber3635 as ENPriceLevelNumber
                                PriceLevelNumber3635 = SalesReceiptRet.PriceLevelNumber.GetValue()
                        End If
                        'Get value of PromoCode
                        if ( not SalesReceiptRet.PromoCode is nothing) then
                                Dim PromoCode3636 as String
                                PromoCode3636 = SalesReceiptRet.PromoCode.GetValue()
                        End If
                        'Get value of QuickBooksFlag
                        if ( not SalesReceiptRet.QuickBooksFlag is nothing) then
                                Dim QuickBooksFlag3637 as ENQuickBooksFlag
                                QuickBooksFlag3637 = SalesReceiptRet.QuickBooksFlag.GetValue()
                        End If
                        'Get value of SalesOrderTxnID
                        if ( not SalesReceiptRet.SalesOrderTxnID is nothing) then
                                Dim SalesOrderTxnID3638 as String
                                SalesOrderTxnID3638 = SalesReceiptRet.SalesOrderTxnID.GetValue()
                        End If
                        'Get value of SalesReceiptNumber
                        if ( not SalesReceiptRet.SalesReceiptNumber is nothing) then
                                Dim SalesReceiptNumber3639 as Integer
                                SalesReceiptNumber3639 = SalesReceiptRet.SalesReceiptNumber.GetValue()
                        End If
                        'Get value of SalesReceiptType
                        if ( not SalesReceiptRet.SalesReceiptType is nothing) then
                                Dim SalesReceiptType3640 as ENSalesReceiptType
                                SalesReceiptType3640 = SalesReceiptRet.SalesReceiptType.GetValue()
                        End If
                        'Get value of ShipDate
                        if ( not SalesReceiptRet.ShipDate is nothing) then
                                Dim ShipDate3641 as DateTime
                                ShipDate3641 = SalesReceiptRet.ShipDate.GetValue()
                        End If
                        'Get value of StoreExchangeStatus
                        if ( not SalesReceiptRet.StoreExchangeStatus is nothing) then
                                Dim StoreExchangeStatus3642 as ENStoreExchangeStatus
                                StoreExchangeStatus3642 = SalesReceiptRet.StoreExchangeStatus.GetValue()
                        End If
                        'Get value of StoreNumber
                        if ( not SalesReceiptRet.StoreNumber is nothing) then
                                Dim StoreNumber3643 as Integer
                                StoreNumber3643 = SalesReceiptRet.StoreNumber.GetValue()
                        End If
                        'Get value of Subtotal
                        if ( not SalesReceiptRet.Subtotal is nothing) then
                                Dim Subtotal3644 as Double
                                Subtotal3644 = SalesReceiptRet.Subtotal.GetValue()
                        End If
                        'Get value of TaxAmount
                        if ( not SalesReceiptRet.TaxAmount is nothing) then
                                Dim TaxAmount3645 as Double
                                TaxAmount3645 = SalesReceiptRet.TaxAmount.GetValue()
                        End If
                        'Get value of TaxCategory
                        if ( not SalesReceiptRet.TaxCategory is nothing) then
                                Dim TaxCategory3646 as String
                                TaxCategory3646 = SalesReceiptRet.TaxCategory.GetValue()
                        End If
                        'Get value of TaxPercentage
                        if ( not SalesReceiptRet.TaxPercentage is nothing) then
                                Dim TaxPercentage3647 as Single
                                TaxPercentage3647 = SalesReceiptRet.TaxPercentage.GetValue()
                        End If
                        'Get value of TenderType
                        if ( not SalesReceiptRet.TenderType is nothing) then
                                Dim TenderType3648 as ENTenderType
                                TenderType3648 = SalesReceiptRet.TenderType.GetValue()
                        End If
                        'Get value of TipReceiver
                        if ( not SalesReceiptRet.TipReceiver is nothing) then
                                Dim TipReceiver3649 as String
                                TipReceiver3649 = SalesReceiptRet.TipReceiver.GetValue()
                        End If
                        'Get value of Total
                        if ( not SalesReceiptRet.Total is nothing) then
                                Dim Total3650 as Double
                                Total3650 = SalesReceiptRet.Total.GetValue()
                        End If
                        'Get value of TrackingNumber
                        if ( not SalesReceiptRet.TrackingNumber is nothing) then
                                Dim TrackingNumber3651 as String
                                TrackingNumber3651 = SalesReceiptRet.TrackingNumber.GetValue()
                        End If
                        'Get value of TxnDate
                        if ( not SalesReceiptRet.TxnDate is nothing) then
                                Dim TxnDate3652 as DateTime
                                TxnDate3652 = SalesReceiptRet.TxnDate.GetValue()
                        End If
                        'Get value of TxnState
                        if ( not SalesReceiptRet.TxnState is nothing) then
                                Dim TxnState3653 as ENTxnState
                                TxnState3653 = SalesReceiptRet.TxnState.GetValue()
                        End If
                        'Get value of Workstation
                        if ( not SalesReceiptRet.Workstation is nothing) then
                                Dim Workstation3654 as Integer
                                Workstation3654 = SalesReceiptRet.Workstation.GetValue()
                        End If
                        if (not SalesReceiptRet.BillingInformation is nothing) then
                                'Get value of City
                                if ( not SalesReceiptRet.BillingInformation.City is nothing) then
                                        Dim City3655 as String
                                        City3655 = SalesReceiptRet.BillingInformation.City.GetValue()
                                End If
                                'Get value of CompanyName
                                if ( not SalesReceiptRet.BillingInformation.CompanyName is nothing) then
                                        Dim CompanyName3656 as String
                                        CompanyName3656 = SalesReceiptRet.BillingInformation.CompanyName.GetValue()
                                End If
                                'Get value of Country
                                if ( not SalesReceiptRet.BillingInformation.Country is nothing) then
                                        Dim Country3657 as String
                                        Country3657 = SalesReceiptRet.BillingInformation.Country.GetValue()
                                End If
                                'Get value of FirstName
                                if ( not SalesReceiptRet.BillingInformation.FirstName is nothing) then
                                        Dim FirstName3658 as String
                                        FirstName3658 = SalesReceiptRet.BillingInformation.FirstName.GetValue()
                                End If
                                'Get value of LastName
                                if ( not SalesReceiptRet.BillingInformation.LastName is nothing) then
                                        Dim LastName3659 as String
                                        LastName3659 = SalesReceiptRet.BillingInformation.LastName.GetValue()
                                End If
                                'Get value of Phone
                                if ( not SalesReceiptRet.BillingInformation.Phone is nothing) then
                                        Dim Phone3660 as String
                                        Phone3660 = SalesReceiptRet.BillingInformation.Phone.GetValue()
                                End If
                                'Get value of Phone2
                                if ( not SalesReceiptRet.BillingInformation.Phone2 is nothing) then
                                        Dim Phone23661 as String
                                        Phone23661 = SalesReceiptRet.BillingInformation.Phone2.GetValue()
                                End If
                                'Get value of Phone3
                                if ( not SalesReceiptRet.BillingInformation.Phone3 is nothing) then
                                        Dim Phone33662 as String
                                        Phone33662 = SalesReceiptRet.BillingInformation.Phone3.GetValue()
                                End If
                                'Get value of Phone4
                                if ( not SalesReceiptRet.BillingInformation.Phone4 is nothing) then
                                        Dim Phone43663 as String
                                        Phone43663 = SalesReceiptRet.BillingInformation.Phone4.GetValue()
                                End If
                                'Get value of PostalCode
                                if ( not SalesReceiptRet.BillingInformation.PostalCode is nothing) then
                                        Dim PostalCode3664 as String
                                        PostalCode3664 = SalesReceiptRet.BillingInformation.PostalCode.GetValue()
                                End If
                                'Get value of Salutation
                                if ( not SalesReceiptRet.BillingInformation.Salutation is nothing) then
                                        Dim Salutation3665 as String
                                        Salutation3665 = SalesReceiptRet.BillingInformation.Salutation.GetValue()
                                End If
                                'Get value of State
                                if ( not SalesReceiptRet.BillingInformation.State is nothing) then
                                        Dim State3666 as String
                                        State3666 = SalesReceiptRet.BillingInformation.State.GetValue()
                                End If
                                'Get value of Street
                                if ( not SalesReceiptRet.BillingInformation.Street is nothing) then
                                        Dim Street3667 as String
                                        Street3667 = SalesReceiptRet.BillingInformation.Street.GetValue()
                                End If
                                'Get value of Street2
                                if ( not SalesReceiptRet.BillingInformation.Street2 is nothing) then
                                        Dim Street23668 as String
                                        Street23668 = SalesReceiptRet.BillingInformation.Street2.GetValue()
                                End If
                                'Get value of WebNumber
                                if ( not SalesReceiptRet.BillingInformation.WebNumber is nothing) then
                                        Dim WebNumber3669 as String
                                        WebNumber3669 = SalesReceiptRet.BillingInformation.WebNumber.GetValue()
                                End If
                        End If
                        if (not SalesReceiptRet.ShippingInformation is nothing) then
                                'Get value of AddressName
                                if ( not SalesReceiptRet.ShippingInformation.AddressName is nothing) then
                                        Dim AddressName3670 as String
                                        AddressName3670 = SalesReceiptRet.ShippingInformation.AddressName.GetValue()
                                End If
                                'Get value of City
                                if ( not SalesReceiptRet.ShippingInformation.City is nothing) then
                                        Dim City3671 as String
                                        City3671 = SalesReceiptRet.ShippingInformation.City.GetValue()
                                End If
                                'Get value of CompanyName
                                if ( not SalesReceiptRet.ShippingInformation.CompanyName is nothing) then
                                        Dim CompanyName3672 as String
                                        CompanyName3672 = SalesReceiptRet.ShippingInformation.CompanyName.GetValue()
                                End If
                                'Get value of Country
                                if ( not SalesReceiptRet.ShippingInformation.Country is nothing) then
                                        Dim Country3673 as String
                                        Country3673 = SalesReceiptRet.ShippingInformation.Country.GetValue()
                                End If
                                'Get value of FullName
                                if ( not SalesReceiptRet.ShippingInformation.FullName is nothing) then
                                        Dim FullName3674 as String
                                        FullName3674 = SalesReceiptRet.ShippingInformation.FullName.GetValue()
                                End If
                                'Get value of Phone
                                if ( not SalesReceiptRet.ShippingInformation.Phone is nothing) then
                                        Dim Phone3675 as String
                                        Phone3675 = SalesReceiptRet.ShippingInformation.Phone.GetValue()
                                End If
                                'Get value of Phone2
                                if ( not SalesReceiptRet.ShippingInformation.Phone2 is nothing) then
                                        Dim Phone23676 as String
                                        Phone23676 = SalesReceiptRet.ShippingInformation.Phone2.GetValue()
                                End If
                                'Get value of Phone3
                                if ( not SalesReceiptRet.ShippingInformation.Phone3 is nothing) then
                                        Dim Phone33677 as String
                                        Phone33677 = SalesReceiptRet.ShippingInformation.Phone3.GetValue()
                                End If
                                'Get value of Phone4
                                if ( not SalesReceiptRet.ShippingInformation.Phone4 is nothing) then
                                        Dim Phone43678 as String
                                        Phone43678 = SalesReceiptRet.ShippingInformation.Phone4.GetValue()
                                End If
                                'Get value of PostalCode
                                if ( not SalesReceiptRet.ShippingInformation.PostalCode is nothing) then
                                        Dim PostalCode3679 as String
                                        PostalCode3679 = SalesReceiptRet.ShippingInformation.PostalCode.GetValue()
                                End If
                                'Get value of ShipBy
                                if ( not SalesReceiptRet.ShippingInformation.ShipBy is nothing) then
                                        Dim ShipBy3680 as String
                                        ShipBy3680 = SalesReceiptRet.ShippingInformation.ShipBy.GetValue()
                                End If
                                'Get value of Shipping
                                if ( not SalesReceiptRet.ShippingInformation.Shipping is nothing) then
                                        Dim Shipping3681 as Double
                                        Shipping3681 = SalesReceiptRet.ShippingInformation.Shipping.GetValue()
                                End If
                                'Get value of State
                                if ( not SalesReceiptRet.ShippingInformation.State is nothing) then
                                        Dim State3682 as String
                                        State3682 = SalesReceiptRet.ShippingInformation.State.GetValue()
                                End If
                                'Get value of Street
                                if ( not SalesReceiptRet.ShippingInformation.Street is nothing) then
                                        Dim Street3683 as String
                                        Street3683 = SalesReceiptRet.ShippingInformation.Street.GetValue()
                                End If
                                'Get value of Street2
                                if ( not SalesReceiptRet.ShippingInformation.Street2 is nothing) then
                                        Dim Street23684 as String
                                        Street23684 = SalesReceiptRet.ShippingInformation.Street2.GetValue()
                                End If
                        End If
                        if (not SalesReceiptRet.SalesReceiptItemRetList is nothing)
                                Dim i3685 as Integer
                                for i3685 = 0  to SalesReceiptRet.SalesReceiptItemRetList.Count - 1
                                        Dim SalesReceiptItemRet as ISalesReceiptItemRet
                                        SalesReceiptItemRet = SalesReceiptRet.SalesReceiptItemRetList.GetAt(i3685)
                                        'Get value of ListID
                                        if ( not SalesReceiptItemRet.ListID is nothing) then
                                                Dim ListID3686 as String
                                                ListID3686 = SalesReceiptItemRet.ListID.GetValue()
                                        End If
                                        'Get value of ALU
                                        if ( not SalesReceiptItemRet.ALU is nothing) then
                                                Dim ALU3687 as String
                                                ALU3687 = SalesReceiptItemRet.ALU.GetValue()
                                        End If
                                        'Get value of Associate
                                        if ( not SalesReceiptItemRet.Associate is nothing) then
                                                Dim Associate3688 as String
                                                Associate3688 = SalesReceiptItemRet.Associate.GetValue()
                                        End If
                                        'Get value of Attribute
                                        if ( not SalesReceiptItemRet.Attribute is nothing) then
                                                Dim Attribute3689 as String
                                                Attribute3689 = SalesReceiptItemRet.Attribute.GetValue()
                                        End If
                                        'Get value of Commission
                                        if ( not SalesReceiptItemRet.Commission is nothing) then
                                                Dim Commission3690 as Double
                                                Commission3690 = SalesReceiptItemRet.Commission.GetValue()
                                        End If
                                        'Get value of Cost
                                        if ( not SalesReceiptItemRet.Cost is nothing) then
                                                Dim Cost3691 as Double
                                                Cost3691 = SalesReceiptItemRet.Cost.GetValue()
                                        End If
                                        'Get value of Desc1
                                        if ( not SalesReceiptItemRet.Desc1 is nothing) then
                                                Dim Desc13692 as String
                                                Desc13692 = SalesReceiptItemRet.Desc1.GetValue()
                                        End If
                                        'Get value of Desc2
                                        if ( not SalesReceiptItemRet.Desc2 is nothing) then
                                                Dim Desc23693 as String
                                                Desc23693 = SalesReceiptItemRet.Desc2.GetValue()
                                        End If
                                        'Get value of Discount
                                        if ( not SalesReceiptItemRet.Discount is nothing) then
                                                Dim Discount3694 as Double
                                                Discount3694 = SalesReceiptItemRet.Discount.GetValue()
                                        End If
                                        'Get value of DiscountPercent
                                        if ( not SalesReceiptItemRet.DiscountPercent is nothing) then
                                                Dim DiscountPercent3695 as Single
                                                DiscountPercent3695 = SalesReceiptItemRet.DiscountPercent.GetValue()
                                        End If
                                        'Get value of DiscountType
                                        if ( not SalesReceiptItemRet.DiscountType is nothing) then
                                                Dim DiscountType3696 as String
                                                DiscountType3696 = SalesReceiptItemRet.DiscountType.GetValue()
                                        End If
                                        'Get value of DiscountSource
                                        if ( not SalesReceiptItemRet.DiscountSource is nothing) then
                                                Dim DiscountSource3697 as ENDiscountSource
                                                DiscountSource3697 = SalesReceiptItemRet.DiscountSource.GetValue()
                                        End If
                                        'Get value of ExtendedPrice
                                        if ( not SalesReceiptItemRet.ExtendedPrice is nothing) then
                                                Dim ExtendedPrice3698 as Double
                                                ExtendedPrice3698 = SalesReceiptItemRet.ExtendedPrice.GetValue()
                                        End If
                                        'Get value of ExtendedTax
                                        if ( not SalesReceiptItemRet.ExtendedTax is nothing) then
                                                Dim ExtendedTax3699 as Double
                                                ExtendedTax3699 = SalesReceiptItemRet.ExtendedTax.GetValue()
                                        End If
                                        'Get value of ItemNumber
                                        if ( not SalesReceiptItemRet.ItemNumber is nothing) then
                                                Dim ItemNumber3700 as Integer
                                                ItemNumber3700 = SalesReceiptItemRet.ItemNumber.GetValue()
                                        End If
                                        'Get value of NumberOfBaseUnits
                                        if ( not SalesReceiptItemRet.NumberOfBaseUnits is nothing) then
                                                Dim NumberOfBaseUnits3701 as Double
                                                NumberOfBaseUnits3701 = SalesReceiptItemRet.NumberOfBaseUnits.GetValue()
                                        End If
                                        'Get value of Price
                                        if ( not SalesReceiptItemRet.Price is nothing) then
                                                Dim Price3702 as Double
                                                Price3702 = SalesReceiptItemRet.Price.GetValue()
                                        End If
                                        'Get value of PriceLevelNumber
                                        if ( not SalesReceiptItemRet.PriceLevelNumber is nothing) then
                                                Dim PriceLevelNumber3703 as ENPriceLevelNumber
                                                PriceLevelNumber3703 = SalesReceiptItemRet.PriceLevelNumber.GetValue()
                                        End If
                                        'Get value of Qty
                                        if ( not SalesReceiptItemRet.Qty is nothing) then
                                                Dim Qty3704 as Double
                                                Qty3704 = SalesReceiptItemRet.Qty.GetValue()
                                        End If
                                        'Get value of SerialNumber
                                        if ( not SalesReceiptItemRet.SerialNumber is nothing) then
                                                Dim SerialNumber3705 as String
                                                SerialNumber3705 = SalesReceiptItemRet.SerialNumber.GetValue()
                                        End If
                                        'Get value of Size
                                        if ( not SalesReceiptItemRet.Size is nothing) then
                                                Dim Size3706 as String
                                                Size3706 = SalesReceiptItemRet.Size.GetValue()
                                        End If
                                        'Get value of TaxAmount
                                        if ( not SalesReceiptItemRet.TaxAmount is nothing) then
                                                Dim TaxAmount3707 as Double
                                                TaxAmount3707 = SalesReceiptItemRet.TaxAmount.GetValue()
                                        End If
                                        'Get value of TaxCode
                                        if ( not SalesReceiptItemRet.TaxCode is nothing) then
                                                Dim TaxCode3708 as String
                                                TaxCode3708 = SalesReceiptItemRet.TaxCode.GetValue()
                                        End If
                                        'Get value of TaxPercentage
                                        if ( not SalesReceiptItemRet.TaxPercentage is nothing) then
                                                Dim TaxPercentage3709 as Single
                                                TaxPercentage3709 = SalesReceiptItemRet.TaxPercentage.GetValue()
                                        End If
                                        'Get value of UnitOfMeasure
                                        if ( not SalesReceiptItemRet.UnitOfMeasure is nothing) then
                                                Dim UnitOfMeasure3710 as String
                                                UnitOfMeasure3710 = SalesReceiptItemRet.UnitOfMeasure.GetValue()
                                        End If
                                        'Get value of UPC
                                        if ( not SalesReceiptItemRet.UPC is nothing) then
                                                Dim UPC3711 as String
                                                UPC3711 = SalesReceiptItemRet.UPC.GetValue()
                                        End If
                                        'Get value of WebDesc
                                        if ( not SalesReceiptItemRet.WebDesc is nothing) then
                                                Dim WebDesc3712 as String
                                                WebDesc3712 = SalesReceiptItemRet.WebDesc.GetValue()
                                        End If
                                        'Get value of Manufacturer
                                        if ( not SalesReceiptItemRet.Manufacturer is nothing) then
                                                Dim Manufacturer3713 as String
                                                Manufacturer3713 = SalesReceiptItemRet.Manufacturer.GetValue()
                                        End If
                                        'Get value of Weight
                                        if ( not SalesReceiptItemRet.Weight is nothing) then
                                                Dim Weight3714 as Single
                                                Weight3714 = SalesReceiptItemRet.Weight.GetValue()
                                        End If
                                        'Get value of WebSKU
                                        if ( not SalesReceiptItemRet.WebSKU is nothing) then
                                                Dim WebSKU3715 as String
                                                WebSKU3715 = SalesReceiptItemRet.WebSKU.GetValue()
                                        End If
                                Next i3685
                        End If
                        if (not SalesReceiptRet.TenderAccountRetList is nothing)
                                Dim i3716 as Integer
                                for i3716 = 0  to SalesReceiptRet.TenderAccountRetList.Count - 1
                                        Dim TenderAccountRet as ITenderAccountRet
                                        TenderAccountRet = SalesReceiptRet.TenderAccountRetList.GetAt(i3716)
                                        'Get value of TenderAmount
                                        if ( not TenderAccountRet.TenderAmount is nothing) then
                                                Dim TenderAmount3717 as Double
                                                TenderAmount3717 = TenderAccountRet.TenderAmount.GetValue()
                                        End If
                                        'Get value of TipAmount
                                        if ( not TenderAccountRet.TipAmount is nothing) then
                                                Dim TipAmount3718 as Double
                                                TipAmount3718 = TenderAccountRet.TipAmount.GetValue()
                                        End If
                                Next i3716
                        End If
                        if (not SalesReceiptRet.TenderCashRetList is nothing)
                                Dim i3719 as Integer
                                for i3719 = 0  to SalesReceiptRet.TenderCashRetList.Count - 1
                                        Dim TenderCashRet as ITenderCashRet
                                        TenderCashRet = SalesReceiptRet.TenderCashRetList.GetAt(i3719)
                                        'Get value of TenderAmount
                                        if ( not TenderCashRet.TenderAmount is nothing) then
                                                Dim TenderAmount3720 as Double
                                                TenderAmount3720 = TenderCashRet.TenderAmount.GetValue()
                                        End If
                                Next i3719
                        End If
                        if (not SalesReceiptRet.TenderCheckRetList is nothing)
                                Dim i3721 as Integer
                                for i3721 = 0  to SalesReceiptRet.TenderCheckRetList.Count - 1
                                        Dim TenderCheckRet as ITenderCheckRet
                                        TenderCheckRet = SalesReceiptRet.TenderCheckRetList.GetAt(i3721)
                                        'Get value of CheckNumber
                                        if ( not TenderCheckRet.CheckNumber is nothing) then
                                                Dim CheckNumber3722 as String
                                                CheckNumber3722 = TenderCheckRet.CheckNumber.GetValue()
                                        End If
                                        'Get value of TenderAmount
                                        if ( not TenderCheckRet.TenderAmount is nothing) then
                                                Dim TenderAmount3723 as Double
                                                TenderAmount3723 = TenderCheckRet.TenderAmount.GetValue()
                                        End If
                                Next i3721
                        End If
                        if (not SalesReceiptRet.TenderCreditCardRetList is nothing)
                                Dim i3724 as Integer
                                for i3724 = 0  to SalesReceiptRet.TenderCreditCardRetList.Count - 1
                                        Dim TenderCreditCardRet as ITenderCreditCardRet
                                        TenderCreditCardRet = SalesReceiptRet.TenderCreditCardRetList.GetAt(i3724)
                                        'Get value of CardName
                                        if ( not TenderCreditCardRet.CardName is nothing) then
                                                Dim CardName3725 as String
                                                CardName3725 = TenderCreditCardRet.CardName.GetValue()
                                        End If
                                        'Get value of TenderAmount
                                        if ( not TenderCreditCardRet.TenderAmount is nothing) then
                                                Dim TenderAmount3726 as Double
                                                TenderAmount3726 = TenderCreditCardRet.TenderAmount.GetValue()
                                        End If
                                        'Get value of TipAmount
                                        if ( not TenderCreditCardRet.TipAmount is nothing) then
                                                Dim TipAmount3727 as Double
                                                TipAmount3727 = TenderCreditCardRet.TipAmount.GetValue()
                                        End If
                                Next i3724
                        End If
                        if (not SalesReceiptRet.TenderDebitCardRetList is nothing)
                                Dim i3728 as Integer
                                for i3728 = 0  to SalesReceiptRet.TenderDebitCardRetList.Count - 1
                                        Dim TenderDebitCardRet as ITenderDebitCardRet
                                        TenderDebitCardRet = SalesReceiptRet.TenderDebitCardRetList.GetAt(i3728)
                                        'Get value of Cashback
                                        if ( not TenderDebitCardRet.Cashback is nothing) then
                                                Dim Cashback3729 as Double
                                                Cashback3729 = TenderDebitCardRet.Cashback.GetValue()
                                        End If
                                        'Get value of TenderAmount
                                        if ( not TenderDebitCardRet.TenderAmount is nothing) then
                                                Dim TenderAmount3730 as Double
                                                TenderAmount3730 = TenderDebitCardRet.TenderAmount.GetValue()
                                        End If
                                Next i3728
                        End If
                        if (not SalesReceiptRet.TenderDepositRetList is nothing)
                                Dim i3731 as Integer
                                for i3731 = 0  to SalesReceiptRet.TenderDepositRetList.Count - 1
                                        Dim TenderDepositRet as ITenderDepositRet
                                        TenderDepositRet = SalesReceiptRet.TenderDepositRetList.GetAt(i3731)
                                        'Get value of TenderAmount
                                        if ( not TenderDepositRet.TenderAmount is nothing) then
                                                Dim TenderAmount3732 as Double
                                                TenderAmount3732 = TenderDepositRet.TenderAmount.GetValue()
                                        End If
                                Next i3731
                        End If
                        if (not SalesReceiptRet.TenderGiftRetList is nothing)
                                Dim i3733 as Integer
                                for i3733 = 0  to SalesReceiptRet.TenderGiftRetList.Count - 1
                                        Dim TenderGiftRet as ITenderGiftRet
                                        TenderGiftRet = SalesReceiptRet.TenderGiftRetList.GetAt(i3733)
                                        'Get value of GiftCertificateNumber
                                        if ( not TenderGiftRet.GiftCertificateNumber is nothing) then
                                                Dim GiftCertificateNumber3734 as String
                                                GiftCertificateNumber3734 = TenderGiftRet.GiftCertificateNumber.GetValue()
                                        End If
                                        'Get value of TenderAmount
                                        if ( not TenderGiftRet.TenderAmount is nothing) then
                                                Dim TenderAmount3735 as Double
                                                TenderAmount3735 = TenderGiftRet.TenderAmount.GetValue()
                                        End If
                                Next i3733
                        End If
                        if (not SalesReceiptRet.TenderGiftCardRetList is nothing)
                                Dim i3736 as Integer
                                for i3736 = 0  to SalesReceiptRet.TenderGiftCardRetList.Count - 1
                                        Dim TenderGiftCardRet as ITenderGiftCardRet
                                        TenderGiftCardRet = SalesReceiptRet.TenderGiftCardRetList.GetAt(i3736)
                                        'Get value of TenderAmount
                                        if ( not TenderGiftCardRet.TenderAmount is nothing) then
                                                Dim TenderAmount3737 as Double
                                                TenderAmount3737 = TenderGiftCardRet.TenderAmount.GetValue()
                                        End If
                                        'Get value of TipAmount
                                        if ( not TenderGiftCardRet.TipAmount is nothing) then
                                                Dim TipAmount3738 as Double
                                                TipAmount3738 = TenderGiftCardRet.TipAmount.GetValue()
                                        End If
                                Next i3736
                        End If
                        if (not SalesReceiptRet.DataExtRetList is nothing)
                                Dim i3739 as Integer
                                for i3739 = 0  to SalesReceiptRet.DataExtRetList.Count - 1
                                        Dim DataExtRet as IDataExtRet
                                        DataExtRet = SalesReceiptRet.DataExtRetList.GetAt(i3739)
                                        'Get value of OwnerID
                                        Dim OwnerID3740 as String
                                        OwnerID3740 = DataExtRet.OwnerID.GetValue()
                                        'Get value of DataExtName
                                        Dim DataExtName3741 as String
                                        DataExtName3741 = DataExtRet.DataExtName.GetValue()
                                        'Get value of DataExtType
                                        Dim DataExtType3742 as ENDataExtType
                                        DataExtType3742 = DataExtRet.DataExtType.GetValue()
                                        'Get value of DataExtValue
                                        Dim DataExtValue3743 as String
                                        DataExtValue3743 = DataExtRet.DataExtValue.GetValue()
                                Next i3739
                        End If
                        'Get value of IsEcommerce
                        if ( not SalesReceiptRet.IsEcommerce is nothing) then
                                Dim IsEcommerce3744 as Boolean
                                IsEcommerce3744 = SalesReceiptRet.IsEcommerce.GetValue()
                        End If
                        'Get value of TransactionPostedBy
                        if ( not SalesReceiptRet.TransactionPostedBy is nothing) then
                                Dim TransactionPostedBy3745 as String
                                TransactionPostedBy3745 = SalesReceiptRet.TransactionPostedBy.GetValue()
                        End If
                        'Get value of TransactionStoreName
                        if ( not SalesReceiptRet.TransactionStoreName is nothing) then
                                Dim TransactionStoreName3746 as String
                                TransactionStoreName3746 = SalesReceiptRet.TransactionStoreName.GetValue()
                        End If
                        'Get value of TransactionStoreType
                        if ( not SalesReceiptRet.TransactionStoreType is nothing) then
                                Dim TransactionStoreType3747 as String
                                TransactionStoreType3747 = SalesReceiptRet.TransactionStoreType.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
//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 SampleSalesReceiptAdd
        {
                public void  DoSalesReceiptAdd()
                {
                        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;

                                BuildSalesReceiptAddRq(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;

                                WalkSalesReceiptAddRs(responseMsgSet);
                        }
                        catch (Exception e)
                        {
                                MessageBox.Show(e.Message, "Error");
                                if (sessionBegun)
                                {
                                        sessionManager.EndSession();
                                }
                                if (connectionOpen)
                                {
                                        sessionManager.CloseConnection();
                                }
                        }
                }
                void BuildSalesReceiptAddRq(IMsgSetRequest requestMsgSet)
                {
                        ISalesReceiptAdd SalesReceiptAddRq= requestMsgSet.AppendSalesReceiptAddRq();
                        //Set attributes
                        //Set field value for defMacro
                        SalesReceiptAddRq.defMacro.SetValue("IQBStringType");
                        //Set field value for Associate
                        SalesReceiptAddRq.Associate.SetValue("ab");
                        //Set field value for Cashier
                        SalesReceiptAddRq.Cashier.SetValue("ab");
                        //Set field value for Comments
                        SalesReceiptAddRq.Comments.SetValue("ab");
                        //Set field value for CustomerListID
                        SalesReceiptAddRq.CustomerListID.SetValue("200000-1011023419");
                        //Set attributes
                        //Set field value for CustomerListID to use Macro
                        SalesReceiptAddRq.CustomerListID.SetValueUseMacro("200000-1011023419");
                        //Set field value for Discount
                        SalesReceiptAddRq.Discount.SetValue(10.01);
                        //Set field value for DiscountPercent
                        SalesReceiptAddRq.DiscountPercent.SetValue(12.34F);
                        //Set field value for PriceLevelNumber
                        SalesReceiptAddRq.PriceLevelNumber.SetValue(ENPriceLevelNumber.pln1);
                        //Set field value for PromoCode
                        SalesReceiptAddRq.PromoCode.SetValue("ab");
                        //Set field value for QuickBooksFlag
                        SalesReceiptAddRq.QuickBooksFlag.SetValue(ENQuickBooksFlag.qbfNotPosted);
                        //Set field value for SalesOrderTxnID
                        SalesReceiptAddRq.SalesOrderTxnID.SetValue("200000-1011023419");
                        //Set attributes
                        //Set field value for SalesOrderTxnID to use Macro
                        SalesReceiptAddRq.SalesOrderTxnID.SetValueUseMacro("200000-1011023419");
                        //Set field value for SalesReceiptType
                        SalesReceiptAddRq.SalesReceiptType.SetValue(ENSalesReceiptType.srtSales);
                        //Set field value for ShipDate
                        SalesReceiptAddRq.ShipDate.SetValue(DateTime.Parse("12/15/2007"));
                        //Set field value for StoreNumber
                        SalesReceiptAddRq.StoreNumber.SetValue(6);
                        //Set field value for TaxCategory
                        SalesReceiptAddRq.TaxCategory.SetValue("ab");
                        //Set field value for TipReceiver
                        SalesReceiptAddRq.TipReceiver.SetValue("ab");
                        //Set field value for TrackingNumber
                        SalesReceiptAddRq.TrackingNumber.SetValue("ab");
                        //Set field value for TxnDate
                        SalesReceiptAddRq.TxnDate.SetValue(DateTime.Parse("12/15/2007"));
                        //Set field value for TxnState
                        SalesReceiptAddRq.TxnState.SetValue(ENTxnState.tsNormal);
                        //Set field value for Workstation
                        SalesReceiptAddRq.Workstation.SetValue(6);
                        //Set field value for AddressName
                        SalesReceiptAddRq.ShippingInformation.AddressName.SetValue("ab");
                        //Set field value for City
                        SalesReceiptAddRq.ShippingInformation.City.SetValue("ab");
                        //Set field value for CompanyName
                        SalesReceiptAddRq.ShippingInformation.CompanyName.SetValue("ab");
                        //Set field value for Country
                        SalesReceiptAddRq.ShippingInformation.Country.SetValue("ab");
                        //Set field value for FullName
                        SalesReceiptAddRq.ShippingInformation.FullName.SetValue("ab");
                        //Set field value for Phone
                        SalesReceiptAddRq.ShippingInformation.Phone.SetValue("ab");
                        //Set field value for Phone2
                        SalesReceiptAddRq.ShippingInformation.Phone2.SetValue("ab");
                        //Set field value for Phone3
                        SalesReceiptAddRq.ShippingInformation.Phone3.SetValue("ab");
                        //Set field value for Phone4
                        SalesReceiptAddRq.ShippingInformation.Phone4.SetValue("ab");
                        //Set field value for PostalCode
                        SalesReceiptAddRq.ShippingInformation.PostalCode.SetValue("ab");
                        //Set field value for ShipBy
                        SalesReceiptAddRq.ShippingInformation.ShipBy.SetValue("ab");
                        //Set field value for Shipping
                        SalesReceiptAddRq.ShippingInformation.Shipping.SetValue(10.01);
                        //Set field value for State
                        SalesReceiptAddRq.ShippingInformation.State.SetValue("ab");
                        //Set field value for Street
                        SalesReceiptAddRq.ShippingInformation.Street.SetValue("ab");
                        //Set field value for Street2
                        SalesReceiptAddRq.ShippingInformation.Street2.SetValue("ab");
                        ISalesReceiptItemAdd SalesReceiptItemAdd3748=SalesReceiptAddRq.SalesReceiptItemAddList.Append();
                        //Set field value for TxnID
                        SalesReceiptItemAdd3748.TxnID.SetValue("200000-1011023419");
                        //Set field value for ListID
                        SalesReceiptItemAdd3748.ListID.SetValue("200000-1011023419");
                        //Set attributes
                        //Set field value for ListID to use Macro
                        SalesReceiptItemAdd3748.ListID.SetValueUseMacro("200000-1011023419");
                        //Set field value for ALU
                        SalesReceiptItemAdd3748.ALU.SetValue("ab");
                        //Set field value for Associate
                        SalesReceiptItemAdd3748.Associate.SetValue("ab");
                        //Set field value for Attribute
                        SalesReceiptItemAdd3748.Attribute.SetValue("ab");
                        //Set field value for Commission
                        SalesReceiptItemAdd3748.Commission.SetValue(10.01);
                        //Set field value for Desc1
                        SalesReceiptItemAdd3748.Desc1.SetValue("ab");
                        //Set field value for Desc2
                        SalesReceiptItemAdd3748.Desc2.SetValue("ab");
                        //Set field value for Discount
                        SalesReceiptItemAdd3748.Discount.SetValue(10.01);
                        //Set field value for DiscountPercent
                        SalesReceiptItemAdd3748.DiscountPercent.SetValue(12.34F);
                        //Set field value for DiscountType
                        SalesReceiptItemAdd3748.DiscountType.SetValue("ab");
                        //Set field value for ExtendedPrice
                        SalesReceiptItemAdd3748.ExtendedPrice.SetValue(10.01);
                        //Set field value for Price
                        SalesReceiptItemAdd3748.Price.SetValue(10.01);
                        //Set field value for Qty
                        SalesReceiptItemAdd3748.Qty.SetValue(2);
                        //Set field value for SerialNumber
                        SalesReceiptItemAdd3748.SerialNumber.SetValue("ab");
                        //Set field value for Size
                        SalesReceiptItemAdd3748.Size.SetValue("ab");
                        //Set field value for TaxCode
                        SalesReceiptItemAdd3748.TaxCode.SetValue("ab");
                        //Set field value for UnitOfMeasure
                        SalesReceiptItemAdd3748.UnitOfMeasure.SetValue("ab");
                        //Set field value for UPC
                        SalesReceiptItemAdd3748.UPC.SetValue("ab");
                        ITenderAccountAdd TenderAccountAdd3749=SalesReceiptAddRq.TenderAccountAddList.Append();
                        //Set field value for TenderAmount
                        TenderAccountAdd3749.TenderAmount.SetValue(10.01);
                        //Set field value for TipAmount
                        TenderAccountAdd3749.TipAmount.SetValue(10.01);
                        ITenderCashAdd TenderCashAdd3750=SalesReceiptAddRq.TenderCashAddList.Append();
                        //Set field value for TenderAmount
                        TenderCashAdd3750.TenderAmount.SetValue(10.01);
                        ITenderCheckAdd TenderCheckAdd3751=SalesReceiptAddRq.TenderCheckAddList.Append();
                        //Set field value for CheckNumber
                        TenderCheckAdd3751.CheckNumber.SetValue("ab");
                        //Set field value for TenderAmount
                        TenderCheckAdd3751.TenderAmount.SetValue(10.01);
                        ITenderCreditCardAdd TenderCreditCardAdd3752=SalesReceiptAddRq.TenderCreditCardAddList.Append();
                        //Set field value for CardName
                        TenderCreditCardAdd3752.CardName.SetValue("ab");
                        //Set field value for TenderAmount
                        TenderCreditCardAdd3752.TenderAmount.SetValue(10.01);
                        //Set field value for TipAmount
                        TenderCreditCardAdd3752.TipAmount.SetValue(10.01);
                        ITenderDebitCardAdd TenderDebitCardAdd3753=SalesReceiptAddRq.TenderDebitCardAddList.Append();
                        //Set field value for Cashback
                        TenderDebitCardAdd3753.Cashback.SetValue(10.01);
                        //Set field value for TenderAmount
                        TenderDebitCardAdd3753.TenderAmount.SetValue(10.01);
                        ITenderDepositAdd TenderDepositAdd3754=SalesReceiptAddRq.TenderDepositAddList.Append();
                        //Set field value for TenderAmount
                        TenderDepositAdd3754.TenderAmount.SetValue(10.01);
                        ITenderGiftAdd TenderGiftAdd3755=SalesReceiptAddRq.TenderGiftAddList.Append();
                        //Set field value for GiftCertificateNumber
                        TenderGiftAdd3755.GiftCertificateNumber.SetValue("ab");
                        //Set field value for TenderAmount
                        TenderGiftAdd3755.TenderAmount.SetValue(10.01);
                        ITenderGiftCardAdd TenderGiftCardAdd3756=SalesReceiptAddRq.TenderGiftCardAddList.Append();
                        //Set field value for TenderAmount
                        TenderGiftCardAdd3756.TenderAmount.SetValue(10.01);
                        //Set field value for TipAmount
                        TenderGiftCardAdd3756.TipAmount.SetValue(10.01);
                        //Set field value for IsEcommerce
                        SalesReceiptAddRq.IsEcommerce.SetValue(true);
                        //Set field value for TransactionPostedBy
                        SalesReceiptAddRq.TransactionPostedBy.SetValue("ab");
                        //Set field value for TransactionStoreName
                        SalesReceiptAddRq.TransactionStoreName.SetValue("ab");
                        //Set field value for TransactionStoreType
                        SalesReceiptAddRq.TransactionStoreType.SetValue("ab");
                        //Set field value for IncludeRetElementList
                        //May create more than one of these if needed
                        SalesReceiptAddRq.IncludeRetElementList.Add("ab");
                }




                void WalkSalesReceiptAddRs(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.rtSalesReceiptAddRs)
                                                {
                                                        //upcast to more specific type here, this is safe because we checked with response.Type check above
                                                        ISalesReceiptRet SalesReceiptRet = (ISalesReceiptRet)response.Detail;
                                                                WalkSalesReceiptRet(SalesReceiptRet);
                                                }
                                        }
                                }
                        }
                }




                void WalkSalesReceiptRet(ISalesReceiptRet SalesReceiptRet)
                {
                        if (SalesReceiptRet == null) return;
                        //Go through all the elements of ISalesReceiptRet
                        //Get value of TxnID
                        if (SalesReceiptRet.TxnID != null)
                        {
                                string TxnID3757 = (string)SalesReceiptRet.TxnID.GetValue();
                        }
                        //Get value of TimeCreated
                        if (SalesReceiptRet.TimeCreated != null)
                        {
                                DateTime TimeCreated3758 = (DateTime)SalesReceiptRet.TimeCreated.GetValue();
                        }
                        //Get value of TimeModified
                        if (SalesReceiptRet.TimeModified != null)
                        {
                                DateTime TimeModified3759 = (DateTime)SalesReceiptRet.TimeModified.GetValue();
                        }
                        //Get value of Associate
                        if (SalesReceiptRet.Associate != null)
                        {
                                string Associate3760 = (string)SalesReceiptRet.Associate.GetValue();
                        }
                        //Get value of Cashier
                        if (SalesReceiptRet.Cashier != null)
                        {
                                string Cashier3761 = (string)SalesReceiptRet.Cashier.GetValue();
                        }
                        //Get value of Comments
                        if (SalesReceiptRet.Comments != null)
                        {
                                string Comments3762 = (string)SalesReceiptRet.Comments.GetValue();
                        }
                        //Get value of CustomerListID
                        if (SalesReceiptRet.CustomerListID != null)
                        {
                                string CustomerListID3763 = (string)SalesReceiptRet.CustomerListID.GetValue();
                        }
                        //Get value of Discount
                        if (SalesReceiptRet.Discount != null)
                        {
                                double Discount3764 = (double)SalesReceiptRet.Discount.GetValue();
                        }
                        //Get value of DiscountPercent
                        if (SalesReceiptRet.DiscountPercent != null)
                        {
                                float DiscountPercent3765 = (float)SalesReceiptRet.DiscountPercent.GetValue();
                        }
                        //Get value of HistoryDocStatus
                        if (SalesReceiptRet.HistoryDocStatus != null)
                        {
                                ENHistoryDocStatus HistoryDocStatus3766 = (ENHistoryDocStatus)SalesReceiptRet.HistoryDocStatus.GetValue();
                        }
                        //Get value of ItemsCount
                        if (SalesReceiptRet.ItemsCount != null)
                        {
                                int ItemsCount3767 = (int)SalesReceiptRet.ItemsCount.GetValue();
                        }
                        //Get value of PriceLevelNumber
                        if (SalesReceiptRet.PriceLevelNumber != null)
                        {
                                ENPriceLevelNumber PriceLevelNumber3768 = (ENPriceLevelNumber)SalesReceiptRet.PriceLevelNumber.GetValue();
                        }
                        //Get value of PromoCode
                        if (SalesReceiptRet.PromoCode != null)
                        {
                                string PromoCode3769 = (string)SalesReceiptRet.PromoCode.GetValue();
                        }
                        //Get value of QuickBooksFlag
                        if (SalesReceiptRet.QuickBooksFlag != null)
                        {
                                ENQuickBooksFlag QuickBooksFlag3770 = (ENQuickBooksFlag)SalesReceiptRet.QuickBooksFlag.GetValue();
                        }
                        //Get value of SalesOrderTxnID
                        if (SalesReceiptRet.SalesOrderTxnID != null)
                        {
                                string SalesOrderTxnID3771 = (string)SalesReceiptRet.SalesOrderTxnID.GetValue();
                        }
                        //Get value of SalesReceiptNumber
                        if (SalesReceiptRet.SalesReceiptNumber != null)
                        {
                                int SalesReceiptNumber3772 = (int)SalesReceiptRet.SalesReceiptNumber.GetValue();
                        }
                        //Get value of SalesReceiptType
                        if (SalesReceiptRet.SalesReceiptType != null)
                        {
                                ENSalesReceiptType SalesReceiptType3773 = (ENSalesReceiptType)SalesReceiptRet.SalesReceiptType.GetValue();
                        }
                        //Get value of ShipDate
                        if (SalesReceiptRet.ShipDate != null)
                        {
                                DateTime ShipDate3774 = (DateTime)SalesReceiptRet.ShipDate.GetValue();
                        }
                        //Get value of StoreExchangeStatus
                        if (SalesReceiptRet.StoreExchangeStatus != null)
                        {
                                ENStoreExchangeStatus StoreExchangeStatus3775 = (ENStoreExchangeStatus)SalesReceiptRet.StoreExchangeStatus.GetValue();
                        }
                        //Get value of StoreNumber
                        if (SalesReceiptRet.StoreNumber != null)
                        {
                                int StoreNumber3776 = (int)SalesReceiptRet.StoreNumber.GetValue();
                        }
                        //Get value of Subtotal
                        if (SalesReceiptRet.Subtotal != null)
                        {
                                double Subtotal3777 = (double)SalesReceiptRet.Subtotal.GetValue();
                        }
                        //Get value of TaxAmount
                        if (SalesReceiptRet.TaxAmount != null)
                        {
                                double TaxAmount3778 = (double)SalesReceiptRet.TaxAmount.GetValue();
                        }
                        //Get value of TaxCategory
                        if (SalesReceiptRet.TaxCategory != null)
                        {
                                string TaxCategory3779 = (string)SalesReceiptRet.TaxCategory.GetValue();
                        }
                        //Get value of TaxPercentage
                        if (SalesReceiptRet.TaxPercentage != null)
                        {
                                float TaxPercentage3780 = (float)SalesReceiptRet.TaxPercentage.GetValue();
                        }
                        //Get value of TenderType
                        if (SalesReceiptRet.TenderType != null)
                        {
                                ENTenderType TenderType3781 = (ENTenderType)SalesReceiptRet.TenderType.GetValue();
                        }
                        //Get value of TipReceiver
                        if (SalesReceiptRet.TipReceiver != null)
                        {
                                string TipReceiver3782 = (string)SalesReceiptRet.TipReceiver.GetValue();
                        }
                        //Get value of Total
                        if (SalesReceiptRet.Total != null)
                        {
                                double Total3783 = (double)SalesReceiptRet.Total.GetValue();
                        }
                        //Get value of TrackingNumber
                        if (SalesReceiptRet.TrackingNumber != null)
                        {
                                string TrackingNumber3784 = (string)SalesReceiptRet.TrackingNumber.GetValue();
                        }
                        //Get value of TxnDate
                        if (SalesReceiptRet.TxnDate != null)
                        {
                                DateTime TxnDate3785 = (DateTime)SalesReceiptRet.TxnDate.GetValue();
                        }
                        //Get value of TxnState
                        if (SalesReceiptRet.TxnState != null)
                        {
                                ENTxnState TxnState3786 = (ENTxnState)SalesReceiptRet.TxnState.GetValue();
                        }
                        //Get value of Workstation
                        if (SalesReceiptRet.Workstation != null)
                        {
                                int Workstation3787 = (int)SalesReceiptRet.Workstation.GetValue();
                        }
                        if (SalesReceiptRet.BillingInformation != null)
                        {
                                //Get value of City
                                if (SalesReceiptRet.BillingInformation.City != null)
                                {
                                        string City3788 = (string)SalesReceiptRet.BillingInformation.City.GetValue();
                                }
                                //Get value of CompanyName
                                if (SalesReceiptRet.BillingInformation.CompanyName != null)
                                {
                                        string CompanyName3789 = (string)SalesReceiptRet.BillingInformation.CompanyName.GetValue();
                                }
                                //Get value of Country
                                if (SalesReceiptRet.BillingInformation.Country != null)
                                {
                                        string Country3790 = (string)SalesReceiptRet.BillingInformation.Country.GetValue();
                                }
                                //Get value of FirstName
                                if (SalesReceiptRet.BillingInformation.FirstName != null)
                                {
                                        string FirstName3791 = (string)SalesReceiptRet.BillingInformation.FirstName.GetValue();
                                }
                                //Get value of LastName
                                if (SalesReceiptRet.BillingInformation.LastName != null)
                                {
                                        string LastName3792 = (string)SalesReceiptRet.BillingInformation.LastName.GetValue();
                                }
                                //Get value of Phone
                                if (SalesReceiptRet.BillingInformation.Phone != null)
                                {
                                        string Phone3793 = (string)SalesReceiptRet.BillingInformation.Phone.GetValue();
                                }
                                //Get value of Phone2
                                if (SalesReceiptRet.BillingInformation.Phone2 != null)
                                {
                                        string Phone23794 = (string)SalesReceiptRet.BillingInformation.Phone2.GetValue();
                                }
                                //Get value of Phone3
                                if (SalesReceiptRet.BillingInformation.Phone3 != null)
                                {
                                        string Phone33795 = (string)SalesReceiptRet.BillingInformation.Phone3.GetValue();
                                }
                                //Get value of Phone4
                                if (SalesReceiptRet.BillingInformation.Phone4 != null)
                                {
                                        string Phone43796 = (string)SalesReceiptRet.BillingInformation.Phone4.GetValue();
                                }
                                //Get value of PostalCode
                                if (SalesReceiptRet.BillingInformation.PostalCode != null)
                                {
                                        string PostalCode3797 = (string)SalesReceiptRet.BillingInformation.PostalCode.GetValue();
                                }
                                //Get value of Salutation
                                if (SalesReceiptRet.BillingInformation.Salutation != null)
                                {
                                        string Salutation3798 = (string)SalesReceiptRet.BillingInformation.Salutation.GetValue();
                                }
                                //Get value of State
                                if (SalesReceiptRet.BillingInformation.State != null)
                                {
                                        string State3799 = (string)SalesReceiptRet.BillingInformation.State.GetValue();
                                }
                                //Get value of Street
                                if (SalesReceiptRet.BillingInformation.Street != null)
                                {
                                        string Street3800 = (string)SalesReceiptRet.BillingInformation.Street.GetValue();
                                }
                                //Get value of Street2
                                if (SalesReceiptRet.BillingInformation.Street2 != null)
                                {
                                        string Street23801 = (string)SalesReceiptRet.BillingInformation.Street2.GetValue();
                                }
                                //Get value of WebNumber
                                if (SalesReceiptRet.BillingInformation.WebNumber != null)
                                {
                                        string WebNumber3802 = (string)SalesReceiptRet.BillingInformation.WebNumber.GetValue();
                                }
                        }
                        if (SalesReceiptRet.ShippingInformation != null)
                        {
                                //Get value of AddressName
                                if (SalesReceiptRet.ShippingInformation.AddressName != null)
                                {
                                        string AddressName3803 = (string)SalesReceiptRet.ShippingInformation.AddressName.GetValue();
                                }
                                //Get value of City
                                if (SalesReceiptRet.ShippingInformation.City != null)
                                {
                                        string City3804 = (string)SalesReceiptRet.ShippingInformation.City.GetValue();
                                }
                                //Get value of CompanyName
                                if (SalesReceiptRet.ShippingInformation.CompanyName != null)
                                {
                                        string CompanyName3805 = (string)SalesReceiptRet.ShippingInformation.CompanyName.GetValue();
                                }
                                //Get value of Country
                                if (SalesReceiptRet.ShippingInformation.Country != null)
                                {
                                        string Country3806 = (string)SalesReceiptRet.ShippingInformation.Country.GetValue();
                                }
                                //Get value of FullName
                                if (SalesReceiptRet.ShippingInformation.FullName != null)
                                {
                                        string FullName3807 = (string)SalesReceiptRet.ShippingInformation.FullName.GetValue();
                                }
                                //Get value of Phone
                                if (SalesReceiptRet.ShippingInformation.Phone != null)
                                {
                                        string Phone3808 = (string)SalesReceiptRet.ShippingInformation.Phone.GetValue();
                                }
                                //Get value of Phone2
                                if (SalesReceiptRet.ShippingInformation.Phone2 != null)
                                {
                                        string Phone23809 = (string)SalesReceiptRet.ShippingInformation.Phone2.GetValue();
                                }
                                //Get value of Phone3
                                if (SalesReceiptRet.ShippingInformation.Phone3 != null)
                                {
                                        string Phone33810 = (string)SalesReceiptRet.ShippingInformation.Phone3.GetValue();
                                }
                                //Get value of Phone4
                                if (SalesReceiptRet.ShippingInformation.Phone4 != null)
                                {
                                        string Phone43811 = (string)SalesReceiptRet.ShippingInformation.Phone4.GetValue();
                                }
                                //Get value of PostalCode
                                if (SalesReceiptRet.ShippingInformation.PostalCode != null)
                                {
                                        string PostalCode3812 = (string)SalesReceiptRet.ShippingInformation.PostalCode.GetValue();
                                }
                                //Get value of ShipBy
                                if (SalesReceiptRet.ShippingInformation.ShipBy != null)
                                {
                                        string ShipBy3813 = (string)SalesReceiptRet.ShippingInformation.ShipBy.GetValue();
                                }
                                //Get value of Shipping
                                if (SalesReceiptRet.ShippingInformation.Shipping != null)
                                {
                                        double Shipping3814 = (double)SalesReceiptRet.ShippingInformation.Shipping.GetValue();
                                }
                                //Get value of State
                                if (SalesReceiptRet.ShippingInformation.State != null)
                                {
                                        string State3815 = (string)SalesReceiptRet.ShippingInformation.State.GetValue();
                                }
                                //Get value of Street
                                if (SalesReceiptRet.ShippingInformation.Street != null)
                                {
                                        string Street3816 = (string)SalesReceiptRet.ShippingInformation.Street.GetValue();
                                }
                                //Get value of Street2
                                if (SalesReceiptRet.ShippingInformation.Street2 != null)
                                {
                                        string Street23817 = (string)SalesReceiptRet.ShippingInformation.Street2.GetValue();
                                }
                        }
                        if (SalesReceiptRet.SalesReceiptItemRetList != null)
                        {
                                for (int i3818 = 0; i3818 < SalesReceiptRet.SalesReceiptItemRetList.Count; i3818++)
                                {
                                        ISalesReceiptItemRet SalesReceiptItemRet = SalesReceiptRet.SalesReceiptItemRetList.GetAt(i3818);
                                        //Get value of ListID
                                        if (SalesReceiptItemRet.ListID != null)
                                        {
                                                string ListID3819 = (string)SalesReceiptItemRet.ListID.GetValue();
                                        }
                                        //Get value of ALU
                                        if (SalesReceiptItemRet.ALU != null)
                                        {
                                                string ALU3820 = (string)SalesReceiptItemRet.ALU.GetValue();
                                        }
                                        //Get value of Associate
                                        if (SalesReceiptItemRet.Associate != null)
                                        {
                                                string Associate3821 = (string)SalesReceiptItemRet.Associate.GetValue();
                                        }
                                        //Get value of Attribute
                                        if (SalesReceiptItemRet.Attribute != null)
                                        {
                                                string Attribute3822 = (string)SalesReceiptItemRet.Attribute.GetValue();
                                        }
                                        //Get value of Commission
                                        if (SalesReceiptItemRet.Commission != null)
                                        {
                                                double Commission3823 = (double)SalesReceiptItemRet.Commission.GetValue();
                                        }
                                        //Get value of Cost
                                        if (SalesReceiptItemRet.Cost != null)
                                        {
                                                double Cost3824 = (double)SalesReceiptItemRet.Cost.GetValue();
                                        }
                                        //Get value of Desc1
                                        if (SalesReceiptItemRet.Desc1 != null)
                                        {
                                                string Desc13825 = (string)SalesReceiptItemRet.Desc1.GetValue();
                                        }
                                        //Get value of Desc2
                                        if (SalesReceiptItemRet.Desc2 != null)
                                        {
                                                string Desc23826 = (string)SalesReceiptItemRet.Desc2.GetValue();
                                        }
                                        //Get value of Discount
                                        if (SalesReceiptItemRet.Discount != null)
                                        {
                                                double Discount3827 = (double)SalesReceiptItemRet.Discount.GetValue();
                                        }
                                        //Get value of DiscountPercent
                                        if (SalesReceiptItemRet.DiscountPercent != null)
                                        {
                                                float DiscountPercent3828 = (float)SalesReceiptItemRet.DiscountPercent.GetValue();
                                        }
                                        //Get value of DiscountType
                                        if (SalesReceiptItemRet.DiscountType != null)
                                        {
                                                string DiscountType3829 = (string)SalesReceiptItemRet.DiscountType.GetValue();
                                        }
                                        //Get value of DiscountSource
                                        if (SalesReceiptItemRet.DiscountSource != null)
                                        {
                                                ENDiscountSource DiscountSource3830 = (ENDiscountSource)SalesReceiptItemRet.DiscountSource.GetValue();
                                        }
                                        //Get value of ExtendedPrice
                                        if (SalesReceiptItemRet.ExtendedPrice != null)
                                        {
                                                double ExtendedPrice3831 = (double)SalesReceiptItemRet.ExtendedPrice.GetValue();
                                        }
                                        //Get value of ExtendedTax
                                        if (SalesReceiptItemRet.ExtendedTax != null)
                                        {
                                                double ExtendedTax3832 = (double)SalesReceiptItemRet.ExtendedTax.GetValue();
                                        }
                                        //Get value of ItemNumber
                                        if (SalesReceiptItemRet.ItemNumber != null)
                                        {
                                                int ItemNumber3833 = (int)SalesReceiptItemRet.ItemNumber.GetValue();
                                        }
                                        //Get value of NumberOfBaseUnits
                                        if (SalesReceiptItemRet.NumberOfBaseUnits != null)
                                        {
                                                int NumberOfBaseUnits3834 = (int)SalesReceiptItemRet.NumberOfBaseUnits.GetValue();
                                        }
                                        //Get value of Price
                                        if (SalesReceiptItemRet.Price != null)
                                        {
                                                double Price3835 = (double)SalesReceiptItemRet.Price.GetValue();
                                        }
                                        //Get value of PriceLevelNumber
                                        if (SalesReceiptItemRet.PriceLevelNumber != null)
                                        {
                                                ENPriceLevelNumber PriceLevelNumber3836 = (ENPriceLevelNumber)SalesReceiptItemRet.PriceLevelNumber.GetValue();
                                        }
                                        //Get value of Qty
                                        if (SalesReceiptItemRet.Qty != null)
                                        {
                                                int Qty3837 = (int)SalesReceiptItemRet.Qty.GetValue();
                                        }
                                        //Get value of SerialNumber
                                        if (SalesReceiptItemRet.SerialNumber != null)
                                        {
                                                string SerialNumber3838 = (string)SalesReceiptItemRet.SerialNumber.GetValue();
                                        }
                                        //Get value of Size
                                        if (SalesReceiptItemRet.Size != null)
                                        {
                                                string Size3839 = (string)SalesReceiptItemRet.Size.GetValue();
                                        }
                                        //Get value of TaxAmount
                                        if (SalesReceiptItemRet.TaxAmount != null)
                                        {
                                                double TaxAmount3840 = (double)SalesReceiptItemRet.TaxAmount.GetValue();
                                        }
                                        //Get value of TaxCode
                                        if (SalesReceiptItemRet.TaxCode != null)
                                        {
                                                string TaxCode3841 = (string)SalesReceiptItemRet.TaxCode.GetValue();
                                        }
                                        //Get value of TaxPercentage
                                        if (SalesReceiptItemRet.TaxPercentage != null)
                                        {
                                                float TaxPercentage3842 = (float)SalesReceiptItemRet.TaxPercentage.GetValue();
                                        }
                                        //Get value of UnitOfMeasure
                                        if (SalesReceiptItemRet.UnitOfMeasure != null)
                                        {
                                                string UnitOfMeasure3843 = (string)SalesReceiptItemRet.UnitOfMeasure.GetValue();
                                        }
                                        //Get value of UPC
                                        if (SalesReceiptItemRet.UPC != null)
                                        {
                                                string UPC3844 = (string)SalesReceiptItemRet.UPC.GetValue();
                                        }
                                        //Get value of WebDesc
                                        if (SalesReceiptItemRet.WebDesc != null)
                                        {
                                                string WebDesc3845 = (string)SalesReceiptItemRet.WebDesc.GetValue();
                                        }
                                        //Get value of Manufacturer
                                        if (SalesReceiptItemRet.Manufacturer != null)
                                        {
                                                string Manufacturer3846 = (string)SalesReceiptItemRet.Manufacturer.GetValue();
                                        }
                                        //Get value of Weight
                                        if (SalesReceiptItemRet.Weight != null)
                                        {
                                                float Weight3847 = (float)SalesReceiptItemRet.Weight.GetValue();
                                        }
                                        //Get value of WebSKU
                                        if (SalesReceiptItemRet.WebSKU != null)
                                        {
                                                string WebSKU3848 = (string)SalesReceiptItemRet.WebSKU.GetValue();
                                        }
                                }
                        }
                        if (SalesReceiptRet.TenderAccountRetList != null)
                        {
                                for (int i3849 = 0; i3849 < SalesReceiptRet.TenderAccountRetList.Count; i3849++)
                                {
                                        ITenderAccountRet TenderAccountRet = SalesReceiptRet.TenderAccountRetList.GetAt(i3849);
                                        //Get value of TenderAmount
                                        if (TenderAccountRet.TenderAmount != null)
                                        {
                                                double TenderAmount3850 = (double)TenderAccountRet.TenderAmount.GetValue();
                                        }
                                        //Get value of TipAmount
                                        if (TenderAccountRet.TipAmount != null)
                                        {
                                                double TipAmount3851 = (double)TenderAccountRet.TipAmount.GetValue();
                                        }
                                }
                        }
                        if (SalesReceiptRet.TenderCashRetList != null)
                        {
                                for (int i3852 = 0; i3852 < SalesReceiptRet.TenderCashRetList.Count; i3852++)
                                {
                                        ITenderCashRet TenderCashRet = SalesReceiptRet.TenderCashRetList.GetAt(i3852);
                                        //Get value of TenderAmount
                                        if (TenderCashRet.TenderAmount != null)
                                        {
                                                double TenderAmount3853 = (double)TenderCashRet.TenderAmount.GetValue();
                                        }
                                }
                        }
                        if (SalesReceiptRet.TenderCheckRetList != null)
                        {
                                for (int i3854 = 0; i3854 < SalesReceiptRet.TenderCheckRetList.Count; i3854++)
                                {
                                        ITenderCheckRet TenderCheckRet = SalesReceiptRet.TenderCheckRetList.GetAt(i3854);
                                        //Get value of CheckNumber
                                        if (TenderCheckRet.CheckNumber != null)
                                        {
                                                string CheckNumber3855 = (string)TenderCheckRet.CheckNumber.GetValue();
                                        }
                                        //Get value of TenderAmount
                                        if (TenderCheckRet.TenderAmount != null)
                                        {
                                                double TenderAmount3856 = (double)TenderCheckRet.TenderAmount.GetValue();
                                        }
                                }
                        }
                        if (SalesReceiptRet.TenderCreditCardRetList != null)
                        {
                                for (int i3857 = 0; i3857 < SalesReceiptRet.TenderCreditCardRetList.Count; i3857++)
                                {
                                        ITenderCreditCardRet TenderCreditCardRet = SalesReceiptRet.TenderCreditCardRetList.GetAt(i3857);
                                        //Get value of CardName
                                        if (TenderCreditCardRet.CardName != null)
                                        {
                                                string CardName3858 = (string)TenderCreditCardRet.CardName.GetValue();
                                        }
                                        //Get value of TenderAmount
                                        if (TenderCreditCardRet.TenderAmount != null)
                                        {
                                                double TenderAmount3859 = (double)TenderCreditCardRet.TenderAmount.GetValue();
                                        }
                                        //Get value of TipAmount
                                        if (TenderCreditCardRet.TipAmount != null)
                                        {
                                                double TipAmount3860 = (double)TenderCreditCardRet.TipAmount.GetValue();
                                        }
                                }
                        }
                        if (SalesReceiptRet.TenderDebitCardRetList != null)
                        {
                                for (int i3861 = 0; i3861 < SalesReceiptRet.TenderDebitCardRetList.Count; i3861++)
                                {
                                        ITenderDebitCardRet TenderDebitCardRet = SalesReceiptRet.TenderDebitCardRetList.GetAt(i3861);
                                        //Get value of Cashback
                                        if (TenderDebitCardRet.Cashback != null)
                                        {
                                                double Cashback3862 = (double)TenderDebitCardRet.Cashback.GetValue();
                                        }
                                        //Get value of TenderAmount
                                        if (TenderDebitCardRet.TenderAmount != null)
                                        {
                                                double TenderAmount3863 = (double)TenderDebitCardRet.TenderAmount.GetValue();
                                        }
                                }
                        }
                        if (SalesReceiptRet.TenderDepositRetList != null)
                        {
                                for (int i3864 = 0; i3864 < SalesReceiptRet.TenderDepositRetList.Count; i3864++)
                                {
                                        ITenderDepositRet TenderDepositRet = SalesReceiptRet.TenderDepositRetList.GetAt(i3864);
                                        //Get value of TenderAmount
                                        if (TenderDepositRet.TenderAmount != null)
                                        {
                                                double TenderAmount3865 = (double)TenderDepositRet.TenderAmount.GetValue();
                                        }
                                }
                        }
                        if (SalesReceiptRet.TenderGiftRetList != null)
                        {
                                for (int i3866 = 0; i3866 < SalesReceiptRet.TenderGiftRetList.Count; i3866++)
                                {
                                        ITenderGiftRet TenderGiftRet = SalesReceiptRet.TenderGiftRetList.GetAt(i3866);
                                        //Get value of GiftCertificateNumber
                                        if (TenderGiftRet.GiftCertificateNumber != null)
                                        {
                                                string GiftCertificateNumber3867 = (string)TenderGiftRet.GiftCertificateNumber.GetValue();
                                        }
                                        //Get value of TenderAmount
                                        if (TenderGiftRet.TenderAmount != null)
                                        {
                                                double TenderAmount3868 = (double)TenderGiftRet.TenderAmount.GetValue();
                                        }
                                }
                        }
                        if (SalesReceiptRet.TenderGiftCardRetList != null)
                        {
                                for (int i3869 = 0; i3869 < SalesReceiptRet.TenderGiftCardRetList.Count; i3869++)
                                {
                                        ITenderGiftCardRet TenderGiftCardRet = SalesReceiptRet.TenderGiftCardRetList.GetAt(i3869);
                                        //Get value of TenderAmount
                                        if (TenderGiftCardRet.TenderAmount != null)
                                        {
                                                double TenderAmount3870 = (double)TenderGiftCardRet.TenderAmount.GetValue();
                                        }
                                        //Get value of TipAmount
                                        if (TenderGiftCardRet.TipAmount != null)
                                        {
                                                double TipAmount3871 = (double)TenderGiftCardRet.TipAmount.GetValue();
                                        }
                                }
                        }
                        if (SalesReceiptRet.DataExtRetList != null)
                        {
                                for (int i3872 = 0; i3872 < SalesReceiptRet.DataExtRetList.Count; i3872++)
                                {
                                        IDataExtRet DataExtRet = SalesReceiptRet.DataExtRetList.GetAt(i3872);
                                        //Get value of OwnerID
                                        string OwnerID3873 = (string)DataExtRet.OwnerID.GetValue();
                                        //Get value of DataExtName
                                        string DataExtName3874 = (string)DataExtRet.DataExtName.GetValue();
                                        //Get value of DataExtType
                                        ENDataExtType DataExtType3875 = (ENDataExtType)DataExtRet.DataExtType.GetValue();
                                        //Get value of DataExtValue
                                        string DataExtValue3876 = (string)DataExtRet.DataExtValue.GetValue();
                                }
                        }
                        //Get value of IsEcommerce
                        if (SalesReceiptRet.IsEcommerce != null)
                        {
                                bool IsEcommerce3877 = (bool)SalesReceiptRet.IsEcommerce.GetValue();
                        }
                        //Get value of TransactionPostedBy
                        if (SalesReceiptRet.TransactionPostedBy != null)
                        {
                                string TransactionPostedBy3878 = (string)SalesReceiptRet.TransactionPostedBy.GetValue();
                        }
                        //Get value of TransactionStoreName
                        if (SalesReceiptRet.TransactionStoreName != null)
                        {
                                string TransactionStoreName3879 = (string)SalesReceiptRet.TransactionStoreName.GetValue();
                        }
                        //Get value of TransactionStoreType
                        if (SalesReceiptRet.TransactionStoreType != null)
                        {
                                string TransactionStoreType3880 = (string)SalesReceiptRet.TransactionStoreType.GetValue();
                        }
                }




        }
}