SalesReceiptQuery

Returns the SalesReceipts specified in the filter criteria.


Request

Response

XMLOPS

VB.NET

C#

Tag Type Max length Implementation Required

ISalesReceiptQuery

Returns the SalesReceipts specified in the filter criteria.
       

metaData

This is used in a query to cause a count of query objects to be returned. You can specify that the count of query objects is to be returned with the returned objects, or you can specify that only a count and no data is returned. (The default is that no count is returned.) A common use of this feature is to specify a count with no data in order to determine how many objects to expect from the actual query. If you don’t want a query to return a count, either don’t use this feature, or specify the value NoMetaData. If you want only a count, specify the value MetaDataOnly. If you want data and a count, specify MetaDataAndResponseData. You should be aware that the count returned via this setting is not guaranteed to be exact: it could be off slightly due to new object creation or deletions.
IQBENmetaDataType   4.0|us.png|  

iterator

The iterator attribute provided with most query types also allows you to break down query results in smaller and more manageable chunks of data. An iterator results in responses that contain only the specified number of objects. Iterators are only valid for the application that starts them, and they are only valid for the current QuickBooks session.
IQBENiteratorType   5.0|us.png|  

iteratorID

The iterator query attribute is provided with most query types to allow you to break down query results into smaller and more manageable chunks of data. An iterator results in responses that contain only the specified number of objects. The iterator is created when a query contains the iterator attribute set to Start, along with a MaxReturn value specifying how many records are to be returned in each iteration. The response to that first query iteration contains, along with the response data, an IteratorID value that uniquely identifies that iterator. This is important because you can have many iterators active at the same time. Accordingly, in subsequent iterations of that query, you need to supply that returned iteratorID so the SDK knows where to resume the iteration.
IQBUUIDType   5.0|us.png|  

MaxReturned

This element is used for limiting the number of objects returned in the query to the number specified in MaxReturned. It is required if you use the Iterator attribute to iterate through large or potentially large query returns. When used with the Iterator, MaxReturned specifies the number of records returned in each iteration. It can be modified during the iteration. For details on the Iterator, please refer to the QBPOS SDK Programming Guide. A less optimal, but still possible way to use this element is as follows. You can use this element by itself to chunk up data, by initially using a range filter with the desired starting (From range) and ending range (To range). Then, in subsequent queries, leave the To range alone, but change the From range to coincide with the last object from the previous query.
IQBIntType      

OwnerIDList

The list of Owner IDs in the requests. An ownerID refers to the owner of a data extension:If OwnerID is 0, this is a public data extension. For example, if you intend to use this with a custom field that is supported in the UI, you must use an owner ID of 0.If OwnerID is a GUID, for example {6B063959-81B0-4622-85D6-F548C8CCB517}, this field is a private data extension defined by an integrated application. Note that OwnerID values are not case-sensitive, meaning that if you enter an OwnerID value with lower-case letters, the value will be saved and returned with upper-case letters. When you share a private 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.
IGUIDList      

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      

ORTimeCreatedFilters

IORTimeCreatedFilters   1.1  

TimeCreatedFilter

Filters by the object’s time created value.
ITimeCreatedFilter      

MatchNumericCriterion

Specifies how the specified numeric value will filter the target objects, that is, specifies the the comparison that will be used.
IQBENMatchNumericCriterionType     Y

TimeCreated

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

TimeCreatedRangeFilter

Filters by a range of time created values.
ITimeCreatedRangeFilter      

FromTimeCreated

The beginning of the range.
IQBDateTimeType     Y

ToTimeCreated

The end of the range.
IQBDateTimeType     Y

ORTimeModifiedFilters

IORTimeModifiedFilters      

TimeModifiedFilter

Searches for objects that were modified before, at, or after the specified time.
ITimeModifiedFilter      

MatchNumericCriterion

Specifies how the specified numeric value will filter the target objects, that is, specifies the the comparison that will be used.
IQBENMatchNumericCriterionType     Y

TimeModified

The time when the object was modified by QBPOS.
IQBDateTimeType     Y

TimeModifiedRangeFilter

Searches for objects that were modified within the specified time range.
ITimeModifiedRangeFilter      

FromTimeModified

First time value possible in the range.
IQBDateTimeType     Y

ToTimeModified

Last time value of the range.
IQBDateTimeType     Y

ORAssociateFilters

IORAssociateFilters      

AssociateFilter

Filters by the specified associate name string or substring.
IAssociateFilter      

MatchStringCriterion

This specifies which part of the string is being looked at.
IQBENMatchStringCriterionType     Y

Associate

The employee making the adjustment transaction.
IQBStringType 40 chars   Y

AssociateRangeFilter

Filters by the specified range of name values.
IAssociateRangeFilter      

FromAssociate

Starting value in the range filter.
IQBStringType 40 chars   Y

ToAssociate

Ending value in the specified range.
IQBStringType 40 chars   Y

ORCashierFilters

IORCashierFilters      

CashierFilter

Filters SalesOrders by their Cashier value.
ICashierFilter      

MatchStringCriterion

This specifies which part of the string is being looked at.
IQBENMatchStringCriterionType     Y

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   Y

CashierRangeFilter

Filters SalesOrders by a range of Cashier values.
ICashierRangeFilter      

FromCashier

Start of the range.
IQBStringType 16 chars   Y

ToCashier

End of the range.
IQBStringType 16 chars   Y

ORCommentsFilters

IORCommentsFilters      

CommentsFilter

Filters adjustments by the comments field using the specified string or substring.
ICommentsFilter      

MatchStringCriterion

This specifies which part of the string is being looked at.
IQBENMatchStringCriterionType     Y

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 300 chars   Y

CommentsRangeFilter

Filters by the specified range of comments.
ICommentsRangeFilter      

FromComments

Specifies the beginning of the range in the filter.
IQBStringType 300 chars   Y

ToComments

Specifies the end of the range in the filter.
IQBStringType 300 chars   Y

CustomerListID

Unique QBPOS ID value identifying the customer being referenced.
IQBIDType      

ORDiscountFilters

IORDiscountFilters      

DiscountFilter

Filters vouchers by their discount value.
IDiscountFilter      

MatchNumericCriterion

Specifies how the specified numeric value will filter the target objects, that is, specifies the the comparison that will be used.
IQBENMatchNumericCriterionType     Y

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     Y

DiscountRangeFilter

Filters vouchers by a range of Discount values.
IDiscountRangeFilter      

FromDiscount

Start of the Discount range.
IQBAmountType     Y

ToDiscount

End of the Discount range.
IQBAmountType     Y

ORDiscountPercentFilters

IORDiscountPercentFilters      

DiscountPercentFilter

Filters vouchers by their discountpercent values.
IDiscountPercentFilter      

MatchNumericCriterion

Specifies how the specified numeric value will filter the target objects, that is, specifies the the comparison that will be used.
IQBENMatchNumericCriterionType     Y

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     Y

DiscountPercentRangeFilter

Filters vouchers by a range of discountpercent values.
IDiscountPercentRangeFilter      

FromDiscountPercent

Start of the DiscountPercent range.
IQBFloatType     Y

ToDiscountPercent

End of the DiscountPercent range.
IQBFloatType     Y

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      

ORItemsCountFilters

IORItemsCountFilters      

ItemsCountFilter

Filters adjustments by those with a specified number of line items.
IItemsCountFilter      

MatchNumericCriterion

Specifies how the specified numeric value will filter the target objects, that is, specifies the the comparison that will be used.
IQBENMatchNumericCriterionType     Y

ItemsCount

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

ItemsCountRangeFilter

Specifies a range of adjustment line items to search for.
IItemsCountRangeFilter      

FromItemsCount

Specifies the start of the range.
IQBIntType     Y

ToItemsCount

Specifies the end of the range.
IQBIntType     Y

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      

ORPromoCodeFilters

IORPromoCodeFilters      

PromoCodeFilter

Filters SalesOrders by their PromoCode value.
IPromoCodeFilter      

MatchStringCriterion

This specifies which part of the string is being looked at.
IQBENMatchStringCriterionType     Y

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   Y

PromoCodeRangeFilter

Filters SalesOrders by a range of PromoCode values.
IPromoCodeRangeFilter      

FromPromoCode

Start of the range.
IQBStringType 10 chars   Y

ToPromoCode

End of the range.
IQBStringType 10 chars   Y

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      

ORSalesReceiptNumberFilters

IORSalesReceiptNumberFilters      

SalesReceiptNumberFilter

Filters receipts by their receipt number.
ISalesReceiptNumberFilter      

MatchNumericCriterion

Specifies how the specified numeric value will filter the target objects, that is, specifies the the comparison that will be used.
IQBENMatchNumericCriterionType     Y

SalesReceiptNumber

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

SalesReceiptNumberRangeFilter

Filters receipts by a range of receipt numbers.
ISalesReceiptNumberRangeFilter      

FromSalesReceiptNumber

Start of the range.
IQBIntType     Y

ToSalesReceiptNumber

End of the range.
IQBIntType     Y

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      

ORShipDateFilters

IORShipDateFilters      

ShipDateFilter

Filters SalesReceipts by ship date.
IShipDateFilter      

MatchNumericCriterion

Specifies how the specified numeric value will filter the target objects, that is, specifies the the comparison that will be used.
IQBENMatchNumericCriterionType     Y

ShipDate

The date the merchandise shipped.
IQBDateType     Y

ShipDateRangeFilter

Filters SalesReceipts by a range of ship dates.
IShipDateRangeFilter      

FromShipDate

Start of the range.
IQBDateType     Y

ToShipDate

End of the range.
IQBDateType     Y

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      

ORStoreNumberFilters

IORStoreNumberFilters      

StoreNumberFilter

Available only for multi-store versions of QBPOS. Filters Quantity Adjustment Memos by the store number of the store originating the Quantity Adjustment Memo.
IStoreNumberFilter      

MatchNumericCriterion

Specifies how the specified numeric value will filter the target objects, that is, specifies the the comparison that will be used.
IQBENMatchNumericCriterionType     Y

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     Y

StoreNumberRangeFilter

Available only for multi-store versions of QBPOS. Filters Quantity Adjustment Memos by the specified range of store numbers of the store originating the Quantity Adjustment Memo.
IStoreNumberRangeFilter      

FromStoreNumber

Available for multi-store versions of QBPOS. Specifies the starting value of the Store Number range. Only memos whose Store Number value is at this value level or higher will be returned in the query.
IQBIntType     Y

ToStoreNumber

Specifies the ending value of the Store Number range. Only memos whose Store Number value falls between the FromStoreNumber value and this value will be returned in the query.
IQBIntType     Y

ORSubtotalFilters

IORSubtotalFilters      

SubtotalFilter

Filters vouchers by their Subtotal value.
ISubtotalFilter      

MatchNumericCriterion

Specifies how the specified numeric value will filter the target objects, that is, specifies the the comparison that will be used.
IQBENMatchNumericCriterionType     Y

Subtotal

The total cost (sum of extended item costs) of the PO before applying any discounts or fees. This value is updated when a voucher that references the PO is updated.
IQBAmountType     Y

SubtotalRangeFilter

Filters vouchers by a range of Subtotal values.
ISubtotalRangeFilter      

FromSubtotal

Start of the Subtotal range.
IQBAmountType     Y

ToSubtotal

End of the Subtotal range.
IQBAmountType     Y

ORTaxAmountFilters

IORTaxAmountFilters      

TaxAmountFilter

Filters SalesOrders by their total tax.
ITaxAmountFilter      

MatchNumericCriterion

Specifies how the specified numeric value will filter the target objects, that is, specifies the the comparison that will be used.
IQBENMatchNumericCriterionType     Y

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     Y

TaxAmountRangeFilter

Filters SalesOrders by a range of total tax values.
ITaxAmountRangeFilter      

FromTaxAmount

Start of the tax amount range.
IQBAmountType     Y

ToTaxAmount

End of the tax amount range.
IQBAmountType     Y

ORTaxCategoryFilters

IORTaxCategoryFilters      

TaxCategoryFilter

Filters customers by their tax category.
ITaxCategoryFilter      

MatchStringCriterion

This specifies which part of the string is being looked at.
IQBENMatchStringCriterionType     Y

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   Y

TaxCategoryRangeFilter

Filters customers by a range of tax categories.
ITaxCategoryRangeFilter      

FromTaxCategory

Start of the tax category range.
IQBStringType 20 chars   Y

ToTaxCategory

Start of the tax category range.
IQBStringType 20 chars   Y

ORTaxPercentageFilters

IORTaxPercentageFilters      

TaxPercentageFilter

Filters SalesOrders by the tax percentage value.
ITaxPercentageFilter      

MatchNumericCriterion

Specifies how the specified numeric value will filter the target objects, that is, specifies the the comparison that will be used.
IQBENMatchNumericCriterionType     Y

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     Y

TaxPercentageRangeFilter

Filters SalesOrders by a range of tax percentage values.
ITaxPercentageRangeFilter      

FromTaxPercentage

Start of the range.
IQBFloatType     Y

ToTaxPercentage

End of the range.
IQBFloatType     Y

TenderType

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

ORTipReceiverFilters

IORTipReceiverFilters   2.0  

TipReceiverFilter

Filters by the employee receiving the tip.
ITipReceiverFilter      

MatchStringCriterion

This specifies which part of the string is being looked at.
IQBENMatchStringCriterionType     Y

TipReceiver

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

TipReceiverRangeFilter

Filters by a range of employees receiving tips.
ITipReceiverRangeFilter      

FromTipReceiver

Start of the range of tip-receiving employees.
IQBStringType 40 chars   Y

ToTipReceiver

End of the range of tip-receiving employees.
IQBStringType 40 chars   Y

ORTotalFilters

IORTotalFilters      

TotalFilter

Filters vouchers by their Total value.
ITotalFilter      

MatchNumericCriterion

Specifies how the specified numeric value will filter the target objects, that is, specifies the the comparison that will be used.
IQBENMatchNumericCriterionType     Y

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     Y

TotalRangeFilter

Filters vouchers by a range of Total values.
ITotalRangeFilter      

FromTotal

Start of the Total range.
IQBAmountType     Y

ToTotal

End of the Total range.
IQBAmountType     Y

ORTrackingNumberFilters

IORTrackingNumberFilters      

TrackingNumberFilter

Filters receipts by their tracking number value.
ITrackingNumberFilter      

MatchStringCriterion

This specifies which part of the string is being looked at.
IQBENMatchStringCriterionType     Y

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   Y

TrackingNumberRangeFilter

Filters receipts by a range of tracking numbers.
ITrackingNumberRangeFilter      

FromTrackingNumber

Start of the range.
IQBStringType 50 chars   Y

ToTrackingNumber

End of the range.
IQBStringType 50 chars   Y

ORTxnDateFilters

IORTxnDateFilters      

TxnDateFilter

The ITxnDateFilter group object allows you to filter by transaction creation date.
ITxnDateFilter      

MatchNumericCriterion

Specifies how the specified numeric value will filter the target objects, that is, specifies the the comparison that will be used.
IQBENMatchNumericCriterionType     Y

TxnDate

The date of the transaction. 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     Y

TxnDateRangeFilter

Filters according to the original transaction dates.
ITxnDateRangeFilter      

FromTxnDate

Selects transactions created on or after this date. Both FromTxnDate and ToTxnDate must be between 01/01/1901 and 12/31/9999.If you omit FromTxnDate, it will be set to 1970-01-01 (1969-12-31 PST).
IQBDateType     Y

ToTxnDate

Selects transactions created on or before this date. Both ToTxnDate and FromTxnDate must be between 01/01/1901 and 12/31/9999. If you omit ToTxnDate, it will be set to 2038-01-19 (2038-01-18 PST).
IQBDateType     Y

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  

ORWorkstationFilters

IORWorkstationFilters      

WorkstationFilter

Retrieves adjustments by the workstation they originated from.
IWorkstationFilter      

MatchNumericCriterion

Specifies how the specified numeric value will filter the target objects, that is, specifies the the comparison that will be used.
IQBENMatchNumericCriterionType     Y

Workstation

Workstation from which the transaction was made.
IQBIntType     Y

WorkstationRangeFilter

Retrieves adjustments from the specified range of workstations.
IWorkstationRangeFilter      

FromWorkstation

Beginning of the range to search.
IQBIntType     Y

ToWorkstation

End of the range to search.
IQBIntType     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  

ORTransactionPostedByFilters

IORTransactionPostedByFilters   4.0  

TransactionPostedByFilter

Filter by TransactionPostedBy.
ITransactionPostedByFilter      

MatchStringCriterion

This specifies which part of the string is being looked at.
IQBENMatchStringCriterionType     Y

TransactionPostedBy

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

TransactionPostedByRangeFilter

Filter by TransactionPostedBy range.
ITransactionPostedByRangeFilter      

FromTransactionPostedBy

Start of TransactionPostedBy range.
IQBStringType 50 chars   Y

ToTransactionPostedBy

End of the TransactionPostedBy range.
IQBStringType 50 chars   Y

ORTransactionOnlineStoreNameFilters

IORTransactionOnlineStoreNameFilters   4.0  

TransactionStoreNameFilter

Filter by TransactionStoreName.
ITransactionStoreNameFilter      

MatchStringCriterion

This specifies which part of the string is being looked at.
IQBENMatchStringCriterionType     Y

TransactionStoreName

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

TransactionStoreNameRangeFilter

Filter by TransactionStoreName range.
ITransactionStoreNameRangeFilter      

FromTransactionStoreName

Start of TransactionStoreName range.
IQBStringType 50 chars   Y

ToTransactionStoreName

End of the TransactionStoreName range.
IQBStringType 50 chars   Y

ORTransactionStoreTypeFilters

IORTransactionStoreTypeFilters   4.0  

TransactionStoreTypeFilter

Filter by TransactionStoreType.
ITransactionStoreTypeFilter      

MatchStringCriterion

This specifies which part of the string is being looked at.
IQBENMatchStringCriterionType     Y

TransactionStoreType

Name of E-Commerce Player name. E.g. Amazon, WallMart, EBay,etc…
IQBStringType 50 chars   Y

TransactionStoreTypeRangeFilter

Filter by TransactionStoreType range.
ITransactionStoreTypeRangeFilter      

FromTransactionStoreType

Start of TransactionStoreType range.
IQBStringType 50 chars   Y

ToTransactionStoreType

End of the TransactionStoreType range.
IQBStringType 50 chars   Y

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

Returns the SalesReceipts specified in the filter criteria.
       

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

retCount

The retCount is returned in a query if in the query request you specified the metaData attribute with a value of MetaDataOnly (in which case the retCount is the only data returned in the query response) or MetaDataAndResponseData (the query response contains object data AND the approximate count). The retCount value contains the approximate count of the objects that could be expected to be returned from the query. A common use of this feature is to specify a count with no data in order to determine how many objects to expect from the actual query. You should be aware that the count returned in retCount is not guaranteed to be exact: it could be off slightly due to new object creation or deletions.
IQBIntType   4.0|us.png| Y

iteratorRemainingCount

This attribute is provided in the response in a query using iterators, indicating the number of objects remaining in the iteration. This can help you specify a MaxReturn value tailored to the number of objects still to be iterated through in your query.
IQBIntType   5.0|us.png| Y

iteratorID

The iterator query attribute is provided with most query types to allow you to break down query results into smaller and more manageable chunks of data. An iterator results in responses that contain only the specified number of objects. The iterator is created when a query contains the iterator attribute set to Start, along with a MaxReturn value specifying how many records are to be returned in each iteration. The response to that first query iteration contains, along with the response data, an IteratorID value that uniquely identifies that iterator. This is important because you can have many iterators active at the same time. Accordingly, in subsequent iterations of that query, you need to supply that returned iteratorID so the SDK knows where to resume the iteration.
IQBUUIDType   5.0|us.png| Y

Detail

ISalesReceiptRetList      

(List of ISalesReceiptRet 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      

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
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
<?xml version="1.0" encoding="utf-8"?>
<?qbposxml version="4.0"?>
<QBPOSXML>
        <QBPOSXMLMsgsRq onError="stopOnError">
                <SalesReceiptQueryRq metaData="ENUMTYPE" iterator="ENUMTYPE" iteratorID="UUIDTYPE">
                        <MaxReturned >INTTYPE</MaxReturned> <!-- optional -->
                        <OwnerID >GUIDTYPE</OwnerID> <!-- optional, may repeat -->
                        <TxnID >IDTYPE</TxnID> <!-- optional -->
                        <!-- BEGIN OR -->
                                <TimeCreatedFilter> <!-- optional -->
                                        <!-- MatchNumericCriterion may have one of the following values: LessThan, LessThanEqual, Equal, GreaterThan, GreaterThanEqual -->
                                        <MatchNumericCriterion >ENUMTYPE</MatchNumericCriterion> <!-- required -->
                                        <TimeCreated >DATETIMETYPE</TimeCreated> <!-- required -->
                                </TimeCreatedFilter>
                        <!-- OR -->
                                <TimeCreatedRangeFilter> <!-- optional -->
                                        <FromTimeCreated >DATETIMETYPE</FromTimeCreated> <!-- required -->
                                        <ToTimeCreated >DATETIMETYPE</ToTimeCreated> <!-- required -->
                                </TimeCreatedRangeFilter>
                        <!-- END OR -->
                        <!-- BEGIN OR -->
                                <TimeModifiedFilter> <!-- optional -->
                                        <!-- MatchNumericCriterion may have one of the following values: LessThan, LessThanEqual, Equal, GreaterThan, GreaterThanEqual -->
                                        <MatchNumericCriterion >ENUMTYPE</MatchNumericCriterion> <!-- required -->
                                        <TimeModified >DATETIMETYPE</TimeModified> <!-- required -->
                                </TimeModifiedFilter>
                        <!-- OR -->
                                <TimeModifiedRangeFilter> <!-- optional -->
                                        <FromTimeModified >DATETIMETYPE</FromTimeModified> <!-- required -->
                                        <ToTimeModified >DATETIMETYPE</ToTimeModified> <!-- required -->
                                </TimeModifiedRangeFilter>
                        <!-- END OR -->
                        <!-- BEGIN OR -->
                                <AssociateFilter> <!-- optional -->
                                        <!-- MatchStringCriterion may have one of the following values: Equal, StartsWith, Contains, EndsWith -->
                                        <MatchStringCriterion >ENUMTYPE</MatchStringCriterion> <!-- required -->
                                        <Associate >STRTYPE</Associate> <!-- required -->
                                </AssociateFilter>
                        <!-- OR -->
                                <AssociateRangeFilter> <!-- optional -->
                                        <FromAssociate >STRTYPE</FromAssociate> <!-- required -->
                                        <ToAssociate >STRTYPE</ToAssociate> <!-- required -->
                                </AssociateRangeFilter>
                        <!-- END OR -->
                        <!-- BEGIN OR -->
                                <CashierFilter> <!-- optional -->
                                        <!-- MatchStringCriterion may have one of the following values: Equal, StartsWith, Contains, EndsWith -->
                                        <MatchStringCriterion >ENUMTYPE</MatchStringCriterion> <!-- required -->
                                        <Cashier >STRTYPE</Cashier> <!-- required -->
                                </CashierFilter>
                        <!-- OR -->
                                <CashierRangeFilter> <!-- optional -->
                                        <FromCashier >STRTYPE</FromCashier> <!-- required -->
                                        <ToCashier >STRTYPE</ToCashier> <!-- required -->
                                </CashierRangeFilter>
                        <!-- END OR -->
                        <!-- BEGIN OR -->
                                <CommentsFilter> <!-- optional -->
                                        <!-- MatchStringCriterion may have one of the following values: Equal, StartsWith, Contains, EndsWith -->
                                        <MatchStringCriterion >ENUMTYPE</MatchStringCriterion> <!-- required -->
                                        <Comments >STRTYPE</Comments> <!-- required -->
                                </CommentsFilter>
                        <!-- OR -->
                                <CommentsRangeFilter> <!-- optional -->
                                        <FromComments >STRTYPE</FromComments> <!-- required -->
                                        <ToComments >STRTYPE</ToComments> <!-- required -->
                                </CommentsRangeFilter>
                        <!-- END OR -->
                        <CustomerListID >IDTYPE</CustomerListID> <!-- optional -->
                        <!-- BEGIN OR -->
                                <DiscountFilter> <!-- optional -->
                                        <!-- MatchNumericCriterion may have one of the following values: LessThan, LessThanEqual, Equal, GreaterThan, GreaterThanEqual -->
                                        <MatchNumericCriterion >ENUMTYPE</MatchNumericCriterion> <!-- required -->
                                        <Discount >AMTTYPE</Discount> <!-- required -->
                                </DiscountFilter>
                        <!-- OR -->
                                <DiscountRangeFilter> <!-- optional -->
                                        <FromDiscount >AMTTYPE</FromDiscount> <!-- required -->
                                        <ToDiscount >AMTTYPE</ToDiscount> <!-- required -->
                                </DiscountRangeFilter>
                        <!-- END OR -->
                        <!-- BEGIN OR -->
                                <DiscountPercentFilter> <!-- optional -->
                                        <!-- MatchNumericCriterion may have one of the following values: LessThan, LessThanEqual, Equal, GreaterThan, GreaterThanEqual -->
                                        <MatchNumericCriterion >ENUMTYPE</MatchNumericCriterion> <!-- required -->
                                        <DiscountPercent >FLOATTYPE</DiscountPercent> <!-- required -->
                                </DiscountPercentFilter>
                        <!-- OR -->
                                <DiscountPercentRangeFilter> <!-- optional -->
                                        <FromDiscountPercent >FLOATTYPE</FromDiscountPercent> <!-- required -->
                                        <ToDiscountPercent >FLOATTYPE</ToDiscountPercent> <!-- required -->
                                </DiscountPercentRangeFilter>
                        <!-- END OR -->
                        <!-- HistoryDocStatus may have one of the following values: Regular, Reversed, Reversing -->
                        <HistoryDocStatus >ENUMTYPE</HistoryDocStatus> <!-- optional -->
                        <!-- BEGIN OR -->
                                <ItemsCountFilter> <!-- optional -->
                                        <!-- MatchNumericCriterion may have one of the following values: LessThan, LessThanEqual, Equal, GreaterThan, GreaterThanEqual -->
                                        <MatchNumericCriterion >ENUMTYPE</MatchNumericCriterion> <!-- required -->
                                        <ItemsCount >INTTYPE</ItemsCount> <!-- required -->
                                </ItemsCountFilter>
                        <!-- OR -->
                                <ItemsCountRangeFilter> <!-- optional -->
                                        <FromItemsCount >INTTYPE</FromItemsCount> <!-- required -->
                                        <ToItemsCount >INTTYPE</ToItemsCount> <!-- required -->
                                </ItemsCountRangeFilter>
                        <!-- END OR -->
                        <!-- PriceLevelNumber may have one of the following values: 1, 2, 3, 4, 5 -->
                        <PriceLevelNumber >ENUMTYPE</PriceLevelNumber> <!-- optional -->
                        <!-- BEGIN OR -->
                                <PromoCodeFilter> <!-- optional -->
                                        <!-- MatchStringCriterion may have one of the following values: Equal, StartsWith, Contains, EndsWith -->
                                        <MatchStringCriterion >ENUMTYPE</MatchStringCriterion> <!-- required -->
                                        <PromoCode >STRTYPE</PromoCode> <!-- required -->
                                </PromoCodeFilter>
                        <!-- OR -->
                                <PromoCodeRangeFilter> <!-- optional -->
                                        <FromPromoCode >STRTYPE</FromPromoCode> <!-- required -->
                                        <ToPromoCode >STRTYPE</ToPromoCode> <!-- required -->
                                </PromoCodeRangeFilter>
                        <!-- END OR -->
                        <!-- QuickBooksFlag may have one of the following values: NotPosted, Completed, Error, UnbilledPurchases -->
                        <QuickBooksFlag >ENUMTYPE</QuickBooksFlag> <!-- optional -->
                        <SalesOrderTxnID >IDTYPE</SalesOrderTxnID> <!-- optional -->
                        <!-- BEGIN OR -->
                                <SalesReceiptNumberFilter> <!-- optional -->
                                        <!-- MatchNumericCriterion may have one of the following values: LessThan, LessThanEqual, Equal, GreaterThan, GreaterThanEqual -->
                                        <MatchNumericCriterion >ENUMTYPE</MatchNumericCriterion> <!-- required -->
                                        <SalesReceiptNumber >INTTYPE</SalesReceiptNumber> <!-- required -->
                                </SalesReceiptNumberFilter>
                        <!-- OR -->
                                <SalesReceiptNumberRangeFilter> <!-- optional -->
                                        <FromSalesReceiptNumber >INTTYPE</FromSalesReceiptNumber> <!-- required -->
                                        <ToSalesReceiptNumber >INTTYPE</ToSalesReceiptNumber> <!-- required -->
                                </SalesReceiptNumberRangeFilter>
                        <!-- END OR -->
                        <!-- SalesReceiptType may have one of the following values: Sales, Return, Deposit, Refund, Payout, Payin -->
                        <SalesReceiptType >ENUMTYPE</SalesReceiptType> <!-- optional -->
                        <!-- BEGIN OR -->
                                <ShipDateFilter> <!-- optional -->
                                        <!-- MatchNumericCriterion may have one of the following values: LessThan, LessThanEqual, Equal, GreaterThan, GreaterThanEqual -->
                                        <MatchNumericCriterion >ENUMTYPE</MatchNumericCriterion> <!-- required -->
                                        <ShipDate >DATETYPE</ShipDate> <!-- required -->
                                </ShipDateFilter>
                        <!-- OR -->
                                <ShipDateRangeFilter> <!-- optional -->
                                        <FromShipDate >DATETYPE</FromShipDate> <!-- required -->
                                        <ToShipDate >DATETYPE</ToShipDate> <!-- required -->
                                </ShipDateRangeFilter>
                        <!-- END OR -->
                        <!-- StoreExchangeStatus may have one of the following values: Modified, Sent, Acknowledged -->
                        <StoreExchangeStatus >ENUMTYPE</StoreExchangeStatus> <!-- optional -->
                        <!-- BEGIN OR -->
                                <StoreNumberFilter> <!-- optional -->
                                        <!-- MatchNumericCriterion may have one of the following values: LessThan, LessThanEqual, Equal, GreaterThan, GreaterThanEqual -->
                                        <MatchNumericCriterion >ENUMTYPE</MatchNumericCriterion> <!-- required -->
                                        <StoreNumber >INTTYPE</StoreNumber> <!-- required -->
                                </StoreNumberFilter>
                        <!-- OR -->
                                <StoreNumberRangeFilter> <!-- optional -->
                                        <FromStoreNumber >INTTYPE</FromStoreNumber> <!-- required -->
                                        <ToStoreNumber >INTTYPE</ToStoreNumber> <!-- required -->
                                </StoreNumberRangeFilter>
                        <!-- END OR -->
                        <!-- BEGIN OR -->
                                <SubtotalFilter> <!-- optional -->
                                        <!-- MatchNumericCriterion may have one of the following values: LessThan, LessThanEqual, Equal, GreaterThan, GreaterThanEqual -->
                                        <MatchNumericCriterion >ENUMTYPE</MatchNumericCriterion> <!-- required -->
                                        <Subtotal >AMTTYPE</Subtotal> <!-- required -->
                                </SubtotalFilter>
                        <!-- OR -->
                                <SubtotalRangeFilter> <!-- optional -->
                                        <FromSubtotal >AMTTYPE</FromSubtotal> <!-- required -->
                                        <ToSubtotal >AMTTYPE</ToSubtotal> <!-- required -->
                                </SubtotalRangeFilter>
                        <!-- END OR -->
                        <!-- BEGIN OR -->
                                <TaxAmountFilter> <!-- optional -->
                                        <!-- MatchNumericCriterion may have one of the following values: LessThan, LessThanEqual, Equal, GreaterThan, GreaterThanEqual -->
                                        <MatchNumericCriterion >ENUMTYPE</MatchNumericCriterion> <!-- required -->
                                        <TaxAmount >AMTTYPE</TaxAmount> <!-- required -->
                                </TaxAmountFilter>
                        <!-- OR -->
                                <TaxAmountRangeFilter> <!-- optional -->
                                        <FromTaxAmount >AMTTYPE</FromTaxAmount> <!-- required -->
                                        <ToTaxAmount >AMTTYPE</ToTaxAmount> <!-- required -->
                                </TaxAmountRangeFilter>
                        <!-- END OR -->
                        <!-- BEGIN OR -->
                                <TaxCategoryFilter> <!-- optional -->
                                        <!-- MatchStringCriterion may have one of the following values: Equal, StartsWith, Contains, EndsWith -->
                                        <MatchStringCriterion >ENUMTYPE</MatchStringCriterion> <!-- required -->
                                        <TaxCategory >STRTYPE</TaxCategory> <!-- required -->
                                </TaxCategoryFilter>
                        <!-- OR -->
                                <TaxCategoryRangeFilter> <!-- optional -->
                                        <FromTaxCategory >STRTYPE</FromTaxCategory> <!-- required -->
                                        <ToTaxCategory >STRTYPE</ToTaxCategory> <!-- required -->
                                </TaxCategoryRangeFilter>
                        <!-- END OR -->
                        <!-- BEGIN OR -->
                                <TaxPercentageFilter> <!-- optional -->
                                        <!-- MatchNumericCriterion may have one of the following values: LessThan, LessThanEqual, Equal, GreaterThan, GreaterThanEqual -->
                                        <MatchNumericCriterion >ENUMTYPE</MatchNumericCriterion> <!-- required -->
                                        <TaxPercentage >FLOATTYPE</TaxPercentage> <!-- required -->
                                </TaxPercentageFilter>
                        <!-- OR -->
                                <TaxPercentageRangeFilter> <!-- optional -->
                                        <FromTaxPercentage >FLOATTYPE</FromTaxPercentage> <!-- required -->
                                        <ToTaxPercentage >FLOATTYPE</ToTaxPercentage> <!-- required -->
                                </TaxPercentageRangeFilter>
                        <!-- END OR -->
                        <!-- TenderType may have one of the following values: None, Cash, Check, CreditCard, DebitCard, GiftCard, Account, Gift, Deposit, Split -->
                        <TenderType >ENUMTYPE</TenderType> <!-- optional -->
                        <!-- BEGIN OR -->
                                <TipReceiverFilter> <!-- optional -->
                                        <!-- MatchStringCriterion may have one of the following values: Equal, StartsWith, Contains, EndsWith -->
                                        <MatchStringCriterion >ENUMTYPE</MatchStringCriterion> <!-- required -->
                                        <TipReceiver >STRTYPE</TipReceiver> <!-- required -->
                                </TipReceiverFilter>
                        <!-- OR -->
                                <TipReceiverRangeFilter> <!-- optional -->
                                        <FromTipReceiver >STRTYPE</FromTipReceiver> <!-- required -->
                                        <ToTipReceiver >STRTYPE</ToTipReceiver> <!-- required -->
                                </TipReceiverRangeFilter>
                        <!-- END OR -->
                        <!-- BEGIN OR -->
                                <TotalFilter> <!-- optional -->
                                        <!-- MatchNumericCriterion may have one of the following values: LessThan, LessThanEqual, Equal, GreaterThan, GreaterThanEqual -->
                                        <MatchNumericCriterion >ENUMTYPE</MatchNumericCriterion> <!-- required -->
                                        <Total >AMTTYPE</Total> <!-- required -->
                                </TotalFilter>
                        <!-- OR -->
                                <TotalRangeFilter> <!-- optional -->
                                        <FromTotal >AMTTYPE</FromTotal> <!-- required -->
                                        <ToTotal >AMTTYPE</ToTotal> <!-- required -->
                                </TotalRangeFilter>
                        <!-- END OR -->
                        <!-- BEGIN OR -->
                                <TrackingNumberFilter> <!-- optional -->
                                        <!-- MatchStringCriterion may have one of the following values: Equal, StartsWith, Contains, EndsWith -->
                                        <MatchStringCriterion >ENUMTYPE</MatchStringCriterion> <!-- required -->
                                        <TrackingNumber >STRTYPE</TrackingNumber> <!-- required -->
                                </TrackingNumberFilter>
                        <!-- OR -->
                                <TrackingNumberRangeFilter> <!-- optional -->
                                        <FromTrackingNumber >STRTYPE</FromTrackingNumber> <!-- required -->
                                        <ToTrackingNumber >STRTYPE</ToTrackingNumber> <!-- required -->
                                </TrackingNumberRangeFilter>
                        <!-- END OR -->
                        <!-- BEGIN OR -->
                                <TxnDateFilter> <!-- optional -->
                                        <!-- MatchNumericCriterion may have one of the following values: LessThan, LessThanEqual, Equal, GreaterThan, GreaterThanEqual -->
                                        <MatchNumericCriterion >ENUMTYPE</MatchNumericCriterion> <!-- required -->
                                        <TxnDate >DATETYPE</TxnDate> <!-- required -->
                                </TxnDateFilter>
                        <!-- OR -->
                                <TxnDateRangeFilter> <!-- optional -->
                                        <FromTxnDate >DATETYPE</FromTxnDate> <!-- required -->
                                        <ToTxnDate >DATETYPE</ToTxnDate> <!-- required -->
                                </TxnDateRangeFilter>
                        <!-- END OR -->
                        <!-- TxnState may have one of the following values: Normal, Held -->
                        <TxnState >ENUMTYPE</TxnState> <!-- optional -->
                        <!-- BEGIN OR -->
                                <WorkstationFilter> <!-- optional -->
                                        <!-- MatchNumericCriterion may have one of the following values: LessThan, LessThanEqual, Equal, GreaterThan, GreaterThanEqual -->
                                        <MatchNumericCriterion >ENUMTYPE</MatchNumericCriterion> <!-- required -->
                                        <Workstation >INTTYPE</Workstation> <!-- required -->
                                </WorkstationFilter>
                        <!-- OR -->
                                <WorkstationRangeFilter> <!-- optional -->
                                        <FromWorkstation >INTTYPE</FromWorkstation> <!-- required -->
                                        <ToWorkstation >INTTYPE</ToWorkstation> <!-- required -->
                                </WorkstationRangeFilter>
                        <!-- END OR -->
                        <IsEcommerce >BOOLTYPE</IsEcommerce> <!-- optional -->
                        <!-- BEGIN OR -->
                                <TransactionPostedByFilter> <!-- optional -->
                                        <!-- MatchStringCriterion may have one of the following values: Equal, StartsWith, Contains, EndsWith -->
                                        <MatchStringCriterion >ENUMTYPE</MatchStringCriterion> <!-- required -->
                                        <TransactionPostedBy >STRTYPE</TransactionPostedBy> <!-- required -->
                                </TransactionPostedByFilter>
                        <!-- OR -->
                                <TransactionPostedByRangeFilter> <!-- optional -->
                                        <FromTransactionPostedBy >STRTYPE</FromTransactionPostedBy> <!-- required -->
                                        <ToTransactionPostedBy >STRTYPE</ToTransactionPostedBy> <!-- required -->
                                </TransactionPostedByRangeFilter>
                        <!-- END OR -->
                        <!-- BEGIN OR -->
                                <TransactionStoreNameFilter> <!-- optional -->
                                        <!-- MatchStringCriterion may have one of the following values: Equal, StartsWith, Contains, EndsWith -->
                                        <MatchStringCriterion >ENUMTYPE</MatchStringCriterion> <!-- required -->
                                        <TransactionStoreName >STRTYPE</TransactionStoreName> <!-- required -->
                                </TransactionStoreNameFilter>
                        <!-- OR -->
                                <TransactionStoreNameRangeFilter> <!-- optional -->
                                        <FromTransactionStoreName >STRTYPE</FromTransactionStoreName> <!-- required -->
                                        <ToTransactionStoreName >STRTYPE</ToTransactionStoreName> <!-- required -->
                                </TransactionStoreNameRangeFilter>
                        <!-- END OR -->
                        <!-- BEGIN OR -->
                                <TransactionStoreTypeFilter> <!-- optional -->
                                        <!-- MatchStringCriterion may have one of the following values: Equal, StartsWith, Contains, EndsWith -->
                                        <MatchStringCriterion >ENUMTYPE</MatchStringCriterion> <!-- required -->
                                        <TransactionStoreType >STRTYPE</TransactionStoreType> <!-- required -->
                                </TransactionStoreTypeFilter>
                        <!-- OR -->
                                <TransactionStoreTypeRangeFilter> <!-- optional -->
                                        <FromTransactionStoreType >STRTYPE</FromTransactionStoreType> <!-- required -->
                                        <ToTransactionStoreType >STRTYPE</ToTransactionStoreType> <!-- required -->
                                </TransactionStoreTypeRangeFilter>
                        <!-- END OR -->
                        <IncludeRetElement >STRTYPE</IncludeRetElement> <!-- optional, may repeat -->
                </SalesReceiptQueryRq>

                <SalesReceiptQueryRs statusCode="INTTYPE" statusSeverity="STRTYPE" statusMessage="STRTYPE" retCount="INTTYPE" iteratorRemainingCount="INTTYPE" iteratorID="UUIDTYPE">
                        <SalesReceiptRet> <!-- optional, may repeat -->
                                <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>
                </SalesReceiptQueryRs>
        </QBPOSXMLMsgsRq>
</QBPOSXML>

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

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

                                WalkSalesReceiptQueryRs(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 BuildSalesReceiptQueryRq(requestMsgSet as IMsgSetRequest)
                        Dim SalesReceiptQueryRq as ISalesReceiptQuery
                        SalesReceiptQueryRq= requestMsgSet.AppendSalesReceiptQueryRq()
                        'Set field value for MaxReturned
                        SalesReceiptQueryRq.MaxReturned.SetValue(6)
                        'Set field value for OwnerIDList
                        'May create more than one of these if needed
                        SalesReceiptQueryRq.OwnerIDList.Add(System.Guid.NewGuid().ToString())
                        'Set field value for TxnID
                        SalesReceiptQueryRq.TxnID.SetValue("200000-1011023419")
                        Dim ORTimeCreatedFiltersElementType3881 as String
                        ORTimeCreatedFiltersElementType3881 = "TimeCreatedFilter"
                        if (ORTimeCreatedFiltersElementType3881 = "TimeCreatedFilter") then
                                'Set field value for MatchNumericCriterion
                                SalesReceiptQueryRq.ORTimeCreatedFilters.TimeCreatedFilter.MatchNumericCriterion.SetValue(ENMatchNumericCriterion.mncLessThan)
                                'Set field value for TimeCreated
                                SalesReceiptQueryRq.ORTimeCreatedFilters.TimeCreatedFilter.TimeCreated.SetValue(DateTime.Parse("12/15/2007 12:15:12"),false)
                        End If
                        if (ORTimeCreatedFiltersElementType3881 = "TimeCreatedRangeFilter") then
                                'Set field value for FromTimeCreated
                                SalesReceiptQueryRq.ORTimeCreatedFilters.TimeCreatedRangeFilter.FromTimeCreated.SetValue(DateTime.Parse("12/15/2007 12:15:12"),false)
                                'Set field value for ToTimeCreated
                                SalesReceiptQueryRq.ORTimeCreatedFilters.TimeCreatedRangeFilter.ToTimeCreated.SetValue(DateTime.Parse("12/15/2007 12:15:12"),false)
                        End If
                        Dim ORTimeModifiedFiltersElementType3882 as String
                        ORTimeModifiedFiltersElementType3882 = "TimeModifiedFilter"
                        if (ORTimeModifiedFiltersElementType3882 = "TimeModifiedFilter") then
                                'Set field value for MatchNumericCriterion
                                SalesReceiptQueryRq.ORTimeModifiedFilters.TimeModifiedFilter.MatchNumericCriterion.SetValue(ENMatchNumericCriterion.mncLessThan)
                                'Set field value for TimeModified
                                SalesReceiptQueryRq.ORTimeModifiedFilters.TimeModifiedFilter.TimeModified.SetValue(DateTime.Parse("12/15/2007 12:15:12"),false)
                        End If
                        if (ORTimeModifiedFiltersElementType3882 = "TimeModifiedRangeFilter") then
                                'Set field value for FromTimeModified
                                SalesReceiptQueryRq.ORTimeModifiedFilters.TimeModifiedRangeFilter.FromTimeModified.SetValue(DateTime.Parse("12/15/2007 12:15:12"),false)
                                'Set field value for ToTimeModified
                                SalesReceiptQueryRq.ORTimeModifiedFilters.TimeModifiedRangeFilter.ToTimeModified.SetValue(DateTime.Parse("12/15/2007 12:15:12"),false)
                        End If
                        Dim ORAssociateFiltersElementType3883 as String
                        ORAssociateFiltersElementType3883 = "AssociateFilter"
                        if (ORAssociateFiltersElementType3883 = "AssociateFilter") then
                                'Set field value for MatchStringCriterion
                                SalesReceiptQueryRq.ORAssociateFilters.AssociateFilter.MatchStringCriterion.SetValue(ENMatchStringCriterion.mscEqual)
                                'Set field value for Associate
                                SalesReceiptQueryRq.ORAssociateFilters.AssociateFilter.Associate.SetValue("ab")
                        End If
                        if (ORAssociateFiltersElementType3883 = "AssociateRangeFilter") then
                                'Set field value for FromAssociate
                                SalesReceiptQueryRq.ORAssociateFilters.AssociateRangeFilter.FromAssociate.SetValue("ab")
                                'Set field value for ToAssociate
                                SalesReceiptQueryRq.ORAssociateFilters.AssociateRangeFilter.ToAssociate.SetValue("ab")
                        End If
                        Dim ORCashierFiltersElementType3884 as String
                        ORCashierFiltersElementType3884 = "CashierFilter"
                        if (ORCashierFiltersElementType3884 = "CashierFilter") then
                                'Set field value for MatchStringCriterion
                                SalesReceiptQueryRq.ORCashierFilters.CashierFilter.MatchStringCriterion.SetValue(ENMatchStringCriterion.mscEqual)
                                'Set field value for Cashier
                                SalesReceiptQueryRq.ORCashierFilters.CashierFilter.Cashier.SetValue("ab")
                        End If
                        if (ORCashierFiltersElementType3884 = "CashierRangeFilter") then
                                'Set field value for FromCashier
                                SalesReceiptQueryRq.ORCashierFilters.CashierRangeFilter.FromCashier.SetValue("ab")
                                'Set field value for ToCashier
                                SalesReceiptQueryRq.ORCashierFilters.CashierRangeFilter.ToCashier.SetValue("ab")
                        End If
                        Dim ORCommentsFiltersElementType3885 as String
                        ORCommentsFiltersElementType3885 = "CommentsFilter"
                        if (ORCommentsFiltersElementType3885 = "CommentsFilter") then
                                'Set field value for MatchStringCriterion
                                SalesReceiptQueryRq.ORCommentsFilters.CommentsFilter.MatchStringCriterion.SetValue(ENMatchStringCriterion.mscEqual)
                                'Set field value for Comments
                                SalesReceiptQueryRq.ORCommentsFilters.CommentsFilter.Comments.SetValue("ab")
                        End If
                        if (ORCommentsFiltersElementType3885 = "CommentsRangeFilter") then
                                'Set field value for FromComments
                                SalesReceiptQueryRq.ORCommentsFilters.CommentsRangeFilter.FromComments.SetValue("ab")
                                'Set field value for ToComments
                                SalesReceiptQueryRq.ORCommentsFilters.CommentsRangeFilter.ToComments.SetValue("ab")
                        End If
                        'Set field value for CustomerListID
                        SalesReceiptQueryRq.CustomerListID.SetValue("200000-1011023419")
                        Dim ORDiscountFiltersElementType3886 as String
                        ORDiscountFiltersElementType3886 = "DiscountFilter"
                        if (ORDiscountFiltersElementType3886 = "DiscountFilter") then
                                'Set field value for MatchNumericCriterion
                                SalesReceiptQueryRq.ORDiscountFilters.DiscountFilter.MatchNumericCriterion.SetValue(ENMatchNumericCriterion.mncLessThan)
                                'Set field value for Discount
                                SalesReceiptQueryRq.ORDiscountFilters.DiscountFilter.Discount.SetValue(10.01)
                        End If
                        if (ORDiscountFiltersElementType3886 = "DiscountRangeFilter") then
                                'Set field value for FromDiscount
                                SalesReceiptQueryRq.ORDiscountFilters.DiscountRangeFilter.FromDiscount.SetValue(10.01)
                                'Set field value for ToDiscount
                                SalesReceiptQueryRq.ORDiscountFilters.DiscountRangeFilter.ToDiscount.SetValue(10.01)
                        End If
                        Dim ORDiscountPercentFiltersElementType3887 as String
                        ORDiscountPercentFiltersElementType3887 = "DiscountPercentFilter"
                        if (ORDiscountPercentFiltersElementType3887 = "DiscountPercentFilter") then
                                'Set field value for MatchNumericCriterion
                                SalesReceiptQueryRq.ORDiscountPercentFilters.DiscountPercentFilter.MatchNumericCriterion.SetValue(ENMatchNumericCriterion.mncLessThan)
                                'Set field value for DiscountPercent
                                SalesReceiptQueryRq.ORDiscountPercentFilters.DiscountPercentFilter.DiscountPercent.SetValue(12.34)
                        End If
                        if (ORDiscountPercentFiltersElementType3887 = "DiscountPercentRangeFilter") then
                                'Set field value for FromDiscountPercent
                                SalesReceiptQueryRq.ORDiscountPercentFilters.DiscountPercentRangeFilter.FromDiscountPercent.SetValue(12.34)
                                'Set field value for ToDiscountPercent
                                SalesReceiptQueryRq.ORDiscountPercentFilters.DiscountPercentRangeFilter.ToDiscountPercent.SetValue(12.34)
                        End If
                        'Set field value for HistoryDocStatus
                        SalesReceiptQueryRq.HistoryDocStatus.SetValue(ENHistoryDocStatus.hdsRegular)
                        Dim ORItemsCountFiltersElementType3888 as String
                        ORItemsCountFiltersElementType3888 = "ItemsCountFilter"
                        if (ORItemsCountFiltersElementType3888 = "ItemsCountFilter") then
                                'Set field value for MatchNumericCriterion
                                SalesReceiptQueryRq.ORItemsCountFilters.ItemsCountFilter.MatchNumericCriterion.SetValue(ENMatchNumericCriterion.mncLessThan)
                                'Set field value for ItemsCount
                                SalesReceiptQueryRq.ORItemsCountFilters.ItemsCountFilter.ItemsCount.SetValue(6)
                        End If
                        if (ORItemsCountFiltersElementType3888 = "ItemsCountRangeFilter") then
                                'Set field value for FromItemsCount
                                SalesReceiptQueryRq.ORItemsCountFilters.ItemsCountRangeFilter.FromItemsCount.SetValue(6)
                                'Set field value for ToItemsCount
                                SalesReceiptQueryRq.ORItemsCountFilters.ItemsCountRangeFilter.ToItemsCount.SetValue(6)
                        End If
                        'Set field value for PriceLevelNumber
                        SalesReceiptQueryRq.PriceLevelNumber.SetValue(ENPriceLevelNumber.pln1)
                        Dim ORPromoCodeFiltersElementType3889 as String
                        ORPromoCodeFiltersElementType3889 = "PromoCodeFilter"
                        if (ORPromoCodeFiltersElementType3889 = "PromoCodeFilter") then
                                'Set field value for MatchStringCriterion
                                SalesReceiptQueryRq.ORPromoCodeFilters.PromoCodeFilter.MatchStringCriterion.SetValue(ENMatchStringCriterion.mscEqual)
                                'Set field value for PromoCode
                                SalesReceiptQueryRq.ORPromoCodeFilters.PromoCodeFilter.PromoCode.SetValue("ab")
                        End If
                        if (ORPromoCodeFiltersElementType3889 = "PromoCodeRangeFilter") then
                                'Set field value for FromPromoCode
                                SalesReceiptQueryRq.ORPromoCodeFilters.PromoCodeRangeFilter.FromPromoCode.SetValue("ab")
                                'Set field value for ToPromoCode
                                SalesReceiptQueryRq.ORPromoCodeFilters.PromoCodeRangeFilter.ToPromoCode.SetValue("ab")
                        End If
                        'Set field value for QuickBooksFlag
                        SalesReceiptQueryRq.QuickBooksFlag.SetValue(ENQuickBooksFlag.qbfNotPosted)
                        'Set field value for SalesOrderTxnID
                        SalesReceiptQueryRq.SalesOrderTxnID.SetValue("200000-1011023419")
                        Dim ORSalesReceiptNumberFiltersElementType3890 as String
                        ORSalesReceiptNumberFiltersElementType3890 = "SalesReceiptNumberFilter"
                        if (ORSalesReceiptNumberFiltersElementType3890 = "SalesReceiptNumberFilter") then
                                'Set field value for MatchNumericCriterion
                                SalesReceiptQueryRq.ORSalesReceiptNumberFilters.SalesReceiptNumberFilter.MatchNumericCriterion.SetValue(ENMatchNumericCriterion.mncLessThan)
                                'Set field value for SalesReceiptNumber
                                SalesReceiptQueryRq.ORSalesReceiptNumberFilters.SalesReceiptNumberFilter.SalesReceiptNumber.SetValue(6)
                        End If
                        if (ORSalesReceiptNumberFiltersElementType3890 = "SalesReceiptNumberRangeFilter") then
                                'Set field value for FromSalesReceiptNumber
                                SalesReceiptQueryRq.ORSalesReceiptNumberFilters.SalesReceiptNumberRangeFilter.FromSalesReceiptNumber.SetValue(6)
                                'Set field value for ToSalesReceiptNumber
                                SalesReceiptQueryRq.ORSalesReceiptNumberFilters.SalesReceiptNumberRangeFilter.ToSalesReceiptNumber.SetValue(6)
                        End If
                        'Set field value for SalesReceiptType
                        SalesReceiptQueryRq.SalesReceiptType.SetValue(ENSalesReceiptType.srtSales)
                        Dim ORShipDateFiltersElementType3891 as String
                        ORShipDateFiltersElementType3891 = "ShipDateFilter"
                        if (ORShipDateFiltersElementType3891 = "ShipDateFilter") then
                                'Set field value for MatchNumericCriterion
                                SalesReceiptQueryRq.ORShipDateFilters.ShipDateFilter.MatchNumericCriterion.SetValue(ENMatchNumericCriterion.mncLessThan)
                                'Set field value for ShipDate
                                SalesReceiptQueryRq.ORShipDateFilters.ShipDateFilter.ShipDate.SetValue(DateTime.Parse("12/15/2007"))
                        End If
                        if (ORShipDateFiltersElementType3891 = "ShipDateRangeFilter") then
                                'Set field value for FromShipDate
                                SalesReceiptQueryRq.ORShipDateFilters.ShipDateRangeFilter.FromShipDate.SetValue(DateTime.Parse("12/15/2007"))
                                'Set field value for ToShipDate
                                SalesReceiptQueryRq.ORShipDateFilters.ShipDateRangeFilter.ToShipDate.SetValue(DateTime.Parse("12/15/2007"))
                        End If
                        'Set field value for StoreExchangeStatus
                        SalesReceiptQueryRq.StoreExchangeStatus.SetValue(ENStoreExchangeStatus.sesModified)
                        Dim ORStoreNumberFiltersElementType3892 as String
                        ORStoreNumberFiltersElementType3892 = "StoreNumberFilter"
                        if (ORStoreNumberFiltersElementType3892 = "StoreNumberFilter") then
                                'Set field value for MatchNumericCriterion
                                SalesReceiptQueryRq.ORStoreNumberFilters.StoreNumberFilter.MatchNumericCriterion.SetValue(ENMatchNumericCriterion.mncLessThan)
                                'Set field value for StoreNumber
                                SalesReceiptQueryRq.ORStoreNumberFilters.StoreNumberFilter.StoreNumber.SetValue(6)
                        End If
                        if (ORStoreNumberFiltersElementType3892 = "StoreNumberRangeFilter") then
                                'Set field value for FromStoreNumber
                                SalesReceiptQueryRq.ORStoreNumberFilters.StoreNumberRangeFilter.FromStoreNumber.SetValue(6)
                                'Set field value for ToStoreNumber
                                SalesReceiptQueryRq.ORStoreNumberFilters.StoreNumberRangeFilter.ToStoreNumber.SetValue(6)
                        End If
                        Dim ORSubtotalFiltersElementType3893 as String
                        ORSubtotalFiltersElementType3893 = "SubtotalFilter"
                        if (ORSubtotalFiltersElementType3893 = "SubtotalFilter") then
                                'Set field value for MatchNumericCriterion
                                SalesReceiptQueryRq.ORSubtotalFilters.SubtotalFilter.MatchNumericCriterion.SetValue(ENMatchNumericCriterion.mncLessThan)
                                'Set field value for Subtotal
                                SalesReceiptQueryRq.ORSubtotalFilters.SubtotalFilter.Subtotal.SetValue(10.01)
                        End If
                        if (ORSubtotalFiltersElementType3893 = "SubtotalRangeFilter") then
                                'Set field value for FromSubtotal
                                SalesReceiptQueryRq.ORSubtotalFilters.SubtotalRangeFilter.FromSubtotal.SetValue(10.01)
                                'Set field value for ToSubtotal
                                SalesReceiptQueryRq.ORSubtotalFilters.SubtotalRangeFilter.ToSubtotal.SetValue(10.01)
                        End If
                        Dim ORTaxAmountFiltersElementType3894 as String
                        ORTaxAmountFiltersElementType3894 = "TaxAmountFilter"
                        if (ORTaxAmountFiltersElementType3894 = "TaxAmountFilter") then
                                'Set field value for MatchNumericCriterion
                                SalesReceiptQueryRq.ORTaxAmountFilters.TaxAmountFilter.MatchNumericCriterion.SetValue(ENMatchNumericCriterion.mncLessThan)
                                'Set field value for TaxAmount
                                SalesReceiptQueryRq.ORTaxAmountFilters.TaxAmountFilter.TaxAmount.SetValue(10.01)
                        End If
                        if (ORTaxAmountFiltersElementType3894 = "TaxAmountRangeFilter") then
                                'Set field value for FromTaxAmount
                                SalesReceiptQueryRq.ORTaxAmountFilters.TaxAmountRangeFilter.FromTaxAmount.SetValue(10.01)
                                'Set field value for ToTaxAmount
                                SalesReceiptQueryRq.ORTaxAmountFilters.TaxAmountRangeFilter.ToTaxAmount.SetValue(10.01)
                        End If
                        Dim ORTaxCategoryFiltersElementType3895 as String
                        ORTaxCategoryFiltersElementType3895 = "TaxCategoryFilter"
                        if (ORTaxCategoryFiltersElementType3895 = "TaxCategoryFilter") then
                                'Set field value for MatchStringCriterion
                                SalesReceiptQueryRq.ORTaxCategoryFilters.TaxCategoryFilter.MatchStringCriterion.SetValue(ENMatchStringCriterion.mscEqual)
                                'Set field value for TaxCategory
                                SalesReceiptQueryRq.ORTaxCategoryFilters.TaxCategoryFilter.TaxCategory.SetValue("ab")
                        End If
                        if (ORTaxCategoryFiltersElementType3895 = "TaxCategoryRangeFilter") then
                                'Set field value for FromTaxCategory
                                SalesReceiptQueryRq.ORTaxCategoryFilters.TaxCategoryRangeFilter.FromTaxCategory.SetValue("ab")
                                'Set field value for ToTaxCategory
                                SalesReceiptQueryRq.ORTaxCategoryFilters.TaxCategoryRangeFilter.ToTaxCategory.SetValue("ab")
                        End If
                        Dim ORTaxPercentageFiltersElementType3896 as String
                        ORTaxPercentageFiltersElementType3896 = "TaxPercentageFilter"
                        if (ORTaxPercentageFiltersElementType3896 = "TaxPercentageFilter") then
                                'Set field value for MatchNumericCriterion
                                SalesReceiptQueryRq.ORTaxPercentageFilters.TaxPercentageFilter.MatchNumericCriterion.SetValue(ENMatchNumericCriterion.mncLessThan)
                                'Set field value for TaxPercentage
                                SalesReceiptQueryRq.ORTaxPercentageFilters.TaxPercentageFilter.TaxPercentage.SetValue(12.34)
                        End If
                        if (ORTaxPercentageFiltersElementType3896 = "TaxPercentageRangeFilter") then
                                'Set field value for FromTaxPercentage
                                SalesReceiptQueryRq.ORTaxPercentageFilters.TaxPercentageRangeFilter.FromTaxPercentage.SetValue(12.34)
                                'Set field value for ToTaxPercentage
                                SalesReceiptQueryRq.ORTaxPercentageFilters.TaxPercentageRangeFilter.ToTaxPercentage.SetValue(12.34)
                        End If
                        'Set field value for TenderType
                        SalesReceiptQueryRq.TenderType.SetValue(ENTenderType.ttNone)
                        Dim ORTipReceiverFiltersElementType3897 as String
                        ORTipReceiverFiltersElementType3897 = "TipReceiverFilter"
                        if (ORTipReceiverFiltersElementType3897 = "TipReceiverFilter") then
                                'Set field value for MatchStringCriterion
                                SalesReceiptQueryRq.ORTipReceiverFilters.TipReceiverFilter.MatchStringCriterion.SetValue(ENMatchStringCriterion.mscEqual)
                                'Set field value for TipReceiver
                                SalesReceiptQueryRq.ORTipReceiverFilters.TipReceiverFilter.TipReceiver.SetValue("ab")
                        End If
                        if (ORTipReceiverFiltersElementType3897 = "TipReceiverRangeFilter") then
                                'Set field value for FromTipReceiver
                                SalesReceiptQueryRq.ORTipReceiverFilters.TipReceiverRangeFilter.FromTipReceiver.SetValue("ab")
                                'Set field value for ToTipReceiver
                                SalesReceiptQueryRq.ORTipReceiverFilters.TipReceiverRangeFilter.ToTipReceiver.SetValue("ab")
                        End If
                        Dim ORTotalFiltersElementType3898 as String
                        ORTotalFiltersElementType3898 = "TotalFilter"
                        if (ORTotalFiltersElementType3898 = "TotalFilter") then
                                'Set field value for MatchNumericCriterion
                                SalesReceiptQueryRq.ORTotalFilters.TotalFilter.MatchNumericCriterion.SetValue(ENMatchNumericCriterion.mncLessThan)
                                'Set field value for Total
                                SalesReceiptQueryRq.ORTotalFilters.TotalFilter.Total.SetValue(10.01)
                        End If
                        if (ORTotalFiltersElementType3898 = "TotalRangeFilter") then
                                'Set field value for FromTotal
                                SalesReceiptQueryRq.ORTotalFilters.TotalRangeFilter.FromTotal.SetValue(10.01)
                                'Set field value for ToTotal
                                SalesReceiptQueryRq.ORTotalFilters.TotalRangeFilter.ToTotal.SetValue(10.01)
                        End If
                        Dim ORTrackingNumberFiltersElementType3899 as String
                        ORTrackingNumberFiltersElementType3899 = "TrackingNumberFilter"
                        if (ORTrackingNumberFiltersElementType3899 = "TrackingNumberFilter") then
                                'Set field value for MatchStringCriterion
                                SalesReceiptQueryRq.ORTrackingNumberFilters.TrackingNumberFilter.MatchStringCriterion.SetValue(ENMatchStringCriterion.mscEqual)
                                'Set field value for TrackingNumber
                                SalesReceiptQueryRq.ORTrackingNumberFilters.TrackingNumberFilter.TrackingNumber.SetValue("ab")
                        End If
                        if (ORTrackingNumberFiltersElementType3899 = "TrackingNumberRangeFilter") then
                                'Set field value for FromTrackingNumber
                                SalesReceiptQueryRq.ORTrackingNumberFilters.TrackingNumberRangeFilter.FromTrackingNumber.SetValue("ab")
                                'Set field value for ToTrackingNumber
                                SalesReceiptQueryRq.ORTrackingNumberFilters.TrackingNumberRangeFilter.ToTrackingNumber.SetValue("ab")
                        End If
                        Dim ORTxnDateFiltersElementType3900 as String
                        ORTxnDateFiltersElementType3900 = "TxnDateFilter"
                        if (ORTxnDateFiltersElementType3900 = "TxnDateFilter") then
                                'Set field value for MatchNumericCriterion
                                SalesReceiptQueryRq.ORTxnDateFilters.TxnDateFilter.MatchNumericCriterion.SetValue(ENMatchNumericCriterion.mncLessThan)
                                'Set field value for TxnDate
                                SalesReceiptQueryRq.ORTxnDateFilters.TxnDateFilter.TxnDate.SetValue(DateTime.Parse("12/15/2007"))
                        End If
                        if (ORTxnDateFiltersElementType3900 = "TxnDateRangeFilter") then
                                'Set field value for FromTxnDate
                                SalesReceiptQueryRq.ORTxnDateFilters.TxnDateRangeFilter.FromTxnDate.SetValue(DateTime.Parse("12/15/2007"))
                                'Set field value for ToTxnDate
                                SalesReceiptQueryRq.ORTxnDateFilters.TxnDateRangeFilter.ToTxnDate.SetValue(DateTime.Parse("12/15/2007"))
                        End If
                        'Set field value for TxnState
                        SalesReceiptQueryRq.TxnState.SetValue(ENTxnState.tsNormal)
                        Dim ORWorkstationFiltersElementType3901 as String
                        ORWorkstationFiltersElementType3901 = "WorkstationFilter"
                        if (ORWorkstationFiltersElementType3901 = "WorkstationFilter") then
                                'Set field value for MatchNumericCriterion
                                SalesReceiptQueryRq.ORWorkstationFilters.WorkstationFilter.MatchNumericCriterion.SetValue(ENMatchNumericCriterion.mncLessThan)
                                'Set field value for Workstation
                                SalesReceiptQueryRq.ORWorkstationFilters.WorkstationFilter.Workstation.SetValue(6)
                        End If
                        if (ORWorkstationFiltersElementType3901 = "WorkstationRangeFilter") then
                                'Set field value for FromWorkstation
                                SalesReceiptQueryRq.ORWorkstationFilters.WorkstationRangeFilter.FromWorkstation.SetValue(6)
                                'Set field value for ToWorkstation
                                SalesReceiptQueryRq.ORWorkstationFilters.WorkstationRangeFilter.ToWorkstation.SetValue(6)
                        End If
                        'Set field value for IsEcommerce
                        SalesReceiptQueryRq.IsEcommerce.SetValue(True)
                        Dim ORTransactionPostedByFiltersElementType3902 as String
                        ORTransactionPostedByFiltersElementType3902 = "TransactionPostedByFilter"
                        if (ORTransactionPostedByFiltersElementType3902 = "TransactionPostedByFilter") then
                                'Set field value for MatchStringCriterion
                                SalesReceiptQueryRq.ORTransactionPostedByFilters.TransactionPostedByFilter.MatchStringCriterion.SetValue(ENMatchStringCriterion.mscEqual)
                                'Set field value for TransactionPostedBy
                                SalesReceiptQueryRq.ORTransactionPostedByFilters.TransactionPostedByFilter.TransactionPostedBy.SetValue("ab")
                        End If
                        if (ORTransactionPostedByFiltersElementType3902 = "TransactionPostedByRangeFilter") then
                                'Set field value for FromTransactionPostedBy
                                SalesReceiptQueryRq.ORTransactionPostedByFilters.TransactionPostedByRangeFilter.FromTransactionPostedBy.SetValue("ab")
                                'Set field value for ToTransactionPostedBy
                                SalesReceiptQueryRq.ORTransactionPostedByFilters.TransactionPostedByRangeFilter.ToTransactionPostedBy.SetValue("ab")
                        End If
                        Dim ORTransactionOnlineStoreNameFiltersElementType3903 as String
                        ORTransactionOnlineStoreNameFiltersElementType3903 = "TransactionStoreNameFilter"
                        if (ORTransactionOnlineStoreNameFiltersElementType3903 = "TransactionStoreNameFilter") then
                                'Set field value for MatchStringCriterion
                                SalesReceiptQueryRq.ORTransactionOnlineStoreNameFilters.TransactionStoreNameFilter.MatchStringCriterion.SetValue(ENMatchStringCriterion.mscEqual)
                                'Set field value for TransactionStoreName
                                SalesReceiptQueryRq.ORTransactionOnlineStoreNameFilters.TransactionStoreNameFilter.TransactionStoreName.SetValue("ab")
                        End If
                        if (ORTransactionOnlineStoreNameFiltersElementType3903 = "TransactionStoreNameRangeFilter") then
                                'Set field value for FromTransactionStoreName
                                SalesReceiptQueryRq.ORTransactionOnlineStoreNameFilters.TransactionStoreNameRangeFilter.FromTransactionStoreName.SetValue("ab")
                                'Set field value for ToTransactionStoreName
                                SalesReceiptQueryRq.ORTransactionOnlineStoreNameFilters.TransactionStoreNameRangeFilter.ToTransactionStoreName.SetValue("ab")
                        End If
                        Dim ORTransactionStoreTypeFiltersElementType3904 as String
                        ORTransactionStoreTypeFiltersElementType3904 = "TransactionStoreTypeFilter"
                        if (ORTransactionStoreTypeFiltersElementType3904 = "TransactionStoreTypeFilter") then
                                'Set field value for MatchStringCriterion
                                SalesReceiptQueryRq.ORTransactionStoreTypeFilters.TransactionStoreTypeFilter.MatchStringCriterion.SetValue(ENMatchStringCriterion.mscEqual)
                                'Set field value for TransactionStoreType
                                SalesReceiptQueryRq.ORTransactionStoreTypeFilters.TransactionStoreTypeFilter.TransactionStoreType.SetValue("ab")
                        End If
                        if (ORTransactionStoreTypeFiltersElementType3904 = "TransactionStoreTypeRangeFilter") then
                                'Set field value for FromTransactionStoreType
                                SalesReceiptQueryRq.ORTransactionStoreTypeFilters.TransactionStoreTypeRangeFilter.FromTransactionStoreType.SetValue("ab")
                                'Set field value for ToTransactionStoreType
                                SalesReceiptQueryRq.ORTransactionStoreTypeFilters.TransactionStoreTypeRangeFilter.ToTransactionStoreType.SetValue("ab")
                        End If
                        'Set field value for IncludeRetElementList
                        'May create more than one of these if needed
                        SalesReceiptQueryRq.IncludeRetElementList.Add("ab")
                End Sub




                Public Sub WalkSalesReceiptQueryRs( 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.rtSalesReceiptQueryRs) then
                                                        'upcast to more specific type here, this is safe because we checked with response.Type check above
                                                        Dim SalesReceiptRet as ISalesReceiptRetList
                                                        SalesReceiptRet = CType(response.Detail,ISalesReceiptRetList)
                                                        for z=0 to SalesReceiptRet.Count-1
                                                                WalkSalesReceiptRet(SalesReceiptRet.GetAt(z))
                                                        Next z
                                                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 ISalesReceiptRetList
                        'Get value of TxnID
                        if ( not SalesReceiptRet.TxnID is nothing) then
                                Dim TxnID3905 as String
                                TxnID3905 = SalesReceiptRet.TxnID.GetValue()
                        End If
                        'Get value of TimeCreated
                        if ( not SalesReceiptRet.TimeCreated is nothing) then
                                Dim TimeCreated3906 as DateTime
                                TimeCreated3906 = SalesReceiptRet.TimeCreated.GetValue()
                        End If
                        'Get value of TimeModified
                        if ( not SalesReceiptRet.TimeModified is nothing) then
                                Dim TimeModified3907 as DateTime
                                TimeModified3907 = SalesReceiptRet.TimeModified.GetValue()
                        End If
                        'Get value of Associate
                        if ( not SalesReceiptRet.Associate is nothing) then
                                Dim Associate3908 as String
                                Associate3908 = SalesReceiptRet.Associate.GetValue()
                        End If
                        'Get value of Cashier
                        if ( not SalesReceiptRet.Cashier is nothing) then
                                Dim Cashier3909 as String
                                Cashier3909 = SalesReceiptRet.Cashier.GetValue()
                        End If
                        'Get value of Comments
                        if ( not SalesReceiptRet.Comments is nothing) then
                                Dim Comments3910 as String
                                Comments3910 = SalesReceiptRet.Comments.GetValue()
                        End If
                        'Get value of CustomerListID
                        if ( not SalesReceiptRet.CustomerListID is nothing) then
                                Dim CustomerListID3911 as String
                                CustomerListID3911 = SalesReceiptRet.CustomerListID.GetValue()
                        End If
                        'Get value of Discount
                        if ( not SalesReceiptRet.Discount is nothing) then
                                Dim Discount3912 as Double
                                Discount3912 = SalesReceiptRet.Discount.GetValue()
                        End If
                        'Get value of DiscountPercent
                        if ( not SalesReceiptRet.DiscountPercent is nothing) then
                                Dim DiscountPercent3913 as Single
                                DiscountPercent3913 = SalesReceiptRet.DiscountPercent.GetValue()
                        End If
                        'Get value of HistoryDocStatus
                        if ( not SalesReceiptRet.HistoryDocStatus is nothing) then
                                Dim HistoryDocStatus3914 as ENHistoryDocStatus
                                HistoryDocStatus3914 = SalesReceiptRet.HistoryDocStatus.GetValue()
                        End If
                        'Get value of ItemsCount
                        if ( not SalesReceiptRet.ItemsCount is nothing) then
                                Dim ItemsCount3915 as Integer
                                ItemsCount3915 = SalesReceiptRet.ItemsCount.GetValue()
                        End If
                        'Get value of PriceLevelNumber
                        if ( not SalesReceiptRet.PriceLevelNumber is nothing) then
                                Dim PriceLevelNumber3916 as ENPriceLevelNumber
                                PriceLevelNumber3916 = SalesReceiptRet.PriceLevelNumber.GetValue()
                        End If
                        'Get value of PromoCode
                        if ( not SalesReceiptRet.PromoCode is nothing) then
                                Dim PromoCode3917 as String
                                PromoCode3917 = SalesReceiptRet.PromoCode.GetValue()
                        End If
                        'Get value of QuickBooksFlag
                        if ( not SalesReceiptRet.QuickBooksFlag is nothing) then
                                Dim QuickBooksFlag3918 as ENQuickBooksFlag
                                QuickBooksFlag3918 = SalesReceiptRet.QuickBooksFlag.GetValue()
                        End If
                        'Get value of SalesOrderTxnID
                        if ( not SalesReceiptRet.SalesOrderTxnID is nothing) then
                                Dim SalesOrderTxnID3919 as String
                                SalesOrderTxnID3919 = SalesReceiptRet.SalesOrderTxnID.GetValue()
                        End If
                        'Get value of SalesReceiptNumber
                        if ( not SalesReceiptRet.SalesReceiptNumber is nothing) then
                                Dim SalesReceiptNumber3920 as Integer
                                SalesReceiptNumber3920 = SalesReceiptRet.SalesReceiptNumber.GetValue()
                        End If
                        'Get value of SalesReceiptType
                        if ( not SalesReceiptRet.SalesReceiptType is nothing) then
                                Dim SalesReceiptType3921 as ENSalesReceiptType
                                SalesReceiptType3921 = SalesReceiptRet.SalesReceiptType.GetValue()
                        End If
                        'Get value of ShipDate
                        if ( not SalesReceiptRet.ShipDate is nothing) then
                                Dim ShipDate3922 as DateTime
                                ShipDate3922 = SalesReceiptRet.ShipDate.GetValue()
                        End If
                        'Get value of StoreExchangeStatus
                        if ( not SalesReceiptRet.StoreExchangeStatus is nothing) then
                                Dim StoreExchangeStatus3923 as ENStoreExchangeStatus
                                StoreExchangeStatus3923 = SalesReceiptRet.StoreExchangeStatus.GetValue()
                        End If
                        'Get value of StoreNumber
                        if ( not SalesReceiptRet.StoreNumber is nothing) then
                                Dim StoreNumber3924 as Integer
                                StoreNumber3924 = SalesReceiptRet.StoreNumber.GetValue()
                        End If
                        'Get value of Subtotal
                        if ( not SalesReceiptRet.Subtotal is nothing) then
                                Dim Subtotal3925 as Double
                                Subtotal3925 = SalesReceiptRet.Subtotal.GetValue()
                        End If
                        'Get value of TaxAmount
                        if ( not SalesReceiptRet.TaxAmount is nothing) then
                                Dim TaxAmount3926 as Double
                                TaxAmount3926 = SalesReceiptRet.TaxAmount.GetValue()
                        End If
                        'Get value of TaxCategory
                        if ( not SalesReceiptRet.TaxCategory is nothing) then
                                Dim TaxCategory3927 as String
                                TaxCategory3927 = SalesReceiptRet.TaxCategory.GetValue()
                        End If
                        'Get value of TaxPercentage
                        if ( not SalesReceiptRet.TaxPercentage is nothing) then
                                Dim TaxPercentage3928 as Single
                                TaxPercentage3928 = SalesReceiptRet.TaxPercentage.GetValue()
                        End If
                        'Get value of TenderType
                        if ( not SalesReceiptRet.TenderType is nothing) then
                                Dim TenderType3929 as ENTenderType
                                TenderType3929 = SalesReceiptRet.TenderType.GetValue()
                        End If
                        'Get value of TipReceiver
                        if ( not SalesReceiptRet.TipReceiver is nothing) then
                                Dim TipReceiver3930 as String
                                TipReceiver3930 = SalesReceiptRet.TipReceiver.GetValue()
                        End If
                        'Get value of Total
                        if ( not SalesReceiptRet.Total is nothing) then
                                Dim Total3931 as Double
                                Total3931 = SalesReceiptRet.Total.GetValue()
                        End If
                        'Get value of TrackingNumber
                        if ( not SalesReceiptRet.TrackingNumber is nothing) then
                                Dim TrackingNumber3932 as String
                                TrackingNumber3932 = SalesReceiptRet.TrackingNumber.GetValue()
                        End If
                        'Get value of TxnDate
                        if ( not SalesReceiptRet.TxnDate is nothing) then
                                Dim TxnDate3933 as DateTime
                                TxnDate3933 = SalesReceiptRet.TxnDate.GetValue()
                        End If
                        'Get value of TxnState
                        if ( not SalesReceiptRet.TxnState is nothing) then
                                Dim TxnState3934 as ENTxnState
                                TxnState3934 = SalesReceiptRet.TxnState.GetValue()
                        End If
                        'Get value of Workstation
                        if ( not SalesReceiptRet.Workstation is nothing) then
                                Dim Workstation3935 as Integer
                                Workstation3935 = 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 City3936 as String
                                        City3936 = SalesReceiptRet.BillingInformation.City.GetValue()
                                End If
                                'Get value of CompanyName
                                if ( not SalesReceiptRet.BillingInformation.CompanyName is nothing) then
                                        Dim CompanyName3937 as String
                                        CompanyName3937 = SalesReceiptRet.BillingInformation.CompanyName.GetValue()
                                End If
                                'Get value of Country
                                if ( not SalesReceiptRet.BillingInformation.Country is nothing) then
                                        Dim Country3938 as String
                                        Country3938 = SalesReceiptRet.BillingInformation.Country.GetValue()
                                End If
                                'Get value of FirstName
                                if ( not SalesReceiptRet.BillingInformation.FirstName is nothing) then
                                        Dim FirstName3939 as String
                                        FirstName3939 = SalesReceiptRet.BillingInformation.FirstName.GetValue()
                                End If
                                'Get value of LastName
                                if ( not SalesReceiptRet.BillingInformation.LastName is nothing) then
                                        Dim LastName3940 as String
                                        LastName3940 = SalesReceiptRet.BillingInformation.LastName.GetValue()
                                End If
                                'Get value of Phone
                                if ( not SalesReceiptRet.BillingInformation.Phone is nothing) then
                                        Dim Phone3941 as String
                                        Phone3941 = SalesReceiptRet.BillingInformation.Phone.GetValue()
                                End If
                                'Get value of Phone2
                                if ( not SalesReceiptRet.BillingInformation.Phone2 is nothing) then
                                        Dim Phone23942 as String
                                        Phone23942 = SalesReceiptRet.BillingInformation.Phone2.GetValue()
                                End If
                                'Get value of Phone3
                                if ( not SalesReceiptRet.BillingInformation.Phone3 is nothing) then
                                        Dim Phone33943 as String
                                        Phone33943 = SalesReceiptRet.BillingInformation.Phone3.GetValue()
                                End If
                                'Get value of Phone4
                                if ( not SalesReceiptRet.BillingInformation.Phone4 is nothing) then
                                        Dim Phone43944 as String
                                        Phone43944 = SalesReceiptRet.BillingInformation.Phone4.GetValue()
                                End If
                                'Get value of PostalCode
                                if ( not SalesReceiptRet.BillingInformation.PostalCode is nothing) then
                                        Dim PostalCode3945 as String
                                        PostalCode3945 = SalesReceiptRet.BillingInformation.PostalCode.GetValue()
                                End If
                                'Get value of Salutation
                                if ( not SalesReceiptRet.BillingInformation.Salutation is nothing) then
                                        Dim Salutation3946 as String
                                        Salutation3946 = SalesReceiptRet.BillingInformation.Salutation.GetValue()
                                End If
                                'Get value of State
                                if ( not SalesReceiptRet.BillingInformation.State is nothing) then
                                        Dim State3947 as String
                                        State3947 = SalesReceiptRet.BillingInformation.State.GetValue()
                                End If
                                'Get value of Street
                                if ( not SalesReceiptRet.BillingInformation.Street is nothing) then
                                        Dim Street3948 as String
                                        Street3948 = SalesReceiptRet.BillingInformation.Street.GetValue()
                                End If
                                'Get value of Street2
                                if ( not SalesReceiptRet.BillingInformation.Street2 is nothing) then
                                        Dim Street23949 as String
                                        Street23949 = SalesReceiptRet.BillingInformation.Street2.GetValue()
                                End If
                                'Get value of WebNumber
                                if ( not SalesReceiptRet.BillingInformation.WebNumber is nothing) then
                                        Dim WebNumber3950 as String
                                        WebNumber3950 = 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 AddressName3951 as String
                                        AddressName3951 = SalesReceiptRet.ShippingInformation.AddressName.GetValue()
                                End If
                                'Get value of City
                                if ( not SalesReceiptRet.ShippingInformation.City is nothing) then
                                        Dim City3952 as String
                                        City3952 = SalesReceiptRet.ShippingInformation.City.GetValue()
                                End If
                                'Get value of CompanyName
                                if ( not SalesReceiptRet.ShippingInformation.CompanyName is nothing) then
                                        Dim CompanyName3953 as String
                                        CompanyName3953 = SalesReceiptRet.ShippingInformation.CompanyName.GetValue()
                                End If
                                'Get value of Country
                                if ( not SalesReceiptRet.ShippingInformation.Country is nothing) then
                                        Dim Country3954 as String
                                        Country3954 = SalesReceiptRet.ShippingInformation.Country.GetValue()
                                End If
                                'Get value of FullName
                                if ( not SalesReceiptRet.ShippingInformation.FullName is nothing) then
                                        Dim FullName3955 as String
                                        FullName3955 = SalesReceiptRet.ShippingInformation.FullName.GetValue()
                                End If
                                'Get value of Phone
                                if ( not SalesReceiptRet.ShippingInformation.Phone is nothing) then
                                        Dim Phone3956 as String
                                        Phone3956 = SalesReceiptRet.ShippingInformation.Phone.GetValue()
                                End If
                                'Get value of Phone2
                                if ( not SalesReceiptRet.ShippingInformation.Phone2 is nothing) then
                                        Dim Phone23957 as String
                                        Phone23957 = SalesReceiptRet.ShippingInformation.Phone2.GetValue()
                                End If
                                'Get value of Phone3
                                if ( not SalesReceiptRet.ShippingInformation.Phone3 is nothing) then
                                        Dim Phone33958 as String
                                        Phone33958 = SalesReceiptRet.ShippingInformation.Phone3.GetValue()
                                End If
                                'Get value of Phone4
                                if ( not SalesReceiptRet.ShippingInformation.Phone4 is nothing) then
                                        Dim Phone43959 as String
                                        Phone43959 = SalesReceiptRet.ShippingInformation.Phone4.GetValue()
                                End If
                                'Get value of PostalCode
                                if ( not SalesReceiptRet.ShippingInformation.PostalCode is nothing) then
                                        Dim PostalCode3960 as String
                                        PostalCode3960 = SalesReceiptRet.ShippingInformation.PostalCode.GetValue()
                                End If
                                'Get value of ShipBy
                                if ( not SalesReceiptRet.ShippingInformation.ShipBy is nothing) then
                                        Dim ShipBy3961 as String
                                        ShipBy3961 = SalesReceiptRet.ShippingInformation.ShipBy.GetValue()
                                End If
                                'Get value of Shipping
                                if ( not SalesReceiptRet.ShippingInformation.Shipping is nothing) then
                                        Dim Shipping3962 as Double
                                        Shipping3962 = SalesReceiptRet.ShippingInformation.Shipping.GetValue()
                                End If
                                'Get value of State
                                if ( not SalesReceiptRet.ShippingInformation.State is nothing) then
                                        Dim State3963 as String
                                        State3963 = SalesReceiptRet.ShippingInformation.State.GetValue()
                                End If
                                'Get value of Street
                                if ( not SalesReceiptRet.ShippingInformation.Street is nothing) then
                                        Dim Street3964 as String
                                        Street3964 = SalesReceiptRet.ShippingInformation.Street.GetValue()
                                End If
                                'Get value of Street2
                                if ( not SalesReceiptRet.ShippingInformation.Street2 is nothing) then
                                        Dim Street23965 as String
                                        Street23965 = SalesReceiptRet.ShippingInformation.Street2.GetValue()
                                End If
                        End If
                        if (not SalesReceiptRet.SalesReceiptItemRetList is nothing)
                                Dim i3966 as Integer
                                for i3966 = 0  to SalesReceiptRet.SalesReceiptItemRetList.Count - 1
                                        Dim SalesReceiptItemRet as ISalesReceiptItemRet
                                        SalesReceiptItemRet = SalesReceiptRet.SalesReceiptItemRetList.GetAt(i3966)
                                        'Get value of ListID
                                        if ( not SalesReceiptItemRet.ListID is nothing) then
                                                Dim ListID3967 as String
                                                ListID3967 = SalesReceiptItemRet.ListID.GetValue()
                                        End If
                                        'Get value of ALU
                                        if ( not SalesReceiptItemRet.ALU is nothing) then
                                                Dim ALU3968 as String
                                                ALU3968 = SalesReceiptItemRet.ALU.GetValue()
                                        End If
                                        'Get value of Associate
                                        if ( not SalesReceiptItemRet.Associate is nothing) then
                                                Dim Associate3969 as String
                                                Associate3969 = SalesReceiptItemRet.Associate.GetValue()
                                        End If
                                        'Get value of Attribute
                                        if ( not SalesReceiptItemRet.Attribute is nothing) then
                                                Dim Attribute3970 as String
                                                Attribute3970 = SalesReceiptItemRet.Attribute.GetValue()
                                        End If
                                        'Get value of Commission
                                        if ( not SalesReceiptItemRet.Commission is nothing) then
                                                Dim Commission3971 as Double
                                                Commission3971 = SalesReceiptItemRet.Commission.GetValue()
                                        End If
                                        'Get value of Cost
                                        if ( not SalesReceiptItemRet.Cost is nothing) then
                                                Dim Cost3972 as Double
                                                Cost3972 = SalesReceiptItemRet.Cost.GetValue()
                                        End If
                                        'Get value of Desc1
                                        if ( not SalesReceiptItemRet.Desc1 is nothing) then
                                                Dim Desc13973 as String
                                                Desc13973 = SalesReceiptItemRet.Desc1.GetValue()
                                        End If
                                        'Get value of Desc2
                                        if ( not SalesReceiptItemRet.Desc2 is nothing) then
                                                Dim Desc23974 as String
                                                Desc23974 = SalesReceiptItemRet.Desc2.GetValue()
                                        End If
                                        'Get value of Discount
                                        if ( not SalesReceiptItemRet.Discount is nothing) then
                                                Dim Discount3975 as Double
                                                Discount3975 = SalesReceiptItemRet.Discount.GetValue()
                                        End If
                                        'Get value of DiscountPercent
                                        if ( not SalesReceiptItemRet.DiscountPercent is nothing) then
                                                Dim DiscountPercent3976 as Single
                                                DiscountPercent3976 = SalesReceiptItemRet.DiscountPercent.GetValue()
                                        End If
                                        'Get value of DiscountType
                                        if ( not SalesReceiptItemRet.DiscountType is nothing) then
                                                Dim DiscountType3977 as String
                                                DiscountType3977 = SalesReceiptItemRet.DiscountType.GetValue()
                                        End If
                                        'Get value of DiscountSource
                                        if ( not SalesReceiptItemRet.DiscountSource is nothing) then
                                                Dim DiscountSource3978 as ENDiscountSource
                                                DiscountSource3978 = SalesReceiptItemRet.DiscountSource.GetValue()
                                        End If
                                        'Get value of ExtendedPrice
                                        if ( not SalesReceiptItemRet.ExtendedPrice is nothing) then
                                                Dim ExtendedPrice3979 as Double
                                                ExtendedPrice3979 = SalesReceiptItemRet.ExtendedPrice.GetValue()
                                        End If
                                        'Get value of ExtendedTax
                                        if ( not SalesReceiptItemRet.ExtendedTax is nothing) then
                                                Dim ExtendedTax3980 as Double
                                                ExtendedTax3980 = SalesReceiptItemRet.ExtendedTax.GetValue()
                                        End If
                                        'Get value of ItemNumber
                                        if ( not SalesReceiptItemRet.ItemNumber is nothing) then
                                                Dim ItemNumber3981 as Integer
                                                ItemNumber3981 = SalesReceiptItemRet.ItemNumber.GetValue()
                                        End If
                                        'Get value of NumberOfBaseUnits
                                        if ( not SalesReceiptItemRet.NumberOfBaseUnits is nothing) then
                                                Dim NumberOfBaseUnits3982 as Double
                                                NumberOfBaseUnits3982 = SalesReceiptItemRet.NumberOfBaseUnits.GetValue()
                                        End If
                                        'Get value of Price
                                        if ( not SalesReceiptItemRet.Price is nothing) then
                                                Dim Price3983 as Double
                                                Price3983 = SalesReceiptItemRet.Price.GetValue()
                                        End If
                                        'Get value of PriceLevelNumber
                                        if ( not SalesReceiptItemRet.PriceLevelNumber is nothing) then
                                                Dim PriceLevelNumber3984 as ENPriceLevelNumber
                                                PriceLevelNumber3984 = SalesReceiptItemRet.PriceLevelNumber.GetValue()
                                        End If
                                        'Get value of Qty
                                        if ( not SalesReceiptItemRet.Qty is nothing) then
                                                Dim Qty3985 as Double
                                                Qty3985 = SalesReceiptItemRet.Qty.GetValue()
                                        End If
                                        'Get value of SerialNumber
                                        if ( not SalesReceiptItemRet.SerialNumber is nothing) then
                                                Dim SerialNumber3986 as String
                                                SerialNumber3986 = SalesReceiptItemRet.SerialNumber.GetValue()
                                        End If
                                        'Get value of Size
                                        if ( not SalesReceiptItemRet.Size is nothing) then
                                                Dim Size3987 as String
                                                Size3987 = SalesReceiptItemRet.Size.GetValue()
                                        End If
                                        'Get value of TaxAmount
                                        if ( not SalesReceiptItemRet.TaxAmount is nothing) then
                                                Dim TaxAmount3988 as Double
                                                TaxAmount3988 = SalesReceiptItemRet.TaxAmount.GetValue()
                                        End If
                                        'Get value of TaxCode
                                        if ( not SalesReceiptItemRet.TaxCode is nothing) then
                                                Dim TaxCode3989 as String
                                                TaxCode3989 = SalesReceiptItemRet.TaxCode.GetValue()
                                        End If
                                        'Get value of TaxPercentage
                                        if ( not SalesReceiptItemRet.TaxPercentage is nothing) then
                                                Dim TaxPercentage3990 as Single
                                                TaxPercentage3990 = SalesReceiptItemRet.TaxPercentage.GetValue()
                                        End If
                                        'Get value of UnitOfMeasure
                                        if ( not SalesReceiptItemRet.UnitOfMeasure is nothing) then
                                                Dim UnitOfMeasure3991 as String
                                                UnitOfMeasure3991 = SalesReceiptItemRet.UnitOfMeasure.GetValue()
                                        End If
                                        'Get value of UPC
                                        if ( not SalesReceiptItemRet.UPC is nothing) then
                                                Dim UPC3992 as String
                                                UPC3992 = SalesReceiptItemRet.UPC.GetValue()
                                        End If
                                        'Get value of WebDesc
                                        if ( not SalesReceiptItemRet.WebDesc is nothing) then
                                                Dim WebDesc3993 as String
                                                WebDesc3993 = SalesReceiptItemRet.WebDesc.GetValue()
                                        End If
                                        'Get value of Manufacturer
                                        if ( not SalesReceiptItemRet.Manufacturer is nothing) then
                                                Dim Manufacturer3994 as String
                                                Manufacturer3994 = SalesReceiptItemRet.Manufacturer.GetValue()
                                        End If
                                        'Get value of Weight
                                        if ( not SalesReceiptItemRet.Weight is nothing) then
                                                Dim Weight3995 as Single
                                                Weight3995 = SalesReceiptItemRet.Weight.GetValue()
                                        End If
                                        'Get value of WebSKU
                                        if ( not SalesReceiptItemRet.WebSKU is nothing) then
                                                Dim WebSKU3996 as String
                                                WebSKU3996 = SalesReceiptItemRet.WebSKU.GetValue()
                                        End If
                                Next i3966
                        End If
                        if (not SalesReceiptRet.TenderAccountRetList is nothing)
                                Dim i3997 as Integer
                                for i3997 = 0  to SalesReceiptRet.TenderAccountRetList.Count - 1
                                        Dim TenderAccountRet as ITenderAccountRet
                                        TenderAccountRet = SalesReceiptRet.TenderAccountRetList.GetAt(i3997)
                                        'Get value of TenderAmount
                                        if ( not TenderAccountRet.TenderAmount is nothing) then
                                                Dim TenderAmount3998 as Double
                                                TenderAmount3998 = TenderAccountRet.TenderAmount.GetValue()
                                        End If
                                        'Get value of TipAmount
                                        if ( not TenderAccountRet.TipAmount is nothing) then
                                                Dim TipAmount3999 as Double
                                                TipAmount3999 = TenderAccountRet.TipAmount.GetValue()
                                        End If
                                Next i3997
                        End If
                        if (not SalesReceiptRet.TenderCashRetList is nothing)
                                Dim i4000 as Integer
                                for i4000 = 0  to SalesReceiptRet.TenderCashRetList.Count - 1
                                        Dim TenderCashRet as ITenderCashRet
                                        TenderCashRet = SalesReceiptRet.TenderCashRetList.GetAt(i4000)
                                        'Get value of TenderAmount
                                        if ( not TenderCashRet.TenderAmount is nothing) then
                                                Dim TenderAmount4001 as Double
                                                TenderAmount4001 = TenderCashRet.TenderAmount.GetValue()
                                        End If
                                Next i4000
                        End If
                        if (not SalesReceiptRet.TenderCheckRetList is nothing)
                                Dim i4002 as Integer
                                for i4002 = 0  to SalesReceiptRet.TenderCheckRetList.Count - 1
                                        Dim TenderCheckRet as ITenderCheckRet
                                        TenderCheckRet = SalesReceiptRet.TenderCheckRetList.GetAt(i4002)
                                        'Get value of CheckNumber
                                        if ( not TenderCheckRet.CheckNumber is nothing) then
                                                Dim CheckNumber4003 as String
                                                CheckNumber4003 = TenderCheckRet.CheckNumber.GetValue()
                                        End If
                                        'Get value of TenderAmount
                                        if ( not TenderCheckRet.TenderAmount is nothing) then
                                                Dim TenderAmount4004 as Double
                                                TenderAmount4004 = TenderCheckRet.TenderAmount.GetValue()
                                        End If
                                Next i4002
                        End If
                        if (not SalesReceiptRet.TenderCreditCardRetList is nothing)
                                Dim i4005 as Integer
                                for i4005 = 0  to SalesReceiptRet.TenderCreditCardRetList.Count - 1
                                        Dim TenderCreditCardRet as ITenderCreditCardRet
                                        TenderCreditCardRet = SalesReceiptRet.TenderCreditCardRetList.GetAt(i4005)
                                        'Get value of CardName
                                        if ( not TenderCreditCardRet.CardName is nothing) then
                                                Dim CardName4006 as String
                                                CardName4006 = TenderCreditCardRet.CardName.GetValue()
                                        End If
                                        'Get value of TenderAmount
                                        if ( not TenderCreditCardRet.TenderAmount is nothing) then
                                                Dim TenderAmount4007 as Double
                                                TenderAmount4007 = TenderCreditCardRet.TenderAmount.GetValue()
                                        End If
                                        'Get value of TipAmount
                                        if ( not TenderCreditCardRet.TipAmount is nothing) then
                                                Dim TipAmount4008 as Double
                                                TipAmount4008 = TenderCreditCardRet.TipAmount.GetValue()
                                        End If
                                Next i4005
                        End If
                        if (not SalesReceiptRet.TenderDebitCardRetList is nothing)
                                Dim i4009 as Integer
                                for i4009 = 0  to SalesReceiptRet.TenderDebitCardRetList.Count - 1
                                        Dim TenderDebitCardRet as ITenderDebitCardRet
                                        TenderDebitCardRet = SalesReceiptRet.TenderDebitCardRetList.GetAt(i4009)
                                        'Get value of Cashback
                                        if ( not TenderDebitCardRet.Cashback is nothing) then
                                                Dim Cashback4010 as Double
                                                Cashback4010 = TenderDebitCardRet.Cashback.GetValue()
                                        End If
                                        'Get value of TenderAmount
                                        if ( not TenderDebitCardRet.TenderAmount is nothing) then
                                                Dim TenderAmount4011 as Double
                                                TenderAmount4011 = TenderDebitCardRet.TenderAmount.GetValue()
                                        End If
                                Next i4009
                        End If
                        if (not SalesReceiptRet.TenderDepositRetList is nothing)
                                Dim i4012 as Integer
                                for i4012 = 0  to SalesReceiptRet.TenderDepositRetList.Count - 1
                                        Dim TenderDepositRet as ITenderDepositRet
                                        TenderDepositRet = SalesReceiptRet.TenderDepositRetList.GetAt(i4012)
                                        'Get value of TenderAmount
                                        if ( not TenderDepositRet.TenderAmount is nothing) then
                                                Dim TenderAmount4013 as Double
                                                TenderAmount4013 = TenderDepositRet.TenderAmount.GetValue()
                                        End If
                                Next i4012
                        End If
                        if (not SalesReceiptRet.TenderGiftRetList is nothing)
                                Dim i4014 as Integer
                                for i4014 = 0  to SalesReceiptRet.TenderGiftRetList.Count - 1
                                        Dim TenderGiftRet as ITenderGiftRet
                                        TenderGiftRet = SalesReceiptRet.TenderGiftRetList.GetAt(i4014)
                                        'Get value of GiftCertificateNumber
                                        if ( not TenderGiftRet.GiftCertificateNumber is nothing) then
                                                Dim GiftCertificateNumber4015 as String
                                                GiftCertificateNumber4015 = TenderGiftRet.GiftCertificateNumber.GetValue()
                                        End If
                                        'Get value of TenderAmount
                                        if ( not TenderGiftRet.TenderAmount is nothing) then
                                                Dim TenderAmount4016 as Double
                                                TenderAmount4016 = TenderGiftRet.TenderAmount.GetValue()
                                        End If
                                Next i4014
                        End If
                        if (not SalesReceiptRet.TenderGiftCardRetList is nothing)
                                Dim i4017 as Integer
                                for i4017 = 0  to SalesReceiptRet.TenderGiftCardRetList.Count - 1
                                        Dim TenderGiftCardRet as ITenderGiftCardRet
                                        TenderGiftCardRet = SalesReceiptRet.TenderGiftCardRetList.GetAt(i4017)
                                        'Get value of TenderAmount
                                        if ( not TenderGiftCardRet.TenderAmount is nothing) then
                                                Dim TenderAmount4018 as Double
                                                TenderAmount4018 = TenderGiftCardRet.TenderAmount.GetValue()
                                        End If
                                        'Get value of TipAmount
                                        if ( not TenderGiftCardRet.TipAmount is nothing) then
                                                Dim TipAmount4019 as Double
                                                TipAmount4019 = TenderGiftCardRet.TipAmount.GetValue()
                                        End If
                                Next i4017
                        End If
                        if (not SalesReceiptRet.DataExtRetList is nothing)
                                Dim i4020 as Integer
                                for i4020 = 0  to SalesReceiptRet.DataExtRetList.Count - 1
                                        Dim DataExtRet as IDataExtRet
                                        DataExtRet = SalesReceiptRet.DataExtRetList.GetAt(i4020)
                                        'Get value of OwnerID
                                        Dim OwnerID4021 as String
                                        OwnerID4021 = DataExtRet.OwnerID.GetValue()
                                        'Get value of DataExtName
                                        Dim DataExtName4022 as String
                                        DataExtName4022 = DataExtRet.DataExtName.GetValue()
                                        'Get value of DataExtType
                                        Dim DataExtType4023 as ENDataExtType
                                        DataExtType4023 = DataExtRet.DataExtType.GetValue()
                                        'Get value of DataExtValue
                                        Dim DataExtValue4024 as String
                                        DataExtValue4024 = DataExtRet.DataExtValue.GetValue()
                                Next i4020
                        End If
                        'Get value of IsEcommerce
                        if ( not SalesReceiptRet.IsEcommerce is nothing) then
                                Dim IsEcommerce4025 as Boolean
                                IsEcommerce4025 = SalesReceiptRet.IsEcommerce.GetValue()
                        End If
                        'Get value of TransactionPostedBy
                        if ( not SalesReceiptRet.TransactionPostedBy is nothing) then
                                Dim TransactionPostedBy4026 as String
                                TransactionPostedBy4026 = SalesReceiptRet.TransactionPostedBy.GetValue()
                        End If
                        'Get value of TransactionStoreName
                        if ( not SalesReceiptRet.TransactionStoreName is nothing) then
                                Dim TransactionStoreName4027 as String
                                TransactionStoreName4027 = SalesReceiptRet.TransactionStoreName.GetValue()
                        End If
                        'Get value of TransactionStoreType
                        if ( not SalesReceiptRet.TransactionStoreType is nothing) then
                                Dim TransactionStoreType4028 as String
                                TransactionStoreType4028 = 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
 919
 920
 921
 922
 923
 924
 925
 926
 927
 928
 929
 930
 931
 932
 933
 934
 935
 936
 937
 938
 939
 940
 941
 942
 943
 944
 945
 946
 947
 948
 949
 950
 951
 952
 953
 954
 955
 956
 957
 958
 959
 960
 961
 962
 963
 964
 965
 966
 967
 968
 969
 970
 971
 972
 973
 974
 975
 976
 977
 978
 979
 980
 981
 982
 983
 984
 985
 986
 987
 988
 989
 990
 991
 992
 993
 994
 995
 996
 997
 998
 999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
//The following sample code is generated as an illustration of
//Creating requests and parsing responses ONLY
//This code is NOT intended to show best practices or ideal code
//Use at your most careful discretion

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

namespace com.intuit.idn.samples
{
        public class SampleSalesReceiptQuery
        {
                public void  DoSalesReceiptQuery()
                {
                        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;

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

                                WalkSalesReceiptQueryRs(responseMsgSet);
                        }
                        catch (Exception e)
                        {
                                MessageBox.Show(e.Message, "Error");
                                if (sessionBegun)
                                {
                                        sessionManager.EndSession();
                                }
                                if (connectionOpen)
                                {
                                        sessionManager.CloseConnection();
                                }
                        }
                }
                void BuildSalesReceiptQueryRq(IMsgSetRequest requestMsgSet)
                {
                        ISalesReceiptQuery SalesReceiptQueryRq= requestMsgSet.AppendSalesReceiptQueryRq();
                        //Set attributes
                        //Set field value for metaData
                        SalesReceiptQueryRq.metaData.SetValue(ENmetaData.mdMetaDataAndResponseData);
                        //Set field value for iterator
                        SalesReceiptQueryRq.iterator.SetValue(ENiterator.itStart);
                        //Set field value for iteratorID
                        SalesReceiptQueryRq.iteratorID.SetValue("{D7355385-A17B-4f5d-B34D-F34C79C3E6FC}");
                        //Set field value for MaxReturned
                        SalesReceiptQueryRq.MaxReturned.SetValue(6);
                        //Set field value for OwnerIDList
                        //May create more than one of these if needed
                        SalesReceiptQueryRq.OwnerIDList.Add(Guid.NewGuid().ToString());
                        //Set field value for TxnID
                        SalesReceiptQueryRq.TxnID.SetValue("200000-1011023419");
                        string ORTimeCreatedFiltersElementType4029 = "TimeCreatedFilter";
                        if (ORTimeCreatedFiltersElementType4029 == "TimeCreatedFilter")
                        {
                                //Set field value for MatchNumericCriterion
                                SalesReceiptQueryRq.ORTimeCreatedFilters.TimeCreatedFilter.MatchNumericCriterion.SetValue(ENMatchNumericCriterion.mncLessThan);
                                //Set field value for TimeCreated
                                SalesReceiptQueryRq.ORTimeCreatedFilters.TimeCreatedFilter.TimeCreated.SetValue(DateTime.Parse("12/15/2007 12:15:12"),false);
                        }
                        if (ORTimeCreatedFiltersElementType4029 == "TimeCreatedRangeFilter")
                        {
                                //Set field value for FromTimeCreated
                                SalesReceiptQueryRq.ORTimeCreatedFilters.TimeCreatedRangeFilter.FromTimeCreated.SetValue(DateTime.Parse("12/15/2007 12:15:12"),false);
                                //Set field value for ToTimeCreated
                                SalesReceiptQueryRq.ORTimeCreatedFilters.TimeCreatedRangeFilter.ToTimeCreated.SetValue(DateTime.Parse("12/15/2007 12:15:12"),false);
                        }
                        string ORTimeModifiedFiltersElementType4030 = "TimeModifiedFilter";
                        if (ORTimeModifiedFiltersElementType4030 == "TimeModifiedFilter")
                        {
                                //Set field value for MatchNumericCriterion
                                SalesReceiptQueryRq.ORTimeModifiedFilters.TimeModifiedFilter.MatchNumericCriterion.SetValue(ENMatchNumericCriterion.mncLessThan);
                                //Set field value for TimeModified
                                SalesReceiptQueryRq.ORTimeModifiedFilters.TimeModifiedFilter.TimeModified.SetValue(DateTime.Parse("12/15/2007 12:15:12"),false);
                        }
                        if (ORTimeModifiedFiltersElementType4030 == "TimeModifiedRangeFilter")
                        {
                                //Set field value for FromTimeModified
                                SalesReceiptQueryRq.ORTimeModifiedFilters.TimeModifiedRangeFilter.FromTimeModified.SetValue(DateTime.Parse("12/15/2007 12:15:12"),false);
                                //Set field value for ToTimeModified
                                SalesReceiptQueryRq.ORTimeModifiedFilters.TimeModifiedRangeFilter.ToTimeModified.SetValue(DateTime.Parse("12/15/2007 12:15:12"),false);
                        }
                        string ORAssociateFiltersElementType4031 = "AssociateFilter";
                        if (ORAssociateFiltersElementType4031 == "AssociateFilter")
                        {
                                //Set field value for MatchStringCriterion
                                SalesReceiptQueryRq.ORAssociateFilters.AssociateFilter.MatchStringCriterion.SetValue(ENMatchStringCriterion.mscEqual);
                                //Set field value for Associate
                                SalesReceiptQueryRq.ORAssociateFilters.AssociateFilter.Associate.SetValue("ab");
                        }
                        if (ORAssociateFiltersElementType4031 == "AssociateRangeFilter")
                        {
                                //Set field value for FromAssociate
                                SalesReceiptQueryRq.ORAssociateFilters.AssociateRangeFilter.FromAssociate.SetValue("ab");
                                //Set field value for ToAssociate
                                SalesReceiptQueryRq.ORAssociateFilters.AssociateRangeFilter.ToAssociate.SetValue("ab");
                        }
                        string ORCashierFiltersElementType4032 = "CashierFilter";
                        if (ORCashierFiltersElementType4032 == "CashierFilter")
                        {
                                //Set field value for MatchStringCriterion
                                SalesReceiptQueryRq.ORCashierFilters.CashierFilter.MatchStringCriterion.SetValue(ENMatchStringCriterion.mscEqual);
                                //Set field value for Cashier
                                SalesReceiptQueryRq.ORCashierFilters.CashierFilter.Cashier.SetValue("ab");
                        }
                        if (ORCashierFiltersElementType4032 == "CashierRangeFilter")
                        {
                                //Set field value for FromCashier
                                SalesReceiptQueryRq.ORCashierFilters.CashierRangeFilter.FromCashier.SetValue("ab");
                                //Set field value for ToCashier
                                SalesReceiptQueryRq.ORCashierFilters.CashierRangeFilter.ToCashier.SetValue("ab");
                        }
                        string ORCommentsFiltersElementType4033 = "CommentsFilter";
                        if (ORCommentsFiltersElementType4033 == "CommentsFilter")
                        {
                                //Set field value for MatchStringCriterion
                                SalesReceiptQueryRq.ORCommentsFilters.CommentsFilter.MatchStringCriterion.SetValue(ENMatchStringCriterion.mscEqual);
                                //Set field value for Comments
                                SalesReceiptQueryRq.ORCommentsFilters.CommentsFilter.Comments.SetValue("ab");
                        }
                        if (ORCommentsFiltersElementType4033 == "CommentsRangeFilter")
                        {
                                //Set field value for FromComments
                                SalesReceiptQueryRq.ORCommentsFilters.CommentsRangeFilter.FromComments.SetValue("ab");
                                //Set field value for ToComments
                                SalesReceiptQueryRq.ORCommentsFilters.CommentsRangeFilter.ToComments.SetValue("ab");
                        }
                        //Set field value for CustomerListID
                        SalesReceiptQueryRq.CustomerListID.SetValue("200000-1011023419");
                        string ORDiscountFiltersElementType4034 = "DiscountFilter";
                        if (ORDiscountFiltersElementType4034 == "DiscountFilter")
                        {
                                //Set field value for MatchNumericCriterion
                                SalesReceiptQueryRq.ORDiscountFilters.DiscountFilter.MatchNumericCriterion.SetValue(ENMatchNumericCriterion.mncLessThan);
                                //Set field value for Discount
                                SalesReceiptQueryRq.ORDiscountFilters.DiscountFilter.Discount.SetValue(10.01);
                        }
                        if (ORDiscountFiltersElementType4034 == "DiscountRangeFilter")
                        {
                                //Set field value for FromDiscount
                                SalesReceiptQueryRq.ORDiscountFilters.DiscountRangeFilter.FromDiscount.SetValue(10.01);
                                //Set field value for ToDiscount
                                SalesReceiptQueryRq.ORDiscountFilters.DiscountRangeFilter.ToDiscount.SetValue(10.01);
                        }
                        string ORDiscountPercentFiltersElementType4035 = "DiscountPercentFilter";
                        if (ORDiscountPercentFiltersElementType4035 == "DiscountPercentFilter")
                        {
                                //Set field value for MatchNumericCriterion
                                SalesReceiptQueryRq.ORDiscountPercentFilters.DiscountPercentFilter.MatchNumericCriterion.SetValue(ENMatchNumericCriterion.mncLessThan);
                                //Set field value for DiscountPercent
                                SalesReceiptQueryRq.ORDiscountPercentFilters.DiscountPercentFilter.DiscountPercent.SetValue(12.34F);
                        }
                        if (ORDiscountPercentFiltersElementType4035 == "DiscountPercentRangeFilter")
                        {
                                //Set field value for FromDiscountPercent
                                SalesReceiptQueryRq.ORDiscountPercentFilters.DiscountPercentRangeFilter.FromDiscountPercent.SetValue(12.34F);
                                //Set field value for ToDiscountPercent
                                SalesReceiptQueryRq.ORDiscountPercentFilters.DiscountPercentRangeFilter.ToDiscountPercent.SetValue(12.34F);
                        }
                        //Set field value for HistoryDocStatus
                        SalesReceiptQueryRq.HistoryDocStatus.SetValue(ENHistoryDocStatus.hdsRegular);
                        string ORItemsCountFiltersElementType4036 = "ItemsCountFilter";
                        if (ORItemsCountFiltersElementType4036 == "ItemsCountFilter")
                        {
                                //Set field value for MatchNumericCriterion
                                SalesReceiptQueryRq.ORItemsCountFilters.ItemsCountFilter.MatchNumericCriterion.SetValue(ENMatchNumericCriterion.mncLessThan);
                                //Set field value for ItemsCount
                                SalesReceiptQueryRq.ORItemsCountFilters.ItemsCountFilter.ItemsCount.SetValue(6);
                        }
                        if (ORItemsCountFiltersElementType4036 == "ItemsCountRangeFilter")
                        {
                                //Set field value for FromItemsCount
                                SalesReceiptQueryRq.ORItemsCountFilters.ItemsCountRangeFilter.FromItemsCount.SetValue(6);
                                //Set field value for ToItemsCount
                                SalesReceiptQueryRq.ORItemsCountFilters.ItemsCountRangeFilter.ToItemsCount.SetValue(6);
                        }
                        //Set field value for PriceLevelNumber
                        SalesReceiptQueryRq.PriceLevelNumber.SetValue(ENPriceLevelNumber.pln1);
                        string ORPromoCodeFiltersElementType4037 = "PromoCodeFilter";
                        if (ORPromoCodeFiltersElementType4037 == "PromoCodeFilter")
                        {
                                //Set field value for MatchStringCriterion
                                SalesReceiptQueryRq.ORPromoCodeFilters.PromoCodeFilter.MatchStringCriterion.SetValue(ENMatchStringCriterion.mscEqual);
                                //Set field value for PromoCode
                                SalesReceiptQueryRq.ORPromoCodeFilters.PromoCodeFilter.PromoCode.SetValue("ab");
                        }
                        if (ORPromoCodeFiltersElementType4037 == "PromoCodeRangeFilter")
                        {
                                //Set field value for FromPromoCode
                                SalesReceiptQueryRq.ORPromoCodeFilters.PromoCodeRangeFilter.FromPromoCode.SetValue("ab");
                                //Set field value for ToPromoCode
                                SalesReceiptQueryRq.ORPromoCodeFilters.PromoCodeRangeFilter.ToPromoCode.SetValue("ab");
                        }
                        //Set field value for QuickBooksFlag
                        SalesReceiptQueryRq.QuickBooksFlag.SetValue(ENQuickBooksFlag.qbfNotPosted);
                        //Set field value for SalesOrderTxnID
                        SalesReceiptQueryRq.SalesOrderTxnID.SetValue("200000-1011023419");
                        string ORSalesReceiptNumberFiltersElementType4038 = "SalesReceiptNumberFilter";
                        if (ORSalesReceiptNumberFiltersElementType4038 == "SalesReceiptNumberFilter")
                        {
                                //Set field value for MatchNumericCriterion
                                SalesReceiptQueryRq.ORSalesReceiptNumberFilters.SalesReceiptNumberFilter.MatchNumericCriterion.SetValue(ENMatchNumericCriterion.mncLessThan);
                                //Set field value for SalesReceiptNumber
                                SalesReceiptQueryRq.ORSalesReceiptNumberFilters.SalesReceiptNumberFilter.SalesReceiptNumber.SetValue(6);
                        }
                        if (ORSalesReceiptNumberFiltersElementType4038 == "SalesReceiptNumberRangeFilter")
                        {
                                //Set field value for FromSalesReceiptNumber
                                SalesReceiptQueryRq.ORSalesReceiptNumberFilters.SalesReceiptNumberRangeFilter.FromSalesReceiptNumber.SetValue(6);
                                //Set field value for ToSalesReceiptNumber
                                SalesReceiptQueryRq.ORSalesReceiptNumberFilters.SalesReceiptNumberRangeFilter.ToSalesReceiptNumber.SetValue(6);
                        }
                        //Set field value for SalesReceiptType
                        SalesReceiptQueryRq.SalesReceiptType.SetValue(ENSalesReceiptType.srtSales);
                        string ORShipDateFiltersElementType4039 = "ShipDateFilter";
                        if (ORShipDateFiltersElementType4039 == "ShipDateFilter")
                        {
                                //Set field value for MatchNumericCriterion
                                SalesReceiptQueryRq.ORShipDateFilters.ShipDateFilter.MatchNumericCriterion.SetValue(ENMatchNumericCriterion.mncLessThan);
                                //Set field value for ShipDate
                                SalesReceiptQueryRq.ORShipDateFilters.ShipDateFilter.ShipDate.SetValue(DateTime.Parse("12/15/2007"));
                        }
                        if (ORShipDateFiltersElementType4039 == "ShipDateRangeFilter")
                        {
                                //Set field value for FromShipDate
                                SalesReceiptQueryRq.ORShipDateFilters.ShipDateRangeFilter.FromShipDate.SetValue(DateTime.Parse("12/15/2007"));
                                //Set field value for ToShipDate
                                SalesReceiptQueryRq.ORShipDateFilters.ShipDateRangeFilter.ToShipDate.SetValue(DateTime.Parse("12/15/2007"));
                        }
                        //Set field value for StoreExchangeStatus
                        SalesReceiptQueryRq.StoreExchangeStatus.SetValue(ENStoreExchangeStatus.sesModified);
                        string ORStoreNumberFiltersElementType4040 = "StoreNumberFilter";
                        if (ORStoreNumberFiltersElementType4040 == "StoreNumberFilter")
                        {
                                //Set field value for MatchNumericCriterion
                                SalesReceiptQueryRq.ORStoreNumberFilters.StoreNumberFilter.MatchNumericCriterion.SetValue(ENMatchNumericCriterion.mncLessThan);
                                //Set field value for StoreNumber
                                SalesReceiptQueryRq.ORStoreNumberFilters.StoreNumberFilter.StoreNumber.SetValue(6);
                        }
                        if (ORStoreNumberFiltersElementType4040 == "StoreNumberRangeFilter")
                        {
                                //Set field value for FromStoreNumber
                                SalesReceiptQueryRq.ORStoreNumberFilters.StoreNumberRangeFilter.FromStoreNumber.SetValue(6);
                                //Set field value for ToStoreNumber
                                SalesReceiptQueryRq.ORStoreNumberFilters.StoreNumberRangeFilter.ToStoreNumber.SetValue(6);
                        }
                        string ORSubtotalFiltersElementType4041 = "SubtotalFilter";
                        if (ORSubtotalFiltersElementType4041 == "SubtotalFilter")
                        {
                                //Set field value for MatchNumericCriterion
                                SalesReceiptQueryRq.ORSubtotalFilters.SubtotalFilter.MatchNumericCriterion.SetValue(ENMatchNumericCriterion.mncLessThan);
                                //Set field value for Subtotal
                                SalesReceiptQueryRq.ORSubtotalFilters.SubtotalFilter.Subtotal.SetValue(10.01);
                        }
                        if (ORSubtotalFiltersElementType4041 == "SubtotalRangeFilter")
                        {
                                //Set field value for FromSubtotal
                                SalesReceiptQueryRq.ORSubtotalFilters.SubtotalRangeFilter.FromSubtotal.SetValue(10.01);
                                //Set field value for ToSubtotal
                                SalesReceiptQueryRq.ORSubtotalFilters.SubtotalRangeFilter.ToSubtotal.SetValue(10.01);
                        }
                        string ORTaxAmountFiltersElementType4042 = "TaxAmountFilter";
                        if (ORTaxAmountFiltersElementType4042 == "TaxAmountFilter")
                        {
                                //Set field value for MatchNumericCriterion
                                SalesReceiptQueryRq.ORTaxAmountFilters.TaxAmountFilter.MatchNumericCriterion.SetValue(ENMatchNumericCriterion.mncLessThan);
                                //Set field value for TaxAmount
                                SalesReceiptQueryRq.ORTaxAmountFilters.TaxAmountFilter.TaxAmount.SetValue(10.01);
                        }
                        if (ORTaxAmountFiltersElementType4042 == "TaxAmountRangeFilter")
                        {
                                //Set field value for FromTaxAmount
                                SalesReceiptQueryRq.ORTaxAmountFilters.TaxAmountRangeFilter.FromTaxAmount.SetValue(10.01);
                                //Set field value for ToTaxAmount
                                SalesReceiptQueryRq.ORTaxAmountFilters.TaxAmountRangeFilter.ToTaxAmount.SetValue(10.01);
                        }
                        string ORTaxCategoryFiltersElementType4043 = "TaxCategoryFilter";
                        if (ORTaxCategoryFiltersElementType4043 == "TaxCategoryFilter")
                        {
                                //Set field value for MatchStringCriterion
                                SalesReceiptQueryRq.ORTaxCategoryFilters.TaxCategoryFilter.MatchStringCriterion.SetValue(ENMatchStringCriterion.mscEqual);
                                //Set field value for TaxCategory
                                SalesReceiptQueryRq.ORTaxCategoryFilters.TaxCategoryFilter.TaxCategory.SetValue("ab");
                        }
                        if (ORTaxCategoryFiltersElementType4043 == "TaxCategoryRangeFilter")
                        {
                                //Set field value for FromTaxCategory
                                SalesReceiptQueryRq.ORTaxCategoryFilters.TaxCategoryRangeFilter.FromTaxCategory.SetValue("ab");
                                //Set field value for ToTaxCategory
                                SalesReceiptQueryRq.ORTaxCategoryFilters.TaxCategoryRangeFilter.ToTaxCategory.SetValue("ab");
                        }
                        string ORTaxPercentageFiltersElementType4044 = "TaxPercentageFilter";
                        if (ORTaxPercentageFiltersElementType4044 == "TaxPercentageFilter")
                        {
                                //Set field value for MatchNumericCriterion
                                SalesReceiptQueryRq.ORTaxPercentageFilters.TaxPercentageFilter.MatchNumericCriterion.SetValue(ENMatchNumericCriterion.mncLessThan);
                                //Set field value for TaxPercentage
                                SalesReceiptQueryRq.ORTaxPercentageFilters.TaxPercentageFilter.TaxPercentage.SetValue(12.34F);
                        }
                        if (ORTaxPercentageFiltersElementType4044 == "TaxPercentageRangeFilter")
                        {
                                //Set field value for FromTaxPercentage
                                SalesReceiptQueryRq.ORTaxPercentageFilters.TaxPercentageRangeFilter.FromTaxPercentage.SetValue(12.34F);
                                //Set field value for ToTaxPercentage
                                SalesReceiptQueryRq.ORTaxPercentageFilters.TaxPercentageRangeFilter.ToTaxPercentage.SetValue(12.34F);
                        }
                        //Set field value for TenderType
                        SalesReceiptQueryRq.TenderType.SetValue(ENTenderType.ttNone);
                        string ORTipReceiverFiltersElementType4045 = "TipReceiverFilter";
                        if (ORTipReceiverFiltersElementType4045 == "TipReceiverFilter")
                        {
                                //Set field value for MatchStringCriterion
                                SalesReceiptQueryRq.ORTipReceiverFilters.TipReceiverFilter.MatchStringCriterion.SetValue(ENMatchStringCriterion.mscEqual);
                                //Set field value for TipReceiver
                                SalesReceiptQueryRq.ORTipReceiverFilters.TipReceiverFilter.TipReceiver.SetValue("ab");
                        }
                        if (ORTipReceiverFiltersElementType4045 == "TipReceiverRangeFilter")
                        {
                                //Set field value for FromTipReceiver
                                SalesReceiptQueryRq.ORTipReceiverFilters.TipReceiverRangeFilter.FromTipReceiver.SetValue("ab");
                                //Set field value for ToTipReceiver
                                SalesReceiptQueryRq.ORTipReceiverFilters.TipReceiverRangeFilter.ToTipReceiver.SetValue("ab");
                        }
                        string ORTotalFiltersElementType4046 = "TotalFilter";
                        if (ORTotalFiltersElementType4046 == "TotalFilter")
                        {
                                //Set field value for MatchNumericCriterion
                                SalesReceiptQueryRq.ORTotalFilters.TotalFilter.MatchNumericCriterion.SetValue(ENMatchNumericCriterion.mncLessThan);
                                //Set field value for Total
                                SalesReceiptQueryRq.ORTotalFilters.TotalFilter.Total.SetValue(10.01);
                        }
                        if (ORTotalFiltersElementType4046 == "TotalRangeFilter")
                        {
                                //Set field value for FromTotal
                                SalesReceiptQueryRq.ORTotalFilters.TotalRangeFilter.FromTotal.SetValue(10.01);
                                //Set field value for ToTotal
                                SalesReceiptQueryRq.ORTotalFilters.TotalRangeFilter.ToTotal.SetValue(10.01);
                        }
                        string ORTrackingNumberFiltersElementType4047 = "TrackingNumberFilter";
                        if (ORTrackingNumberFiltersElementType4047 == "TrackingNumberFilter")
                        {
                                //Set field value for MatchStringCriterion
                                SalesReceiptQueryRq.ORTrackingNumberFilters.TrackingNumberFilter.MatchStringCriterion.SetValue(ENMatchStringCriterion.mscEqual);
                                //Set field value for TrackingNumber
                                SalesReceiptQueryRq.ORTrackingNumberFilters.TrackingNumberFilter.TrackingNumber.SetValue("ab");
                        }
                        if (ORTrackingNumberFiltersElementType4047 == "TrackingNumberRangeFilter")
                        {
                                //Set field value for FromTrackingNumber
                                SalesReceiptQueryRq.ORTrackingNumberFilters.TrackingNumberRangeFilter.FromTrackingNumber.SetValue("ab");
                                //Set field value for ToTrackingNumber
                                SalesReceiptQueryRq.ORTrackingNumberFilters.TrackingNumberRangeFilter.ToTrackingNumber.SetValue("ab");
                        }
                        string ORTxnDateFiltersElementType4048 = "TxnDateFilter";
                        if (ORTxnDateFiltersElementType4048 == "TxnDateFilter")
                        {
                                //Set field value for MatchNumericCriterion
                                SalesReceiptQueryRq.ORTxnDateFilters.TxnDateFilter.MatchNumericCriterion.SetValue(ENMatchNumericCriterion.mncLessThan);
                                //Set field value for TxnDate
                                SalesReceiptQueryRq.ORTxnDateFilters.TxnDateFilter.TxnDate.SetValue(DateTime.Parse("12/15/2007"));
                        }
                        if (ORTxnDateFiltersElementType4048 == "TxnDateRangeFilter")
                        {
                                //Set field value for FromTxnDate
                                SalesReceiptQueryRq.ORTxnDateFilters.TxnDateRangeFilter.FromTxnDate.SetValue(DateTime.Parse("12/15/2007"));
                                //Set field value for ToTxnDate
                                SalesReceiptQueryRq.ORTxnDateFilters.TxnDateRangeFilter.ToTxnDate.SetValue(DateTime.Parse("12/15/2007"));
                        }
                        //Set field value for TxnState
                        SalesReceiptQueryRq.TxnState.SetValue(ENTxnState.tsNormal);
                        string ORWorkstationFiltersElementType4049 = "WorkstationFilter";
                        if (ORWorkstationFiltersElementType4049 == "WorkstationFilter")
                        {
                                //Set field value for MatchNumericCriterion
                                SalesReceiptQueryRq.ORWorkstationFilters.WorkstationFilter.MatchNumericCriterion.SetValue(ENMatchNumericCriterion.mncLessThan);
                                //Set field value for Workstation
                                SalesReceiptQueryRq.ORWorkstationFilters.WorkstationFilter.Workstation.SetValue(6);
                        }
                        if (ORWorkstationFiltersElementType4049 == "WorkstationRangeFilter")
                        {
                                //Set field value for FromWorkstation
                                SalesReceiptQueryRq.ORWorkstationFilters.WorkstationRangeFilter.FromWorkstation.SetValue(6);
                                //Set field value for ToWorkstation
                                SalesReceiptQueryRq.ORWorkstationFilters.WorkstationRangeFilter.ToWorkstation.SetValue(6);
                        }
                        //Set field value for IsEcommerce
                        SalesReceiptQueryRq.IsEcommerce.SetValue(true);
                        string ORTransactionPostedByFiltersElementType4050 = "TransactionPostedByFilter";
                        if (ORTransactionPostedByFiltersElementType4050 == "TransactionPostedByFilter")
                        {
                                //Set field value for MatchStringCriterion
                                SalesReceiptQueryRq.ORTransactionPostedByFilters.TransactionPostedByFilter.MatchStringCriterion.SetValue(ENMatchStringCriterion.mscEqual);
                                //Set field value for TransactionPostedBy
                                SalesReceiptQueryRq.ORTransactionPostedByFilters.TransactionPostedByFilter.TransactionPostedBy.SetValue("ab");
                        }
                        if (ORTransactionPostedByFiltersElementType4050 == "TransactionPostedByRangeFilter")
                        {
                                //Set field value for FromTransactionPostedBy
                                SalesReceiptQueryRq.ORTransactionPostedByFilters.TransactionPostedByRangeFilter.FromTransactionPostedBy.SetValue("ab");
                                //Set field value for ToTransactionPostedBy
                                SalesReceiptQueryRq.ORTransactionPostedByFilters.TransactionPostedByRangeFilter.ToTransactionPostedBy.SetValue("ab");
                        }
                        string ORTransactionOnlineStoreNameFiltersElementType4051 = "TransactionStoreNameFilter";
                        if (ORTransactionOnlineStoreNameFiltersElementType4051 == "TransactionStoreNameFilter")
                        {
                                //Set field value for MatchStringCriterion
                                SalesReceiptQueryRq.ORTransactionOnlineStoreNameFilters.TransactionStoreNameFilter.MatchStringCriterion.SetValue(ENMatchStringCriterion.mscEqual);
                                //Set field value for TransactionStoreName
                                SalesReceiptQueryRq.ORTransactionOnlineStoreNameFilters.TransactionStoreNameFilter.TransactionStoreName.SetValue("ab");
                        }
                        if (ORTransactionOnlineStoreNameFiltersElementType4051 == "TransactionStoreNameRangeFilter")
                        {
                                //Set field value for FromTransactionStoreName
                                SalesReceiptQueryRq.ORTransactionOnlineStoreNameFilters.TransactionStoreNameRangeFilter.FromTransactionStoreName.SetValue("ab");
                                //Set field value for ToTransactionStoreName
                                SalesReceiptQueryRq.ORTransactionOnlineStoreNameFilters.TransactionStoreNameRangeFilter.ToTransactionStoreName.SetValue("ab");
                        }
                        string ORTransactionStoreTypeFiltersElementType4052 = "TransactionStoreTypeFilter";
                        if (ORTransactionStoreTypeFiltersElementType4052 == "TransactionStoreTypeFilter")
                        {
                                //Set field value for MatchStringCriterion
                                SalesReceiptQueryRq.ORTransactionStoreTypeFilters.TransactionStoreTypeFilter.MatchStringCriterion.SetValue(ENMatchStringCriterion.mscEqual);
                                //Set field value for TransactionStoreType
                                SalesReceiptQueryRq.ORTransactionStoreTypeFilters.TransactionStoreTypeFilter.TransactionStoreType.SetValue("ab");
                        }
                        if (ORTransactionStoreTypeFiltersElementType4052 == "TransactionStoreTypeRangeFilter")
                        {
                                //Set field value for FromTransactionStoreType
                                SalesReceiptQueryRq.ORTransactionStoreTypeFilters.TransactionStoreTypeRangeFilter.FromTransactionStoreType.SetValue("ab");
                                //Set field value for ToTransactionStoreType
                                SalesReceiptQueryRq.ORTransactionStoreTypeFilters.TransactionStoreTypeRangeFilter.ToTransactionStoreType.SetValue("ab");
                        }
                        //Set field value for IncludeRetElementList
                        //May create more than one of these if needed
                        SalesReceiptQueryRq.IncludeRetElementList.Add("ab");
                }




                void WalkSalesReceiptQueryRs(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.rtSalesReceiptQueryRs)
                                                {
                                                        //upcast to more specific type here, this is safe because we checked with response.Type check above
                                                        ISalesReceiptRetList SalesReceiptRet = (ISalesReceiptRetList)response.Detail;
                                                        for(int z=0; z < SalesReceiptRet.Count; z++)
                                                        {
                                                                WalkSalesReceiptRet(SalesReceiptRet.GetAt(z));
                                                        }
                                                }
                                        }
                                }
                        }
                }




                void WalkSalesReceiptRet(ISalesReceiptRet SalesReceiptRet)
                {
                        if (SalesReceiptRet == null) return;
                        //Go through all the elements of ISalesReceiptRetList
                        //Get value of TxnID
                        if (SalesReceiptRet.TxnID != null)
                        {
                                string TxnID4053 = (string)SalesReceiptRet.TxnID.GetValue();
                        }
                        //Get value of TimeCreated
                        if (SalesReceiptRet.TimeCreated != null)
                        {
                                DateTime TimeCreated4054 = (DateTime)SalesReceiptRet.TimeCreated.GetValue();
                        }
                        //Get value of TimeModified
                        if (SalesReceiptRet.TimeModified != null)
                        {
                                DateTime TimeModified4055 = (DateTime)SalesReceiptRet.TimeModified.GetValue();
                        }
                        //Get value of Associate
                        if (SalesReceiptRet.Associate != null)
                        {
                                string Associate4056 = (string)SalesReceiptRet.Associate.GetValue();
                        }
                        //Get value of Cashier
                        if (SalesReceiptRet.Cashier != null)
                        {
                                string Cashier4057 = (string)SalesReceiptRet.Cashier.GetValue();
                        }
                        //Get value of Comments
                        if (SalesReceiptRet.Comments != null)
                        {
                                string Comments4058 = (string)SalesReceiptRet.Comments.GetValue();
                        }
                        //Get value of CustomerListID
                        if (SalesReceiptRet.CustomerListID != null)
                        {
                                string CustomerListID4059 = (string)SalesReceiptRet.CustomerListID.GetValue();
                        }
                        //Get value of Discount
                        if (SalesReceiptRet.Discount != null)
                        {
                                double Discount4060 = (double)SalesReceiptRet.Discount.GetValue();
                        }
                        //Get value of DiscountPercent
                        if (SalesReceiptRet.DiscountPercent != null)
                        {
                                float DiscountPercent4061 = (float)SalesReceiptRet.DiscountPercent.GetValue();
                        }
                        //Get value of HistoryDocStatus
                        if (SalesReceiptRet.HistoryDocStatus != null)
                        {
                                ENHistoryDocStatus HistoryDocStatus4062 = (ENHistoryDocStatus)SalesReceiptRet.HistoryDocStatus.GetValue();
                        }
                        //Get value of ItemsCount
                        if (SalesReceiptRet.ItemsCount != null)
                        {
                                int ItemsCount4063 = (int)SalesReceiptRet.ItemsCount.GetValue();
                        }
                        //Get value of PriceLevelNumber
                        if (SalesReceiptRet.PriceLevelNumber != null)
                        {
                                ENPriceLevelNumber PriceLevelNumber4064 = (ENPriceLevelNumber)SalesReceiptRet.PriceLevelNumber.GetValue();
                        }
                        //Get value of PromoCode
                        if (SalesReceiptRet.PromoCode != null)
                        {
                                string PromoCode4065 = (string)SalesReceiptRet.PromoCode.GetValue();
                        }
                        //Get value of QuickBooksFlag
                        if (SalesReceiptRet.QuickBooksFlag != null)
                        {
                                ENQuickBooksFlag QuickBooksFlag4066 = (ENQuickBooksFlag)SalesReceiptRet.QuickBooksFlag.GetValue();
                        }
                        //Get value of SalesOrderTxnID
                        if (SalesReceiptRet.SalesOrderTxnID != null)
                        {
                                string SalesOrderTxnID4067 = (string)SalesReceiptRet.SalesOrderTxnID.GetValue();
                        }
                        //Get value of SalesReceiptNumber
                        if (SalesReceiptRet.SalesReceiptNumber != null)
                        {
                                int SalesReceiptNumber4068 = (int)SalesReceiptRet.SalesReceiptNumber.GetValue();
                        }
                        //Get value of SalesReceiptType
                        if (SalesReceiptRet.SalesReceiptType != null)
                        {
                                ENSalesReceiptType SalesReceiptType4069 = (ENSalesReceiptType)SalesReceiptRet.SalesReceiptType.GetValue();
                        }
                        //Get value of ShipDate
                        if (SalesReceiptRet.ShipDate != null)
                        {
                                DateTime ShipDate4070 = (DateTime)SalesReceiptRet.ShipDate.GetValue();
                        }
                        //Get value of StoreExchangeStatus
                        if (SalesReceiptRet.StoreExchangeStatus != null)
                        {
                                ENStoreExchangeStatus StoreExchangeStatus4071 = (ENStoreExchangeStatus)SalesReceiptRet.StoreExchangeStatus.GetValue();
                        }
                        //Get value of StoreNumber
                        if (SalesReceiptRet.StoreNumber != null)
                        {
                                int StoreNumber4072 = (int)SalesReceiptRet.StoreNumber.GetValue();
                        }
                        //Get value of Subtotal
                        if (SalesReceiptRet.Subtotal != null)
                        {
                                double Subtotal4073 = (double)SalesReceiptRet.Subtotal.GetValue();
                        }
                        //Get value of TaxAmount
                        if (SalesReceiptRet.TaxAmount != null)
                        {
                                double TaxAmount4074 = (double)SalesReceiptRet.TaxAmount.GetValue();
                        }
                        //Get value of TaxCategory
                        if (SalesReceiptRet.TaxCategory != null)
                        {
                                string TaxCategory4075 = (string)SalesReceiptRet.TaxCategory.GetValue();
                        }
                        //Get value of TaxPercentage
                        if (SalesReceiptRet.TaxPercentage != null)
                        {
                                float TaxPercentage4076 = (float)SalesReceiptRet.TaxPercentage.GetValue();
                        }
                        //Get value of TenderType
                        if (SalesReceiptRet.TenderType != null)
                        {
                                ENTenderType TenderType4077 = (ENTenderType)SalesReceiptRet.TenderType.GetValue();
                        }
                        //Get value of TipReceiver
                        if (SalesReceiptRet.TipReceiver != null)
                        {
                                string TipReceiver4078 = (string)SalesReceiptRet.TipReceiver.GetValue();
                        }
                        //Get value of Total
                        if (SalesReceiptRet.Total != null)
                        {
                                double Total4079 = (double)SalesReceiptRet.Total.GetValue();
                        }
                        //Get value of TrackingNumber
                        if (SalesReceiptRet.TrackingNumber != null)
                        {
                                string TrackingNumber4080 = (string)SalesReceiptRet.TrackingNumber.GetValue();
                        }
                        //Get value of TxnDate
                        if (SalesReceiptRet.TxnDate != null)
                        {
                                DateTime TxnDate4081 = (DateTime)SalesReceiptRet.TxnDate.GetValue();
                        }
                        //Get value of TxnState
                        if (SalesReceiptRet.TxnState != null)
                        {
                                ENTxnState TxnState4082 = (ENTxnState)SalesReceiptRet.TxnState.GetValue();
                        }
                        //Get value of Workstation
                        if (SalesReceiptRet.Workstation != null)
                        {
                                int Workstation4083 = (int)SalesReceiptRet.Workstation.GetValue();
                        }
                        if (SalesReceiptRet.BillingInformation != null)
                        {
                                //Get value of City
                                if (SalesReceiptRet.BillingInformation.City != null)
                                {
                                        string City4084 = (string)SalesReceiptRet.BillingInformation.City.GetValue();
                                }
                                //Get value of CompanyName
                                if (SalesReceiptRet.BillingInformation.CompanyName != null)
                                {
                                        string CompanyName4085 = (string)SalesReceiptRet.BillingInformation.CompanyName.GetValue();
                                }
                                //Get value of Country
                                if (SalesReceiptRet.BillingInformation.Country != null)
                                {
                                        string Country4086 = (string)SalesReceiptRet.BillingInformation.Country.GetValue();
                                }
                                //Get value of FirstName
                                if (SalesReceiptRet.BillingInformation.FirstName != null)
                                {
                                        string FirstName4087 = (string)SalesReceiptRet.BillingInformation.FirstName.GetValue();
                                }
                                //Get value of LastName
                                if (SalesReceiptRet.BillingInformation.LastName != null)
                                {
                                        string LastName4088 = (string)SalesReceiptRet.BillingInformation.LastName.GetValue();
                                }
                                //Get value of Phone
                                if (SalesReceiptRet.BillingInformation.Phone != null)
                                {
                                        string Phone4089 = (string)SalesReceiptRet.BillingInformation.Phone.GetValue();
                                }
                                //Get value of Phone2
                                if (SalesReceiptRet.BillingInformation.Phone2 != null)
                                {
                                        string Phone24090 = (string)SalesReceiptRet.BillingInformation.Phone2.GetValue();
                                }
                                //Get value of Phone3
                                if (SalesReceiptRet.BillingInformation.Phone3 != null)
                                {
                                        string Phone34091 = (string)SalesReceiptRet.BillingInformation.Phone3.GetValue();
                                }
                                //Get value of Phone4
                                if (SalesReceiptRet.BillingInformation.Phone4 != null)
                                {
                                        string Phone44092 = (string)SalesReceiptRet.BillingInformation.Phone4.GetValue();
                                }
                                //Get value of PostalCode
                                if (SalesReceiptRet.BillingInformation.PostalCode != null)
                                {
                                        string PostalCode4093 = (string)SalesReceiptRet.BillingInformation.PostalCode.GetValue();
                                }
                                //Get value of Salutation
                                if (SalesReceiptRet.BillingInformation.Salutation != null)
                                {
                                        string Salutation4094 = (string)SalesReceiptRet.BillingInformation.Salutation.GetValue();
                                }
                                //Get value of State
                                if (SalesReceiptRet.BillingInformation.State != null)
                                {
                                        string State4095 = (string)SalesReceiptRet.BillingInformation.State.GetValue();
                                }
                                //Get value of Street
                                if (SalesReceiptRet.BillingInformation.Street != null)
                                {
                                        string Street4096 = (string)SalesReceiptRet.BillingInformation.Street.GetValue();
                                }
                                //Get value of Street2
                                if (SalesReceiptRet.BillingInformation.Street2 != null)
                                {
                                        string Street24097 = (string)SalesReceiptRet.BillingInformation.Street2.GetValue();
                                }
                                //Get value of WebNumber
                                if (SalesReceiptRet.BillingInformation.WebNumber != null)
                                {
                                        string WebNumber4098 = (string)SalesReceiptRet.BillingInformation.WebNumber.GetValue();
                                }
                        }
                        if (SalesReceiptRet.ShippingInformation != null)
                        {
                                //Get value of AddressName
                                if (SalesReceiptRet.ShippingInformation.AddressName != null)
                                {
                                        string AddressName4099 = (string)SalesReceiptRet.ShippingInformation.AddressName.GetValue();
                                }
                                //Get value of City
                                if (SalesReceiptRet.ShippingInformation.City != null)
                                {
                                        string City4100 = (string)SalesReceiptRet.ShippingInformation.City.GetValue();
                                }
                                //Get value of CompanyName
                                if (SalesReceiptRet.ShippingInformation.CompanyName != null)
                                {
                                        string CompanyName4101 = (string)SalesReceiptRet.ShippingInformation.CompanyName.GetValue();
                                }
                                //Get value of Country
                                if (SalesReceiptRet.ShippingInformation.Country != null)
                                {
                                        string Country4102 = (string)SalesReceiptRet.ShippingInformation.Country.GetValue();
                                }
                                //Get value of FullName
                                if (SalesReceiptRet.ShippingInformation.FullName != null)
                                {
                                        string FullName4103 = (string)SalesReceiptRet.ShippingInformation.FullName.GetValue();
                                }
                                //Get value of Phone
                                if (SalesReceiptRet.ShippingInformation.Phone != null)
                                {
                                        string Phone4104 = (string)SalesReceiptRet.ShippingInformation.Phone.GetValue();
                                }
                                //Get value of Phone2
                                if (SalesReceiptRet.ShippingInformation.Phone2 != null)
                                {
                                        string Phone24105 = (string)SalesReceiptRet.ShippingInformation.Phone2.GetValue();
                                }
                                //Get value of Phone3
                                if (SalesReceiptRet.ShippingInformation.Phone3 != null)
                                {
                                        string Phone34106 = (string)SalesReceiptRet.ShippingInformation.Phone3.GetValue();
                                }
                                //Get value of Phone4
                                if (SalesReceiptRet.ShippingInformation.Phone4 != null)
                                {
                                        string Phone44107 = (string)SalesReceiptRet.ShippingInformation.Phone4.GetValue();
                                }
                                //Get value of PostalCode
                                if (SalesReceiptRet.ShippingInformation.PostalCode != null)
                                {
                                        string PostalCode4108 = (string)SalesReceiptRet.ShippingInformation.PostalCode.GetValue();
                                }
                                //Get value of ShipBy
                                if (SalesReceiptRet.ShippingInformation.ShipBy != null)
                                {
                                        string ShipBy4109 = (string)SalesReceiptRet.ShippingInformation.ShipBy.GetValue();
                                }
                                //Get value of Shipping
                                if (SalesReceiptRet.ShippingInformation.Shipping != null)
                                {
                                        double Shipping4110 = (double)SalesReceiptRet.ShippingInformation.Shipping.GetValue();
                                }
                                //Get value of State
                                if (SalesReceiptRet.ShippingInformation.State != null)
                                {
                                        string State4111 = (string)SalesReceiptRet.ShippingInformation.State.GetValue();
                                }
                                //Get value of Street
                                if (SalesReceiptRet.ShippingInformation.Street != null)
                                {
                                        string Street4112 = (string)SalesReceiptRet.ShippingInformation.Street.GetValue();
                                }
                                //Get value of Street2
                                if (SalesReceiptRet.ShippingInformation.Street2 != null)
                                {
                                        string Street24113 = (string)SalesReceiptRet.ShippingInformation.Street2.GetValue();
                                }
                        }
                        if (SalesReceiptRet.SalesReceiptItemRetList != null)
                        {
                                for (int i4114 = 0; i4114 < SalesReceiptRet.SalesReceiptItemRetList.Count; i4114++)
                                {
                                        ISalesReceiptItemRet SalesReceiptItemRet = SalesReceiptRet.SalesReceiptItemRetList.GetAt(i4114);
                                        //Get value of ListID
                                        if (SalesReceiptItemRet.ListID != null)
                                        {
                                                string ListID4115 = (string)SalesReceiptItemRet.ListID.GetValue();
                                        }
                                        //Get value of ALU
                                        if (SalesReceiptItemRet.ALU != null)
                                        {
                                                string ALU4116 = (string)SalesReceiptItemRet.ALU.GetValue();
                                        }
                                        //Get value of Associate
                                        if (SalesReceiptItemRet.Associate != null)
                                        {
                                                string Associate4117 = (string)SalesReceiptItemRet.Associate.GetValue();
                                        }
                                        //Get value of Attribute
                                        if (SalesReceiptItemRet.Attribute != null)
                                        {
                                                string Attribute4118 = (string)SalesReceiptItemRet.Attribute.GetValue();
                                        }
                                        //Get value of Commission
                                        if (SalesReceiptItemRet.Commission != null)
                                        {
                                                double Commission4119 = (double)SalesReceiptItemRet.Commission.GetValue();
                                        }
                                        //Get value of Cost
                                        if (SalesReceiptItemRet.Cost != null)
                                        {
                                                double Cost4120 = (double)SalesReceiptItemRet.Cost.GetValue();
                                        }
                                        //Get value of Desc1
                                        if (SalesReceiptItemRet.Desc1 != null)
                                        {
                                                string Desc14121 = (string)SalesReceiptItemRet.Desc1.GetValue();
                                        }
                                        //Get value of Desc2
                                        if (SalesReceiptItemRet.Desc2 != null)
                                        {
                                                string Desc24122 = (string)SalesReceiptItemRet.Desc2.GetValue();
                                        }
                                        //Get value of Discount
                                        if (SalesReceiptItemRet.Discount != null)
                                        {
                                                double Discount4123 = (double)SalesReceiptItemRet.Discount.GetValue();
                                        }
                                        //Get value of DiscountPercent
                                        if (SalesReceiptItemRet.DiscountPercent != null)
                                        {
                                                float DiscountPercent4124 = (float)SalesReceiptItemRet.DiscountPercent.GetValue();
                                        }
                                        //Get value of DiscountType
                                        if (SalesReceiptItemRet.DiscountType != null)
                                        {
                                                string DiscountType4125 = (string)SalesReceiptItemRet.DiscountType.GetValue();
                                        }
                                        //Get value of DiscountSource
                                        if (SalesReceiptItemRet.DiscountSource != null)
                                        {
                                                ENDiscountSource DiscountSource4126 = (ENDiscountSource)SalesReceiptItemRet.DiscountSource.GetValue();
                                        }
                                        //Get value of ExtendedPrice
                                        if (SalesReceiptItemRet.ExtendedPrice != null)
                                        {
                                                double ExtendedPrice4127 = (double)SalesReceiptItemRet.ExtendedPrice.GetValue();
                                        }
                                        //Get value of ExtendedTax
                                        if (SalesReceiptItemRet.ExtendedTax != null)
                                        {
                                                double ExtendedTax4128 = (double)SalesReceiptItemRet.ExtendedTax.GetValue();
                                        }
                                        //Get value of ItemNumber
                                        if (SalesReceiptItemRet.ItemNumber != null)
                                        {
                                                int ItemNumber4129 = (int)SalesReceiptItemRet.ItemNumber.GetValue();
                                        }
                                        //Get value of NumberOfBaseUnits
                                        if (SalesReceiptItemRet.NumberOfBaseUnits != null)
                                        {
                                                int NumberOfBaseUnits4130 = (int)SalesReceiptItemRet.NumberOfBaseUnits.GetValue();
                                        }
                                        //Get value of Price
                                        if (SalesReceiptItemRet.Price != null)
                                        {
                                                double Price4131 = (double)SalesReceiptItemRet.Price.GetValue();
                                        }
                                        //Get value of PriceLevelNumber
                                        if (SalesReceiptItemRet.PriceLevelNumber != null)
                                        {
                                                ENPriceLevelNumber PriceLevelNumber4132 = (ENPriceLevelNumber)SalesReceiptItemRet.PriceLevelNumber.GetValue();
                                        }
                                        //Get value of Qty
                                        if (SalesReceiptItemRet.Qty != null)
                                        {
                                                int Qty4133 = (int)SalesReceiptItemRet.Qty.GetValue();
                                        }
                                        //Get value of SerialNumber
                                        if (SalesReceiptItemRet.SerialNumber != null)
                                        {
                                                string SerialNumber4134 = (string)SalesReceiptItemRet.SerialNumber.GetValue();
                                        }
                                        //Get value of Size
                                        if (SalesReceiptItemRet.Size != null)
                                        {
                                                string Size4135 = (string)SalesReceiptItemRet.Size.GetValue();
                                        }
                                        //Get value of TaxAmount
                                        if (SalesReceiptItemRet.TaxAmount != null)
                                        {
                                                double TaxAmount4136 = (double)SalesReceiptItemRet.TaxAmount.GetValue();
                                        }
                                        //Get value of TaxCode
                                        if (SalesReceiptItemRet.TaxCode != null)
                                        {
                                                string TaxCode4137 = (string)SalesReceiptItemRet.TaxCode.GetValue();
                                        }
                                        //Get value of TaxPercentage
                                        if (SalesReceiptItemRet.TaxPercentage != null)
                                        {
                                                float TaxPercentage4138 = (float)SalesReceiptItemRet.TaxPercentage.GetValue();
                                        }
                                        //Get value of UnitOfMeasure
                                        if (SalesReceiptItemRet.UnitOfMeasure != null)
                                        {
                                                string UnitOfMeasure4139 = (string)SalesReceiptItemRet.UnitOfMeasure.GetValue();
                                        }
                                        //Get value of UPC
                                        if (SalesReceiptItemRet.UPC != null)
                                        {
                                                string UPC4140 = (string)SalesReceiptItemRet.UPC.GetValue();
                                        }
                                        //Get value of WebDesc
                                        if (SalesReceiptItemRet.WebDesc != null)
                                        {
                                                string WebDesc4141 = (string)SalesReceiptItemRet.WebDesc.GetValue();
                                        }
                                        //Get value of Manufacturer
                                        if (SalesReceiptItemRet.Manufacturer != null)
                                        {
                                                string Manufacturer4142 = (string)SalesReceiptItemRet.Manufacturer.GetValue();
                                        }
                                        //Get value of Weight
                                        if (SalesReceiptItemRet.Weight != null)
                                        {
                                                float Weight4143 = (float)SalesReceiptItemRet.Weight.GetValue();
                                        }
                                        //Get value of WebSKU
                                        if (SalesReceiptItemRet.WebSKU != null)
                                        {
                                                string WebSKU4144 = (string)SalesReceiptItemRet.WebSKU.GetValue();
                                        }
                                }
                        }
                        if (SalesReceiptRet.TenderAccountRetList != null)
                        {
                                for (int i4145 = 0; i4145 < SalesReceiptRet.TenderAccountRetList.Count; i4145++)
                                {
                                        ITenderAccountRet TenderAccountRet = SalesReceiptRet.TenderAccountRetList.GetAt(i4145);
                                        //Get value of TenderAmount
                                        if (TenderAccountRet.TenderAmount != null)
                                        {
                                                double TenderAmount4146 = (double)TenderAccountRet.TenderAmount.GetValue();
                                        }
                                        //Get value of TipAmount
                                        if (TenderAccountRet.TipAmount != null)
                                        {
                                                double TipAmount4147 = (double)TenderAccountRet.TipAmount.GetValue();
                                        }
                                }
                        }
                        if (SalesReceiptRet.TenderCashRetList != null)
                        {
                                for (int i4148 = 0; i4148 < SalesReceiptRet.TenderCashRetList.Count; i4148++)
                                {
                                        ITenderCashRet TenderCashRet = SalesReceiptRet.TenderCashRetList.GetAt(i4148);
                                        //Get value of TenderAmount
                                        if (TenderCashRet.TenderAmount != null)
                                        {
                                                double TenderAmount4149 = (double)TenderCashRet.TenderAmount.GetValue();
                                        }
                                }
                        }
                        if (SalesReceiptRet.TenderCheckRetList != null)
                        {
                                for (int i4150 = 0; i4150 < SalesReceiptRet.TenderCheckRetList.Count; i4150++)
                                {
                                        ITenderCheckRet TenderCheckRet = SalesReceiptRet.TenderCheckRetList.GetAt(i4150);
                                        //Get value of CheckNumber
                                        if (TenderCheckRet.CheckNumber != null)
                                        {
                                                string CheckNumber4151 = (string)TenderCheckRet.CheckNumber.GetValue();
                                        }
                                        //Get value of TenderAmount
                                        if (TenderCheckRet.TenderAmount != null)
                                        {
                                                double TenderAmount4152 = (double)TenderCheckRet.TenderAmount.GetValue();
                                        }
                                }
                        }
                        if (SalesReceiptRet.TenderCreditCardRetList != null)
                        {
                                for (int i4153 = 0; i4153 < SalesReceiptRet.TenderCreditCardRetList.Count; i4153++)
                                {
                                        ITenderCreditCardRet TenderCreditCardRet = SalesReceiptRet.TenderCreditCardRetList.GetAt(i4153);
                                        //Get value of CardName
                                        if (TenderCreditCardRet.CardName != null)
                                        {
                                                string CardName4154 = (string)TenderCreditCardRet.CardName.GetValue();
                                        }
                                        //Get value of TenderAmount
                                        if (TenderCreditCardRet.TenderAmount != null)
                                        {
                                                double TenderAmount4155 = (double)TenderCreditCardRet.TenderAmount.GetValue();
                                        }
                                        //Get value of TipAmount
                                        if (TenderCreditCardRet.TipAmount != null)
                                        {
                                                double TipAmount4156 = (double)TenderCreditCardRet.TipAmount.GetValue();
                                        }
                                }
                        }
                        if (SalesReceiptRet.TenderDebitCardRetList != null)
                        {
                                for (int i4157 = 0; i4157 < SalesReceiptRet.TenderDebitCardRetList.Count; i4157++)
                                {
                                        ITenderDebitCardRet TenderDebitCardRet = SalesReceiptRet.TenderDebitCardRetList.GetAt(i4157);
                                        //Get value of Cashback
                                        if (TenderDebitCardRet.Cashback != null)
                                        {
                                                double Cashback4158 = (double)TenderDebitCardRet.Cashback.GetValue();
                                        }
                                        //Get value of TenderAmount
                                        if (TenderDebitCardRet.TenderAmount != null)
                                        {
                                                double TenderAmount4159 = (double)TenderDebitCardRet.TenderAmount.GetValue();
                                        }
                                }
                        }
                        if (SalesReceiptRet.TenderDepositRetList != null)
                        {
                                for (int i4160 = 0; i4160 < SalesReceiptRet.TenderDepositRetList.Count; i4160++)
                                {
                                        ITenderDepositRet TenderDepositRet = SalesReceiptRet.TenderDepositRetList.GetAt(i4160);
                                        //Get value of TenderAmount
                                        if (TenderDepositRet.TenderAmount != null)
                                        {
                                                double TenderAmount4161 = (double)TenderDepositRet.TenderAmount.GetValue();
                                        }
                                }
                        }
                        if (SalesReceiptRet.TenderGiftRetList != null)
                        {
                                for (int i4162 = 0; i4162 < SalesReceiptRet.TenderGiftRetList.Count; i4162++)
                                {
                                        ITenderGiftRet TenderGiftRet = SalesReceiptRet.TenderGiftRetList.GetAt(i4162);
                                        //Get value of GiftCertificateNumber
                                        if (TenderGiftRet.GiftCertificateNumber != null)
                                        {
                                                string GiftCertificateNumber4163 = (string)TenderGiftRet.GiftCertificateNumber.GetValue();
                                        }
                                        //Get value of TenderAmount
                                        if (TenderGiftRet.TenderAmount != null)
                                        {
                                                double TenderAmount4164 = (double)TenderGiftRet.TenderAmount.GetValue();
                                        }
                                }
                        }
                        if (SalesReceiptRet.TenderGiftCardRetList != null)
                        {
                                for (int i4165 = 0; i4165 < SalesReceiptRet.TenderGiftCardRetList.Count; i4165++)
                                {
                                        ITenderGiftCardRet TenderGiftCardRet = SalesReceiptRet.TenderGiftCardRetList.GetAt(i4165);
                                        //Get value of TenderAmount
                                        if (TenderGiftCardRet.TenderAmount != null)
                                        {
                                                double TenderAmount4166 = (double)TenderGiftCardRet.TenderAmount.GetValue();
                                        }
                                        //Get value of TipAmount
                                        if (TenderGiftCardRet.TipAmount != null)
                                        {
                                                double TipAmount4167 = (double)TenderGiftCardRet.TipAmount.GetValue();
                                        }
                                }
                        }
                        if (SalesReceiptRet.DataExtRetList != null)
                        {
                                for (int i4168 = 0; i4168 < SalesReceiptRet.DataExtRetList.Count; i4168++)
                                {
                                        IDataExtRet DataExtRet = SalesReceiptRet.DataExtRetList.GetAt(i4168);
                                        //Get value of OwnerID
                                        string OwnerID4169 = (string)DataExtRet.OwnerID.GetValue();
                                        //Get value of DataExtName
                                        string DataExtName4170 = (string)DataExtRet.DataExtName.GetValue();
                                        //Get value of DataExtType
                                        ENDataExtType DataExtType4171 = (ENDataExtType)DataExtRet.DataExtType.GetValue();
                                        //Get value of DataExtValue
                                        string DataExtValue4172 = (string)DataExtRet.DataExtValue.GetValue();
                                }
                        }
                        //Get value of IsEcommerce
                        if (SalesReceiptRet.IsEcommerce != null)
                        {
                                bool IsEcommerce4173 = (bool)SalesReceiptRet.IsEcommerce.GetValue();
                        }
                        //Get value of TransactionPostedBy
                        if (SalesReceiptRet.TransactionPostedBy != null)
                        {
                                string TransactionPostedBy4174 = (string)SalesReceiptRet.TransactionPostedBy.GetValue();
                        }
                        //Get value of TransactionStoreName
                        if (SalesReceiptRet.TransactionStoreName != null)
                        {
                                string TransactionStoreName4175 = (string)SalesReceiptRet.TransactionStoreName.GetValue();
                        }
                        //Get value of TransactionStoreType
                        if (SalesReceiptRet.TransactionStoreType != null)
                        {
                                string TransactionStoreType4176 = (string)SalesReceiptRet.TransactionStoreType.GetValue();
                        }
                }




        }
}