我正在实施 Keith Palmer 的 QuickBooks PHP DevKit (https://github.com/consolibyte/quickbooks-php/),以便我的 PHP 应用程序可以通过 Quickbooks Web Connector 将数据传递到 Quickbooks Desktop。由于 PHP 和 Quickbooks 的更改,我遇到了一些问题,现在示例 Web 连接器应用程序可以正常工作并成功地将客户传递到 Quickbooks。
我的实际目标是通过 PHP 来模拟在 Quickbooks 中通过相对简单的过程完成的事务:
银行业务-->使用注册,(选择帐户),然后输入付款或存款金额、帐户、备忘录和点击记录。
我认为这(至少是存款部分)可以通过使用 PHP DevKit 中的 QUICKBOOKS_ADD_DEPOSIT 方法通过 DepositAddRq 来完成。现在我正在重写内容以使用此方法,我收到以下错误:
3180: 保存存款行时出错。 QuickBooks 错误消息:给定的记录号不在存款付款列表中。
SOAP 服务器正在生成以下 XML:
<?qbxml version="2.0"?> <QBXML> <QBXMLMsgsRq onError="stopOnError"> <DepositAddRq requestID="19"> <DepositAdd> <DepositToAccountRef> <FullName>test account</FullName> </DepositToAccountRef> <Memo>Memo</Memo> <DepositLineAdd> <PaymentTxnID>3D95-1071497093</PaymentTxnID> </DepositLineAdd> </DepositAdd> </DepositAddRq> </QBXMLMsgsRq> </QBXML>
我收到了来自 Quickbooks 的 XML 响应:
<?xml version="1.0" ?> <QBXML> <QBXMLMsgsRs> <DepositAddRs requestID="19" statusCode="3180" statusSeverity="Error" statusMessage="保存存款行时出错。 QuickBooks error message: The given record number is not in the Payments to Deposit list." /> </QBXMLMsgsRs> </QBXML>
在传递 DepositAddRq 的 QuickBooks SDK 15 示例 XML 代码时,我收到相同的错误:
<QBXMLMsgsRq onError="stopOnError"> <DepositAddRq requestID="0"> <DepositAdd> <DepositToAccountRef> <FullName>Checking</FullName> </DepositToAccountRef> <DepositLineAdd> <PaymentTxnID>3D95-1071497099</PaymentTxnID> </DepositLineAdd> </DepositAdd> </DepositAddRq> </QBXMLMsgsRq> </QBXML>
我是否应该使用完全不同的方法来记录帐户的存款和付款,是否需要额外的步骤,或者我的做法是否完全错误?
提前致谢!
P粉5233350262024-01-11 00:47:25
这有点棘手,但是如果您查看文档,您可以看到它想要什么:
具体请看本节:
IDTYPE IDTYPE STRTYPE STRTYPE IDTYPE STRTYPE IDTYPE STRTYPE IDTYPE STRTYPE STRTYPE STRTYPE IDTYPE STRTYPE IDTYPE STRTYPE AMTTYPE
这意味着您可以或者提供付款链接 (
)或者您可以提供以下链接一个帐户 (
)。
您在帖子中描述的内容和您在 XML 中显示的内容是两件不同的事情。在 XML 中,您尝试链接到现有的未存款付款(例如,您尝试将现有付款标记为已存入银行):
但是您描述的是指定帐户和备忘录:
... (Select Account), and entering either a Payment or a Deposit amount, an Account, a Memo, and Clicking Record.
如果您尝试模拟输入帐户、备忘录等,则您需要提供 XML 来指定帐户、备忘录等。例如,如下所示: p>
Your Bank Account Account Name Here Memo test 100.00