【问题标题】:ReceivePaymentAddRq in QBXML - Object TxnID specified in request cannot be foundQBXML 中的 ReceivePaymentAddRq - 找不到请求中指定的对象 TxnID
【发布时间】:2010-11-27 19:01:49
【问题描述】:

我正在使用 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>

【问题讨论】:

    标签: quickbooks qbfc qbxml


    【解决方案1】:

    供其他人参考,这里已经回答了这个问题:

    由于 Intuit 已经关闭了他们自己的论坛,因此更新了答案:

    您看到的错误有几个常见原因:

    • 您所指的对象 (68B4-1290718970) 可能不存在。您是否 100% 肯定该交易存在?

    • 您所指的对象可能不是您可以对其进行付款的对象。您将付款应用于发票。您指的对象是发票吗?

    • 您所指的对象可能与付款所使用的货币不同。您是否在 QuickBooks 中使用多种货币,并且货币是否匹配?

    • 您所指的对象可能没有与付款匹配的应收帐款帐户。 如果您在 QuickBooks 中有多个应收帐款帐户,并且在创建发票或付款时没有明确指定要使用的应收帐款帐户,这尤其常见。发票和付款是否匹配?

    • 您所指的对象可能没有未结余额(例如,它可能已经付款)。您所指的对象的余额是否至少为 15.95? (您尝试申请的金额)

    【讨论】:

    • 很棒的信息。我的问题是 #4,没有明确指定 AR 帐户。
    • 在我的例子中,代码中的一个错误试图将信用链接到错误公司名称下的发票。我从中得到的(基于上面写的)是 QuickBooks 在内部执行类似 WHERE 的查询,其中事务 ID 作为条件之一。类似于:WHERE txnID = ?和公司=?和帐户 = ? ... - 如果这些条件中的任何一个失败,QuickBooks 会将其归咎于根本不存在的对象,而它很可能存在但另一个查询条件失败。这就是为什么 InvoiceQuery 证明该对象存在,而 ReceivePaymentAdd 坚持认为它不存在。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-25
    • 1970-01-01
    • 1970-01-01
    • 2014-04-15
    • 2018-04-07
    • 2016-11-18
    相关资源
    最近更新 更多