2

I am using Asp.Net Web Service for getting QuickBook's data. My request is to return all sales order from company file. Here is my qbxml that is returned

<?xml version="1.0" ?>
<QBXML>
<QBXMLMsgsRs>
<SalesOrderQueryRs requestID="whatever" statusCode="0" statusSeverity="Info" statusMessage="Status OK">
<SalesOrderRet>
<TimeCreated>2013-08-27T16:33:27+05:00</TimeCreated>
<CustomerRef>
<ListID>80000033-1376329965</ListID>
<FullName>SOURCE BY DESIGN:Q2633-Atrium1-Wigan</FullName>
</CustomerRef>
<RefNumber>5000</RefNumber>
</SalesOrderRet>
</SalesOrderQueryRs>
</QBXMLMsgsRs>
</QBXML>

I only returning few fields using IncludeRetElement . Problem is that I only want 3 fields i.e TimeCreated,FullName,RefNumber. Here is my c# code to build request .

        string strRequestXML = "";
        XmlDocument inputXMLDoc = null;
        inputXMLDoc = new XmlDocument();
        inputXMLDoc.AppendChild(inputXMLDoc.CreateXmlDeclaration("1.0", null, null));
        inputXMLDoc.AppendChild(inputXMLDoc.CreateProcessingInstruction("qbxml", "version=\"4.0\""));
        XmlElement qbXML = inputXMLDoc.CreateElement("QBXML");
        inputXMLDoc.AppendChild(qbXML);
        XmlElement qbXMLMsgsRq = inputXMLDoc.CreateElement("QBXMLMsgsRq");
        qbXML.AppendChild(qbXMLMsgsRq);
        qbXMLMsgsRq.SetAttribute("onError", "stopOnError");
        XmlElement salesQueryRq = inputXMLDoc.CreateElement("SalesOrderQueryRq");
        qbXMLMsgsRq.AppendChild(salesQueryRq);
        salesQueryRq.SetAttribute("requestID", "whatever");
        XmlElement timeCreated = inputXMLDoc.CreateElement("IncludeRetElement");
        salesQueryRq.AppendChild(timeCreated).InnerText = "TimeCreated";
        XmlElement customerRef = inputXMLDoc.CreateElement("IncludeRetElement");
        salesQueryRq.AppendChild(customerRef).InnerText = "CustomerRef";
        XmlElement templateRef = inputXMLDoc.CreateElement("IncludeRetElement");
        salesQueryRq.AppendChild(templateRef).InnerText = "RefNumber";
        strRequestXML = inputXMLDoc.OuterXml;
        req.Add(strRequestXML);

How do I remove ListID from it . I tried to add IncludeRetElement to CustomerRef but its gives error.

 XmlElement fullName = inputXMLDoc.CreateElement("IncludeRetElement");
 customerRef.AppendChild(fullName).InnerText = "FullName";

Error message received from application via getLastError(): Error!

Need help what I am doing wrong?

Ghazanfar Khan
  • 3,648
  • 8
  • 44
  • 89

1 Answers1

1

You have to either return EVERYTHING inside CustomerRef, or not return CustomerRef AT ALL.

QuickBooks does not support returning just CustomerRef/FullName, and not CustomerRef/ListID.

So your request should look like:

<IncludeRetElement>CustomerRef</IncludeRetElement>

If you need either the Customer ListID or the Customer FullName.

Keith Palmer Jr.
  • 27,666
  • 16
  • 68
  • 105