我正在使用 QBXML 并尝试将付款应用于 ReceivePaymentAddRq 中的特定发票。我收到的消息显然很常见,“找不到请求中指定的对象 TxnID”。一旦将 ARAccountRef 字段添加到请求中,有关此主题的大多数其他论坛主题都会得到解决,这对我来说似乎没有什么区别。
我已查询了 TxnID 68B4-1290718970 的发票并验证了以下内容:
我的 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>
供其他人参考,该问题已经在这里得到解答:
现在 Intuit 已经关闭了自己的论坛,更新了答案:
您看到的错误有几个常见原因:
您引用的对象 (68B4-1290718970) 可能不存在。您 100% 肯定这笔交易存在吗?
您所指的对象可能不是您可以申请付款的对象。您将付款应用于发票。您所指的对象是发票吗?
您所指的对象可能与付款所使用的货币不同。您是否在 QuickBooks 中使用多种货币,并且货币是否匹配?
您所引用的对象可能没有与付款匹配的应收帐科目。 如果您在 QuickBooks 中有多个应收帐科目,并且在创建发票或付款时没有明确指定要使用哪个应收帐科目,则这种情况尤其常见。 为发票和付款创建应收帐科目匹配吗?
您所指的对象可能没有未结余额(例如可能已付款)。您所指的对象的余额是否至少为 15.95? (您尝试申请的金额)
在我的例子中,我在添加发票时将 IsPending 设置为 true,并且当您发出 ReceivePaymentAdd 请求时,发票必须标记为 IsPending false(又名发票已最终确定)。