首頁  >  問答  >  主體

使用 Conolibyte Quickbooks PHP DevKit 將存款從 PHP 應用程式傳遞到 Quickbooks 桌面:克服挑戰

我正在實作 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粉481035232P粉481035232257 天前404

全部回覆(1)我來回復

  • P粉523335026

    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 中,您嘗試連結到現有的未存款付款(例如,您嘗試將現有付款標記為已存入銀行):

    3D95-1071497099

    #但是您描述的指定帳戶和備忘錄

    ... (Select Account), and entering either a Payment or a Deposit amount, an Account, a Memo, and Clicking Record.

    如果您嘗試模擬輸入帳戶、備忘錄等,則您需要提供 XML 來指定帳戶、備忘錄等。 例如,如下所示:

    
    
    
            
                    
                            
                                    
                                            Your Bank Account
                                    
    
                                    
    
                                            
                                                    Account Name Here
                                            
                                            Memo test
    
                                            100.00
                                                    
                                    
                            
    
                    
            
    

    回覆
    0
  • 取消回覆