Heim  >  Fragen und Antworten  >  Hauptteil

Übergeben Sie Einzahlungen von der PHP-Anwendung an den Quickbooks-Desktop mit Conolibyte Quickbooks PHP DevKit: Herausforderungen meistern

Ich implementieren Keith Palmers QuickBooks PHP DevKit (https://github.com/conolibyte/quickbooks-php/), damit meine PHP-Anwendung Daten über den Quickbooks Web Connector an Quickbooks Desktop übergeben kann. Ich hatte einige Probleme aufgrund von Änderungen in PHP und Quickbooks. Jetzt funktioniert die Beispiel-Web-Connector-Anwendung einwandfrei und leitet Kunden erfolgreich an Quickbooks weiter.

Mein eigentliches Ziel ist es, über PHP zu simulieren, was in Quickbooks mit einem relativ einfachen Prozess gemacht wird:

Banking –>Verwenden Sie Registrieren (wählen Sie ein Konto aus) und geben Sie den Zahlungs- oder Einzahlungsbetrag, das Konto, die Notiz und den Klickverlauf ein.

Ich denke, dass dies (zumindest der Einzahlungsteil) über DepositAddRq mithilfe der QUICKBOOKS_ADD_DEPOSIT-Methode in PHP DevKit erfolgen kann. Jetzt schreibe ich den Inhalt um, um diese Methode zu verwenden, und erhalte die folgende Fehlermeldung:

3180: Beim Speichern der Einzahlungszeile ist ein Fehler aufgetreten. QuickBooks-Fehlermeldung: Die angegebene Datensatznummer ist nicht in der Anzahlungsliste enthalten.

Der SOAP-Server generiert das folgende 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>

Ich habe eine XML-Antwort von Quickbooks erhalten:

<?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>

Ich erhalte die gleiche Fehlermeldung, wenn ich den XML-Beispielcode QuickBooks SDK 15 für DepositAddRq übergebe:

<QBXMLMsgsRq onError="stopOnError">
<DepositAddRq requestID="0">
<DepositAdd>
<DepositToAccountRef>
<FullName>Checking</FullName>
</DepositToAccountRef>
<DepositLineAdd>
<PaymentTxnID>3D95-1071497099</PaymentTxnID>
</DepositLineAdd>
</DepositAdd>
</DepositAddRq>
</QBXMLMsgsRq>
</QBXML>

Sollte ich Einzahlungen und Zahlungen auf meinem Konto ganz anders verbuchen, sind dafür zusätzliche Schritte erforderlich oder mache ich es völlig falsch?

Vielen Dank im Voraus!

P粉481035232P粉481035232257 Tage vor406

Antworte allen(1)Ich werde antworten

  • 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
                                                    
                                    
                            
    
                    
            
    

    Antwort
    0
  • StornierenAntwort