Form1099CategoryAccountMappingMod(8.0)

This request is used to specify how the QuickBooks company file tracks payments subject to 1099-MISC and 1099-NEC. You can use it to specify one or more accounts for each of the 1099 categories.
When you use this request on a company file that already has accounts specified for the category(s) you are changing, this request replaces that previous mapping with your new mapping.
You can specify more than one account for a specific category, but once you specify an account for one category, you cannot specify that same account for another category. Also, when you specify accounts, you must specify accounts of one of the following types: expense, other expense, other current asset, fixed asset, other asset, other current liability, cost of goods sold, and long-term liability.
For more information on using this feature, see QuickBooks Help.

Request

Response

XMLOps

VB.NET

C#

Tag Type Max length Implementation Required

IForm1099CategoryAccountMappingMod

This request is used to specify how the QuickBooks company file tracks payments subject to 1099-MISC and 1099-NEC. You can use it to specify one or more accounts for each of the 1099 categories. When you use this request on a company file that already has accounts specified for the category(s) you are changing, this request replaces that previous mapping with your new mapping. You can specify more than one account for a specific category, but once you specify an account for one category, you cannot specify that same account for another category. Also, when you specify accounts, you must specify accounts of one of the following types: expense, other expense, other current asset, fixed asset, other asset, other current liability, cost of goods sold, and long-term liability. For more information on using this feature, see QuickBooks Help.
    8.0 us.png  

IsFiling1099Misc

This property reports only (it does not set!) the current status of 1099 preferences setting in the company file. The value true indicates that the company file currently has the 1099 filing preference turned on. The value false indicates that the company file is not currently set to file 1099-MISC and 1099-NEC forms. (Even if this preference is turned off, the Form1099CategoryAccountMappingMod request will still carry out the requested changes.
IQBBoolType      

FormType

Added a form type to support Form 1099-NEC and Form 1099-MISC. FormType is a property to identify the type of form (MISC/NEC) for which Form1099CategoryAccountMapping query is run. Form type will be MISC if no FormType is specified.
IQBStringType   14.0  

CategoryAccountMappingModList

The QBFC list object that contains one or more CategoryAccountMapping objects, used to map one or more QuickBooks accounts to a particular form 1099 box (or “Category” in SDK parlance). Multiple accounts can be mapped to the same 1099 box.
ICategoryAccountMappingModList      

(List

of ICategoryAccountMappingMod Objects)
       

MappingCategory

A mapping category indicates the form 1099 box that one or more accounts is being mapped to. You must specify one of the following enumerated values based on the form type:

Form 1099-NEC supported boxes - BOX1, BOX4, BOX5

Form 1099-MISC supported boxes - BOX1, BOX2, BOX3, BOX4, BOX5, BOX6, BOX7, BOX8, BOX9, BOX10, BOX13, BOX15

IQBENMappingCategoryType     Y

MappingAccountList

List containing the account mapping for the specified form 1099 category.
IMappingAccountList      

(List

of IMappingAccount Objects)
       

AccountRef

The Account list is the company file’s list of accounts. An AccountRef aggregate refers to one of these accounts. (If an AccountRef aggregate includes both FullName and ListID, FullName will be ignored.) Special cases to note:In a Check message, AccountRef refers to the account from which the funds are being drawn for this check, for example, Checking or Savings.In an ExpenseLineAdd message, you must include AccountRef if the “Require accounts” check box is selected in the QuickBooks Accounting preferences. (It is selected by default.) In a CreditCardCredit message, AccountRef refers to the bank account or credit card account to which the credit is applied.In a CreditCardCharge message, AccountRef refers to the bank or credit card company to whom money is owed. How do you increase and decrease amounts in bank accounts? The following requests increase the balance in a bank account: Deposit Add ReceivePaymentAdd Journal Entry Add Sales ReceiptAdd The following requests decrease the balance in a bank account: CheckAdd Bill PaymentCheckAdd JournalEntryAdd
IQBBaseRef     Y

ListID

Along with FullName, ListID is a way to identify a list object. When a list object is added to QuickBooks through the SDK or through the QuickBooks user interface, the server assigns it a ListID. A ListID is not unique across lists, but it is unique across each particular type of list. For example, two customers could not have the same ListID, and a customer could not have the same ListID as an employee (because Customer and Employee are both name lists). But a customer could have the same ListID as a non-inventory item.
IQBIDType      

FullName

FullName (along with ListID) is a way to identify a list object. The FullName is the name prefixed by the names of each ancestor, for example Jones:Kitchen:Cabinets. FullName values are not case-sensitive.
IQBStringType 159 chars    

ForceMapping

In some circumstances, changing the account mapping could result in the displaying of a user dialog in the QuickBooks UI prompting the user to confirm, which would prevent the SDK request from completing. Setting this property to true causes that user dialog to be suppressed.
IQBBoolType      

Threshold

This is the dollar amount at which the IRS requires you to file the 1099-MISC and 1099-NEC forms. Each box (“Category” in SDK lingo) can have a separate threshold, as established by the IRS. For the latest thresholds, check the website for the Internal Revenue Service, currently at www.irs.gov.
IQBAmountType      
Tag Type Max length Implementation Required

IResponse

This request is used to specify how the QuickBooks company file tracks payments subject to 1099-MISC and 1099-NEC. You can use it to specify one or more accounts for each of the 1099 categories. When you use this request on a company file that already has accounts specified for the category(s) you are changing, this request replaces that previous mapping with your new mapping. You can specify more than one account for a specific category, but once you specify an account for one category, you cannot specify that same account for another category. Also, when you specify accounts, you must specify accounts of one of the following types: expense, other expense, other current asset, fixed asset, other asset, other current liability, cost of goods sold, and long-term liability. For more information on using this feature, see QuickBooks Help.
    8.0 us.png  

StatusCode

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

StatusSeverity

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

StatusMessage

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

Detail

IForm1099CategoryAccountMappingRet      

IsFiling1099Misc

This property reports only (it does not set!) the current status of 1099 preferences setting in the company file. The value true indicates that the company file currently has the 1099 filing preference turned on. The value false indicates that the company file is not currently set to file 1099-MISC and 1099-NEC forms. (Even if this preference is turned off, the Form1099CategoryAccountMappingMod request will still carry out the requested changes.
IQBBoolType     Y

FormType

Added a form type to support Form 1099-NEC and Form 1099-MISC. FormType is a property to identify the type of form (MISC/NEC) for which Form1099CategoryAccountMapping query is run. Form type will be MISC if no FormType is specified.
IQBStringType   14.0  

CategoryAccountMappingList

The QBFC list object that contains one or more CategoryAccountMapping objects, used to map one or more QuickBooks accounts to a particular form 1099 box (or “Category” in SDK parlance). Multiple accounts can be mapped to the same 1099 box.
ICategoryAccountMappingList      

(List

of ICategoryAccountMapping Objects)
       

MappingCategory

A mapping category indicates the form 1099 box that one or more accounts is being mapped to. You must specify one of the following enumerated values based on the form type:

Form 1099-NEC supported boxes - BOX1, BOX4, BOX5

Form 1099-MISC supported boxes - BOX1, BOX2, BOX3, BOX4, BOX5, BOX6, BOX7, BOX8, BOX9, BOX10, BOX13, BOX15

IQBENMappingCategoryType     Y

AccountRefList

List of account reference objects.
IQBBaseRefList      

(List

of IQBBaseRef Objects)
       

ListID

Along with FullName, ListID is a way to identify a list object. When a list object is added to QuickBooks through the SDK or through the QuickBooks user interface, the server assigns it a ListID. A ListID is not unique across lists, but it is unique across each particular type of list. For example, two customers could not have the same ListID, and a customer could not have the same ListID as an employee (because Customer and Employee are both name lists). But a customer could have the same ListID as a non-inventory item.
IQBIDType      

FullName

FullName (along with ListID) is a way to identify a list object. The FullName is the name prefixed by the names of each ancestor, for example Jones:Kitchen:Cabinets. FullName values are not case-sensitive.
IQBStringType 159 chars    

Threshold

This is the dollar amount at which the IRS requires you to file the 1099-MISC and 1099-NEC forms. Each box (“Category” in SDK lingo) can have a separate threshold, as established by the IRS. For the latest thresholds, check the website for the Internal Revenue Service, currently at www.irs.gov.
IQBAmountType      

 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
<?xml version="1.0" encoding="utf-8"?>
<?qbxml version="14.0"?>
<QBXML>
        <QBXMLMsgsRq onError="stopOnError">
                <Form1099CategoryAccountMappingModRq>
                        <Form1099CategoryAccountMappingMod> <!-- required -->
                                <IsFiling1099Misc >BOOLTYPE</IsFiling1099Misc> <!-- optional -->
                                <FormType>STRTYPE</FormType> <!-- optional -->
                                <CategoryAccountMappingMod> <!-- optional, may repeat -->
                                        <!-- MappingCategory may have one of the following values: BOX1, BOX2, BOX3, BOX4, BOX5, BOX6, BOX7, BOX8, BOX9, BOX10, BOX13, BOX14, BOX15 -->
                                        <MappingCategory >ENUMTYPE</MappingCategory> <!-- required -->
                                        <MappingAccount> <!-- optional, may repeat -->
                                                <AccountRef> <!-- required -->
                                                        <ListID >IDTYPE</ListID> <!-- optional -->
                                                        <FullName >STRTYPE</FullName> <!-- optional -->
                                                </AccountRef>
                                                <ForceMapping >BOOLTYPE</ForceMapping> <!-- optional -->
                                        </MappingAccount>
                                        <Threshold >AMTTYPE</Threshold> <!-- optional -->
                                </CategoryAccountMappingMod>
                        </Form1099CategoryAccountMappingMod>
                </Form1099CategoryAccountMappingModRq>

                <Form1099CategoryAccountMappingModRs statusCode="INTTYPE" statusSeverity="STRTYPE" statusMessage="STRTYPE">
                        <Form1099CategoryAccountMappingRet> <!-- optional -->
                                <IsFiling1099Misc >BOOLTYPE</IsFiling1099Misc> <!-- required -->
                                <FormType>STRTYPE</FormType> <!-- optional -->
                                <CategoryAccountMapping> <!-- optional, may repeat -->
                                        <!-- MappingCategory may have one of the following values: BOX1, BOX2, BOX3, BOX4, BOX5, BOX6, BOX7, BOX8, BOX9, BOX10, BOX13, BOX14, BOX15 -->
                                        <MappingCategory >ENUMTYPE</MappingCategory> <!-- required -->
                                        <AccountRef> <!-- optional, may repeat -->
                                                <ListID >IDTYPE</ListID> <!-- optional -->
                                                <FullName >STRTYPE</FullName> <!-- optional -->
                                        </AccountRef>
                                        <Threshold >AMTTYPE</Threshold> <!-- optional -->
                                </CategoryAccountMapping>
                        </Form1099CategoryAccountMappingRet>
                </Form1099CategoryAccountMappingModRs>
        </QBXMLMsgsRq>
</QBXML>

  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
'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.QBFC14

Module com.intuit.idn.samples
        Public Class Sample
                Public Sub  DoForm1099CategoryAccountMappingMod()
                        Dim sessionBegun as Boolean
                        sessionBegun = False
                        Dim connectionOpen as Boolean
                        connectionOpen = False
                        Dim sessionManager as QBSessionManager
                        sessionManager = nothing

                        Try
                                'Create the session Manager object
                                sessionManager = new QBSessionManager

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

                                BuildForm1099CategoryAccountMappingModRq(requestMsgSet)

                                'Connect to QuickBooks and begin a session
                                sessionManager.OpenConnection("","Sample Code from OSR")
                                connectionOpen = True
                                sessionManager.BeginSession("", ENOpenMode.omDontCare)
                                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

                                WalkForm1099CategoryAccountMappingModRs(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 BuildForm1099CategoryAccountMappingModRq(requestMsgSet as IMsgSetRequest)
                        Dim Form1099CategoryAccountMappingModRq as IForm1099CategoryAccountMappingMod
                        Form1099CategoryAccountMappingModRq= requestMsgSet.AppendForm1099CategoryAccountMappingModRq()
                        'Set field value for IsFiling1099Misc
                        Form1099CategoryAccountMappingModRq.IsFiling1099Misc.SetValue(True)
                        'Set field value of form type ("MISC" or "NEC")
                        Form1099CategoryAccountMappingModRq.FormType.SetValue("MISC")
                        Dim CategoryAccountMappingMod10598 as ICategoryAccountMappingMod
                        CategoryAccountMappingMod10598=Form1099CategoryAccountMappingModRq.CategoryAccountMappingModList.Append()
                        'Set field value for MappingCategory
                        CategoryAccountMappingMod10598.MappingCategory.SetValue(ENMappingCategory.mcBOX1)
                        Dim MappingAccount10599 as IMappingAccount
                        MappingAccount10599=CategoryAccountMappingMod10598.MappingAccountList.Append()
                        'Set field value for ListID
                        MappingAccount10599.AccountRef.ListID.SetValue("200000-1011023419")
                        'Set field value for FullName
                        MappingAccount10599.AccountRef.FullName.SetValue("ab")
                        'Set field value for ForceMapping
                        MappingAccount10599.ForceMapping.SetValue(True)
                        'Set field value for Threshold
                        CategoryAccountMappingMod10598.Threshold.SetValue(10.01)
                End Sub




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




                Public Sub WalkForm1099CategoryAccountMappingRet(Form1099CategoryAccountMappingRet as IForm1099CategoryAccountMappingRet)
                        if (Form1099CategoryAccountMappingRet is nothing) then
                                Exit Sub
                        End If

                        'Go through all the elements of IForm1099CategoryAccountMappingRet
                        'Get value of IsFiling1099Misc
                        Dim IsFiling1099Misc10600 as Boolean
                        IsFiling1099Misc10600 = Form1099CategoryAccountMappingRet.IsFiling1099Misc.GetValue()
                        'Get value of FormType
                        Dim FormType10600 as String
                        FormType10600 = Form1099CategoryAccountMappingRet.FormType.GetValue()

                        if (not Form1099CategoryAccountMappingRet.CategoryAccountMappingList is nothing)
                                Dim i10601 as Integer
                                for i10601 = 0  to Form1099CategoryAccountMappingRet.CategoryAccountMappingList.Count - 1
                                        Dim CategoryAccountMapping as ICategoryAccountMapping
                                        CategoryAccountMapping = Form1099CategoryAccountMappingRet.CategoryAccountMappingList.GetAt(i10601)
                                        'Get value of MappingCategory
                                        Dim MappingCategory10602 as ENMappingCategory
                                        MappingCategory10602 = CategoryAccountMappingMappingCategory.GetValue()
                                        if (not CategoryAccountMappingAccountRefList is nothing)
                                                Dim i10603 as Integer
                                                for i10603 = 0  to CategoryAccountMappingAccountRefList.Count - 1
                                                        Dim QBBaseRef as IQBBaseRef
                                                        QBBaseRef = CategoryAccountMappingAccountRefList.GetAt(i10603)
                                                        'Get value of ListID
                                                        if ( not QBBaseRefListID is nothing) then
                                                                Dim ListID10604 as String
                                                                ListID10604 = QBBaseRefListID.GetValue()
                                                        End If
                                                        'Get value of FullName
                                                        if ( not QBBaseRefFullName is nothing) then
                                                                Dim FullName10605 as String
                                                                FullName10605 = QBBaseRefFullName.GetValue()
                                                        End If
                                                Next i10603
                                        End If
                                        'Get value of Threshold
                                        if ( not CategoryAccountMappingThreshold is nothing) then
                                                Dim Threshold10606 as Double
                                                Threshold10606 = CategoryAccountMappingThreshold.GetValue()
                                        End If
                                Next i10601
                        End If
                End Sub




        End Class
End Module

  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
//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.QBFC14;

namespace com.intuit.idn.samples
{
        public class Sample
        {
                public void  DoForm1099CategoryAccountMappingMod()
                {
                        bool sessionBegun = false;
                        bool connectionOpen = false;
                        QBSessionManager sessionManager = null;

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

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

                                BuildForm1099CategoryAccountMappingModRq(requestMsgSet);

                                //Connect to QuickBooks and begin a session
                                sessionManager.OpenConnection("","Sample Code from OSR");
                                connectionOpen = true;
                                sessionManager.BeginSession("", ENOpenMode.omDontCare);
                                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;

                                WalkForm1099CategoryAccountMappingModRs(responseMsgSet);
                        }
                        catch (Exception e)
                        {
                                MessageBox.Show(e.Message, "Error");
                                if (sessionBegun)
                                {
                                        sessionManager.EndSession();
                                }
                                if (connectionOpen)
                                {
                                        sessionManager.CloseConnection();
                                }
                        }
                }
                void BuildForm1099CategoryAccountMappingModRq(IMsgSetRequest requestMsgSet)
                {
                        IForm1099CategoryAccountMappingMod Form1099CategoryAccountMappingModRq= requestMsgSet.AppendForm1099CategoryAccountMappingModRq();
                        //Set field value for IsFiling1099Misc
                        Form1099CategoryAccountMappingModRq.IsFiling1099Misc.SetValue(true);
                        //Set field value for FormType ("MISC" or "NEC")
                        Form1099CategoryAccountMappingModRq.FormType.SetValue("MISC");
                        ICategoryAccountMappingMod CategoryAccountMappingMod10589=Form1099CategoryAccountMappingModRq.CategoryAccountMappingModList.Append();
                        //Set field value for MappingCategory
                        CategoryAccountMappingMod10589.MappingCategory.SetValue(ENMappingCategory.mcBOX1);
                        IMappingAccount MappingAccount10590=CategoryAccountMappingMod10589.MappingAccountList.Append();
                        //Set field value for ListID
                        MappingAccount10590.AccountRef.ListID.SetValue("200000-1011023419");
                        //Set field value for FullName
                        MappingAccount10590.AccountRef.FullName.SetValue("ab");
                        //Set field value for ForceMapping
                        MappingAccount10590.ForceMapping.SetValue(true);
                        //Set field value for Threshold
                        CategoryAccountMappingMod10589.Threshold.SetValue(10.01);
                }




                void WalkForm1099CategoryAccountMappingModRs(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.rtForm1099CategoryAccountMappingModRs)
                                                {
                                                        //upcast to more specific type here, this is safe because we checked with response.Type check above
                                                        IForm1099CategoryAccountMappingRet Form1099CategoryAccountMappingRet = (IForm1099CategoryAccountMappingRet)response.Detail;
                                                        WalkForm1099CategoryAccountMappingRet(Form1099CategoryAccountMappingRet);
                                                }
                                        }
                                }
                        }
                }




                void WalkForm1099CategoryAccountMappingRet(IForm1099CategoryAccountMappingRet Form1099CategoryAccountMappingRet)
                {
                        if (Form1099CategoryAccountMappingRet == null) return;
                        //Go through all the elements of IForm1099CategoryAccountMappingRet
                        //Get value of IsFiling1099Misc
                        bool IsFiling1099Misc10591 = (bool)Form1099CategoryAccountMappingRet.IsFiling1099Misc.GetValue();
                        //Get value of FormType
                        string FormType10591 = (string)Form1099CategoryAccountMappingRet.FormType.GetValue();

                        if (Form1099CategoryAccountMappingRet.CategoryAccountMappingList != null)
                        {
                                for (int i10592 = 0; i10592 < Form1099CategoryAccountMappingRet.CategoryAccountMappingList.Count; i10592++)
                                {
                                        ICategoryAccountMapping CategoryAccountMapping = Form1099CategoryAccountMappingRet.CategoryAccountMappingList.GetAt(i10592);
                                        //Get value of MappingCategory
                                        ENMappingCategory MappingCategory10593 = (ENMappingCategory)CategoryAccountMapping.MappingCategory.GetValue();
                                        if (CategoryAccountMapping.AccountRefList != null)
                                        {
                                                for (int i10594 = 0; i10594 < CategoryAccountMapping.AccountRefList.Count; i10594++)
                                                {
                                                        IQBBaseRef QBBaseRef = CategoryAccountMapping.AccountRefList.GetAt(i10594);
                                                        //Get value of ListID
                                                        if (QBBaseRef.ListID != null)
                                                        {
                                                                string ListID10595 = (string)QBBaseRef.ListID.GetValue();
                                                        }
                                                        //Get value of FullName
                                                        if (QBBaseRef.FullName != null)
                                                        {
                                                                string FullName10596 = (string)QBBaseRef.FullName.GetValue();
                                                        }
                                                }
                                        }
                                        //Get value of Threshold
                                        if (CategoryAccountMapping.Threshold != null)
                                        {
                                                double Threshold10597 = (double)CategoryAccountMapping.Threshold.GetValue();
                                        }
                                }
                        }
                }




        }
}