sdk - qbfc/qbxml ReceivePaymentAdd 将付款分配到发票

标签 sdk quickbooks qbxml qbfc

当我尝试将付款与发票关联时,出现以下错误:

ReceivePaymentAdd
ORApplyPayment:
OR object has multiple values
End of ORApplyPayment
End of ReceivePaymentAdd

这个错误是什么意思?我如何让这个工作?

请注意,我在单独的 session 中将发票推送到 QuickBooks,因此我无法使用宏。如果我在没有 AppliedToTxnAdd 块的情况下使用 IsAutoApply true,则付款推送就好了。

这是生成的xml:
<?xml version="1.0" encoding="utf-8"?>
<?qbxml version="10.0"?>
<QBXML>
<QBXMLMsgsRq onError = "continueOnError">
<ReceivePaymentAddRq requestID = "0">
<ReceivePaymentAdd>
<CustomerRef>
<ListID>8000003F-1415364262</ListID>
</CustomerRef>
<ARAccountRef>
<FullName>Accounts Receivable</FullName>
</ARAccountRef>
<TxnDate>2014-02-14</TxnDate>
<RefNumber>1003 - P1</RefNumber>
<TotalAmount>850.00</TotalAmount>
<PaymentMethodRef>
<FullName>20 - Check</FullName>
</PaymentMethodRef>
<Memo/>
<IsAutoApply>0</IsAutoApply>
<AppliedToTxnAdd>
<TxnID>C7-1415364350</TxnID>
<PaymentAmount>850.00</PaymentAmount>
</AppliedToTxnAdd>
</ReceivePaymentAdd>
</ReceivePaymentAddRq>
</QBXMLMsgsRq>
</QBXML>

最佳答案

这个:

ORApplyPayment: OR object has multiple values End of ORApplyPayment



意味着规范(请参阅 QuickBooks OSR)指定您可以使用任一 AppliedToTxnAdd 或您可以使用 IsAutoApply,但您不能同时使用它们。您可以使用一个或另一个。

您正在使用两者,因此您会收到一条错误消息。要么删除 <IsAutoApply>或删除您的 <AppliedToTxnAdd>标签。

这是一个例子:
  • http://consolibyte.com/wiki/doku.php/quickbooks_qbxml_receivepaymentadd
  • http://consolibyte.com/wiki/doku.php/quickbooks
  • 关于sdk - qbfc/qbxml ReceivePaymentAdd 将付款分配到发票,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26848686/

    相关文章:

    android - Android API 是否兼容其旧版本?

    Android SDK 源标记

    java - 用于连接 v3 中的 Quickbooks Desktop 的 API

    quickbooks - 桌面版 Quickbooks 与 Windows 服务集成

    database - Quickbooks 数据模式?

    Android - facebook sdk登录窗口消失

    iphone - 在 iOS 中使用控件播放音频

    java - 如何在用户不登录的情况下在我的网络应用程序中获取 Quickbooks 在线数据

    php - 在现有发票中添加新发票行不起作用

    quickbooks - 我可以通过姓名和电子邮件查询 quickbooks 客户吗