Pregunta

I am trying to query bill payments using QBXML and web connector on a desktop version. Request XML is as below

<?xml version="1.0" encoding="utf-8"?>
<?qbxml version="13.0"?>
<QBXML>  
   <QBXMLMsgsRq  onError="continueOnError">
       <BillPaymentCheckQueryRq >
           <TxnID >
               xx-xxxxxx
           </TxnID>
       </BillPaymentCheckQueryRq>
   </QBXMLMsgsRq>
</QBXML>

but in response i get error xml

<?xml version="1.0" ?>
<QBXML>
     <QBXMLMsgsRs>
           <BillPaymentCheckQueryRs statusCode="500" statusSeverity="Warn" statusMessage="The query request has not been fully completed. There was a required element (&quot;xx-xxxxxx&quot;) that could not be found in QuickBooks." />
     </QBXMLMsgsRs>
</QBXML>

I also checked that there is a bill with that TxnId and that bill is also paid with check.

is there any thing else i need to pass in request XML?

¿Fue útil?

Solución

I also checked that there is a bill with that TxnId

How did you check this?

The only way to check this would have been to do a BillPaymentCheckQuery, which you showed you did above, and which QuickBooks responded telling you that the Bill Payment Check didn't exist.

Note that TxnIDs do not show up in the QuickBooks GUI, so you couldn't possibly have checked for it there...

Also, this XML:

           <TxnID >
               xx-xxxxxx
           </TxnID>

Would check for a TxnID value of:

"\r\n (lots and lots of spaces here) xx-xxxxx\r\n (lots and lots of spaces here)"

You should be passing:

<TxnID>xx-xxxxx</TxnID>

Finally, you indicate that you:

I also checked that there is a bill with that TxnId

However, you are querying for a BillPaymentCheck. If you want to query for a Bill, you need to query using BillQuery. The TxnID value for a BillPaymentCheck will NOT be the same as the TxnID for a Bill.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top