QBXML 中的 ReceivePaymentAddRq - 找不到请求中指定的对象 TxnID
我正在使用 QBXML 并尝试将付款应用于 ReceivePaymentAddRq 中的特定发票。我收到的消息显然很常见,“找不到请求中指定的对象 TxnID”。一旦将 ARAccountRef 字段添加到请求中,有关此主题的大多数其他论坛主题都会得到解决,这对我来说似乎没有什么区别。
我已查询 TxnID 68B4-1290718970 的发票并验证了以下内容:
- 我的请求的 ARAccountRef ListID 与 QueryRet 中的内容匹配
- 我的请求的 CustomerRef ListID 与 QueryRet 中的内容匹配
我的 XML 请求如下。我缺少什么?
谢谢
<QBXML>
<QBXMLMsgsRq onError = "continueOnError">
<ReceivePaymentAddRq requestID = "0">
<ReceivePaymentAdd>
<CustomerRef>
<ListID>80000111-1286514304</ListID>
</CustomerRef>
<ARAccountRef>
<ListID>80000091-1273734429</ListID>
</ARAccountRef>
<TxnDate>2010-11-10</TxnDate>
<RefNumber>2999 </RefNumber>
<TotalAmount>15.95</TotalAmount>
<PaymentMethodRef>
<ListID>80000002-1273560098</ListID>
</PaymentMethodRef>
<Memo>_32T0DE94J</Memo>
<DepositToAccountRef>
<ListID>80000090-1273734138</ListID>
</DepositToAccountRef>
<AppliedToTxnAdd>
<TxnID>68B4-1290718970</TxnID>
<PaymentAmount>15.95</PaymentAmount>
</AppliedToTxnAdd>
</ReceivePaymentAdd>
</ReceivePaymentAddRq>
</QBXMLMsgsRq>
</QBXML>
I'm working in QBXML and trying to apply a payment to specific invoice in a ReceivePaymentAddRq. I'm getting the, apparently quite common, "Object TxnID specified in the request cannot be found". Most other forums threads on this topic are resolved once the ARAccountRef field is added to the request, that didn't seem to make a difference for me.
I've queried the invoice for TxnID 68B4-1290718970 and verified the following:
- My request's ARAccountRef ListID matches what is in the QueryRet
- My request's CustomerRef ListID matches what is in the QueryRet
My XML request is below. What am I missing?
Thanks
<QBXML>
<QBXMLMsgsRq onError = "continueOnError">
<ReceivePaymentAddRq requestID = "0">
<ReceivePaymentAdd>
<CustomerRef>
<ListID>80000111-1286514304</ListID>
</CustomerRef>
<ARAccountRef>
<ListID>80000091-1273734429</ListID>
</ARAccountRef>
<TxnDate>2010-11-10</TxnDate>
<RefNumber>2999 </RefNumber>
<TotalAmount>15.95</TotalAmount>
<PaymentMethodRef>
<ListID>80000002-1273560098</ListID>
</PaymentMethodRef>
<Memo>_32T0DE94J</Memo>
<DepositToAccountRef>
<ListID>80000090-1273734138</ListID>
</DepositToAccountRef>
<AppliedToTxnAdd>
<TxnID>68B4-1290718970</TxnID>
<PaymentAmount>15.95</PaymentAmount>
</AppliedToTxnAdd>
</ReceivePaymentAdd>
</ReceivePaymentAddRq>
</QBXMLMsgsRq>
</QBXML>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
供其他人参考,该问题已在此处得到解答:https://idnforums.intuit.com/messageview.aspx?catid=7&threadid=14923&enterthread=y现在更新了答案Intuit 已经关闭了自己的论坛:
导致您看到错误的常见原因有几个:
您引用的对象 (68B4-1290718970) 可能不存在。您 100% 肯定这笔交易存在吗?
您所指的对象可能不是您可以申请付款的对象。您将付款应用于发票。您引用的对象是发票吗?
您所引用的对象可能与付款所使用的货币不同。您是否在 QuickBooks 中使用多种货币,并且货币是否匹配?
您引用的对象可能没有与付款相匹配的应收账款帐户。 如果您在 QuickBooks 中有多个应收帐科目,并且在创建发票或付款时没有明确指定要使用哪个应收帐科目,则这种情况尤其常见。发票和付款匹配吗?
您所指的对象可能没有未结余额(例如可能已付款)。您所指的对象的余额是否至少为 15.95? (您尝试申请的金额)
For anyone else's reference, the question was already answered over here:https://idnforums.intuit.com/messageview.aspx?catid=7&threadid=14923&enterthread=yUpdated answer now that Intuit have taken down their own forums:
There are a couple of common reasons for the error you're seeing:
The object you're referring to (68B4-1290718970) might not exist. Are you 100% positive this transaction exists?
The object you're referring to might not be something you can apply a payment to. You apply payments to Invoices. Is the object you're referring to an invoice?
The object you're referring to might not have the same currency that the payment has. Are you using multi-currency with QuickBooks, and do the currencies match?
The object you're referring to may not have a matching A/R account with the payment. This is especially common if you have multiple A/R accounts in QuickBooks, and you're not explicitly specifying which A/R account to use when creating the invoice or payment. Do the A/R accounts for the invoice and the payment match?
The object that you're referring to might not have an open balance (e.g. it might already be paid). Does the object that you're referring to have a balance of at least 15.95? (the amount you tried to apply)
就我而言,我在添加发票时将 IsPending 设置为 true,并且当您发出 ReceivePaymentAdd 请求时,发票必须标记为 IsPending false(也称为发票已最终确定)。
In my case, I set IsPending to true when adding an Invoice, and when you make a ReceivePaymentAdd request, the Invoice must be marked as IsPending false (aka Invoice is finalized).