Quickbooks会覆盖数据

时间:2016-05-21 01:51:12

标签: php quickbooks

我正在使用QuickBooks WebConnect SDK将供应商从我的网站导入QuickBooks的桌面应用程序,以供新的供应商使用。但是当我尝试从我的网站导入一个已经存在于QuickBooks中的供应商时,它不会更新数据。在导入过程中它不会显示任何错误!如果已经存在于Qucikbooks中,我有什么方法可以更新供应商。 例如,之前我导入了供应商john,那时john的网站中没有电子邮件地址,所以它没有保存任何电子邮件地址。现在电子邮件地址存在,我想在我的quickbooks桌面上更新供应商。

下面是我添加供应商的代码

$xml = '<?xml version="1.0" encoding="utf-8"?>
        <?qbxml version="10.0"?>
        <QBXML>
            <QBXMLMsgsRq onError="stopOnError">
                <VendorAddRq requestID="' . $requestID . '">
                    <VendorAdd>
                        <Name>' .trim($record->lastName).', '.trim($record->firstName).'</Name>
                        <CompanyName></CompanyName>
                        <FirstName>'.trim($record->firstName).'</FirstName>
                        <LastName>'.trim($record->lastName).'</LastName>
                        <VendorAddress>
                            <Addr1>'.trim($record->firstName).' '.trim($record->lastName).'</Addr1>
                            <Addr2>'.$address1.'</Addr2>
                            <Addr3>'.$address2.'</Addr3>
                            <City>'.$city.'</City>
                            <State>'.$stateName.'</State>
                            <PostalCode>'.$zip1.'</PostalCode>
                            <Country></Country>
                        </VendorAddress>
                        <Phone>'.$cell.'</Phone>
                        <AltPhone></AltPhone>
                        <Fax></Fax>
                        <Email>'.$record->notaryMail.'</Email>  
                        <VendorTaxIdent>'.$pay.'</VendorTaxIdent>
                        <IsVendorEligibleFor1099>true</IsVendorEligibleFor1099>
                    </VendorAdd>
                </VendorAddRq>
            </QBXMLMsgsRq>
        </QBXML>';

1 个答案:

答案 0 :(得分:0)

  

在导入过程中,它不显示任何错误!

QuickBooks 抛出错误 - 您的应用程序可能只是忽略它。

  

如果Qucikbooks中已存在供应商,我有什么方法可以更新供应商。

执行VendorMod而不是VendorAdd。您需要供应商的ListIDEditSequence,因此您必须先进行VendorQuery

如果您需要进一步的帮助,请发布您的代码和/或qbXML请求,以便我们真正为您提供帮助。