Returns one Ret object that contains a list of all of the account mappings currently in effect for Form 1099-NEC and Form 1099-MISC. You can optionally supply a Box number (representing the corresponding text box in the 1099 forms) if you only want the mappings for a particular box in the form. Using SDK version 15 or older will not yield correct category account mappings in the response.
Request
Response
XMLOps
VB.NET
C#
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 | <?xml version="1.0" encoding="utf-8"?> <?qbxml version="16.0"?> <QBXML> <QBXMLMsgsRq onError="stopOnError"> <Form1099CategoryAccountMappingQueryRq> <FormType>STRTYPE</FormType> <!-- optional --> <!-- MappingCategory may have one of the following values: BOX1, BOX2, BOX3, BOX4, BOX5, BOX6, BOX7, BOX8, BOX9, BOX10, BOX13, BOX14, BOX15 --> <MappingCategory >ENUMTYPE</MappingCategory> <!-- optional, may repeat --> </Form1099CategoryAccountMappingQueryRq> <Form1099CategoryAccountMappingQueryRs 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, BOX14, BOX16 --> <MappingCategory >ENUMTYPE</MappingCategory> <!-- required --> <AccountRef> <!-- optional, may repeat --> <ListID >IDTYPE</ListID> <!-- optional --> <FullName >STRTYPE</FullName> <!-- optional --> </AccountRef> <Threshold >AMTTYPE</Threshold> <!-- optional --> </CategoryAccountMapping> </Form1099CategoryAccountMappingRet> </Form1099CategoryAccountMappingQueryRs> </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 | '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.QBFC16 Module com.intuit.idn.samples Public Class Sample Public Sub DoForm1099CategoryAccountMappingQuery() 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",16,0) requestMsgSet.Attributes.OnError = ENRqOnError.roeContinue BuildForm1099CategoryAccountMappingQueryRq(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 WalkForm1099CategoryAccountMappingQueryRs(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 BuildForm1099CategoryAccountMappingQueryRq(requestMsgSet as IMsgSetRequest) Dim Form1099CategoryAccountMappingQueryRq as IForm1099CategoryAccountMappingQuery Form1099CategoryAccountMappingQueryRq= requestMsgSet.AppendForm1099CategoryAccountMappingQueryRq() 'Set field value of form type ("MISC" or "NEC") Form1099CategoryAccountMappingQueryRq.FormType.SetValue("MISC") 'Set field value for MappingCategoryList 'May create more than one of these if needed Form1099CategoryAccountMappingQueryRq.MappingCategoryList.Add(ENMappingCategoryList.mclBOX1) End Sub Public Sub WalkForm1099CategoryAccountMappingQueryRs( 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.rtForm1099CategoryAccountMappingQueryRs) 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 IsFiling1099Misc10614 as Boolean IsFiling1099Misc10614 = Form1099CategoryAccountMappingRet.IsFiling1099Misc.GetValue() 'Get value of FormType Dim FormType10614 as String FormType10614 = Form1099CategoryAccountMappingRet.FormType.GetValue() if (not Form1099CategoryAccountMappingRet.CategoryAccountMappingList is nothing) Dim i10615 as Integer for i10615 = 0 to Form1099CategoryAccountMappingRet.CategoryAccountMappingList.Count - 1 Dim CategoryAccountMapping as ICategoryAccountMapping CategoryAccountMapping = Form1099CategoryAccountMappingRet.CategoryAccountMappingList.GetAt(i10615) 'Get value of MappingCategory Dim MappingCategory10616 as ENMappingCategory MappingCategory10616 = CategoryAccountMappingMappingCategory.GetValue() if (not CategoryAccountMappingAccountRefList is nothing) Dim i10617 as Integer for i10617 = 0 to CategoryAccountMappingAccountRefList.Count - 1 Dim QBBaseRef as IQBBaseRef QBBaseRef = CategoryAccountMappingAccountRefList.GetAt(i10617) 'Get value of ListID if ( not QBBaseRefListID is nothing) then Dim ListID10618 as String ListID10618 = QBBaseRefListID.GetValue() End If 'Get value of FullName if ( not QBBaseRefFullName is nothing) then Dim FullName10619 as String FullName10619 = QBBaseRefFullName.GetValue() End If Next i10617 End If 'Get value of Threshold if ( not CategoryAccountMappingThreshold is nothing) then Dim Threshold10620 as Double Threshold10620 = CategoryAccountMappingThreshold.GetValue() End If Next i10615 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 | //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.QBFC16; namespace com.intuit.idn.samples { public class Sample { public void DoForm1099CategoryAccountMappingQuery() { 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",16,0); requestMsgSet.Attributes.OnError = ENRqOnError.roeContinue; BuildForm1099CategoryAccountMappingQueryRq(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; WalkForm1099CategoryAccountMappingQueryRs(responseMsgSet); } catch (Exception e) { MessageBox.Show(e.Message, "Error"); if (sessionBegun) { sessionManager.EndSession(); } if (connectionOpen) { sessionManager.CloseConnection(); } } } void BuildForm1099CategoryAccountMappingQueryRq(IMsgSetRequest requestMsgSet) { IForm1099CategoryAccountMappingQuery Form1099CategoryAccountMappingQueryRq= requestMsgSet.AppendForm1099CategoryAccountMappingQueryRq(); //Set field value for FormType ("MISC" or "NEC") Form1099CategoryAccountMappingQueryRq.FormType.SetValue("MISC"); //Set field value for MappingCategoryList //May create more than one of these if needed Form1099CategoryAccountMappingQueryRq.MappingCategoryList.Add(ENMappingCategoryList.mclBOX1); } void WalkForm1099CategoryAccountMappingQueryRs(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.rtForm1099CategoryAccountMappingQueryRs) { //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 IsFiling1099Misc10607 = (bool)Form1099CategoryAccountMappingRet.IsFiling1099Misc.GetValue(); //Get value of FormType string FormType10607 = (string)Form1099CategoryAccountMappingRet.FormType.GetValue(); if (Form1099CategoryAccountMappingRet.CategoryAccountMappingList != null) { for (int i10608 = 0; i10608 < Form1099CategoryAccountMappingRet.CategoryAccountMappingList.Count; i10608++) { ICategoryAccountMapping CategoryAccountMapping = Form1099CategoryAccountMappingRet.CategoryAccountMappingList.GetAt(i10608); //Get value of MappingCategory ENMappingCategory MappingCategory10609 = (ENMappingCategory)CategoryAccountMapping.MappingCategory.GetValue(); if (CategoryAccountMapping.AccountRefList != null) { for (int i10610 = 0; i10610 < CategoryAccountMapping.AccountRefList.Count; i10610++) { IQBBaseRef QBBaseRef = CategoryAccountMapping.AccountRefList.GetAt(i10610); //Get value of ListID if (QBBaseRef.ListID != null) { string ListID10611 = (string)QBBaseRef.ListID.GetValue(); } //Get value of FullName if (QBBaseRef.FullName != null) { string FullName10612 = (string)QBBaseRef.FullName.GetValue(); } } } //Get value of Threshold if (CategoryAccountMapping.Threshold != null) { double Threshold10613 = (double)CategoryAccountMapping.Threshold.GetValue(); } } } } } } |